From bbdad8556861c60ae1f526f63de9c5857c4ad547 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 8 May 2020 23:06:47 +0300 Subject: [PATCH 001/201] Initial implementation of image preview proxy. Media proxy tests refactoring. --- config/config.exs | 5 + lib/pleroma/helpers/mogrify_helper.ex | 25 ++++ .../web/mastodon_api/views/status_view.ex | 3 +- lib/pleroma/web/media_proxy/media_proxy.ex | 53 ++++++- .../web/media_proxy/media_proxy_controller.ex | 78 ++++++++-- lib/pleroma/web/router.ex | 2 + test/web/media_proxy/media_proxy_test.exs | 133 +++++++----------- 7 files changed, 198 insertions(+), 101 deletions(-) create mode 100644 lib/pleroma/helpers/mogrify_helper.ex diff --git a/config/config.exs b/config/config.exs index e703c1632..526901f83 100644 --- a/config/config.exs +++ b/config/config.exs @@ -388,6 +388,11 @@ ], whitelist: [] +config :pleroma, :media_preview_proxy, + enabled: false, + limit_dimensions: "400x200", + max_body_length: 25 * 1_048_576 + config :pleroma, :chat, enabled: true config :phoenix, :format_encoders, json: Jason diff --git a/lib/pleroma/helpers/mogrify_helper.ex b/lib/pleroma/helpers/mogrify_helper.ex new file mode 100644 index 000000000..67edb35c3 --- /dev/null +++ b/lib/pleroma/helpers/mogrify_helper.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Helpers.MogrifyHelper do + @moduledoc """ + Handles common Mogrify operations. + """ + + @spec store_as_temporary_file(String.t(), binary()) :: {:ok, String.t()} | {:error, atom()} + @doc "Stores binary content fetched from specified URL as a temporary file." + def store_as_temporary_file(url, body) do + path = Mogrify.temporary_path_for(%{path: url}) + with :ok <- File.write(path, body), do: {:ok, path} + end + + @spec store_as_temporary_file(String.t(), String.t()) :: Mogrify.Image.t() | any() + @doc "Modifies file at specified path by resizing to specified limit dimensions." + def in_place_resize_to_limit(path, resize_dimensions) do + path + |> Mogrify.open() + |> Mogrify.resize_to_limit(resize_dimensions) + |> Mogrify.save(in_place: true) + end +end diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 24167f66f..2a206f743 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -419,6 +419,7 @@ def render("attachment.json", %{attachment: attachment}) do [attachment_url | _] = attachment["url"] media_type = attachment_url["mediaType"] || attachment_url["mimeType"] || "image" href = attachment_url["href"] |> MediaProxy.url() + href_preview = attachment_url["href"] |> MediaProxy.preview_url() type = cond do @@ -434,7 +435,7 @@ def render("attachment.json", %{attachment: attachment}) do id: to_string(attachment["id"] || hash_id), url: href, remote_url: href, - preview_url: href, + preview_url: href_preview, text_url: href, type: type, description: attachment["name"], diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index b2b524524..f4791c758 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -20,6 +20,14 @@ def url(url) do end end + def preview_url(url) do + if disabled?() or whitelisted?(url) do + url + else + encode_preview_url(url) + end + end + defp disabled?, do: !Config.get([:media_proxy, :enabled], false) defp local?(url), do: String.starts_with?(url, Pleroma.Web.base_url()) @@ -43,17 +51,29 @@ defp whitelisted?(url) do end) end - def encode_url(url) do + defp base64_sig64(url) do base64 = Base.url_encode64(url, @base64_opts) sig64 = base64 - |> signed_url + |> signed_url() |> Base.url_encode64(@base64_opts) + {base64, sig64} + end + + def encode_url(url) do + {base64, sig64} = base64_sig64(url) + build_url(sig64, base64, filename(url)) end + def encode_preview_url(url) do + {base64, sig64} = base64_sig64(url) + + build_preview_url(sig64, base64, filename(url)) + end + def decode_url(sig, url) do with {:ok, sig} <- Base.url_decode64(sig, @base64_opts), signature when signature == sig <- signed_url(url) do @@ -71,10 +91,10 @@ def filename(url_or_path) do if path = URI.parse(url_or_path).path, do: Path.basename(path) end - def build_url(sig_base64, url_base64, filename \\ nil) do + defp proxy_url(path, sig_base64, url_base64, filename) do [ Pleroma.Config.get([:media_proxy, :base_url], Web.base_url()), - "proxy", + path, sig_base64, url_base64, filename @@ -82,4 +102,29 @@ def build_url(sig_base64, url_base64, filename \\ nil) do |> Enum.filter(& &1) |> Path.join() end + + def build_url(sig_base64, url_base64, filename \\ nil) do + proxy_url("proxy", sig_base64, url_base64, filename) + end + + def build_preview_url(sig_base64, url_base64, filename \\ nil) do + proxy_url("proxy/preview", sig_base64, url_base64, filename) + end + + def filename_matches(%{"filename" => _} = _, path, url) do + filename = filename(url) + + if filename && not basename_matches?(path, filename) do + {:wrong_filename, filename} + else + :ok + end + end + + def filename_matches(_, _, _), do: :ok + + defp basename_matches?(path, filename) do + basename = Path.basename(path) + basename == filename or URI.decode(basename) == filename or URI.encode(basename) == filename + end end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 4657a4383..fe3f61c18 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -5,19 +5,21 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do use Pleroma.Web, :controller + alias Pleroma.Config + alias Pleroma.Helpers.MogrifyHelper alias Pleroma.ReverseProxy alias Pleroma.Web.MediaProxy @default_proxy_opts [max_body_length: 25 * 1_048_576, http: [follow_redirect: true]] def remote(conn, %{"sig" => sig64, "url" => url64} = params) do - with config <- Pleroma.Config.get([:media_proxy], []), - true <- Keyword.get(config, :enabled, false), + with config <- Config.get([:media_proxy], []), + {_, true} <- {:enabled, Keyword.get(config, :enabled, false)}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), - :ok <- filename_matches(params, conn.request_path, url) do + :ok <- MediaProxy.filename_matches(params, conn.request_path, url) do ReverseProxy.call(conn, url, Keyword.get(config, :proxy_opts, @default_proxy_opts)) else - false -> + {:enabled, false} -> send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) {:error, :invalid_signature} -> @@ -28,20 +30,68 @@ def remote(conn, %{"sig" => sig64, "url" => url64} = params) do end end - def filename_matches(%{"filename" => _} = _, path, url) do - filename = MediaProxy.filename(url) - - if filename && does_not_match(path, filename) do - {:wrong_filename, filename} + def preview(conn, %{"sig" => sig64, "url" => url64} = params) do + with {_, true} <- {:enabled, Config.get([:media_preview_proxy, :enabled], false)}, + {:ok, url} <- MediaProxy.decode_url(sig64, url64), + :ok <- MediaProxy.filename_matches(params, conn.request_path, url) do + handle_preview(conn, url) else - :ok + {:enabled, false} -> + send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) + + {:error, :invalid_signature} -> + send_resp(conn, 403, Plug.Conn.Status.reason_phrase(403)) + + {:wrong_filename, filename} -> + redirect(conn, external: MediaProxy.build_preview_url(sig64, url64, filename)) end end - def filename_matches(_, _, _), do: :ok + defp handle_preview(conn, url) do + with {:ok, %{status: status} = head_response} when status in 200..299 <- Tesla.head(url), + {_, true} <- {:acceptable_content_length, acceptable_body_length?(head_response)} do + content_type = Tesla.get_header(head_response, "content-type") + handle_preview(content_type, conn, url) + else + {_, %{status: status}} -> + send_resp(conn, :failed_dependency, "Can't fetch HTTP headers (HTTP #{status}).") - defp does_not_match(path, filename) do - basename = Path.basename(path) - basename != filename and URI.decode(basename) != filename and URI.encode(basename) != filename + {:acceptable_content_length, false} -> + send_resp(conn, :unprocessable_entity, "Source file size exceeds limit.") + end + end + + defp handle_preview("image/" <> _, %{params: params} = conn, url) do + with {:ok, %{status: status, body: body}} when status in 200..299 <- Tesla.get(url), + {:ok, path} <- MogrifyHelper.store_as_temporary_file(url, body), + resize_dimensions <- + Map.get( + params, + "limit_dimensions", + Config.get([:media_preview_proxy, :limit_dimensions]) + ), + %Mogrify.Image{} <- MogrifyHelper.in_place_resize_to_limit(path, resize_dimensions) do + send_file(conn, 200, path) + else + {_, %{status: _}} -> + send_resp(conn, :failed_dependency, "Can't fetch the image.") + + _ -> + send_resp(conn, :failed_dependency, "Can't handle image preview.") + end + end + + defp handle_preview(content_type, conn, _url) do + send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") + end + + defp acceptable_body_length?(head_response) do + max_body_length = Config.get([:media_preview_proxy, :max_body_length], nil) + content_length = Tesla.get_header(head_response, "content-length") + content_length = with {int, _} <- Integer.parse(content_length), do: int + + content_length == :error or + max_body_length in [nil, :infinity] or + content_length <= max_body_length end end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 7a171f9fb..6fb47029a 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -663,6 +663,8 @@ defmodule Pleroma.Web.Router do end scope "/proxy/", Pleroma.Web.MediaProxy do + get("/preview/:sig/:url", MediaProxyController, :preview) + get("/preview/:sig/:url/:filename", MediaProxyController, :preview) get("/:sig/:url", MediaProxyController, :remote) get("/:sig/:url/:filename", MediaProxyController, :remote) end diff --git a/test/web/media_proxy/media_proxy_test.exs b/test/web/media_proxy/media_proxy_test.exs index 69c2d5dae..cad0acd30 100644 --- a/test/web/media_proxy/media_proxy_test.exs +++ b/test/web/media_proxy/media_proxy_test.exs @@ -5,42 +5,44 @@ defmodule Pleroma.Web.MediaProxyTest do use ExUnit.Case use Pleroma.Tests.Helpers - import Pleroma.Web.MediaProxy - alias Pleroma.Web.MediaProxy.MediaProxyController - setup do: clear_config([:media_proxy, :enabled]) - setup do: clear_config(Pleroma.Upload) + alias Pleroma.Config + alias Pleroma.Web.Endpoint + alias Pleroma.Web.MediaProxy + + defp decode_result(encoded) do + [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/") + {:ok, decoded} = MediaProxy.decode_url(sig, base64) + decoded + end describe "when enabled" do - setup do - Pleroma.Config.put([:media_proxy, :enabled], true) - :ok - end + setup do: clear_config([:media_proxy, :enabled], true) test "ignores invalid url" do - assert url(nil) == nil - assert url("") == nil + assert MediaProxy.url(nil) == nil + assert MediaProxy.url("") == nil end test "ignores relative url" do - assert url("/local") == "/local" - assert url("/") == "/" + assert MediaProxy.url("/local") == "/local" + assert MediaProxy.url("/") == "/" end test "ignores local url" do - local_url = Pleroma.Web.Endpoint.url() <> "/hello" - local_root = Pleroma.Web.Endpoint.url() - assert url(local_url) == local_url - assert url(local_root) == local_root + local_url = Endpoint.url() <> "/hello" + local_root = Endpoint.url() + assert MediaProxy.url(local_url) == local_url + assert MediaProxy.url(local_root) == local_root end test "encodes and decodes URL" do url = "https://pleroma.soykaf.com/static/logo.png" - encoded = url(url) + encoded = MediaProxy.url(url) assert String.starts_with?( encoded, - Pleroma.Config.get([:media_proxy, :base_url], Pleroma.Web.base_url()) + Config.get([:media_proxy, :base_url], Pleroma.Web.base_url()) ) assert String.ends_with?(encoded, "/logo.png") @@ -50,62 +52,59 @@ test "encodes and decodes URL" do test "encodes and decodes URL without a path" do url = "https://pleroma.soykaf.com" - encoded = url(url) + encoded = MediaProxy.url(url) assert decode_result(encoded) == url end test "encodes and decodes URL without an extension" do url = "https://pleroma.soykaf.com/path/" - encoded = url(url) + encoded = MediaProxy.url(url) assert String.ends_with?(encoded, "/path") assert decode_result(encoded) == url end test "encodes and decodes URL and ignores query params for the path" do url = "https://pleroma.soykaf.com/static/logo.png?93939393939&bunny=true" - encoded = url(url) + encoded = MediaProxy.url(url) assert String.ends_with?(encoded, "/logo.png") assert decode_result(encoded) == url end test "validates signature" do - secret_key_base = Pleroma.Config.get([Pleroma.Web.Endpoint, :secret_key_base]) + secret_key_base = Config.get([Endpoint, :secret_key_base]) + clear_config([Endpoint, :secret_key_base], secret_key_base) - on_exit(fn -> - Pleroma.Config.put([Pleroma.Web.Endpoint, :secret_key_base], secret_key_base) - end) + encoded = MediaProxy.url("https://pleroma.social") - encoded = url("https://pleroma.social") - - Pleroma.Config.put( - [Pleroma.Web.Endpoint, :secret_key_base], + Config.put( + [Endpoint, :secret_key_base], "00000000000000000000000000000000000000000000000" ) [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/") - assert decode_url(sig, base64) == {:error, :invalid_signature} + assert MediaProxy.decode_url(sig, base64) == {:error, :invalid_signature} end - test "filename_matches preserves the encoded or decoded path" do - assert MediaProxyController.filename_matches( + test "`filename_matches/_` preserves the encoded or decoded path" do + assert MediaProxy.filename_matches( %{"filename" => "/Hello world.jpg"}, "/Hello world.jpg", "http://pleroma.social/Hello world.jpg" ) == :ok - assert MediaProxyController.filename_matches( + assert MediaProxy.filename_matches( %{"filename" => "/Hello%20world.jpg"}, "/Hello%20world.jpg", "http://pleroma.social/Hello%20world.jpg" ) == :ok - assert MediaProxyController.filename_matches( + assert MediaProxy.filename_matches( %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"}, "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" ) == :ok - assert MediaProxyController.filename_matches( + assert MediaProxy.filename_matches( %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jp"}, "/my%2Flong%2Furl%2F2019%2F07%2FS.jp", "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" @@ -116,7 +115,7 @@ test "encoded url are tried to match for proxy as `conn.request_path` encodes th # conn.request_path will return encoded url request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg" - assert MediaProxyController.filename_matches( + assert MediaProxy.filename_matches( true, request_path, "https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg" @@ -124,20 +123,12 @@ test "encoded url are tried to match for proxy as `conn.request_path` encodes th end test "uses the configured base_url" do - base_url = Pleroma.Config.get([:media_proxy, :base_url]) - - if base_url do - on_exit(fn -> - Pleroma.Config.put([:media_proxy, :base_url], base_url) - end) - end - - Pleroma.Config.put([:media_proxy, :base_url], "https://cache.pleroma.social") + clear_config([:media_proxy, :base_url], "https://cache.pleroma.social") url = "https://pleroma.soykaf.com/static/logo.png" - encoded = url(url) + encoded = MediaProxy.url(url) - assert String.starts_with?(encoded, Pleroma.Config.get([:media_proxy, :base_url])) + assert String.starts_with?(encoded, Config.get([:media_proxy, :base_url])) end # Some sites expect ASCII encoded characters in the URL to be preserved even if @@ -148,7 +139,7 @@ test "preserve ASCII encoding" do url = "https://pleroma.com/%20/%21/%22/%23/%24/%25/%26/%27/%28/%29/%2A/%2B/%2C/%2D/%2E/%2F/%30/%31/%32/%33/%34/%35/%36/%37/%38/%39/%3A/%3B/%3C/%3D/%3E/%3F/%40/%41/%42/%43/%44/%45/%46/%47/%48/%49/%4A/%4B/%4C/%4D/%4E/%4F/%50/%51/%52/%53/%54/%55/%56/%57/%58/%59/%5A/%5B/%5C/%5D/%5E/%5F/%60/%61/%62/%63/%64/%65/%66/%67/%68/%69/%6A/%6B/%6C/%6D/%6E/%6F/%70/%71/%72/%73/%74/%75/%76/%77/%78/%79/%7A/%7B/%7C/%7D/%7E/%7F/%80/%81/%82/%83/%84/%85/%86/%87/%88/%89/%8A/%8B/%8C/%8D/%8E/%8F/%90/%91/%92/%93/%94/%95/%96/%97/%98/%99/%9A/%9B/%9C/%9D/%9E/%9F/%C2%A0/%A1/%A2/%A3/%A4/%A5/%A6/%A7/%A8/%A9/%AA/%AB/%AC/%C2%AD/%AE/%AF/%B0/%B1/%B2/%B3/%B4/%B5/%B6/%B7/%B8/%B9/%BA/%BB/%BC/%BD/%BE/%BF/%C0/%C1/%C2/%C3/%C4/%C5/%C6/%C7/%C8/%C9/%CA/%CB/%CC/%CD/%CE/%CF/%D0/%D1/%D2/%D3/%D4/%D5/%D6/%D7/%D8/%D9/%DA/%DB/%DC/%DD/%DE/%DF/%E0/%E1/%E2/%E3/%E4/%E5/%E6/%E7/%E8/%E9/%EA/%EB/%EC/%ED/%EE/%EF/%F0/%F1/%F2/%F3/%F4/%F5/%F6/%F7/%F8/%F9/%FA/%FB/%FC/%FD/%FE/%FF" - encoded = url(url) + encoded = MediaProxy.url(url) assert decode_result(encoded) == url end @@ -159,77 +150,55 @@ test "preserve non-unicode characters per RFC3986" do url = "https://pleroma.com/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-._~:/?#[]@!$&'()*+,;=|^`{}" - encoded = url(url) + encoded = MediaProxy.url(url) assert decode_result(encoded) == url end test "preserve unicode characters" do url = "https://ko.wikipedia.org/wiki/위키백과:대문" - encoded = url(url) + encoded = MediaProxy.url(url) assert decode_result(encoded) == url end end describe "when disabled" do - setup do - enabled = Pleroma.Config.get([:media_proxy, :enabled]) - - if enabled do - Pleroma.Config.put([:media_proxy, :enabled], false) - - on_exit(fn -> - Pleroma.Config.put([:media_proxy, :enabled], enabled) - :ok - end) - end - - :ok - end + setup do: clear_config([:media_proxy, :enabled], false) test "does not encode remote urls" do - assert url("https://google.fr") == "https://google.fr" + assert MediaProxy.url("https://google.fr") == "https://google.fr" end end - defp decode_result(encoded) do - [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/") - {:ok, decoded} = decode_url(sig, base64) - decoded - end - describe "whitelist" do - setup do - Pleroma.Config.put([:media_proxy, :enabled], true) - :ok - end + setup do: clear_config([:media_proxy, :enabled], true) test "mediaproxy whitelist" do - Pleroma.Config.put([:media_proxy, :whitelist], ["google.com", "feld.me"]) + clear_config([:media_proxy, :whitelist], ["google.com", "feld.me"]) url = "https://feld.me/foo.png" - unencoded = url(url) + unencoded = MediaProxy.url(url) assert unencoded == url end test "does not change whitelisted urls" do - Pleroma.Config.put([:media_proxy, :whitelist], ["mycdn.akamai.com"]) - Pleroma.Config.put([:media_proxy, :base_url], "https://cache.pleroma.social") + clear_config([:media_proxy, :whitelist], ["mycdn.akamai.com"]) + clear_config([:media_proxy, :base_url], "https://cache.pleroma.social") media_url = "https://mycdn.akamai.com" url = "#{media_url}/static/logo.png" - encoded = url(url) + encoded = MediaProxy.url(url) assert String.starts_with?(encoded, media_url) end test "ensure Pleroma.Upload base_url is always whitelisted" do media_url = "https://media.pleroma.social" - Pleroma.Config.put([Pleroma.Upload, :base_url], media_url) + clear_config([Pleroma.Upload, :base_url], media_url) url = "#{media_url}/static/logo.png" - encoded = url(url) + encoded = MediaProxy.url(url) assert String.starts_with?(encoded, media_url) end From 1b23acf164ebc4fde3fe1e4fdca6e11b7caa90ef Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Mon, 11 May 2020 23:21:53 +0300 Subject: [PATCH 002/201] [#2497] Media preview proxy for images: fixes, tweaks, refactoring, tests adjustments. --- config/config.exs | 8 ++- lib/pleroma/reverse_proxy/reverse_proxy.ex | 4 ++ lib/pleroma/web/media_proxy/media_proxy.ex | 33 +++++++--- .../web/media_proxy/media_proxy_controller.ex | 62 ++++++++++------- mix.exs | 1 + mix.lock | 2 + test/web/media_proxy/media_proxy_test.exs | 66 +++++++++++++------ 7 files changed, 119 insertions(+), 57 deletions(-) diff --git a/config/config.exs b/config/config.exs index 526901f83..0f92b1ef9 100644 --- a/config/config.exs +++ b/config/config.exs @@ -381,6 +381,8 @@ proxy_opts: [ redirect_on_failure: false, max_body_length: 25 * 1_048_576, + # Note: max_read_duration defaults to Pleroma.ReverseProxy.max_read_duration_default/1 + max_read_duration: 30_000, http: [ follow_redirect: true, pool: :media @@ -388,10 +390,14 @@ ], whitelist: [] +# Note: media preview proxy depends on media proxy to be enabled config :pleroma, :media_preview_proxy, enabled: false, limit_dimensions: "400x200", - max_body_length: 25 * 1_048_576 + proxy_opts: [ + head_request_max_read_duration: 5_000, + max_read_duration: 10_000 + ] config :pleroma, :chat, enabled: true diff --git a/lib/pleroma/reverse_proxy/reverse_proxy.ex b/lib/pleroma/reverse_proxy/reverse_proxy.ex index 4bbeb493c..aeaf9bd39 100644 --- a/lib/pleroma/reverse_proxy/reverse_proxy.ex +++ b/lib/pleroma/reverse_proxy/reverse_proxy.ex @@ -16,6 +16,8 @@ defmodule Pleroma.ReverseProxy do @failed_request_ttl :timer.seconds(60) @methods ~w(GET HEAD) + def max_read_duration_default, do: @max_read_duration + @moduledoc """ A reverse proxy. @@ -370,6 +372,8 @@ defp body_size_constraint(size, limit) when is_integer(limit) and limit > 0 and defp body_size_constraint(_, _), do: :ok + defp check_read_duration(nil = _duration, max), do: check_read_duration(@max_read_duration, max) + defp check_read_duration(duration, max) when is_integer(duration) and is_integer(max) and max > 0 do if duration > max do diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index f4791c758..4e01c14e4 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -13,26 +13,32 @@ def url(url) when is_nil(url) or url == "", do: nil def url("/" <> _ = url), do: url def url(url) do - if disabled?() or local?(url) or whitelisted?(url) do + if not enabled?() or local?(url) or whitelisted?(url) do url else encode_url(url) end end + # Note: routing all URLs to preview handler (even local and whitelisted). + # Preview handler will call url/1 on decoded URLs, and applicable ones will detour media proxy. def preview_url(url) do - if disabled?() or whitelisted?(url) do - url - else + if preview_enabled?() do encode_preview_url(url) + else + url end end - defp disabled?, do: !Config.get([:media_proxy, :enabled], false) + def enabled?, do: Config.get([:media_proxy, :enabled], false) - defp local?(url), do: String.starts_with?(url, Pleroma.Web.base_url()) + # Note: media proxy must be enabled for media preview proxy in order to load all + # non-local non-whitelisted URLs through it and be sure that body size constraint is preserved. + def preview_enabled?, do: enabled?() and Config.get([:media_preview_proxy, :enabled], false) - defp whitelisted?(url) do + def local?(url), do: String.starts_with?(url, Pleroma.Web.base_url()) + + def whitelisted?(url) do %{host: domain} = URI.parse(url) mediaproxy_whitelist = Config.get([:media_proxy, :whitelist]) @@ -111,17 +117,24 @@ def build_preview_url(sig_base64, url_base64, filename \\ nil) do proxy_url("proxy/preview", sig_base64, url_base64, filename) end - def filename_matches(%{"filename" => _} = _, path, url) do + def verify_request_path_and_url( + %Plug.Conn{params: %{"filename" => _}, request_path: request_path}, + url + ) do + verify_request_path_and_url(request_path, url) + end + + def verify_request_path_and_url(request_path, url) when is_binary(request_path) do filename = filename(url) - if filename && not basename_matches?(path, filename) do + if filename && not basename_matches?(request_path, filename) do {:wrong_filename, filename} else :ok end end - def filename_matches(_, _, _), do: :ok + def verify_request_path_and_url(_, _), do: :ok defp basename_matches?(path, filename) do basename = Path.basename(path) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index fe3f61c18..157365e08 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -10,14 +10,12 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do alias Pleroma.ReverseProxy alias Pleroma.Web.MediaProxy - @default_proxy_opts [max_body_length: 25 * 1_048_576, http: [follow_redirect: true]] - - def remote(conn, %{"sig" => sig64, "url" => url64} = params) do - with config <- Config.get([:media_proxy], []), - {_, true} <- {:enabled, Keyword.get(config, :enabled, false)}, + def remote(conn, %{"sig" => sig64, "url" => url64}) do + with {_, true} <- {:enabled, MediaProxy.enabled?()}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), - :ok <- MediaProxy.filename_matches(params, conn.request_path, url) do - ReverseProxy.call(conn, url, Keyword.get(config, :proxy_opts, @default_proxy_opts)) + :ok <- MediaProxy.verify_request_path_and_url(conn, url) do + proxy_opts = Config.get([:media_proxy, :proxy_opts], []) + ReverseProxy.call(conn, url, proxy_opts) else {:enabled, false} -> send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) @@ -30,10 +28,10 @@ def remote(conn, %{"sig" => sig64, "url" => url64} = params) do end end - def preview(conn, %{"sig" => sig64, "url" => url64} = params) do - with {_, true} <- {:enabled, Config.get([:media_preview_proxy, :enabled], false)}, + def preview(conn, %{"sig" => sig64, "url" => url64}) do + with {_, true} <- {:enabled, MediaProxy.preview_enabled?()}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), - :ok <- MediaProxy.filename_matches(params, conn.request_path, url) do + :ok <- MediaProxy.verify_request_path_and_url(conn, url) do handle_preview(conn, url) else {:enabled, false} -> @@ -48,21 +46,27 @@ def preview(conn, %{"sig" => sig64, "url" => url64} = params) do end defp handle_preview(conn, url) do - with {:ok, %{status: status} = head_response} when status in 200..299 <- Tesla.head(url), - {_, true} <- {:acceptable_content_length, acceptable_body_length?(head_response)} do + with {:ok, %{status: status} = head_response} when status in 200..299 <- + Tesla.head(url, opts: [adapter: [timeout: preview_head_request_timeout()]]) do content_type = Tesla.get_header(head_response, "content-type") handle_preview(content_type, conn, url) else {_, %{status: status}} -> send_resp(conn, :failed_dependency, "Can't fetch HTTP headers (HTTP #{status}).") - {:acceptable_content_length, false} -> - send_resp(conn, :unprocessable_entity, "Source file size exceeds limit.") + {:error, :recv_response_timeout} -> + send_resp(conn, :failed_dependency, "HEAD request timeout.") + + _ -> + send_resp(conn, :failed_dependency, "Can't fetch HTTP headers.") end end - defp handle_preview("image/" <> _, %{params: params} = conn, url) do - with {:ok, %{status: status, body: body}} when status in 200..299 <- Tesla.get(url), + defp handle_preview("image/" <> _ = content_type, %{params: params} = conn, url) do + with {:ok, %{status: status, body: body}} when status in 200..299 <- + url + |> MediaProxy.url() + |> Tesla.get(opts: [adapter: [timeout: preview_timeout()]]), {:ok, path} <- MogrifyHelper.store_as_temporary_file(url, body), resize_dimensions <- Map.get( @@ -70,12 +74,19 @@ defp handle_preview("image/" <> _, %{params: params} = conn, url) do "limit_dimensions", Config.get([:media_preview_proxy, :limit_dimensions]) ), - %Mogrify.Image{} <- MogrifyHelper.in_place_resize_to_limit(path, resize_dimensions) do - send_file(conn, 200, path) + %Mogrify.Image{} <- MogrifyHelper.in_place_resize_to_limit(path, resize_dimensions), + {:ok, image_binary} <- File.read(path), + _ <- File.rm(path) do + conn + |> put_resp_header("content-type", content_type) + |> send_resp(200, image_binary) else {_, %{status: _}} -> send_resp(conn, :failed_dependency, "Can't fetch the image.") + {:error, :recv_response_timeout} -> + send_resp(conn, :failed_dependency, "Downstream timeout.") + _ -> send_resp(conn, :failed_dependency, "Can't handle image preview.") end @@ -85,13 +96,14 @@ defp handle_preview(content_type, conn, _url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end - defp acceptable_body_length?(head_response) do - max_body_length = Config.get([:media_preview_proxy, :max_body_length], nil) - content_length = Tesla.get_header(head_response, "content-length") - content_length = with {int, _} <- Integer.parse(content_length), do: int + defp preview_head_request_timeout do + Config.get([:media_preview_proxy, :proxy_opts, :head_request_max_read_duration]) || + preview_timeout() + end - content_length == :error or - max_body_length in [nil, :infinity] or - content_length <= max_body_length + defp preview_timeout do + Config.get([:media_preview_proxy, :proxy_opts, :max_read_duration]) || + Config.get([:media_proxy, :proxy_opts, :max_read_duration]) || + ReverseProxy.max_read_duration_default() end end diff --git a/mix.exs b/mix.exs index 6d65e18d4..a9c4ad2e3 100644 --- a/mix.exs +++ b/mix.exs @@ -139,6 +139,7 @@ defp deps do github: "ninenines/gun", ref: "e1a69b36b180a574c0ac314ced9613fdd52312cc", override: true}, {:jason, "~> 1.0"}, {:mogrify, "~> 0.6.1"}, + {:eimp, ">= 0.0.0"}, {:ex_aws, "~> 2.1"}, {:ex_aws_s3, "~> 2.0"}, {:sweet_xml, "~> 0.6.6"}, diff --git a/mix.lock b/mix.lock index c400202b7..ede7b0ada 100644 --- a/mix.lock +++ b/mix.lock @@ -29,6 +29,7 @@ "ecto": {:hex, :ecto, "3.4.0", "a7a83ab8359bf816ce729e5e65981ce25b9fc5adfc89c2ea3980f4fed0bfd7c1", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "5eed18252f5b5bbadec56a24112b531343507dbe046273133176b12190ce19cc"}, "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"}, + "eimp": {:hex, :eimp, "1.0.14", "fc297f0c7e2700457a95a60c7010a5f1dcb768a083b6d53f49cd94ab95a28f22", [:rebar3], [{:p1_utils, "1.0.18", [hex: :p1_utils, repo: "hexpm", optional: false]}], "hexpm", "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"}, "esshd": {:hex, :esshd, "0.1.1", "d4dd4c46698093a40a56afecce8a46e246eb35463c457c246dacba2e056f31b5", [:mix], [], "hexpm", "d73e341e3009d390aa36387dc8862860bf9f874c94d9fd92ade2926376f49981"}, "eternal": {:hex, :eternal, "1.2.1", "d5b6b2499ba876c57be2581b5b999ee9bdf861c647401066d3eeed111d096bc4", [:mix], [], "hexpm", "b14f1dc204321429479c569cfbe8fb287541184ed040956c8862cb7a677b8406"}, "ex2ms": {:hex, :ex2ms, "1.5.0", "19e27f9212be9a96093fed8cdfbef0a2b56c21237196d26760f11dfcfae58e97", [:mix], [], "hexpm"}, @@ -75,6 +76,7 @@ "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"}, "open_api_spex": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", "b862ebd78de0df95875cf46feb6e9607130dc2a8", [ref: "b862ebd78de0df95875cf46feb6e9607130dc2a8"]}, + "p1_utils": {:hex, :p1_utils, "1.0.18", "3fe224de5b2e190d730a3c5da9d6e8540c96484cf4b4692921d1e28f0c32b01c", [:rebar3], [], "hexpm", "1fc8773a71a15553b179c986b22fbeead19b28fe486c332d4929700ffeb71f88"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "pbkdf2_elixir": {:hex, :pbkdf2_elixir, "0.12.4", "8dd29ed783f2e12195d7e0a4640effc0a7c37e6537da491f1db01839eee6d053", [:mix], [], "hexpm", "595d09db74cb093b1903381c9de423276a931a2480a46a1a5dc7f932a2a6375b"}, "phoenix": {:hex, :phoenix, "1.4.13", "67271ad69b51f3719354604f4a3f968f83aa61c19199343656c9caee057ff3b8", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 1.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.8.1 or ~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 1.0 or ~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ab765a0feddb81fc62e2116c827b5f068df85159c162bee760745276ad7ddc1b"}, diff --git a/test/web/media_proxy/media_proxy_test.exs b/test/web/media_proxy/media_proxy_test.exs index cad0acd30..ac5d8fd32 100644 --- a/test/web/media_proxy/media_proxy_test.exs +++ b/test/web/media_proxy/media_proxy_test.exs @@ -85,38 +85,62 @@ test "validates signature" do assert MediaProxy.decode_url(sig, base64) == {:error, :invalid_signature} end - test "`filename_matches/_` preserves the encoded or decoded path" do - assert MediaProxy.filename_matches( - %{"filename" => "/Hello world.jpg"}, - "/Hello world.jpg", - "http://pleroma.social/Hello world.jpg" + def test_verify_request_path_and_url(request_path, url, expected_result) do + assert MediaProxy.verify_request_path_and_url(request_path, url) == expected_result + + assert MediaProxy.verify_request_path_and_url( + %Plug.Conn{ + params: %{"filename" => Path.basename(request_path)}, + request_path: request_path + }, + url + ) == expected_result + end + + test "if first arg of `verify_request_path_and_url/2` is a Plug.Conn without \"filename\" " <> + "parameter, `verify_request_path_and_url/2` returns :ok " do + assert MediaProxy.verify_request_path_and_url( + %Plug.Conn{params: %{}, request_path: "/some/path"}, + "https://instance.com/file.jpg" ) == :ok - assert MediaProxy.filename_matches( - %{"filename" => "/Hello%20world.jpg"}, - "/Hello%20world.jpg", - "http://pleroma.social/Hello%20world.jpg" + assert MediaProxy.verify_request_path_and_url( + %Plug.Conn{params: %{}, request_path: "/path/to/file.jpg"}, + "https://instance.com/file.jpg" ) == :ok + end - assert MediaProxy.filename_matches( - %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"}, - "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", - "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" - ) == :ok + test "`verify_request_path_and_url/2` preserves the encoded or decoded path" do + test_verify_request_path_and_url( + "/Hello world.jpg", + "http://pleroma.social/Hello world.jpg", + :ok + ) - assert MediaProxy.filename_matches( - %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jp"}, - "/my%2Flong%2Furl%2F2019%2F07%2FS.jp", - "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" - ) == {:wrong_filename, "my%2Flong%2Furl%2F2019%2F07%2FS.jpg"} + test_verify_request_path_and_url( + "/Hello%20world.jpg", + "http://pleroma.social/Hello%20world.jpg", + :ok + ) + + test_verify_request_path_and_url( + "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", + "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", + :ok + ) + + test_verify_request_path_and_url( + "/my%2Flong%2Furl%2F2019%2F07%2FS", + "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", + {:wrong_filename, "my%2Flong%2Furl%2F2019%2F07%2FS.jpg"} + ) end test "encoded url are tried to match for proxy as `conn.request_path` encodes the url" do # conn.request_path will return encoded url request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg" - assert MediaProxy.filename_matches( - true, + assert MediaProxy.verify_request_path_and_url( request_path, "https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg" ) == :ok From f1f588fd5271c0b3bf09df002a83dbb57c42bae0 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 14 May 2020 20:18:31 +0300 Subject: [PATCH 003/201] [#2497] Added support for :eimp for image resizing. --- config/config.exs | 4 +- .../web/media_proxy/media_proxy_controller.ex | 64 +++++++++++++++---- mix.exs | 2 +- 3 files changed, 56 insertions(+), 14 deletions(-) diff --git a/config/config.exs b/config/config.exs index 0f92b1ef9..e9403c7c8 100644 --- a/config/config.exs +++ b/config/config.exs @@ -393,7 +393,9 @@ # Note: media preview proxy depends on media proxy to be enabled config :pleroma, :media_preview_proxy, enabled: false, - limit_dimensions: "400x200", + enable_eimp: true, + thumbnail_max_width: 400, + thumbnail_max_height: 200, proxy_opts: [ head_request_max_read_duration: 5_000, max_read_duration: 10_000 diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 157365e08..8d8d073e9 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -62,24 +62,64 @@ defp handle_preview(conn, url) do end end + defp thumbnail_max_dimensions(params) do + config = Config.get([:media_preview_proxy], []) + + thumbnail_max_width = + if w = params["thumbnail_max_width"] do + String.to_integer(w) + else + Keyword.fetch!(config, :thumbnail_max_width) + end + + thumbnail_max_height = + if h = params["thumbnail_max_height"] do + String.to_integer(h) + else + Keyword.fetch!(config, :thumbnail_max_height) + end + + {thumbnail_max_width, thumbnail_max_height} + end + + defp thumbnail_binary(url, body, params) do + {thumbnail_max_width, thumbnail_max_height} = thumbnail_max_dimensions(params) + + with true <- Config.get([:media_preview_proxy, :enable_eimp]), + {:ok, [type: image_type, width: source_width, height: source_height]} <- + :eimp.identify(body), + scale_factor <- + Enum.max([source_width / thumbnail_max_width, source_height / thumbnail_max_height]), + {:ok, thumbnail_binary} = + :eimp.convert(body, image_type, [ + {:scale, {round(source_width / scale_factor), round(source_height / scale_factor)}} + ]) do + {:ok, thumbnail_binary} + else + _ -> + mogrify_dimensions = "#{thumbnail_max_width}x#{thumbnail_max_height}" + + with {:ok, path} <- MogrifyHelper.store_as_temporary_file(url, body), + %Mogrify.Image{} <- + MogrifyHelper.in_place_resize_to_limit(path, mogrify_dimensions), + {:ok, thumbnail_binary} <- File.read(path), + _ <- File.rm(path) do + {:ok, thumbnail_binary} + else + _ -> :error + end + end + end + defp handle_preview("image/" <> _ = content_type, %{params: params} = conn, url) do - with {:ok, %{status: status, body: body}} when status in 200..299 <- + with {:ok, %{status: status, body: image_contents}} when status in 200..299 <- url |> MediaProxy.url() |> Tesla.get(opts: [adapter: [timeout: preview_timeout()]]), - {:ok, path} <- MogrifyHelper.store_as_temporary_file(url, body), - resize_dimensions <- - Map.get( - params, - "limit_dimensions", - Config.get([:media_preview_proxy, :limit_dimensions]) - ), - %Mogrify.Image{} <- MogrifyHelper.in_place_resize_to_limit(path, resize_dimensions), - {:ok, image_binary} <- File.read(path), - _ <- File.rm(path) do + {:ok, thumbnail_binary} <- thumbnail_binary(url, image_contents, params) do conn |> put_resp_header("content-type", content_type) - |> send_resp(200, image_binary) + |> send_resp(200, thumbnail_binary) else {_, %{status: _}} -> send_resp(conn, :failed_dependency, "Can't fetch the image.") diff --git a/mix.exs b/mix.exs index a9c4ad2e3..332febe48 100644 --- a/mix.exs +++ b/mix.exs @@ -139,7 +139,7 @@ defp deps do github: "ninenines/gun", ref: "e1a69b36b180a574c0ac314ced9613fdd52312cc", override: true}, {:jason, "~> 1.0"}, {:mogrify, "~> 0.6.1"}, - {:eimp, ">= 0.0.0"}, + {:eimp, "~> 1.0.14"}, {:ex_aws, "~> 2.1"}, {:ex_aws_s3, "~> 2.0"}, {:sweet_xml, "~> 0.6.6"}, From 1871a5ddb4a803ebe4fae6943a9b9c94f1f9c1a8 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 20 May 2020 20:26:43 +0300 Subject: [PATCH 004/201] [#2497] Image preview proxy: implemented ffmpeg-based resizing, removed eimp & mogrify-based resizing. --- config/config.exs | 1 - lib/pleroma/helpers/media_helper.ex | 62 +++++++++++++++++++ lib/pleroma/helpers/mogrify_helper.ex | 25 -------- .../web/media_proxy/media_proxy_controller.ex | 50 +++------------ mix.exs | 2 +- mix.lock | 2 + 6 files changed, 74 insertions(+), 68 deletions(-) create mode 100644 lib/pleroma/helpers/media_helper.ex delete mode 100644 lib/pleroma/helpers/mogrify_helper.ex diff --git a/config/config.exs b/config/config.exs index e9403c7c8..7de93511d 100644 --- a/config/config.exs +++ b/config/config.exs @@ -393,7 +393,6 @@ # Note: media preview proxy depends on media proxy to be enabled config :pleroma, :media_preview_proxy, enabled: false, - enable_eimp: true, thumbnail_max_width: 400, thumbnail_max_height: 200, proxy_opts: [ diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex new file mode 100644 index 000000000..6d1f8ab22 --- /dev/null +++ b/lib/pleroma/helpers/media_helper.ex @@ -0,0 +1,62 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Helpers.MediaHelper do + @moduledoc """ + Handles common media-related operations. + """ + + @ffmpeg_opts [{:sync, true}, {:stdout, true}] + + def ffmpeg_resize_remote(uri, max_width, max_height) do + cmd = ~s""" + curl -L "#{uri}" | + ffmpeg -i pipe:0 -vf \ + "scale='min(#{max_width},iw)':min'(#{max_height},ih)':force_original_aspect_ratio=decrease" \ + -f image2 pipe:1 | \ + cat + """ + + with {:ok, [stdout: stdout_list]} <- Exexec.run(cmd, @ffmpeg_opts) do + {:ok, Enum.join(stdout_list)} + end + end + + @doc "Returns a temporary path for an URI" + def temporary_path_for(uri) do + name = Path.basename(uri) + random = rand_uniform(999_999) + Path.join(System.tmp_dir(), "#{random}-#{name}") + end + + @doc "Stores binary content fetched from specified URL as a temporary file." + @spec store_as_temporary_file(String.t(), binary()) :: {:ok, String.t()} | {:error, atom()} + def store_as_temporary_file(url, body) do + path = temporary_path_for(url) + with :ok <- File.write(path, body), do: {:ok, path} + end + + @doc "Modifies image file at specified path by resizing to specified limit dimensions." + @spec mogrify_resize_to_limit(String.t(), String.t()) :: :ok | any() + def mogrify_resize_to_limit(path, resize_dimensions) do + with %Mogrify.Image{} <- + path + |> Mogrify.open() + |> Mogrify.resize_to_limit(resize_dimensions) + |> Mogrify.save(in_place: true) do + :ok + end + end + + defp rand_uniform(high) do + Code.ensure_loaded(:rand) + + if function_exported?(:rand, :uniform, 1) do + :rand.uniform(high) + else + # Erlang/OTP < 19 + apply(:crypto, :rand_uniform, [1, high]) + end + end +end diff --git a/lib/pleroma/helpers/mogrify_helper.ex b/lib/pleroma/helpers/mogrify_helper.ex deleted file mode 100644 index 67edb35c3..000000000 --- a/lib/pleroma/helpers/mogrify_helper.ex +++ /dev/null @@ -1,25 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Helpers.MogrifyHelper do - @moduledoc """ - Handles common Mogrify operations. - """ - - @spec store_as_temporary_file(String.t(), binary()) :: {:ok, String.t()} | {:error, atom()} - @doc "Stores binary content fetched from specified URL as a temporary file." - def store_as_temporary_file(url, body) do - path = Mogrify.temporary_path_for(%{path: url}) - with :ok <- File.write(path, body), do: {:ok, path} - end - - @spec store_as_temporary_file(String.t(), String.t()) :: Mogrify.Image.t() | any() - @doc "Modifies file at specified path by resizing to specified limit dimensions." - def in_place_resize_to_limit(path, resize_dimensions) do - path - |> Mogrify.open() - |> Mogrify.resize_to_limit(resize_dimensions) - |> Mogrify.save(in_place: true) - end -end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 8d8d073e9..fb4b80379 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -6,7 +6,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do use Pleroma.Web, :controller alias Pleroma.Config - alias Pleroma.Helpers.MogrifyHelper + alias Pleroma.Helpers.MediaHelper alias Pleroma.ReverseProxy alias Pleroma.Web.MediaProxy @@ -82,51 +82,19 @@ defp thumbnail_max_dimensions(params) do {thumbnail_max_width, thumbnail_max_height} end - defp thumbnail_binary(url, body, params) do - {thumbnail_max_width, thumbnail_max_height} = thumbnail_max_dimensions(params) - - with true <- Config.get([:media_preview_proxy, :enable_eimp]), - {:ok, [type: image_type, width: source_width, height: source_height]} <- - :eimp.identify(body), - scale_factor <- - Enum.max([source_width / thumbnail_max_width, source_height / thumbnail_max_height]), - {:ok, thumbnail_binary} = - :eimp.convert(body, image_type, [ - {:scale, {round(source_width / scale_factor), round(source_height / scale_factor)}} - ]) do - {:ok, thumbnail_binary} - else - _ -> - mogrify_dimensions = "#{thumbnail_max_width}x#{thumbnail_max_height}" - - with {:ok, path} <- MogrifyHelper.store_as_temporary_file(url, body), - %Mogrify.Image{} <- - MogrifyHelper.in_place_resize_to_limit(path, mogrify_dimensions), - {:ok, thumbnail_binary} <- File.read(path), - _ <- File.rm(path) do - {:ok, thumbnail_binary} - else - _ -> :error - end - end - end - defp handle_preview("image/" <> _ = content_type, %{params: params} = conn, url) do - with {:ok, %{status: status, body: image_contents}} when status in 200..299 <- - url - |> MediaProxy.url() - |> Tesla.get(opts: [adapter: [timeout: preview_timeout()]]), - {:ok, thumbnail_binary} <- thumbnail_binary(url, image_contents, params) do + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), + media_proxy_url <- MediaProxy.url(url), + {:ok, thumbnail_binary} <- + MediaHelper.ffmpeg_resize_remote( + media_proxy_url, + thumbnail_max_width, + thumbnail_max_height + ) do conn |> put_resp_header("content-type", content_type) |> send_resp(200, thumbnail_binary) else - {_, %{status: _}} -> - send_resp(conn, :failed_dependency, "Can't fetch the image.") - - {:error, :recv_response_timeout} -> - send_resp(conn, :failed_dependency, "Downstream timeout.") - _ -> send_resp(conn, :failed_dependency, "Can't handle image preview.") end diff --git a/mix.exs b/mix.exs index 9ace55eff..68de270f0 100644 --- a/mix.exs +++ b/mix.exs @@ -146,7 +146,6 @@ defp deps do github: "ninenines/gun", ref: "e1a69b36b180a574c0ac314ced9613fdd52312cc", override: true}, {:jason, "~> 1.0"}, {:mogrify, "~> 0.6.1"}, - {:eimp, "~> 1.0.14"}, {:ex_aws, "~> 2.1"}, {:ex_aws_s3, "~> 2.0"}, {:sweet_xml, "~> 0.6.6"}, @@ -198,6 +197,7 @@ defp deps do ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"}, {:mox, "~> 0.5", only: :test}, {:restarter, path: "./restarter"}, + {:exexec, "~> 0.2"}, {:open_api_spex, git: "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"} diff --git a/mix.lock b/mix.lock index ebd0cbdf5..964b72127 100644 --- a/mix.lock +++ b/mix.lock @@ -32,6 +32,7 @@ "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"}, "eimp": {:hex, :eimp, "1.0.14", "fc297f0c7e2700457a95a60c7010a5f1dcb768a083b6d53f49cd94ab95a28f22", [:rebar3], [{:p1_utils, "1.0.18", [hex: :p1_utils, repo: "hexpm", optional: false]}], "hexpm", "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, + "erlexec": {:hex, :erlexec, "1.10.9", "3cbb3476f942bfb8b68b85721c21c1835061cf6dd35f5285c2362e85b100ddc7", [:rebar3], [], "hexpm", "271e5b5f2d91cdb9887efe74d89026c199bfc69f074cade0d08dab60993fa14e"}, "esshd": {:hex, :esshd, "0.1.1", "d4dd4c46698093a40a56afecce8a46e246eb35463c457c246dacba2e056f31b5", [:mix], [], "hexpm", "d73e341e3009d390aa36387dc8862860bf9f874c94d9fd92ade2926376f49981"}, "eternal": {:hex, :eternal, "1.2.1", "d5b6b2499ba876c57be2581b5b999ee9bdf861c647401066d3eeed111d096bc4", [:mix], [], "hexpm", "b14f1dc204321429479c569cfbe8fb287541184ed040956c8862cb7a677b8406"}, "ex2ms": {:hex, :ex2ms, "1.5.0", "19e27f9212be9a96093fed8cdfbef0a2b56c21237196d26760f11dfcfae58e97", [:mix], [], "hexpm"}, @@ -42,6 +43,7 @@ "ex_machina": {:hex, :ex_machina, "2.3.0", "92a5ad0a8b10ea6314b876a99c8c9e3f25f4dde71a2a835845b136b9adaf199a", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "b84f6af156264530b312a8ab98ac6088f6b77ae5fe2058305c81434aa01fbaf9"}, "ex_syslogger": {:hex, :ex_syslogger, "1.5.2", "72b6aa2d47a236e999171f2e1ec18698740f40af0bd02c8c650bf5f1fd1bac79", [:mix], [{:poison, ">= 1.5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:syslog, "~> 1.1.0", [hex: :syslog, repo: "hexpm", optional: false]}], "hexpm", "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"}, "excoveralls": {:hex, :excoveralls, "0.12.2", "a513defac45c59e310ac42fcf2b8ae96f1f85746410f30b1ff2b710a4b6cd44b", [:mix], [{:hackney, "~> 1.0", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "151c476331d49b45601ffc45f43cb3a8beb396b02a34e3777fea0ad34ae57d89"}, + "exexec": {:hex, :exexec, "0.2.0", "a6ffc48cba3ac9420891b847e4dc7120692fb8c08c9e82220ebddc0bb8d96103", [:mix], [{:erlexec, "~> 1.10", [hex: :erlexec, repo: "hexpm", optional: false]}], "hexpm", "312cd1c9befba9e078e57f3541e4f4257eabda6eb9c348154fe899d6ac633299"}, "fast_html": {:hex, :fast_html, "1.0.3", "2cc0d4b68496266a1530e0c852cafeaede0bd10cfdee26fda50dc696c203162f", [:make, :mix], [], "hexpm", "ab3d782b639d3c4655fbaec0f9d032c91f8cab8dd791ac7469c2381bc7c32f85"}, "fast_sanitize": {:hex, :fast_sanitize, "0.1.7", "2a7cd8734c88a2de6de55022104f8a3b87f1fdbe8bbf131d9049764b53d50d0d", [:mix], [{:fast_html, "~> 1.0", [hex: :fast_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.8", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "f39fe8ea08fbac17487c30bf09b7d9f3e12472e51fb07a88ffeb8fd17da8ab67"}, "flake_id": {:hex, :flake_id, "0.1.0", "7716b086d2e405d09b647121a166498a0d93d1a623bead243e1f74216079ccb3", [:mix], [{:base62, "~> 1.2", [hex: :base62, repo: "hexpm", optional: false]}, {:ecto, ">= 2.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm", "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"}, From 610343edb318654126d9539775ba4b9ff30c8831 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 21 May 2020 17:35:42 +0300 Subject: [PATCH 005/201] [#2497] Image preview proxy: image resize & background color fix with ffmpeg -filter_complex. --- lib/pleroma/helpers/media_helper.ex | 47 +++---------------- .../web/media_proxy/media_proxy_controller.ex | 7 ++- 2 files changed, 9 insertions(+), 45 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 6d1f8ab22..ee6b76c41 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -9,12 +9,14 @@ defmodule Pleroma.Helpers.MediaHelper do @ffmpeg_opts [{:sync, true}, {:stdout, true}] - def ffmpeg_resize_remote(uri, max_width, max_height) do + def ffmpeg_resize_remote(uri, %{max_width: max_width, max_height: max_height}) do cmd = ~s""" curl -L "#{uri}" | - ffmpeg -i pipe:0 -vf \ - "scale='min(#{max_width},iw)':min'(#{max_height},ih)':force_original_aspect_ratio=decrease" \ - -f image2 pipe:1 | \ + ffmpeg -i pipe:0 -f lavfi -i color=c=white \ + -filter_complex "[0:v] scale='min(#{max_width},iw)':'min(#{max_height},ih)': \ + force_original_aspect_ratio=decrease [scaled]; \ + [1][scaled] scale2ref [bg][img]; [bg] setsar=1 [bg]; [bg][img] overlay=shortest=1" \ + -f image2 -vcodec mjpeg -frames:v 1 pipe:1 | \ cat """ @@ -22,41 +24,4 @@ def ffmpeg_resize_remote(uri, max_width, max_height) do {:ok, Enum.join(stdout_list)} end end - - @doc "Returns a temporary path for an URI" - def temporary_path_for(uri) do - name = Path.basename(uri) - random = rand_uniform(999_999) - Path.join(System.tmp_dir(), "#{random}-#{name}") - end - - @doc "Stores binary content fetched from specified URL as a temporary file." - @spec store_as_temporary_file(String.t(), binary()) :: {:ok, String.t()} | {:error, atom()} - def store_as_temporary_file(url, body) do - path = temporary_path_for(url) - with :ok <- File.write(path, body), do: {:ok, path} - end - - @doc "Modifies image file at specified path by resizing to specified limit dimensions." - @spec mogrify_resize_to_limit(String.t(), String.t()) :: :ok | any() - def mogrify_resize_to_limit(path, resize_dimensions) do - with %Mogrify.Image{} <- - path - |> Mogrify.open() - |> Mogrify.resize_to_limit(resize_dimensions) - |> Mogrify.save(in_place: true) do - :ok - end - end - - defp rand_uniform(high) do - Code.ensure_loaded(:rand) - - if function_exported?(:rand, :uniform, 1) do - :rand.uniform(high) - else - # Erlang/OTP < 19 - apply(:crypto, :rand_uniform, [1, high]) - end - end end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index fb4b80379..12d4401fa 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -82,17 +82,16 @@ defp thumbnail_max_dimensions(params) do {thumbnail_max_width, thumbnail_max_height} end - defp handle_preview("image/" <> _ = content_type, %{params: params} = conn, url) do + defp handle_preview("image/" <> _ = _content_type, %{params: params} = conn, url) do with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), media_proxy_url <- MediaProxy.url(url), {:ok, thumbnail_binary} <- MediaHelper.ffmpeg_resize_remote( media_proxy_url, - thumbnail_max_width, - thumbnail_max_height + %{max_width: thumbnail_max_width, max_height: thumbnail_max_height} ) do conn - |> put_resp_header("content-type", content_type) + |> put_resp_header("content-type", "image/jpeg") |> send_resp(200, thumbnail_binary) else _ -> From 3a1e810aaaea3e44c4dfc82a014485cf886d6b88 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 21 May 2020 21:47:32 +0300 Subject: [PATCH 006/201] [#2497] Customized `exexec` launch to support root operation (currently required by Gitlab CI). --- .gitlab-ci.yml | 1 + config/config.exs | 4 +++ lib/pleroma/exec.ex | 38 +++++++++++++++++++++++++++++ lib/pleroma/helpers/media_helper.ex | 4 +-- mix.exs | 3 ++- test/exec_test.exs | 13 ++++++++++ 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 lib/pleroma/exec.ex create mode 100644 test/exec_test.exs diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aad28a2d8..14300f3bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ variables: &global_variables POSTGRES_PASSWORD: postgres DB_HOST: postgres MIX_ENV: test + USER: root cache: &global_cache_policy key: ${CI_COMMIT_REF_SLUG} diff --git a/config/config.exs b/config/config.exs index 838508c1b..d1440b7bf 100644 --- a/config/config.exs +++ b/config/config.exs @@ -681,6 +681,10 @@ config :pleroma, Pleroma.Web.ApiSpec.CastAndValidate, strict: false +config :pleroma, :exexec, + root_mode: false, + options: %{} + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/exec.ex b/lib/pleroma/exec.ex new file mode 100644 index 000000000..1b088d322 --- /dev/null +++ b/lib/pleroma/exec.ex @@ -0,0 +1,38 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Exec do + @moduledoc "Pleroma wrapper around Exexec commands." + + alias Pleroma.Config + + def ensure_started(options_overrides \\ %{}) do + options = + if Config.get([:exexec, :root_mode]) || System.get_env("USER") == "root" do + # Note: running as `root` is discouraged (yet Gitlab CI does that by default) + %{root: true, user: "root", limit_users: ["root"]} + else + %{} + end + + options = + options + |> Map.merge(Config.get([:exexec, :options], %{})) + |> Map.merge(options_overrides) + + with {:error, {:already_started, pid}} <- Exexec.start(options) do + {:ok, pid} + end + end + + def run(cmd, options \\ %{}) do + ensure_started() + Exexec.run(cmd, options) + end + + def cmd(cmd, options \\ %{}) do + options = Map.merge(%{sync: true, stdout: true}, options) + run(cmd, options) + end +end diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index ee6b76c41..ecd234558 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,8 +7,6 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ - @ffmpeg_opts [{:sync, true}, {:stdout, true}] - def ffmpeg_resize_remote(uri, %{max_width: max_width, max_height: max_height}) do cmd = ~s""" curl -L "#{uri}" | @@ -20,7 +18,7 @@ def ffmpeg_resize_remote(uri, %{max_width: max_width, max_height: max_height}) d cat """ - with {:ok, [stdout: stdout_list]} <- Exexec.run(cmd, @ffmpeg_opts) do + with {:ok, [stdout: stdout_list]} <- Pleroma.Exec.cmd(cmd) do {:ok, Enum.join(stdout_list)} end end diff --git a/mix.exs b/mix.exs index 4c9bbc0ab..3215086ca 100644 --- a/mix.exs +++ b/mix.exs @@ -197,7 +197,8 @@ defp deps do ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"}, {:mox, "~> 0.5", only: :test}, {:restarter, path: "./restarter"}, - {:exexec, "~> 0.2"}, + # Note: `runtime: true` for :exexec makes CI fail due to `root` user (see Pleroma.Exec) + {:exexec, "~> 0.2", runtime: false}, {:open_api_spex, git: "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"} diff --git a/test/exec_test.exs b/test/exec_test.exs new file mode 100644 index 000000000..45d3f778f --- /dev/null +++ b/test/exec_test.exs @@ -0,0 +1,13 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.ExecTest do + alias Pleroma.Exec + + use Pleroma.DataCase + + test "it starts" do + assert {:ok, _} = Exec.ensure_started() + end +end From 0e23138b50f1fdd9ea78df31eec1b3caac905e2c Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 22 May 2020 10:35:48 +0300 Subject: [PATCH 007/201] [#2497] Specified SHELL in .gitlab-ci.yml as required for `exexec`. --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 14300f3bf..e596aa0ec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ variables: &global_variables POSTGRES_PASSWORD: postgres DB_HOST: postgres MIX_ENV: test + SHELL: /bin/sh USER: root cache: &global_cache_policy From 9faa63203717e71d666afb6755ff0b781b491823 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sun, 5 Jul 2020 19:02:43 +0300 Subject: [PATCH 008/201] [#2497] Fixed merge issue. --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 0f4575e2f..583c177f2 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -12,8 +12,8 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do def remote(conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.enabled?()}, - {_, false} <- {:in_banned_urls, MediaProxy.in_banned_urls(url)}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), + {_, false} <- {:in_banned_urls, MediaProxy.in_banned_urls(url)}, :ok <- MediaProxy.verify_request_path_and_url(conn, url) do proxy_opts = Config.get([:media_proxy, :proxy_opts], []) ReverseProxy.call(conn, url, proxy_opts) From b8021016ebef23903c59e5140d4efb456a84a347 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Tue, 21 Jul 2020 20:03:14 +0300 Subject: [PATCH 009/201] [#2497] Resolved merge conflicts. --- .../media_proxy_controller_test.exs | 39 ------------------- test/web/media_proxy/media_proxy_test.exs | 24 ++++-------- 2 files changed, 7 insertions(+), 56 deletions(-) diff --git a/test/web/media_proxy/media_proxy_controller_test.exs b/test/web/media_proxy/media_proxy_controller_test.exs index d4db44c63..0cda1e0b0 100644 --- a/test/web/media_proxy/media_proxy_controller_test.exs +++ b/test/web/media_proxy/media_proxy_controller_test.exs @@ -79,43 +79,4 @@ test "it returns 404 when url is in banned_urls cache", %{conn: conn, url: url} end end end - - describe "filename_matches/3" do - test "preserves the encoded or decoded path" do - assert MediaProxyController.filename_matches( - %{"filename" => "/Hello world.jpg"}, - "/Hello world.jpg", - "http://pleroma.social/Hello world.jpg" - ) == :ok - - assert MediaProxyController.filename_matches( - %{"filename" => "/Hello%20world.jpg"}, - "/Hello%20world.jpg", - "http://pleroma.social/Hello%20world.jpg" - ) == :ok - - assert MediaProxyController.filename_matches( - %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"}, - "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", - "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" - ) == :ok - - assert MediaProxyController.filename_matches( - %{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jp"}, - "/my%2Flong%2Furl%2F2019%2F07%2FS.jp", - "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg" - ) == {:wrong_filename, "my%2Flong%2Furl%2F2019%2F07%2FS.jpg"} - end - - test "encoded url are tried to match for proxy as `conn.request_path` encodes the url" do - # conn.request_path will return encoded url - request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg" - - assert MediaProxyController.filename_matches( - true, - request_path, - "https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg" - ) == :ok - end - end end diff --git a/test/web/media_proxy/media_proxy_test.exs b/test/web/media_proxy/media_proxy_test.exs index 06990464f..0e6df826c 100644 --- a/test/web/media_proxy/media_proxy_test.exs +++ b/test/web/media_proxy/media_proxy_test.exs @@ -126,6 +126,13 @@ test "`verify_request_path_and_url/2` preserves the encoded or decoded path" do :ok ) + test_verify_request_path_and_url( + # Note: `conn.request_path` returns encoded url + "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg", + "https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg", + :ok + ) + test_verify_request_path_and_url( "/my%2Flong%2Furl%2F2019%2F07%2FS", "http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg", @@ -133,17 +140,6 @@ test "`verify_request_path_and_url/2` preserves the encoded or decoded path" do ) end - test "encoded url are tried to match for proxy as `conn.request_path` encodes the url" do - # conn.request_path will return encoded url - request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg" - - assert MediaProxy.verify_request_path_and_url( - request_path, - "https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg" - ) == :ok - assert MediaProxy.decode_url(sig, base64) == {:error, :invalid_signature} - end - test "uses the configured base_url" do base_url = "https://cache.pleroma.social" clear_config([:media_proxy, :base_url], base_url) @@ -193,12 +189,6 @@ test "does not encode remote urls" do end end - defp decode_result(encoded) do - [_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/") - {:ok, decoded} = MediaProxy.decode_url(sig, base64) - decoded - end - describe "whitelist" do setup do: clear_config([:media_proxy, :enabled], true) From 56ddf20208657487bf0298409cf91b11dac346ff Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 7 Aug 2020 09:43:49 +0300 Subject: [PATCH 010/201] Removed unused alias. --- test/web/media_proxy/media_proxy_controller_test.exs | 1 - 1 file changed, 1 deletion(-) diff --git a/test/web/media_proxy/media_proxy_controller_test.exs b/test/web/media_proxy/media_proxy_controller_test.exs index 0cda1e0b0..0dd2fd10c 100644 --- a/test/web/media_proxy/media_proxy_controller_test.exs +++ b/test/web/media_proxy/media_proxy_controller_test.exs @@ -8,7 +8,6 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do import Mock alias Pleroma.Web.MediaProxy - alias Pleroma.Web.MediaProxy.MediaProxyController alias Plug.Conn setup do From da116d81fb0028913c2a0f30ac35532fb500e8fc Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Tue, 18 Aug 2020 18:23:27 +0300 Subject: [PATCH 011/201] [#2497] Added video preview proxy. Switched from exexec to Port. --- .gitlab-ci.yml | 2 - config/config.exs | 4 -- lib/pleroma/exec.ex | 38 -------------- lib/pleroma/helpers/media_helper.ex | 19 ++++--- .../web/media_proxy/media_proxy_controller.ex | 50 +++++++++++-------- mix.exs | 2 - mix.lock | 2 - test/exec_test.exs | 13 ----- 8 files changed, 41 insertions(+), 89 deletions(-) delete mode 100644 lib/pleroma/exec.ex delete mode 100644 test/exec_test.exs diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3b6877039..9e9107ce3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,8 +6,6 @@ variables: &global_variables POSTGRES_PASSWORD: postgres DB_HOST: postgres MIX_ENV: test - SHELL: /bin/sh - USER: root cache: &global_cache_policy key: ${CI_COMMIT_REF_SLUG} diff --git a/config/config.exs b/config/config.exs index ab4508ccf..029f8ec20 100644 --- a/config/config.exs +++ b/config/config.exs @@ -761,10 +761,6 @@ config :pleroma, Pleroma.Web.Auth.Authenticator, Pleroma.Web.Auth.PleromaAuthenticator -config :pleroma, :exexec, - root_mode: false, - options: %{} - # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env()}.exs" diff --git a/lib/pleroma/exec.ex b/lib/pleroma/exec.ex deleted file mode 100644 index 1b088d322..000000000 --- a/lib/pleroma/exec.ex +++ /dev/null @@ -1,38 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Exec do - @moduledoc "Pleroma wrapper around Exexec commands." - - alias Pleroma.Config - - def ensure_started(options_overrides \\ %{}) do - options = - if Config.get([:exexec, :root_mode]) || System.get_env("USER") == "root" do - # Note: running as `root` is discouraged (yet Gitlab CI does that by default) - %{root: true, user: "root", limit_users: ["root"]} - else - %{} - end - - options = - options - |> Map.merge(Config.get([:exexec, :options], %{})) - |> Map.merge(options_overrides) - - with {:error, {:already_started, pid}} <- Exexec.start(options) do - {:ok, pid} - end - end - - def run(cmd, options \\ %{}) do - ensure_started() - Exexec.run(cmd, options) - end - - def cmd(cmd, options \\ %{}) do - options = Map.merge(%{sync: true, stdout: true}, options) - run(cmd, options) - end -end diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index ecd234558..ca46698cc 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,19 +7,24 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ - def ffmpeg_resize_remote(uri, %{max_width: max_width, max_height: max_height}) do + def ffmpeg_resize(uri_or_path, %{max_width: max_width, max_height: max_height}) do cmd = ~s""" - curl -L "#{uri}" | - ffmpeg -i pipe:0 -f lavfi -i color=c=white \ + ffmpeg -i #{uri_or_path} -f lavfi -i color=c=white \ -filter_complex "[0:v] scale='min(#{max_width},iw)':'min(#{max_height},ih)': \ force_original_aspect_ratio=decrease [scaled]; \ [1][scaled] scale2ref [bg][img]; [bg] setsar=1 [bg]; [bg][img] overlay=shortest=1" \ - -f image2 -vcodec mjpeg -frames:v 1 pipe:1 | \ - cat + -loglevel quiet -f image2 -vcodec mjpeg -frames:v 1 pipe:1 """ - with {:ok, [stdout: stdout_list]} <- Pleroma.Exec.cmd(cmd) do - {:ok, Enum.join(stdout_list)} + pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) + + receive do + {^pid, {:data, data}} -> + send(pid, {self(), :close}) + {:ok, data} + + {^pid, {:exit_status, status}} when status > 0 -> + {:error, status} end end end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 583c177f2..8861398dd 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -66,6 +66,35 @@ defp handle_preview(conn, url) do end end + defp handle_preview("image/" <> _ = _content_type, conn, url) do + handle_image_or_video_preview(conn, url) + end + + defp handle_preview("video/" <> _ = _content_type, conn, url) do + handle_image_or_video_preview(conn, url) + end + + defp handle_preview(content_type, conn, _url) do + send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") + end + + defp handle_image_or_video_preview(%{params: params} = conn, url) do + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), + media_proxy_url <- MediaProxy.url(url), + {:ok, thumbnail_binary} <- + MediaHelper.ffmpeg_resize( + media_proxy_url, + %{max_width: thumbnail_max_width, max_height: thumbnail_max_height} + ) do + conn + |> put_resp_header("content-type", "image/jpeg") + |> send_resp(200, thumbnail_binary) + else + _ -> + send_resp(conn, :failed_dependency, "Can't handle preview.") + end + end + defp thumbnail_max_dimensions(params) do config = Config.get([:media_preview_proxy], []) @@ -86,27 +115,6 @@ defp thumbnail_max_dimensions(params) do {thumbnail_max_width, thumbnail_max_height} end - defp handle_preview("image/" <> _ = _content_type, %{params: params} = conn, url) do - with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), - media_proxy_url <- MediaProxy.url(url), - {:ok, thumbnail_binary} <- - MediaHelper.ffmpeg_resize_remote( - media_proxy_url, - %{max_width: thumbnail_max_width, max_height: thumbnail_max_height} - ) do - conn - |> put_resp_header("content-type", "image/jpeg") - |> send_resp(200, thumbnail_binary) - else - _ -> - send_resp(conn, :failed_dependency, "Can't handle image preview.") - end - end - - defp handle_preview(content_type, conn, _url) do - send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") - end - defp preview_head_request_timeout do Config.get([:media_preview_proxy, :proxy_opts, :head_request_max_read_duration]) || preview_timeout() diff --git a/mix.exs b/mix.exs index 33c4411c4..11fdb1670 100644 --- a/mix.exs +++ b/mix.exs @@ -186,8 +186,6 @@ defp deps do git: "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git", ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"}, {:restarter, path: "./restarter"}, - # Note: `runtime: true` for :exexec makes CI fail due to `root` user (see Pleroma.Exec) - {:exexec, "~> 0.2", runtime: false}, {:open_api_spex, git: "https://git.pleroma.social/pleroma/elixir-libraries/open_api_spex.git", ref: "f296ac0924ba3cf79c7a588c4c252889df4c2edd"}, diff --git a/mix.lock b/mix.lock index f5acc89eb..553ac304a 100644 --- a/mix.lock +++ b/mix.lock @@ -33,7 +33,6 @@ "ecto_sql": {:hex, :ecto_sql, "3.4.5", "30161f81b167d561a9a2df4329c10ae05ff36eca7ccc84628f2c8b9fa1e43323", [: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", "31990c6a3579b36a3c0841d34a94c275e727de8b84f58509da5f1b2032c98ac2"}, "eimp": {:hex, :eimp, "1.0.14", "fc297f0c7e2700457a95a60c7010a5f1dcb768a083b6d53f49cd94ab95a28f22", [:rebar3], [{:p1_utils, "1.0.18", [hex: :p1_utils, repo: "hexpm", optional: false]}], "hexpm", "501133f3112079b92d9e22da8b88bf4f0e13d4d67ae9c15c42c30bd25ceb83b6"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, - "erlexec": {:hex, :erlexec, "1.10.9", "3cbb3476f942bfb8b68b85721c21c1835061cf6dd35f5285c2362e85b100ddc7", [:rebar3], [], "hexpm", "271e5b5f2d91cdb9887efe74d89026c199bfc69f074cade0d08dab60993fa14e"}, "esshd": {:hex, :esshd, "0.1.1", "d4dd4c46698093a40a56afecce8a46e246eb35463c457c246dacba2e056f31b5", [:mix], [], "hexpm", "d73e341e3009d390aa36387dc8862860bf9f874c94d9fd92ade2926376f49981"}, "eternal": {:hex, :eternal, "1.2.1", "d5b6b2499ba876c57be2581b5b999ee9bdf861c647401066d3eeed111d096bc4", [:mix], [], "hexpm", "b14f1dc204321429479c569cfbe8fb287541184ed040956c8862cb7a677b8406"}, "ex2ms": {:hex, :ex2ms, "1.5.0", "19e27f9212be9a96093fed8cdfbef0a2b56c21237196d26760f11dfcfae58e97", [:mix], [], "hexpm"}, @@ -44,7 +43,6 @@ "ex_machina": {:hex, :ex_machina, "2.4.0", "09a34c5d371bfb5f78399029194a8ff67aff340ebe8ba19040181af35315eabb", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "a20bc9ddc721b33ea913b93666c5d0bdca5cbad7a67540784ae277228832d72c"}, "ex_syslogger": {:hex, :ex_syslogger, "1.5.2", "72b6aa2d47a236e999171f2e1ec18698740f40af0bd02c8c650bf5f1fd1bac79", [:mix], [{:poison, ">= 1.5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:syslog, "~> 1.1.0", [hex: :syslog, repo: "hexpm", optional: false]}], "hexpm", "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"}, "excoveralls": {:hex, :excoveralls, "0.13.1", "b9f1697f7c9e0cfe15d1a1d737fb169c398803ffcbc57e672aa007e9fd42864c", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "b4bb550e045def1b4d531a37fb766cbbe1307f7628bf8f0414168b3f52021cce"}, - "exexec": {:hex, :exexec, "0.2.0", "a6ffc48cba3ac9420891b847e4dc7120692fb8c08c9e82220ebddc0bb8d96103", [:mix], [{:erlexec, "~> 1.10", [hex: :erlexec, repo: "hexpm", optional: false]}], "hexpm", "312cd1c9befba9e078e57f3541e4f4257eabda6eb9c348154fe899d6ac633299"}, "fast_html": {:hex, :fast_html, "2.0.1", "e126c74d287768ae78c48938da6711164517300d108a78f8a38993df8d588335", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}], "hexpm", "bdd6f8525c95ad391a4f10d9a1b3da4cea94078ec8638487aa8c24015ad9393a"}, "fast_sanitize": {:hex, :fast_sanitize, "0.2.0", "004b40d5bbecda182b6fdba762a51fffd3501e689e8eafe196e1a97eb0caf733", [:mix], [{:fast_html, "~> 2.0", [hex: :fast_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.8", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "11fcb37f26d272a3a2aff861872bf100be4eeacea69505908b8cdbcea5b0813a"}, "flake_id": {:hex, :flake_id, "0.1.0", "7716b086d2e405d09b647121a166498a0d93d1a623bead243e1f74216079ccb3", [:mix], [{:base62, "~> 1.2", [hex: :base62, repo: "hexpm", optional: false]}, {:ecto, ">= 2.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm", "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"}, diff --git a/test/exec_test.exs b/test/exec_test.exs deleted file mode 100644 index 45d3f778f..000000000 --- a/test/exec_test.exs +++ /dev/null @@ -1,13 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.ExecTest do - alias Pleroma.Exec - - use Pleroma.DataCase - - test "it starts" do - assert {:ok, _} = Exec.ensure_started() - end -end From 7794d7c694110543998ee1fb278c68babda37301 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Wed, 19 Aug 2020 06:50:20 +0300 Subject: [PATCH 012/201] added Pleroma.Web.PleromaAPI.EmojiFileController --- .../pleroma_emoji_file_operation.ex | 133 ++++++++ .../pleroma_emoji_pack_operation.ex | 105 ------ .../controllers/emoji_file_controller.ex | 122 +++++++ .../controllers/emoji_pack_controller.ex | 107 +----- lib/pleroma/web/router.ex | 6 +- .../emoji_file_controller_test.exs | 318 ++++++++++++++++++ .../emoji_pack_controller_test.exs | 287 ---------------- 7 files changed, 577 insertions(+), 501 deletions(-) create mode 100644 lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex create mode 100644 lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex create mode 100644 test/web/pleroma_api/controllers/emoji_file_controller_test.exs diff --git a/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex new file mode 100644 index 000000000..b6932157a --- /dev/null +++ b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex @@ -0,0 +1,133 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.PleromaEmojiFileOperation do + alias OpenApiSpex.Operation + alias OpenApiSpex.Schema + alias Pleroma.Web.ApiSpec.Schemas.ApiError + + import Pleroma.Web.ApiSpec.Helpers + + def open_api_operation(action) do + operation = String.to_existing_atom("#{action}_operation") + apply(__MODULE__, operation, []) + end + + def create_operation do + %Operation{ + tags: ["Emoji Packs"], + summary: "Add new file to the pack", + operationId: "PleromaAPI.EmojiPackController.add_file", + security: [%{"oAuth" => ["write"]}], + requestBody: request_body("Parameters", create_request(), required: true), + parameters: [name_param()], + responses: %{ + 200 => Operation.response("Files Object", "application/json", files_object()), + 400 => Operation.response("Bad Request", "application/json", ApiError), + 409 => Operation.response("Conflict", "application/json", ApiError) + } + } + end + + defp create_request do + %Schema{ + type: :object, + required: [:file], + properties: %{ + file: %Schema{ + description: + "File needs to be uploaded with the multipart request or link to remote file", + anyOf: [ + %Schema{type: :string, format: :binary}, + %Schema{type: :string, format: :uri} + ] + }, + shortcode: %Schema{ + type: :string, + description: + "Shortcode for new emoji, must be unique for all emoji. If not sended, shortcode will be taken from original filename." + }, + filename: %Schema{ + type: :string, + description: + "New emoji file name. If not specified will be taken from original filename." + } + } + } + end + + def update_operation do + %Operation{ + tags: ["Emoji Packs"], + summary: "Add new file to the pack", + operationId: "PleromaAPI.EmojiPackController.update_file", + security: [%{"oAuth" => ["write"]}], + requestBody: request_body("Parameters", update_request(), required: true), + parameters: [name_param()], + responses: %{ + 200 => Operation.response("Files Object", "application/json", files_object()), + 400 => Operation.response("Bad Request", "application/json", ApiError), + 409 => Operation.response("Conflict", "application/json", ApiError) + } + } + end + + defp update_request do + %Schema{ + type: :object, + required: [:shortcode, :new_shortcode, :new_filename], + properties: %{ + shortcode: %Schema{ + type: :string, + description: "Emoji file shortcode" + }, + new_shortcode: %Schema{ + type: :string, + description: "New emoji file shortcode" + }, + new_filename: %Schema{ + type: :string, + description: "New filename for emoji file" + }, + force: %Schema{ + type: :boolean, + description: "With true value to overwrite existing emoji with new shortcode", + default: false + } + } + } + end + + def delete_operation do + %Operation{ + tags: ["Emoji Packs"], + summary: "Delete emoji file from pack", + operationId: "PleromaAPI.EmojiPackController.delete_file", + security: [%{"oAuth" => ["write"]}], + parameters: [ + name_param(), + Operation.parameter(:shortcode, :query, :string, "File shortcode", + example: "cofe", + required: true + ) + ], + responses: %{ + 200 => Operation.response("Files Object", "application/json", files_object()), + 400 => Operation.response("Bad Request", "application/json", ApiError) + } + } + end + + defp name_param do + Operation.parameter(:name, :path, :string, "Pack Name", example: "cofe", required: true) + end + + defp files_object do + %Schema{ + type: :object, + additionalProperties: %Schema{type: :string}, + description: "Object with emoji names as keys and filenames as values" + } + end +end diff --git a/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex index b2b4f8713..59548af13 100644 --- a/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex +++ b/lib/pleroma/web/api_spec/operations/pleroma_emoji_pack_operation.ex @@ -175,111 +175,6 @@ def update_operation do } end - def add_file_operation do - %Operation{ - tags: ["Emoji Packs"], - summary: "Add new file to the pack", - operationId: "PleromaAPI.EmojiPackController.add_file", - security: [%{"oAuth" => ["write"]}], - requestBody: request_body("Parameters", add_file_request(), required: true), - parameters: [name_param()], - responses: %{ - 200 => Operation.response("Files Object", "application/json", files_object()), - 400 => Operation.response("Bad Request", "application/json", ApiError), - 409 => Operation.response("Conflict", "application/json", ApiError) - } - } - end - - defp add_file_request do - %Schema{ - type: :object, - required: [:file], - properties: %{ - file: %Schema{ - description: - "File needs to be uploaded with the multipart request or link to remote file", - anyOf: [ - %Schema{type: :string, format: :binary}, - %Schema{type: :string, format: :uri} - ] - }, - shortcode: %Schema{ - type: :string, - description: - "Shortcode for new emoji, must be unique for all emoji. If not sended, shortcode will be taken from original filename." - }, - filename: %Schema{ - type: :string, - description: - "New emoji file name. If not specified will be taken from original filename." - } - } - } - end - - def update_file_operation do - %Operation{ - tags: ["Emoji Packs"], - summary: "Add new file to the pack", - operationId: "PleromaAPI.EmojiPackController.update_file", - security: [%{"oAuth" => ["write"]}], - requestBody: request_body("Parameters", update_file_request(), required: true), - parameters: [name_param()], - responses: %{ - 200 => Operation.response("Files Object", "application/json", files_object()), - 400 => Operation.response("Bad Request", "application/json", ApiError), - 409 => Operation.response("Conflict", "application/json", ApiError) - } - } - end - - defp update_file_request do - %Schema{ - type: :object, - required: [:shortcode, :new_shortcode, :new_filename], - properties: %{ - shortcode: %Schema{ - type: :string, - description: "Emoji file shortcode" - }, - new_shortcode: %Schema{ - type: :string, - description: "New emoji file shortcode" - }, - new_filename: %Schema{ - type: :string, - description: "New filename for emoji file" - }, - force: %Schema{ - type: :boolean, - description: "With true value to overwrite existing emoji with new shortcode", - default: false - } - } - } - end - - def delete_file_operation do - %Operation{ - tags: ["Emoji Packs"], - summary: "Delete emoji file from pack", - operationId: "PleromaAPI.EmojiPackController.delete_file", - security: [%{"oAuth" => ["write"]}], - parameters: [ - name_param(), - Operation.parameter(:shortcode, :query, :string, "File shortcode", - example: "cofe", - required: true - ) - ], - responses: %{ - 200 => Operation.response("Files Object", "application/json", files_object()), - 400 => Operation.response("Bad Request", "application/json", ApiError) - } - } - end - def import_from_filesystem_operation do %Operation{ tags: ["Emoji Packs"], diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex new file mode 100644 index 000000000..ba9f07795 --- /dev/null +++ b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex @@ -0,0 +1,122 @@ +defmodule Pleroma.Web.PleromaAPI.EmojiFileController do + use Pleroma.Web, :controller + + alias Pleroma.Emoji.Pack + alias Pleroma.Web.ApiSpec + + plug(Pleroma.Web.ApiSpec.CastAndValidate) + + plug( + Pleroma.Plugs.OAuthScopesPlug, + %{scopes: ["write"], admin: true} + when action in [ + :create, + :update, + :delete + ] + ) + + defdelegate open_api_operation(action), to: ApiSpec.PleromaEmojiFileOperation + + def create(%{body_params: params} = conn, %{name: pack_name}) do + filename = params[:filename] || get_filename(params[:file]) + shortcode = params[:shortcode] || Path.basename(filename, Path.extname(filename)) + + with {:ok, pack} <- Pack.add_file(pack_name, shortcode, filename, params[:file]) do + json(conn, pack.files) + else + {:error, :already_exists} -> + conn + |> put_status(:conflict) + |> json(%{error: "An emoji with the \"#{shortcode}\" shortcode already exists"}) + + {:error, :not_found} -> + conn + |> put_status(:bad_request) + |> json(%{error: "pack \"#{pack_name}\" is not found"}) + + {:error, :empty_values} -> + conn + |> put_status(:bad_request) + |> json(%{error: "pack name, shortcode or filename cannot be empty"}) + + {:error, _} -> + render_error( + conn, + :internal_server_error, + "Unexpected error occurred while adding file to pack." + ) + end + end + + def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack_name}) do + new_shortcode = params[:new_shortcode] + new_filename = params[:new_filename] + force = params[:force] + + with {:ok, pack} <- Pack.update_file(pack_name, shortcode, new_shortcode, new_filename, force) do + json(conn, pack.files) + else + {:error, :doesnt_exist} -> + conn + |> put_status(:bad_request) + |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) + + {:error, :already_exists} -> + conn + |> put_status(:conflict) + |> json(%{ + error: + "New shortcode \"#{new_shortcode}\" is already used. If you want to override emoji use 'force' option" + }) + + {:error, :not_found} -> + conn + |> put_status(:bad_request) + |> json(%{error: "pack \"#{pack_name}\" is not found"}) + + {:error, :empty_values} -> + conn + |> put_status(:bad_request) + |> json(%{error: "new_shortcode or new_filename cannot be empty"}) + + {:error, _} -> + render_error( + conn, + :internal_server_error, + "Unexpected error occurred while updating file in pack." + ) + end + end + + def delete(conn, %{name: pack_name, shortcode: shortcode}) do + with {:ok, pack} <- Pack.delete_file(pack_name, shortcode) do + json(conn, pack.files) + else + {:error, :doesnt_exist} -> + conn + |> put_status(:bad_request) + |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) + + {:error, :not_found} -> + conn + |> put_status(:bad_request) + |> json(%{error: "pack \"#{pack_name}\" is not found"}) + + {:error, :empty_values} -> + conn + |> put_status(:bad_request) + |> json(%{error: "pack name or shortcode cannot be empty"}) + + {:error, _} -> + render_error( + conn, + :internal_server_error, + "Unexpected error occurred while removing file from pack." + ) + end + end + + defp get_filename(%Plug.Upload{filename: filename}), do: filename + defp get_filename(url) when is_binary(url), do: Path.basename(url) +end diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex index 657f46324..e3969fee1 100644 --- a/lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex @@ -14,10 +14,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackController do :download, :create, :update, - :delete, - :add_file, - :update_file, - :delete_file + :delete ] ) @@ -184,105 +181,6 @@ def update(%{body_params: %{metadata: metadata}} = conn, %{name: name}) do end end - def add_file(%{body_params: params} = conn, %{name: name}) do - filename = params[:filename] || get_filename(params[:file]) - shortcode = params[:shortcode] || Path.basename(filename, Path.extname(filename)) - - with {:ok, pack} <- Pack.add_file(name, shortcode, filename, params[:file]) do - json(conn, pack.files) - else - {:error, :already_exists} -> - conn - |> put_status(:conflict) - |> json(%{error: "An emoji with the \"#{shortcode}\" shortcode already exists"}) - - {:error, :not_found} -> - conn - |> put_status(:bad_request) - |> json(%{error: "pack \"#{name}\" is not found"}) - - {:error, :empty_values} -> - conn - |> put_status(:bad_request) - |> json(%{error: "pack name, shortcode or filename cannot be empty"}) - - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while adding file to pack." - ) - end - end - - def update_file(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: name}) do - new_shortcode = params[:new_shortcode] - new_filename = params[:new_filename] - force = params[:force] - - with {:ok, pack} <- Pack.update_file(name, shortcode, new_shortcode, new_filename, force) do - json(conn, pack.files) - else - {:error, :doesnt_exist} -> - conn - |> put_status(:bad_request) - |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) - - {:error, :already_exists} -> - conn - |> put_status(:conflict) - |> json(%{ - error: - "New shortcode \"#{new_shortcode}\" is already used. If you want to override emoji use 'force' option" - }) - - {:error, :not_found} -> - conn - |> put_status(:bad_request) - |> json(%{error: "pack \"#{name}\" is not found"}) - - {:error, :empty_values} -> - conn - |> put_status(:bad_request) - |> json(%{error: "new_shortcode or new_filename cannot be empty"}) - - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while updating file in pack." - ) - end - end - - def delete_file(conn, %{name: name, shortcode: shortcode}) do - with {:ok, pack} <- Pack.delete_file(name, shortcode) do - json(conn, pack.files) - else - {:error, :doesnt_exist} -> - conn - |> put_status(:bad_request) - |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) - - {:error, :not_found} -> - conn - |> put_status(:bad_request) - |> json(%{error: "pack \"#{name}\" is not found"}) - - {:error, :empty_values} -> - conn - |> put_status(:bad_request) - |> json(%{error: "pack name or shortcode cannot be empty"}) - - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while removing file from pack." - ) - end - end - def import_from_filesystem(conn, _params) do with {:ok, names} <- Pack.import_from_filesystem() do json(conn, names) @@ -298,7 +196,4 @@ def import_from_filesystem(conn, _params) do |> json(%{error: "Error accessing emoji pack directory"}) end end - - defp get_filename(%Plug.Upload{filename: filename}), do: filename - defp get_filename(url) when is_binary(url), do: Path.basename(url) end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index c6433cc53..8a307d591 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -229,9 +229,9 @@ defmodule Pleroma.Web.Router do patch("/:name", EmojiPackController, :update) delete("/:name", EmojiPackController, :delete) - post("/:name/files", EmojiPackController, :add_file) - patch("/:name/files", EmojiPackController, :update_file) - delete("/:name/files", EmojiPackController, :delete_file) + post("/:name/files", EmojiFileController, :create) + patch("/:name/files", EmojiFileController, :update) + delete("/:name/files", EmojiFileController, :delete) end # Pack info / downloading diff --git a/test/web/pleroma_api/controllers/emoji_file_controller_test.exs b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs new file mode 100644 index 000000000..56be130be --- /dev/null +++ b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs @@ -0,0 +1,318 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaAPI.EmojiFileControllerTest do + use Pleroma.Web.ConnCase + + import Tesla.Mock + import Pleroma.Factory + + @emoji_path Path.join( + Pleroma.Config.get!([:instance, :static_dir]), + "emoji" + ) + setup do: clear_config([:auth, :enforce_oauth_admin_scope_usage], false) + + setup do: clear_config([:instance, :public], true) + + setup do + admin = insert(:user, is_admin: true) + token = insert(:oauth_admin_token, user: admin) + + admin_conn = + build_conn() + |> assign(:user, admin) + |> assign(:token, token) + + Pleroma.Emoji.reload() + {:ok, %{admin_conn: admin_conn}} + end + + describe "POST/PATCH/DELETE /api/pleroma/emoji/packs/:name/files" do + setup do + pack_file = "#{@emoji_path}/test_pack/pack.json" + original_content = File.read!(pack_file) + + on_exit(fn -> + File.write!(pack_file, original_content) + end) + + :ok + end + + test "create shortcode exists", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(:conflict) == %{ + "error" => "An emoji with the \"blank\" shortcode already exists" + } + end + + test "don't rewrite old emoji", %{admin_conn: admin_conn} do + on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir/") end) + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank3", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(200) == %{ + "blank" => "blank.png", + "blank2" => "blank2.png", + "blank3" => "dir/blank.png" + } + + assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank", + new_shortcode: "blank2", + new_filename: "dir_2/blank_3.png" + }) + |> json_response_and_validate_schema(:conflict) == %{ + "error" => + "New shortcode \"blank2\" is already used. If you want to override emoji use 'force' option" + } + end + + test "rewrite old emoji with force option", %{admin_conn: admin_conn} do + on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir_2/") end) + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank3", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(200) == %{ + "blank" => "blank.png", + "blank2" => "blank2.png", + "blank3" => "dir/blank.png" + } + + assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank3", + new_shortcode: "blank4", + new_filename: "dir_2/blank_3.png", + force: true + }) + |> json_response_and_validate_schema(200) == %{ + "blank" => "blank.png", + "blank2" => "blank2.png", + "blank4" => "dir_2/blank_3.png" + } + + assert File.exists?("#{@emoji_path}/test_pack/dir_2/blank_3.png") + end + + test "with empty filename", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank2", + filename: "", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "pack name, shortcode or filename cannot be empty" + } + end + + test "add file with not loaded pack", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/not_loaded/files", %{ + shortcode: "blank3", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "pack \"not_loaded\" is not found" + } + end + + test "remove file with not loaded pack", %{admin_conn: admin_conn} do + assert admin_conn + |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=blank3") + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "pack \"not_loaded\" is not found" + } + end + + test "remove file with empty shortcode", %{admin_conn: admin_conn} do + assert admin_conn + |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=") + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "pack name or shortcode cannot be empty" + } + end + + test "update file with not loaded pack", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/not_loaded/files", %{ + shortcode: "blank4", + new_shortcode: "blank3", + new_filename: "dir_2/blank_3.png" + }) + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "pack \"not_loaded\" is not found" + } + end + + test "new with shortcode as file with update", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank4", + filename: "dir/blank.png", + file: %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + }) + |> json_response_and_validate_schema(200) == %{ + "blank" => "blank.png", + "blank4" => "dir/blank.png", + "blank2" => "blank2.png" + } + + assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank4", + new_shortcode: "blank3", + new_filename: "dir_2/blank_3.png" + }) + |> json_response_and_validate_schema(200) == %{ + "blank3" => "dir_2/blank_3.png", + "blank" => "blank.png", + "blank2" => "blank2.png" + } + + refute File.exists?("#{@emoji_path}/test_pack/dir/") + assert File.exists?("#{@emoji_path}/test_pack/dir_2/blank_3.png") + + assert admin_conn + |> delete("/api/pleroma/emoji/packs/test_pack/files?shortcode=blank3") + |> json_response_and_validate_schema(200) == %{ + "blank" => "blank.png", + "blank2" => "blank2.png" + } + + refute File.exists?("#{@emoji_path}/test_pack/dir_2/") + + on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir") end) + end + + test "new with shortcode from url", %{admin_conn: admin_conn} do + mock(fn + %{ + method: :get, + url: "https://test-blank/blank_url.png" + } -> + text(File.read!("#{@emoji_path}/test_pack/blank.png")) + end) + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank_url", + file: "https://test-blank/blank_url.png" + }) + |> json_response_and_validate_schema(200) == %{ + "blank_url" => "blank_url.png", + "blank" => "blank.png", + "blank2" => "blank2.png" + } + + assert File.exists?("#{@emoji_path}/test_pack/blank_url.png") + + on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/blank_url.png") end) + end + + test "new without shortcode", %{admin_conn: admin_conn} do + on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/shortcode.png") end) + + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + file: %Plug.Upload{ + filename: "shortcode.png", + path: "#{Pleroma.Config.get([:instance, :static_dir])}/add/shortcode.png" + } + }) + |> json_response_and_validate_schema(200) == %{ + "shortcode" => "shortcode.png", + "blank" => "blank.png", + "blank2" => "blank2.png" + } + end + + test "remove non existing shortcode in pack.json", %{admin_conn: admin_conn} do + assert admin_conn + |> delete("/api/pleroma/emoji/packs/test_pack/files?shortcode=blank3") + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "Emoji \"blank3\" does not exist" + } + end + + test "update non existing emoji", %{admin_conn: admin_conn} do + assert admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank3", + new_shortcode: "blank4", + new_filename: "dir_2/blank_3.png" + }) + |> json_response_and_validate_schema(:bad_request) == %{ + "error" => "Emoji \"blank3\" does not exist" + } + end + + test "update with empty shortcode", %{admin_conn: admin_conn} do + assert %{ + "error" => "Missing field: new_shortcode." + } = + admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ + shortcode: "blank", + new_filename: "dir_2/blank_3.png" + }) + |> json_response_and_validate_schema(:bad_request) + end + end +end diff --git a/test/web/pleroma_api/controllers/emoji_pack_controller_test.exs b/test/web/pleroma_api/controllers/emoji_pack_controller_test.exs index e113bb15f..a34df2c18 100644 --- a/test/web/pleroma_api/controllers/emoji_pack_controller_test.exs +++ b/test/web/pleroma_api/controllers/emoji_pack_controller_test.exs @@ -411,293 +411,6 @@ test "when the fallback source doesn't have all the files", ctx do end end - describe "POST/PATCH/DELETE /api/pleroma/emoji/packs/:name/files" do - setup do - pack_file = "#{@emoji_path}/test_pack/pack.json" - original_content = File.read!(pack_file) - - on_exit(fn -> - File.write!(pack_file, original_content) - end) - - :ok - end - - test "create shortcode exists", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank", - filename: "dir/blank.png", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(:conflict) == %{ - "error" => "An emoji with the \"blank\" shortcode already exists" - } - end - - test "don't rewrite old emoji", %{admin_conn: admin_conn} do - on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir/") end) - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank3", - filename: "dir/blank.png", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(200) == %{ - "blank" => "blank.png", - "blank2" => "blank2.png", - "blank3" => "dir/blank.png" - } - - assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank", - new_shortcode: "blank2", - new_filename: "dir_2/blank_3.png" - }) - |> json_response_and_validate_schema(:conflict) == %{ - "error" => - "New shortcode \"blank2\" is already used. If you want to override emoji use 'force' option" - } - end - - test "rewrite old emoji with force option", %{admin_conn: admin_conn} do - on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir_2/") end) - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank3", - filename: "dir/blank.png", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(200) == %{ - "blank" => "blank.png", - "blank2" => "blank2.png", - "blank3" => "dir/blank.png" - } - - assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank3", - new_shortcode: "blank4", - new_filename: "dir_2/blank_3.png", - force: true - }) - |> json_response_and_validate_schema(200) == %{ - "blank" => "blank.png", - "blank2" => "blank2.png", - "blank4" => "dir_2/blank_3.png" - } - - assert File.exists?("#{@emoji_path}/test_pack/dir_2/blank_3.png") - end - - test "with empty filename", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank2", - filename: "", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack name, shortcode or filename cannot be empty" - } - end - - test "add file with not loaded pack", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/not_loaded/files", %{ - shortcode: "blank3", - filename: "dir/blank.png", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack \"not_loaded\" is not found" - } - end - - test "remove file with not loaded pack", %{admin_conn: admin_conn} do - assert admin_conn - |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=blank3") - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack \"not_loaded\" is not found" - } - end - - test "remove file with empty shortcode", %{admin_conn: admin_conn} do - assert admin_conn - |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=") - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack name or shortcode cannot be empty" - } - end - - test "update file with not loaded pack", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/not_loaded/files", %{ - shortcode: "blank4", - new_shortcode: "blank3", - new_filename: "dir_2/blank_3.png" - }) - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack \"not_loaded\" is not found" - } - end - - test "new with shortcode as file with update", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank4", - filename: "dir/blank.png", - file: %Plug.Upload{ - filename: "blank.png", - path: "#{@emoji_path}/test_pack/blank.png" - } - }) - |> json_response_and_validate_schema(200) == %{ - "blank" => "blank.png", - "blank4" => "dir/blank.png", - "blank2" => "blank2.png" - } - - assert File.exists?("#{@emoji_path}/test_pack/dir/blank.png") - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank4", - new_shortcode: "blank3", - new_filename: "dir_2/blank_3.png" - }) - |> json_response_and_validate_schema(200) == %{ - "blank3" => "dir_2/blank_3.png", - "blank" => "blank.png", - "blank2" => "blank2.png" - } - - refute File.exists?("#{@emoji_path}/test_pack/dir/") - assert File.exists?("#{@emoji_path}/test_pack/dir_2/blank_3.png") - - assert admin_conn - |> delete("/api/pleroma/emoji/packs/test_pack/files?shortcode=blank3") - |> json_response_and_validate_schema(200) == %{ - "blank" => "blank.png", - "blank2" => "blank2.png" - } - - refute File.exists?("#{@emoji_path}/test_pack/dir_2/") - - on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/dir") end) - end - - test "new with shortcode from url", %{admin_conn: admin_conn} do - mock(fn - %{ - method: :get, - url: "https://test-blank/blank_url.png" - } -> - text(File.read!("#{@emoji_path}/test_pack/blank.png")) - end) - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank_url", - file: "https://test-blank/blank_url.png" - }) - |> json_response_and_validate_schema(200) == %{ - "blank_url" => "blank_url.png", - "blank" => "blank.png", - "blank2" => "blank2.png" - } - - assert File.exists?("#{@emoji_path}/test_pack/blank_url.png") - - on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/blank_url.png") end) - end - - test "new without shortcode", %{admin_conn: admin_conn} do - on_exit(fn -> File.rm_rf!("#{@emoji_path}/test_pack/shortcode.png") end) - - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> post("/api/pleroma/emoji/packs/test_pack/files", %{ - file: %Plug.Upload{ - filename: "shortcode.png", - path: "#{Pleroma.Config.get([:instance, :static_dir])}/add/shortcode.png" - } - }) - |> json_response_and_validate_schema(200) == %{ - "shortcode" => "shortcode.png", - "blank" => "blank.png", - "blank2" => "blank2.png" - } - end - - test "remove non existing shortcode in pack.json", %{admin_conn: admin_conn} do - assert admin_conn - |> delete("/api/pleroma/emoji/packs/test_pack/files?shortcode=blank3") - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "Emoji \"blank3\" does not exist" - } - end - - test "update non existing emoji", %{admin_conn: admin_conn} do - assert admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank3", - new_shortcode: "blank4", - new_filename: "dir_2/blank_3.png" - }) - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "Emoji \"blank3\" does not exist" - } - end - - test "update with empty shortcode", %{admin_conn: admin_conn} do - assert %{ - "error" => "Missing field: new_shortcode." - } = - admin_conn - |> put_req_header("content-type", "multipart/form-data") - |> patch("/api/pleroma/emoji/packs/test_pack/files", %{ - shortcode: "blank", - new_filename: "dir_2/blank_3.png" - }) - |> json_response_and_validate_schema(:bad_request) - end - end - describe "POST/DELETE /api/pleroma/emoji/packs/:name" do test "creating and deleting a pack", %{admin_conn: admin_conn} do assert admin_conn From 4ee15e991efb5bd5bf69d84d27dbbee81443d1dc Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 19 Aug 2020 21:36:26 +0300 Subject: [PATCH 013/201] [#2497] Media preview proxy config refactoring & documentation. --- config/config.exs | 3 +- config/description.exs | 51 +++++++++++++++++++ .../web/media_proxy/media_proxy_controller.ex | 20 ++++---- 3 files changed, 63 insertions(+), 11 deletions(-) diff --git a/config/config.exs b/config/config.exs index 029f8ec20..6e6231cf8 100644 --- a/config/config.exs +++ b/config/config.exs @@ -444,8 +444,7 @@ thumbnail_max_width: 400, thumbnail_max_height: 200, proxy_opts: [ - head_request_max_read_duration: 5_000, - max_read_duration: 10_000 + head_request_max_read_duration: 5_000 ] config :pleroma, :chat, enabled: true diff --git a/config/description.exs b/config/description.exs index e27abf40f..90d8eca65 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1831,6 +1831,7 @@ suggestions: [ redirect_on_failure: false, max_body_length: 25 * 1_048_576, + max_read_duration: 30_000, http: [ follow_redirect: true, pool: :media @@ -1851,6 +1852,11 @@ "Limits the content length to be approximately the " <> "specified length. It is validated with the `content-length` header and also verified when proxying." }, + %{ + key: :max_read_duration, + type: :integer, + description: "Timeout (in milliseconds) of GET request to remote URI." + }, %{ key: :http, label: "HTTP", @@ -1897,6 +1903,51 @@ } ] }, + %{ + group: :pleroma, + key: :media_preview_proxy, + type: :group, + description: "Media preview proxy", + children: [ + %{ + key: :enabled, + type: :boolean, + description: + "Enables proxying of remote media preview to the instance's proxy. Requires enabled media proxy." + }, + %{ + key: :thumbnail_max_width, + type: :integer, + description: "Max width of preview thumbnail." + }, + %{ + key: :thumbnail_max_height, + type: :integer, + description: "Max height of preview thumbnail." + }, + %{ + key: :proxy_opts, + type: :keyword, + description: "Media proxy options", + suggestions: [ + head_request_max_read_duration: 5_000 + ], + children: [ + %{ + key: :head_request_max_read_duration, + type: :integer, + description: "Timeout (in milliseconds) of HEAD request to remote URI." + } + ] + }, + %{ + key: :whitelist, + type: {:list, :string}, + description: "List of hosts with scheme to bypass the mediaproxy", + suggestions: ["http://example.com"] + } + ] + }, %{ group: :pleroma, key: Pleroma.Web.MediaProxy.Invalidation.Http, diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 8861398dd..31d18c119 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -15,8 +15,7 @@ def remote(conn, %{"sig" => sig64, "url" => url64}) do {:ok, url} <- MediaProxy.decode_url(sig64, url64), {_, false} <- {:in_banned_urls, MediaProxy.in_banned_urls(url)}, :ok <- MediaProxy.verify_request_path_and_url(conn, url) do - proxy_opts = Config.get([:media_proxy, :proxy_opts], []) - ReverseProxy.call(conn, url, proxy_opts) + ReverseProxy.call(conn, url, media_proxy_opts()) else {:enabled, false} -> send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) @@ -116,13 +115,16 @@ defp thumbnail_max_dimensions(params) do end defp preview_head_request_timeout do - Config.get([:media_preview_proxy, :proxy_opts, :head_request_max_read_duration]) || - preview_timeout() - end - - defp preview_timeout do - Config.get([:media_preview_proxy, :proxy_opts, :max_read_duration]) || - Config.get([:media_proxy, :proxy_opts, :max_read_duration]) || + Keyword.get(media_preview_proxy_opts(), :head_request_max_read_duration) || + Keyword.get(media_proxy_opts(), :max_read_duration) || ReverseProxy.max_read_duration_default() end + + defp media_proxy_opts do + Config.get([:media_proxy, :proxy_opts], []) + end + + defp media_preview_proxy_opts do + Config.get([:media_preview_proxy, :proxy_opts], []) + end end From 02ad1cd8e97c44824b92b53ea1879a965bbd8358 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 20 Aug 2020 09:58:50 +0300 Subject: [PATCH 014/201] [#2497] Media preview proxy: added Content-Disposition header with filename to response. --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 31d18c119..5513432f0 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -87,6 +87,7 @@ defp handle_image_or_video_preview(%{params: params} = conn, url) do ) do conn |> put_resp_header("content-type", "image/jpeg") + |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") |> send_resp(200, thumbnail_binary) else _ -> From aa0a5ffb4849880b5adbcc9188de01ef778381e3 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Fri, 21 Aug 2020 08:59:08 +0300 Subject: [PATCH 015/201] [#2497] Media preview proxy: added `quality` config setting, adjusted width/height defaults. --- config/config.exs | 5 +++-- config/description.exs | 5 +++++ lib/pleroma/helpers/media_helper.ex | 6 ++++-- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 4 +++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/config/config.exs b/config/config.exs index 6e6231cf8..b399ce6d7 100644 --- a/config/config.exs +++ b/config/config.exs @@ -441,8 +441,9 @@ # Note: media preview proxy depends on media proxy to be enabled config :pleroma, :media_preview_proxy, enabled: false, - thumbnail_max_width: 400, - thumbnail_max_height: 200, + thumbnail_max_width: 600, + thumbnail_max_height: 600, + quality: 2, proxy_opts: [ head_request_max_read_duration: 5_000 ] diff --git a/config/description.exs b/config/description.exs index 90d8eca65..22da60900 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1925,6 +1925,11 @@ type: :integer, description: "Max height of preview thumbnail." }, + %{ + key: :quality, + type: :integer, + description: "Quality of the output. Ranges from 1 (max quality) to 31 (lowest quality)." + }, %{ key: :proxy_opts, type: :keyword, diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index ca46698cc..e11038052 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,13 +7,15 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ - def ffmpeg_resize(uri_or_path, %{max_width: max_width, max_height: max_height}) do + def ffmpeg_resize(uri_or_path, %{max_width: max_width, max_height: max_height} = options) do + quality = options[:quality] || 1 + cmd = ~s""" ffmpeg -i #{uri_or_path} -f lavfi -i color=c=white \ -filter_complex "[0:v] scale='min(#{max_width},iw)':'min(#{max_height},ih)': \ force_original_aspect_ratio=decrease [scaled]; \ [1][scaled] scale2ref [bg][img]; [bg] setsar=1 [bg]; [bg][img] overlay=shortest=1" \ - -loglevel quiet -f image2 -vcodec mjpeg -frames:v 1 pipe:1 + -loglevel quiet -f image2 -vcodec mjpeg -frames:v 1 -q:v #{quality} pipe:1 """ pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 5513432f0..1c51aa5e3 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -78,12 +78,14 @@ defp handle_preview(content_type, conn, _url) do end defp handle_image_or_video_preview(%{params: params} = conn, url) do + quality = Config.get!([:media_preview_proxy, :quality]) + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), media_proxy_url <- MediaProxy.url(url), {:ok, thumbnail_binary} <- MediaHelper.ffmpeg_resize( media_proxy_url, - %{max_width: thumbnail_max_width, max_height: thumbnail_max_height} + %{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality} ) do conn |> put_resp_header("content-type", "image/jpeg") From 967afa064bb0dc85c054495b795a57a13cdf3b3c Mon Sep 17 00:00:00 2001 From: href Date: Fri, 21 Aug 2020 17:02:57 +0000 Subject: [PATCH 016/201] Fix truncated images --- lib/pleroma/helpers/media_helper.ex | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index e11038052..f87be8874 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -19,14 +19,24 @@ def ffmpeg_resize(uri_or_path, %{max_width: max_width, max_height: max_height} = """ pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) + loop_recv(pid) + end + defp loop_recv(pid) do + loop_recv(pid, <<>>) + end + + defp loop_recv(pid, acc) do receive do {^pid, {:data, data}} -> - send(pid, {self(), :close}) - {:ok, data} + loop_recv(pid, acc <> data) - {^pid, {:exit_status, status}} when status > 0 -> + {^pid, {:exit_status, 0}} -> + {:ok, acc} + + {^pid, {:exit_status, status}} -> {:error, status} end end + end From 4e6eb22b4af70e611cc61f94ba3d81758036a392 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 21 Aug 2020 12:19:35 -0500 Subject: [PATCH 017/201] Try to warm the cache with the preview image if preview proxy enabled --- lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex index dfab105a3..5d8bb72aa 100644 --- a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex @@ -27,7 +27,7 @@ def perform(:prefetch, url) do end url - |> MediaProxy.url() + |> MediaProxy.preview_url() |> HTTP.get([], adapter: opts) end From edde0d9b54b45a366ecdec01e9826f1ee8d1dc3a Mon Sep 17 00:00:00 2001 From: href Date: Fri, 21 Aug 2020 17:40:49 +0000 Subject: [PATCH 018/201] Remove newline for linter --- lib/pleroma/helpers/media_helper.ex | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index f87be8874..89dd4204b 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -38,5 +38,4 @@ defp loop_recv(pid, acc) do {:error, status} end end - end From f5845ff03395816902a637a28412f85e671575e7 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Sat, 22 Aug 2020 10:42:02 +0300 Subject: [PATCH 019/201] upload emoji zip file --- lib/pleroma/emoji/pack.ex | 112 ++++++++++++++---- lib/pleroma/utils.ex | 18 +++ .../pleroma_emoji_file_operation.ex | 6 +- .../controllers/emoji_file_controller.ex | 42 +++++-- test/fixtures/finland-emojis.zip | Bin 0 -> 460250 bytes .../emoji_file_controller_test.exs | 51 +++++++- 6 files changed, 190 insertions(+), 39 deletions(-) create mode 100644 test/fixtures/finland-emojis.zip diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex index d076ae312..03aed33bb 100644 --- a/lib/pleroma/emoji/pack.ex +++ b/lib/pleroma/emoji/pack.ex @@ -17,6 +17,7 @@ defmodule Pleroma.Emoji.Pack do } alias Pleroma.Emoji + alias Pleroma.Emoji.Pack @spec create(String.t()) :: {:ok, t()} | {:error, File.posix()} | {:error, :empty_values} def create(name) do @@ -64,24 +65,93 @@ def delete(name) do end end - @spec add_file(String.t(), String.t(), Path.t(), Plug.Upload.t() | String.t()) :: - {:ok, t()} | {:error, File.posix() | atom()} - def add_file(name, shortcode, filename, file) do - with :ok <- validate_not_empty([name, shortcode, filename]), + @spec add_file(String.t(), String.t(), Path.t(), Plug.Upload.t()) :: + {:ok, t()} + | {:error, File.posix() | atom()} + def add_file(%Pack{} = pack, _, _, %Plug.Upload{content_type: "application/zip"} = file) do + with {:ok, zip_items} <- :zip.table(to_charlist(file.path)) do + emojies = + for {_, path, s, _, _, _} <- zip_items, elem(s, 2) == :regular do + filename = Path.basename(path) + shortcode = Path.basename(filename, Path.extname(filename)) + + %{ + path: path, + filename: path, + shortcode: shortcode, + exist: not is_nil(Pleroma.Emoji.get(shortcode)) + } + end + |> Enum.group_by(& &1[:exist]) + + case Map.get(emojies, false, []) do + [_ | _] = new_emojies -> + {:ok, tmp_dir} = Pleroma.Utils.tmp_dir("emoji") + + try do + {:ok, _emoji_files} = + :zip.unzip( + to_charlist(file.path), + [ + {:file_list, Enum.map(new_emojies, & &1[:path])}, + {:cwd, tmp_dir} + ] + ) + + {_, updated_pack} = + Enum.map_reduce(new_emojies, pack, fn item, emoji_pack -> + emoji_file = %Plug.Upload{ + filename: item[:filename], + path: Path.join(tmp_dir, item[:path]) + } + + {:ok, updated_pack} = + do_add_file( + emoji_pack, + item[:shortcode], + to_string(item[:filename]), + emoji_file + ) + + {item, updated_pack} + end) + + Emoji.reload() + + {:ok, updated_pack} + after + File.rm_rf(tmp_dir) + end + + _ -> + {:ok, pack} + end + end + end + + def add_file(%Pack{} = pack, shortcode, filename, file) do + with :ok <- validate_not_empty([shortcode, filename]), :ok <- validate_emoji_not_exists(shortcode), - {:ok, pack} <- load_pack(name), - :ok <- save_file(file, pack, filename), - {:ok, updated_pack} <- pack |> put_emoji(shortcode, filename) |> save_pack() do + {:ok, updated_pack} <- do_add_file(pack, shortcode, filename, file) do Emoji.reload() {:ok, updated_pack} end end - @spec delete_file(String.t(), String.t()) :: + defp do_add_file(pack, shortcode, filename, file) do + with :ok <- save_file(file, pack, filename), + {:ok, updated_pack} <- + pack + |> put_emoji(shortcode, filename) + |> save_pack() do + {:ok, updated_pack} + end + end + + @spec delete_file(t(), String.t()) :: {:ok, t()} | {:error, File.posix() | atom()} - def delete_file(name, shortcode) do - with :ok <- validate_not_empty([name, shortcode]), - {:ok, pack} <- load_pack(name), + def delete_file(%Pack{} = pack, shortcode) do + with :ok <- validate_not_empty([shortcode]), :ok <- remove_file(pack, shortcode), {:ok, updated_pack} <- pack |> delete_emoji(shortcode) |> save_pack() do Emoji.reload() @@ -89,11 +159,10 @@ def delete_file(name, shortcode) do end end - @spec update_file(String.t(), String.t(), String.t(), String.t(), boolean()) :: + @spec update_file(t(), String.t(), String.t(), String.t(), boolean()) :: {:ok, t()} | {:error, File.posix() | atom()} - def update_file(name, shortcode, new_shortcode, new_filename, force) do - with :ok <- validate_not_empty([name, shortcode, new_shortcode, new_filename]), - {:ok, pack} <- load_pack(name), + def update_file(%Pack{} = pack, shortcode, new_shortcode, new_filename, force) do + with :ok <- validate_not_empty([shortcode, new_shortcode, new_filename]), {:ok, filename} <- get_filename(pack, shortcode), :ok <- validate_emoji_not_exists(new_shortcode, force), :ok <- rename_file(pack, filename, new_filename), @@ -386,19 +455,12 @@ defp validate_not_empty(list) do end end - defp save_file(file, pack, filename) do + defp save_file(%Plug.Upload{path: upload_path}, pack, filename) do file_path = Path.join(pack.path, filename) create_subdirs(file_path) - case file do - %Plug.Upload{path: upload_path} -> - # Copy the uploaded file from the temporary directory - with {:ok, _} <- File.copy(upload_path, file_path), do: :ok - - url when is_binary(url) -> - # Download and write the file - file_contents = Tesla.get!(url).body - File.write(file_path, file_contents) + with {:ok, _} <- File.copy(upload_path, file_path) do + :ok end end diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex index 21d1159be..fcb8c64c7 100644 --- a/lib/pleroma/utils.ex +++ b/lib/pleroma/utils.ex @@ -24,4 +24,22 @@ def compile_dir(dir) when is_binary(dir) do def command_available?(command) do match?({_output, 0}, System.cmd("sh", ["-c", "command -v #{command}"])) end + + @doc "creates the uniq temporary directory" + @spec tmp_dir(String.t()) :: {:ok, String.t()} | {:error, :file.posix()} + def tmp_dir(prefix \\ "") do + sub_dir = [ + prefix, + Timex.to_unix(Timex.now()), + :os.getpid(), + String.downcase(Integer.to_string(:rand.uniform(0x100000000), 36)) + ] + + tmp_dir = Path.join(System.tmp_dir!(), Enum.join(sub_dir, "-")) + + case File.mkdir(tmp_dir) do + :ok -> {:ok, tmp_dir} + error -> error + end + end end diff --git a/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex index b6932157a..7dd4ce311 100644 --- a/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex +++ b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex @@ -24,6 +24,8 @@ def create_operation do parameters: [name_param()], responses: %{ 200 => Operation.response("Files Object", "application/json", files_object()), + 422 => Operation.response("Unprocessable Entity", "application/json", ApiError), + 404 => Operation.response("Not Found", "application/json", ApiError), 400 => Operation.response("Bad Request", "application/json", ApiError), 409 => Operation.response("Conflict", "application/json", ApiError) } @@ -67,6 +69,7 @@ def update_operation do parameters: [name_param()], responses: %{ 200 => Operation.response("Files Object", "application/json", files_object()), + 404 => Operation.response("Not Found", "application/json", ApiError), 400 => Operation.response("Bad Request", "application/json", ApiError), 409 => Operation.response("Conflict", "application/json", ApiError) } @@ -114,7 +117,8 @@ def delete_operation do ], responses: %{ 200 => Operation.response("Files Object", "application/json", files_object()), - 400 => Operation.response("Bad Request", "application/json", ApiError) + 400 => Operation.response("Bad Request", "application/json", ApiError), + 404 => Operation.response("Not Found", "application/json", ApiError) } } end diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex index ba9f07795..d10f46fde 100644 --- a/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex @@ -22,7 +22,9 @@ def create(%{body_params: params} = conn, %{name: pack_name}) do filename = params[:filename] || get_filename(params[:file]) shortcode = params[:shortcode] || Path.basename(filename, Path.extname(filename)) - with {:ok, pack} <- Pack.add_file(pack_name, shortcode, filename, params[:file]) do + with {:ok, pack} <- Pack.load_pack(pack_name), + {:ok, file} <- get_file(params[:file]), + {:ok, pack} <- Pack.add_file(pack, shortcode, filename, file) do json(conn, pack.files) else {:error, :already_exists} -> @@ -32,12 +34,12 @@ def create(%{body_params: params} = conn, %{name: pack_name}) do {:error, :not_found} -> conn - |> put_status(:bad_request) + |> put_status(:not_found) |> json(%{error: "pack \"#{pack_name}\" is not found"}) {:error, :empty_values} -> conn - |> put_status(:bad_request) + |> put_status(:unprocessable_entity) |> json(%{error: "pack name, shortcode or filename cannot be empty"}) {:error, _} -> @@ -54,7 +56,8 @@ def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack new_filename = params[:new_filename] force = params[:force] - with {:ok, pack} <- Pack.update_file(pack_name, shortcode, new_shortcode, new_filename, force) do + with {:ok, pack} <- Pack.load_pack(pack_name), + {:ok, pack} <- Pack.update_file(pack, shortcode, new_shortcode, new_filename, force) do json(conn, pack.files) else {:error, :doesnt_exist} -> @@ -72,7 +75,7 @@ def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack {:error, :not_found} -> conn - |> put_status(:bad_request) + |> put_status(:not_found) |> json(%{error: "pack \"#{pack_name}\" is not found"}) {:error, :empty_values} -> @@ -90,7 +93,8 @@ def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack end def delete(conn, %{name: pack_name, shortcode: shortcode}) do - with {:ok, pack} <- Pack.delete_file(pack_name, shortcode) do + with {:ok, pack} <- Pack.load_pack(pack_name), + {:ok, pack} <- Pack.delete_file(pack, shortcode) do json(conn, pack.files) else {:error, :doesnt_exist} -> @@ -100,7 +104,7 @@ def delete(conn, %{name: pack_name, shortcode: shortcode}) do {:error, :not_found} -> conn - |> put_status(:bad_request) + |> put_status(:not_found) |> json(%{error: "pack \"#{pack_name}\" is not found"}) {:error, :empty_values} -> @@ -119,4 +123,28 @@ def delete(conn, %{name: pack_name, shortcode: shortcode}) do defp get_filename(%Plug.Upload{filename: filename}), do: filename defp get_filename(url) when is_binary(url), do: Path.basename(url) + + def get_file(%Plug.Upload{} = file), do: {:ok, file} + + def get_file(url) when is_binary(url) do + with {:ok, %Tesla.Env{body: body, status: code, headers: headers}} + when code in 200..299 <- Pleroma.HTTP.get(url) do + path = Plug.Upload.random_file!("emoji") + + content_type = + case List.keyfind(headers, "content-type", 0) do + {"content-type", value} -> value + nil -> nil + end + + File.write(path, body) + + {:ok, + %Plug.Upload{ + filename: Path.basename(url), + path: path, + content_type: content_type + }} + end + end end diff --git a/test/fixtures/finland-emojis.zip b/test/fixtures/finland-emojis.zip new file mode 100644 index 0000000000000000000000000000000000000000..de7242ea11e618d74ff2fc6526f7c65611f20181 GIT binary patch literal 460250 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
*J)m_>`&?yy2p03*vC##1V$vx;k}@iIYsvf) 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�=H-}H-1 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 EYuydHI0)g&a%*+5FEN^F7tWJPCSX zK`^Ymzu#2uSD<{lXKdsK4bj04ltWa#^NEJ~r(V>Itu+}7_{=|7Vr6aOFSt9O=n$!Ba3>w(G$${P~y6SzP$hr^Snl{4$p*>@)3pQoa8mAq@_ zfuuOuhWt)D+;^{HGB9NiRzM-*x&fZA+=D`ZYsY$QJ|mUsX|C1VV?U5I5*c!%w+#Bu zkHLbHa{=7H#@geL^>*5x5S(urM+M4i4R?9S+c|PsbP}KW6n^<}A-LkkLu0k`?KzKP ze-B|``)>v4`B38bmwHV3UWmC^4vonKSanH^FSY^l>ZM^~R+-t|s>2f&K$>5_BHZbd zzspznQqoSdSNhC-GD-f~{^G)pKcv^!q2Ylwkekcc+VOaBZ;gGLHOjFbxL-{7=|#4& zh!~BS5~hT0A)BAc`A!8A8JvF}LKgpn6#DXvgSL8!vo=CWl+D2~fH!Oe;O`Xsa!nu{ z#HmtI6Cm`&A5&lSchBuNfo_rSqC3;sA#ml1tLMFg#+Gl_V|N%bR-*4i>=8Edt^mf` zbSkwK(kz-+M?D%Lw$LTgh>(=~&Vs{2{ojjaN%c*YT#AM!#L&GZm^)V~L}?q}+BEYS zzFLesz#I`&d9Zh%$^I~1fnsPLvfDgMK<46LjnP^WTp@IipQxUnP%3_cTu)hz-HU70+_&YP!!C zLMVVE^;6q^w)JZ3^$>AZ6cws%+O!uPAwN2n)bGNlqX^_y3RL_iC{y2>@3t4OzQ3<@ z$7lTf`%P%$9qIfHgt8H9_gc{LJA(M{0OAW!T>gv$f19URUWkRE6N;M@#KT^8K3J@T z%)w#*o&MgG<4)~HA%D;N`ZECi19tvZzR$UO!1;5g=e}3q(v2vkok&=nU?{zp77o

8ha5Q)(Tv#>~=|7iGOXvAt&VC}SI_mU2j zM@_vdwujG4b~bU25al>#de3m{mF>OkC#w8zJcX4xG2eENat=iG>yEXoD%cq9SG>5_ zkwLw!)x3R>ex+r(nn_;{D(R*s1#qXh0n=zNk z3=J(xP)+^(Rbe7o)za^EqNem>*AVLH-&56aMTg)iIw-oTYB~oZz(MikpZGlVBMXt7 z>4Of7h;h}=cUa#cu)|)3;02vEEvwsUrD54*Y?&>l^DDClqhkT!1>w2y^mf3i3iaZiQ z%GAl^Jb6}vXUYRFP&jr*P!Kq*7GGBmfFc)LDN9%u{X)>a3Bqe>1B(4TGYZ&GJZ5Xb$SXV7`z)82!of*fDIY60X%8yy$JSXiwpTkdqmC;x7Ik@us$RR44^sZk*R8a z`^OgqYpVP92YY@d`yg5p%macg&2@ZuV1B7apXiX!ZUSt5!rZiEz*P%!1@Xam(Gsly zl*U#qyk9;#1ljle@x{hH+fF&;nS7vC#dYT(;E?ZaoQM2IYm{s^o~m-5`WG)Y6ajt8 zOJ9|#fdpb9t#rAFzG#JXtzlwND2_vr7d|N5U>cLUD$2U6?*n(``@SY1U8iQQ51-rs z6^t_~2gh0RCx{g{49|q)iHMh25bok_8jY}kvBe?dqV&Zs6>FX<9*h> z__RXuLyrAe(;aG)&Ir-I7n5}Ri+p0tP%#iUGMa2uXSzzlP9Nb4@MnRnzU>M@Ah6FJ z)YoAkQFg%0QhEKlLRm3kusf?An@oF1DdeZzM-&0%QCB(%zmgk>#8Z_ZuJi1$USHvV z4$!T!!dVJCH)1Wlep$oZ8g;M?p&lbU9}9<11t3>$$7+?pG%em`6os>tx4~+qAk;{-_aHAnGSMPjt$(T^Pm0E)Su@=&?W_-YU6 z^^3uxDPnEp*ryC=*>T;Bm>Z*D+WIel{YZj*<}vRG=oy61>{VY?XNr+MJFOJp<@Ise zI%wJVnER*E1x^Xe@VCtIBsI(e-1P-v-a%Dis2l)s?M@( z<3?vwj0pFIn%$^#&3CM@2&E~q0$YKX-TfS&?!Z)a08?&I&hF0FN0;+BWQVI`JD>U4 z0fK0@Z?}MU>=bOH5dk`W=I<)jW+?}N&E#^}FDdu!X$6sI3glPDJ{tkAw~a*P-po4X zDZ^L45epJ{(dD$0407uO5Q+h477HzU&qI?M(ZD<53{+M8&BPaJGmb@se1@H?oUwnf za3p*nzf&P;n#!rxtrtVq<#H1i`V_r>(=@`LQ*m#EwG;qbc_i+dudzAGDs+Y8pip{j|aiTqMJ#0W2k2$T5g-;*TdUsyHBm=|=@1D+S-s zQf6*m+~u~XfaX8`@)VzYT5H9)J}HhRlG{HyTm=DW*3FOqo~(fIVp9cU9c*Z=D53jQP8VPRNkF#07jihQ1L5oe=&nmcXL|+A5hN8XiG4O^={pXz7_tKl z?7(Vw7ew0Q6j%+CtN~Z)l760dd;3CV9`XR|Jzgt;5dEHzDgyMRLk8|dy$0mZ^q-TT z312-H|FcSCWXvjEHQmp?Ytd-VsV#<0)7;CljT{T_aBtUzEE0=$!#seTu0ui3VHEK0 zU4`!R>>a zi9}m+RQbM7YqcBx=K%e#Sh9j91c?l-q=^>JbxTGs-q7wuTGefI*MT^T6;-SAt6FS# zG(|$I;&SZPwNFM+|6W$Gy2FL@`B0M$3!8356i4vu+G7W%IwT5M$G>X7W~rlru1gg4 zXVW#*i8cE^JG%Rz1nJC_)O&LCus9PQpPgna5kU8|)(_Dcc(j6a12Cu3yqv17j>Y^& zyn?9=T65!JPa|GKXWay$)Ppz7K=Z=G8Gw0ta5KRgn2DO4P{qj(m|NmMb{NyUbE?oqtZtWtTYz7vN`G#PMw7IKm(vK< zP4nBB7NYR?Ztv^*{zsv>M1CPYM(9193GtQv8AFx)X&G<*%o}iND;rMB0&)m(CXixB zUyvy3;fNE`r#eQE+OE}uNKGXa5SO_l_UP6hN3D-oQHGmDj=xT~eYrWJ*cM)PjY2r& zC(uR>z}$3$jWfOQ&#MCIRub9#nqOv|C+X_e<^bp++}Zm$O;ZBNZl0g|ad0}v2aT3D z{Ai65qMaVpjOuo9->fpTc}eYyM$kYB&g+c!BWh&fZM$dN7g&7Zk;H>pa}dsJZtoEC zuf_p#a-(a4#iE#j3{d-x0aWD)89Ba}0+$Mxhy9)+`X5tqKWU~6y-ac@OfnEwp8#tG z|iF0^&euP;7-*Ur!4vUms1Z4J(miXmruK0p5bXxdTo z!F{BJ4N|53>o1SugP!NhJsDk?Yzg$c)HqRlPSWApgL{ScUi0zFp<1yI)l&v`7V#h z+ljhGoC|{g`F(tV1{N)3gT6To+F9+xzvSEuhO!IYc%mx(YZJJR=RV+oC34>>` zbCN`kq|=G?(piPhcEGx7XD8z#1M;yK+nRj)9g;#U+JrQ=0OoKHX91U0CEr_Xr?+AK5JvNmndrn$la?o(^EgGG&4P7; zaSWne5%{nO9C({Gq{cB&gT_hu^YV#Bm!!Bu03R>h3e;6L(=f@IC`_7T(ZUgF-*8?x zgTPkA5d40)=8i{&rTOeZkR`MAJ|3ECdu>n?6?yIX&7uU!&=Ox5OGT5Rq-=9% zm5lPfs9?(=-3jN_&J1n>W1(=lRw(}s$Na16xD)gW|6EQ{D`f|z2H*K&?*j5L1AbX* zRkiXZF%BEQFaI6AGWzYyty#6|%kAn%h-qRS#d6OVu4g}i^Pm5F;Atu`OWNQA;Q(mH zY>;X21jDs2!YJTp|E#R#UIFsO?_;iaY+32m_|?Sbu1ekk$wo|Y`8!IliOpoe%&kPh zOy?sH*Ig(*oEziOSQ($w@lsUs_P=DxO*j@V)~8+e3&c0r$>svu3U^l0h`<~Iu1WD_ z*{t6+^ZOb!v+QG{D`;vC3Bx^Mh`em@gLk=Exe4gvfFKkKzfgs-V37>NRx{YUIA{))CO7L8maanssG&#B9(xsa2X>?i`^Bhd zXP%IRabWry2Pvl{9l=(#kPzJ`RoG-W*q8!tczo_qIjyS0`$O75EcglkpPA%M}yug%8_28K^h;M-# zY+*I$$%9z=jz>M(LyFeSnvo*L)!4@-x0hCIrNy0XE(GhVMgBhfiubw|qKuoRS=YSA z2|o%jC-AB($TkR_?UQ^p1K$j25)(_I_7M}n%<3%lv$z{y@kFr^l!NiCKy;qnYIn|d zZPsg>)G9gew*68eZ+y~2>pH4b>9R^r*7p88CqOt0{dhnts@iH0FxZl6fctdV-GhC! z08ZGF9d&B-EhyjBU8Bu}OU?&N%XK?qBF=j?uA_t#W&Sqg1)UZLlf|lOyU1SWocDMP z*4w{o##m!92q7by^agIl_%m5+mX(6dAlUSD+%0x6TUKdb)MKEXYOKhwsQ?t84!6K# zTsgg#y{IsI`DL2D6-H`D85kv;4{%1GRsDks|u90(AZq=VBT4TW(2;YU?h$-eCF;q^jcGY0>L4U(1TMp#%Bhh)#37 zs|3T73#yWh9bAwByI{iL67e$=TAe!RYGT08!R^eRp^@Ye^M|Chl@|*3{}nJtzfNIm z{8SpQ+R1?j2s0_$s=kKoq3J*79}0Hi~`{B55HxIxje1?X^JTKsPU77mx=kI4PVrpghlcV~fiR2xM86M|2i3x4w%E z*0M_85y5fKSJm}Iia~pYKmVmB7M7sA89T5%mkmpAtB%Sc{{Jd}(V9X#fV`M{ZdJ&k zx_^Z=E}C3r%5%D-g~Ml~!IxW!J5pR7PPQoM#;sP|DUS?mmjm+cbU-*0&*MZ!8FBEltLR(Qi`bFLdH<|-&$4cw0){f4 z^SU-t&@JSNybDZbi?Oj`eZ*Y!iIfNHeSeKUCb9^H+UL0D2@DWKnKL3SR z4y3P=$AyNZ+}UCQLjH4pX0_XOYYMT+|Jk;2vQR5(-70)lX-o_yA(e2?KnG#mYtx?OZyfVX%E%2Kr3>37c@U=#Ig6%qfPU z*~XgtvqzHoBcImm#0Umef2h-@l;zx8h3m?oZZTzt<*z?HL`;%-p{Q*nRdgcnE#Jb9 zu5m+d{AmiI8~@-WJj>Lm~t3AZoPH`U+lnnFOzJ_}U*|oKwbtSz!5zFI@_j0)R14ZP(7A&Iv!P*L* z6~6rmy#V98MkL~w(Qf?CCRKkbIyPs>8(H$A{zlLM_x3PNqYB&vkFopW0r!2L^!(=m z$ZSalE=ntP{MKrpxdY~)w-p1ZZnJu zh?_-;?VmgA*&PGE0@sX{b~3ZgIR&IiCr1p4oj9Nr@j%SaPHm#|&AZ1Qa4$-?S7pby zGNhk7+ayY}HIs-^N0HnuPgE(6ri8d!l+72GAG@mDZr&od4qrlNKDgjMNFQ*1gLXiwfM9Oh>&RKWE%K@Ah#9x`h%o(W(0^ zjut>vqpv^#?(Cp`1Ay^8Hqj(p`(!HwW_<(7eK!iIah}RYUT>hz*fTcu^3k3if~I|* zA_81x-?8$jsT8@|@rqjeyiU%fC5879ug;AShLV}g;eD6VN-mXjrnYgNKj&hRZe^!U zodnN0ldtCy^Rx|1!)T+n3CP0?^#y=6i_=zUlOWrdr+I~xwL(nS_U=Y!((HU}UFV!3 zQ;+lnBF=ONVuo>Ss+{Li&=2AJLcW0>j8EfX5XBje-`t-CNZlz@0ilyJQO_=qoS`F( zQf%aK>|fV;bhd{hSfc#A9pL44_cJkP9?&q75cf0KP5KuOOOL{Kn-vx?jw&C$Dezav zv|zGOr}$e4R+$CRG5uQ}?W{*+B2Y523Qz~bva-I#|g4zdF0j-?3gR- z6O-_wJUB{9pFi4<d=qEXOqIakZwSa*MRV|8H^a3aqcX6Q(w{HcZ3Mm7@|8Nz9K; z0w6DB0OlCiQvLoGN@Hdrkj4v?enOs&L(ZvL!BMCZl%yIzXRQxLL6!SwnVC=)#vSS5 zA%RFGegY2$y8!O6el}%vYlQWYo1N->rV6@nc&X1 zucUOC1Tyow>kn2mvyj%T&(7lBkI{Su+t?b;hQtiZ<^ymp)%l-MB7sY=H{IhR{w))! zfjOezJ007^)H-}1D0m08`BYk<+aL^cKy>F;^l`5l4nB?~f>M~Qv`mqkjLM2l>Jz(D zEPw!dasd6B4!}x)#*PG)=LEDFvz}qT#$1r>)B1YP;~K(flY|PRG68T7RdR1sor#P> zP(s6-czjgodv_IJPrwaiYg2mKY~w9Bx-HvpbB|R0<&n4C0Lrt7b0MM9@>W)6E&j~< zM`qFzm-$-Q=MF|M&B{6QH-fVbofFRRd=?!7kZT^Hj=|-%7MrC7@z{{@3_X2x4dc8m z$Gk>(v3~oVz>B~3^N=sMS(|nV>Q$B$oRH2KNXi+#B3eqsd*SIV$B(<`!+Ibq+g1w% z6hiLhJN~-&!8`@G5_aXHc+lRs8z1AZufjhD(5K+60x=XwvHm41Aiq1IlG~#(v_>i) z?Vy&qLpJ>9U;ed0U@1I^1hlUTsH)j?LWpbvD)d2-52v#`R7?mZB=&s*+C=gEVIVW<<r#6SzUW%VeAU~|&KSG$V20aAkd1?!aJ)$hi z+7WanE0D~F|2#192$)UBg>b!)BN~7h)@9vu!t-4c1Os^Y)r0(WWA#neL0&{a%?!_n z{3_~I)qP_#hLPu9$uS8LuevAdmg9s7LVS{hU?vOdz4|G*w$)F#BFw-eG4irBovU(Ef@Q4+$`!|j~h3b+B!4@MV^(XW(R&G-ba>pes&C^IvTEW;k?-Z3$@SZ*3T&lzhs+VeAYrPR6J)fMSfQc5b?cp8OK6r zF{)-128v@$@wg4){|2ISb!bwGw>X&M*%K+gyF|0T&nKZA@JjW|0$%96h*ME6^wEg`QfyG zve}K2_Zt>Ej9#SKr7MuL(+l`KuY>GkNs7prPU1Te`nvn$I#3)?)u4TSaP9)d^;ed4c(TfnDs;w}gU8#fSqIzZ(LpS95QOoe-c{)eoBB%tG`Cu$0nhkB_6$ zH9{86tV2QycD5}3hPjBs6^~m91OZhsN(;tC&V54bBL^SskR>5?qLjR_f;3e7&22zl zKA+{gWk;827iXCOfFuqW*j`5nI6|?WpNSz>J=3CnohlGpCb{8+?NA_2x&Fo~tYqxTbgp{97{Cz<81GNJ>7-rh9(@No^@B_pa-60T zj7ny}to5j$6bodvUTG=#lfPAO=02O$78MXdy0`}#ZX4Y|7@d_c%6{>%_E6f!h0>CE zx3HFd);J*ezqW#o`hH3+gqeNs*9ENxvp1VbUBfCFRpMiQ#tAB^80KfYMj#Uh8S*SA zG?BnO-g{T~5rALz>+a^jR_ke{A5iDlSuJMLO)(|GEXu#@m(6vNs6iLlpaWIS&aC?E zQHSnqStZwz_rbs^af=PM0o zn|HW09l0MnwM;`K`es$QOjNyFk+p$L&GXgKW-ST4HOrGJH`oE>1!ybKe~3K6nz_yl z-q8~Pxq3}}bqR%^1JYTVRp4vCbJx*8HLJ0xl4nD=z)v0fMGZFAYm@E|QsIMG=gX2* z4g0{N(?L2rxX3-=#(L=T=j;@7G!|&5=`O@CNS#~r4x@=2;gd(7CB z_;*%m-D$7*n*jPA)6!R8wrwvmh!fuBx!O|L;YnhjmEq47Z%`C(dJ9tP>LMj5qi%`_ zZiH15wai8Y{ZT!BKLCAwz-f>ki19cG6PjNMsiO=GCfzaB4F8lFsLBX-d&}h=WM+io z?o5DtKR>FyGFbvz4}8En_p7St5~4ARj}^&5JTtvfI0RPQe|}c)tIgY;2$6N4m9^(v zgBge}2sYiCB+<9n^F<_Fkv9~O)!*9{Geln2_An%Qf=)A$1D%~g|YU8Rzt>8{LBUj1gd4O7h=SU2RDsbAb z1VXGQvTaJ8*Y0f40?IqA5qM)=Q^y3ziyU1cCTi}{GiSa7M15)yVhvDATfVK7JEj5) zS{uZLwOX^zRo9)GC#TA@UDru;z<6e}mB6>kIaMbDN~caFQ}dW7m%u#5A3n^2KWFQN zIA4HJ|3KN^w-ORT7ZfZfb(xssvf4?^;_TEY0ZPJ?FEX>L$UE ztK|)#4dRDtzd4GOj zU95#GZTaAi_&J$~RBf^4xG6EQ&`Q3-3wEiAR|Eh)mK3P))kpnFDf zy&RVPp6eDtv+fSJ2@Wqz=x285fi+{*!D37K({>eS5G#?KS*Jj!nHbo2?Q0Du`UAQ2soUPvOr{_deI@B`N5uMY zl6TFNh)hClK^;HMXI|@2iPhz&Cp;#}{5+Uy70!QsTCcbN>=T!tsu_Cv1;RWpjWR*oAb{ssl|CTU#wV228MPO411cN9R5o@iSuxFeh+`fTy@<9>$!kiI)ktwJp5gZDyy(40za1Ez8?C63nTIRn$88st|ItmGE17Z$O z^BgzY1T7Z`qF7J13mT4PtOG#%T#oKO58>yDRR4GEw8a*r$_PJMLR&m5GpSyM^74;F zIRt+E<1@1O_4_~8IvhYSUhR8diTX3Y{_HJ$01K>^NRH5v8{6)S_*ha255kFz!~j+f z^Y90CPDAL5OE3%dq^E7-Xws3pQv-8n4m-|J=s%pOm1ijtm<)S&^j9?i6Z8zbJ>OIz zy3rwvow%O;_MdvBBnwWX0gp&|xreL8{E%}$zMmC=Sd0lk-ESzw9CfK7#pH5EQ5zro z3M$P;zh4Z%V*2;8=FpTc?l-K5y6IlRi9N2|+j`NuVD)+Pvb4Z@{vo0}4At9A-sag` z`pWlUi77Qoj;ze^pZ`BTulg{x8X^(p->Cr7@I=VSQB^$wIcsj+aT0&_yv}s2PC_Ld znBt-JS~8Ltfj=Fu9K|CgRMm_Iy>pD!6`aN>$A$pZgT}p<4$C`z2xwnyVA1%=qJzFV zTDGvw#Tak*iRRAoM;+<>McN=z6V_^Fz9$n{ialKp2ovt#K5b(?PghT*P35T9#u%SF z{h-w(n)tB#u~>cvx-X?I5_z;^CktLY6z=HWodU7P3KY|;#glD)(8DHo}UMBPPACbpjT7xCM!rWyRX$pmO4pZncP_1Y!ymgSy#i) z#r$ZNSA zrKTU|tjR{$D=FD7I%vj<-$-WZTV%_Gb2pIon@b1|bwX-wCq{VJY@o|Puq3Q|jR}-C zYb3kBOnl+X_AUzD(QRdf=o(VvR-qF?V<2?9z@-JB^8i6SLKchmJHCnzOZ-sUK>w#0 z#so8njkQv8Lbf(kj~e<%XtW5Mx%t?mK~e70F12%hTKZ=yih+EbD)ls5s+uDKP(tU& zUH29jHgt1>Ec~^^IG3`s>-2ZnmMp>(w@LYuC82FbB2q^~v0ilVhysG_C8n{I0h#pc zOo@x}Jlbsbk~`tTNRuC}arb(Pg4r{AhLi`Y(}{OUfDKnk_T`d;b-Rt;@WZ=ktEOEh zm&6F#=8wX;N8Om$5Q4o3;R-Xag^J+ya$&tV|C&cGa}h|B=(PUKp9IMN zN`TIGs%e{UYX6R9&P50(I6g&Hws@oHxyS0;gq7fyu}(H;LKn!~&_sM~ZK8A+#byWsbx$ zA4Soy5l>{AgEj}w83UKh`2)$ccW9VU`@VoLR9pV0a7QNJGV{tTh!vjU;5#n&_S24M zN&&ljWy(Wz^1f?RWLu$|?*!eJUEbukoGLk7f@)&K15W(#Nwj?@NIV2{<&d{Xl7Bb1 z%pQ`j0lpNgpSIg5%XJfvKJucz9Jq=K2cn2KA;6UXd=l+6pmyf?f}Tj}0bGqzPX+Wv z`k58SZS5gm+Ogpqad``(t!=(y<(tji5zG8^TvIX$g6*~0V_g}R-DrnNiD>OU(h(`1 zT-V>vflvqp1oj57p8M!^raNzN)u;0`wfIhkuXBdTg06e%Tc+Wv0*&sP({<$7nUTBN zR48V$4}0QTf)@99L@XvmqJlpiJ+6I@ly_1@mpZcc9Kv23RGQGRKPAoq%x;B>6>-ji z$X)zgHJi3&_0s#9n=awm8?)2Zxz}-UJhjzwso3*<4!QFj+WTr8IN2O0N-qH=H%nPL zopt2(zhrH{Z*GX8Y!{=N9~mJ~a?>~B(19FDc7biwO>_6GXyndS;6*)|?Fkc>+R&=` zs{s0w^<%rO;9Y3RD%`$3o+-$y8IosK`dQ!`$SMvtS~pn5J6pAIT^xKOmE`{e9CW`F z8&Bs81>mR~xtv+rvFhocimFzoE>uD-i_N`FC`7Wl5Z+3fn2Eu}ZR)E#Ejp zWc}L+4tm2HZcy+od#~(^M&WjhG6q}e_+T+IRrL-Sw2Lb6zbviVX?!XHaa=tI%xrnW4DrB;cNwS8ywLu6%uIxlSZSTEMqstYTUE#pku)5a z#)Q-KIl}|;8a=*67)_Cc(wXFWsF9jz)6JkA)AtWz0p7RB*a46)0VhqkvsV$XK%F$= z&|(|DTWpJTW+E)LdRIGDoOw9+j>B#Z?IY z3jsQIGRE)HN-gxHP^)4Dx}~k1t_uf^`T=^1u#+&(NFw<7LRJ#wUPWYjb2WZq5tW7o z7de0VnFWQ&#N^7iSW2aAkOJSWuZ@$bEer$lAw7w^W6IK>c@m^dE*?8;o`H?`sZ~1! zLWH*W`1p8J1wZ`G|7pNchVf58g8TM?-`pkF)|MI z)gM+JMq0u}waU~O9XqwOy3+MCCsx2MdpNju`DR{UR(Ur;`N%JBl-fMF|I=0S+@gPu z3Ac|ou4@DpkWbf-hOBr%Ior>BBVuf2q)`2d&u1XlOs>4K8M?{zl2=UudsszOG6Rg) za95>)m?s3H)5R`WI$+{{d+bd$N2>sL5h50`^$i4ArCbnXV`-^YbLCF@E}u7tXmKyG zhgO8$x7Xi`2S8z^iH6*qs?Y6Za3;gddTs3ZOy|+j--6K?^CG{Fy`Iq1O~(z}KRk^{ zUJMpl$sH}hW@e)RV4OB*JhPc8KbJ!$?|CS}RaUxC39+saD{jK`*L&Rmdp2u8U-J1@ z2Fi_pHY)=qgqB*DzH08pQV;-088{&Ndb4?YN|6b12TX)c=F|}c;C$kO?vW$j(n?`B z0MzvF-qL3l;p?K|9vMUNYuEtgP+wOX)Ss64tE)}c%iwC)(*A+l#DD@y;q$y`6`oex ztF4wnUG|zxKkwysCC&#$Mrd^z!aC5OxTVxSeXzdAtEvNPRd=csfX_R?)yjhSZu&Dh zvi4O;7m1P9pL73Rs7j%kOGns~e(rf^)^E9BtvS)(a#@IbH~SUmwJ>%Eh>&+xz{h!5 zh;bew>^Xg(C=#tfw9$jii@8Ut(y}3n3q!)kmZ*TzToFJEs_FV$s>x#SxXOj%_6nqS z|E{ve*y#j8AV;{I#TEPSp#zS2k2JM54-h)KUXF1_YF%6r6q6s zRoi_Pl6pEFz(@xBIcpV`R^dlCqEpPJqWRslALSf(7bacnI=!w8A}Q2$QUx2bm>-5Q z8F&{I21-5Lb;=&1AF8R?bDM?eiR}JcpSTEQFYwD6Ua~vhhA? z_NL*;*n@0roU7Qqhz(s5Doq&7_J(Gi$lg1GAEG0Pio+sfUYPTrfofnP>?4_l25hG| z16r>HWKjzY=ZJmUIO3l;qrV-tr;Q-#?kHRyXghA>gv7@hS*ulX~}&7A8Ntml)@OEx$8W8 zcX;BSHF-MHV#&(uoz06^r+sW{*Z^TPRf5!hgfxqITY~tNSs6{N_ z@XTu50+3fySGT#F03C(@MguCF&tsEgP@$KkTk)%aTzv+$G|fkMWy7c419M4kK?>AO zvKJ>@Yo|Sfs_6tv zm7Z8wNT%S)=9DY=DkN-(l0@$JnI24>z=(6~{t(BI?XPA&=knPvp1>|tK#|;5{od*L z#>uDt8JplB#)2|84%ec3@6_W04V46C29YinRlXB49&^D9(yS^aCU9Sm6VVk#5y{-* zI7?+fZ(8l`jS|0}d!^J6q16RS=ynX=V4TG}d>yNOoBIsNB}tY%xz)V+Ahqy(Z-e3p z^;~`pl&fn~uQaQ!kJaCFZRh>@81FqVQHFC}*)g&ZFmkG^jcCi|*`Vc5pg%AA!7V)U-oJ0e-yHNj~Hg?$vr24dp z9+3N6qfo+UPdgK7T!_7nP%Mb_z;riV-g!lD&1A3Ry9E}u=~qs?1(8St?i** z?Nat+%A`XhA{hd!7ZxiA`00e1U{VM%EF-406X=S1))2uQw$MfpMsuw$>adCsO|W_8cYfhwZa zvj`4G1p->||K5L`oyxj$9YF!VY!X7*DlOJGq51RH!mMlQcU8JpKLS&HkCm4ld&Lfv zE3)*7rz}LoDK4(}?M~0h4T?UoEQulAWC5gIXBN_p*Io}UfBvW^(Q8A*pYK;({M5tE zlQXTERzi!^HL)_^^C274Oe{<2gjU67B!sT?AFP&AJ3uTG=tom<*%NJZHo~q-=-Dc4 z*3MLUgUIibNy}r%_pDaoch$$4EJZU%#|p=?_0`AVJME9m=RIE zp3M=3`2f}%tP%lG30V@ulG9vF+d5ZSz%6j?70G{z#lZqGPYG_D#-lW>H_8Pr(@*I`gUiV?ijUn94e?x@1R((==W`9Ct4DytRAv`J7_IB#_|IdHx2SKF zxS#|@9}CPxXRz1eQG95~p^)E2voGLA5uxMANT|I`QB?;TL}8$_gxe{`;X4QZK-SP^ zEg7FH9HN8v$?rau;xy_JY#UPx3HWFv@!l6q!m>F7tCowkGpQMkfe_WZRMS66;OWo* zLw8DyqIVFfM=8)S%)~tE_wsQ5ivaot=y|&^AC5K~rd1A!Eb`0F16zx_0n0g*p zJPDgDxn@QXQJ5|JFAyctT)a~o1?!xAtSnF9`=vo6Ui|EGk?gBjX$Vn%vAVm}8Sr`{4^==XSZZ-Ej*kQ$WG<1mM#e;tBkE-fIJ)ELkMq5UEc`L;^i~@_rIcH@^3PIFzmdZsbf9#&>$^ zg0aKs^Y5qVEPI}jubwO2mO7DLz#HNf-}x8wYESQc0q{Ty2-^R+ zi0MXEuafC~N`pZdO&6V1!-j!JxHQunqyEe*;j7QC0{3tPm*665rG^0cIP zama-86K9^B*pefVc6HHEF6z0Q@Y*j(E?USLO*>KlcLMZ>N_h7>&5ESv%Is?OMm_|g z9vI{BOKCBj+T6Q|vcAbANMb2^G?iwNJ!8>Sh9%3FWg3&8pCcgn-SJ=n&H}H& z_AW_bDW9yQ^qh*c)1hw#UuVb9^_p2MA#Bt=jFsQKY;<+{Fc8ZAIe+%kx!0FivSZbB ze@9Ft#;ly4&u5*8Gbqs>vJUn^bp+i727i9wHT?bW0(7&!!nnO_=EU`Wl)~&6xm_;BMpwZEMeP3g@U!7A2|@BI=Vz|>vBx=o z{`-*>*^7L|Pk(dVmTggueaAOF?!Lpar{$9%AQ&3#$fEutiI>vXhkJ!Sgv-2WO$572 zU|Z~m~C)}@f-ftC95dBsk6OV6YoklsB4 zuohNFIXN!!ZfUW@V@&nf0Tk^HC-$UxQuywmQzot2K}De3C= zPcRQX<|fk5I)~nzfBZ)6L-L6b1MeBc0M0*u@bfc$HCt2}!C5c{ zHUamjup5(>-vP|KC_g9uNNv9z*i^INxE%}70%dLx2Hw^k9mqIp9)$r6OTwfBP|fqo zvwdgTCvzy;6`@BW0PaY@SQX53tQj!1)hVcoLYiO`6HWT?um&KTHuc?j7FjOwlmHSY zQ(NesnMw*F0=!&h!2*nnMca*cC=cBwVJ!U1r&-Z)Un?oG7nW|#aoAch=Bm&2rcT6D zrmK>xdUFwov&St0z8C;hyE}{KMu(8;I~z*Dta^?|n?`nZk6IyfH3%$;FQXoqN*HbDYQ>j_+y)kzm`d>c7NvBzZIq>@E@D*iDnw$1d#; z$gB*h0UO5Oq!jmu0D8mcd`FUa@$*@us3;hhUMlA&PQ}3F3TQ-0eB=QiD6D#1M?V}fcavfH`}t%X#N8&a9TQJo*$DgX7MQi$hVGPo zL<4zX-Mt{q3A^VBmMD0gZB;xeiFXMpx10&A^NfC>AVuXczBdS}agawlO^|f-DQ`T( zAds0qdyw4;Xn|aS1La6w%Qmc23}kkzTk6xuPH%Es@|i-kl8)@aFQstTzQ_ympsQ5+ z+!;|jj6OGJ74@5>t#<%)7h^~5ks%Je_7BGkgxs7aR1VJ8gJ%emV3~(Y(t0LO{a?Oy zfNh&={jrrMy`D)cHZi@v={%hkI-aN?9!1MyqtlKj7Tt9*ROoj(D-e)pWNv3a|MSD= zzke%0$8X#nW>QQm*EO>B%%eEX1~al*tJFJ+)kcET10WY5ICDQu($OY*dM2y~oL$@D zu3Yxcdrof$O%+`P2sBmuPVg-QdA^IDrmEYmK#GW(91h;_{;9v#1mk{-v=Jh(yLL00 zYiZZYz-EtltO6!#%fk4&{=PjEM4r`Tr>+b?K&_`v|XmmnOrH3R@ z912XmDNYFSAO(*3O$L2RC^{RNZY?sc3GVED^q#H~fChG}imU`qnjT>HwPaWn#SEe? zx8BI}Ij2x_R}@jrq7k*PudW|5vhC2-fKy83(1Nd$rHVS$A9a{(QAA@IL{Te_1p}sy4kY%FOk8I#N@jDLhQ*?A90|El*G1&y#~iTRuP8lWeUbd+NwH z6P;9DkQ@a~;wsGJI&Uq;)FaTp%WBl&uZZIJS>sMOI<+zZn%s^W320d>MMIivi_~|| zu6t$N#YF?qT|=kD0s*s%JvV{ar%D}9Mzq)@cO|KF0y#RMQjzWbQV`GCZQvRcIz-pk z#tUF~_90~p0*9D#5c*qv&}VA#9R@7D8qGmd)J-j_22N~Ul)b7fb!ef4$i8Ib;0_FCr-0XNc^_nU-gX zh)u^1U1H*^BNu>%>+<;LGdo_jBd^2nxPdVnb~6i!DK%Dsb;S!w)f%Q*#?RpZ-&d#@ zwIWc&K?ZR({t<6ZO-0tgi6jPMtr~g`xbW427tFizY=1+I`6P$G*z{t}J*+&fy9x+K zvZ^N3ljdpV{7|2zn7?O}Y)h6N&Z0@~8#N>ouQ#@GR$HsMuA-n;i1KMRyaNO)zxAEU zPX?tjnVK*}V|!NC&>YNf~XA)MUbfLjPBS)Y%t^~&mmFg z$kWf629A_JTP2c;O21hdQ&Lnp25;l|G_)O=)>lPatMFd!P;5~%yWTD!bb?aP^Lkp& z1(opm*F%8v><%;8q~*1LO;4hka+B7WtQlY?V{SsGIRJRI_OiN7fR&1TlP*~pJ$Sb2 zr5!+0Rz&f+7U?5Dxt|n%^dm$!#3@>w9XH!+pU1Ak8idg9w1IwMrW|ejZa(z<${mrq z1S@DnV+|`F3iTP4=he^DF+#R!mDF9JX`k}kW{-4knILS3vfv0!JKdqha)|Hh>RhZ% zMSl}OM*?qnzi@-~nZ<>|88dbihU$Dj($SZHrW{1HnoO*+^=W`lWjD>P*MTM<dI7;I#PNF(wzgk}5@C*n2J=jL-i z{nCd$A{>CT{<#tv_KDh@+H}Mm<_P=QGaL?EqHj+=ELOyb9)yOOG6DX%pu-hF$aEYf zKM{|#3e=tAG-md|SAXF=go}M8;=E~nunear8(>iN9t8Ps)mt`Hd#Rb;(kVb?--3{c z$3wpAg~UnPwA&FKLrzgv(yiI*XuAVb1)1>c|%E5giKftQGu;idb@WGB1E5qZ@w>p!9BUAkb}TRfs^q zlnLf#)x{N36EXTncMp8fMRd&WfSxs_E$(b~^`9dmUJe4-9r&%CCtRe*H5ct`+Fu6e z%=6ahHPI(>W=%Zs=}<$;A9DLh%I`zm9)NEwX0b1{W?@uy^g1`NX~Zd<9Wsx2Vnv(1 zeu4}6>qF>&*a!U=Cgt(8IA+iu>u-zMz)t0O0PWqnl{m{bYR@~fMxC$3pt3QgOggFM znksxbh7i>9SIYLKKg=g#yhU909s)%&L&p%(0W-?V68wqY^l#?YdlJDGrT|kwtiNlG zLZ@JKC9;f6=Lx4v=@|WM&gP#m|Hs?^^-*-cexL136WD_zPIO_Z@X)EaH)3MY-?v59 z?7Vt`6YsfeizM1K{!msdVrc`iKJ-lU zfU3&?tYDUcw54gGD~P?rFdpSBdVnBYP!)%7$C$!hXgJ;r3=u)g@ni=z`4+Z zjkfZJE({`*Si6k#Zp$~<8K$*d;0SA7)A*FR=yr3l52o{u&wHP5Ocegx0G)0nFU$jX zKx-44AxaOZ`CtpQ(QGK#JoAU<=O+Tdc0?Z37j=U+MJHHzhUQ7eD6+saR}h=c^yWC3dG zO<)zCN)lvJ?CGhxQdF<5js$w4qluE2RhD{{+9#Qzvw&)q-|H=U%s+sdVesS-G()J; z_{5(s*#l*o@fFYU2nQdYScuA?;6SI+tg}Asx+}_DT{&}RuIfDbb@WfhdC3W2clTWNkDu|K-_Z<;yFU7Py`ZJgH4DCq-Eb>29I)I)8b~a}dr@+IeE-5`OEzbVH zCe~iF&+~fr4xl{&kP{Sct9EK;=h`s6ltMP1+(1Sv)sykPp=J6WAml24ZVr!Kkpz^$ zSg)-$jlw3PvpX`_(=qUDuM=te0uB^Ih{8k5DO&i)ek2gUkX#@fsJUhEs0YJCQX-p6{82dxiRL8$l<8YY3i@}HwJ>hV3K{lqWvwa~Rf`?S-#pI4@^9W?~) zDH|)cojj0^RdZ{zW`<0(b~XXJ2)vVkk`40QV;LN{%ThjLlNsKhR82SWdIUP?X!54RaDDw zxpNhTtww+C-LXL@f=ZLoM2%r7^34G|BNM7q4mIX-1Dg%bApiSmXux>YBRnk4 zB5_t}w+=X%H4QO*cam=ap)Ka1ZL5X6>c{6?2zdl+A#Ak-|C~jtH30Tqhes z&>b8YWVV%`wN=h-XQj#6;z5q0)q6}89@!svc$~zNCPv2-Jy*BPmWWafy$}3Wgo~w~ z#buJHL7fD$Xr7aN)_Fpm8R}Qiwj2h`%CeMur>{p=(NdcApkG~O87=6aFH&{(be%6Z zAkT$rbrzCCobZj(ntDMC)xOR#|AK@TSDSBdZz##d6N z8yyir8&)bjdKR5cPUvYd$|zZYb)s+PJTrG9n@|oG+A+u93eX`M$9DWs zYB|R5W`c(vh?V}Gz|LglDn!M*pD=!jEK^ z3tCeEMM`-0PRU{Z}Lk=gCF4&%LYywG{0QpiHUku&ynFXm$diK5ub}k2M zFAxqc>q&eE#&_wiCCzt{YiQzOHAsT@=Mf+Ynm`GY2OLOsw6J3=eHK<$K^Bf-%G?AY zlM81AkXAd9&#o7rSFnF7kQ8ebPP3mSr&>{+8vv|O$rq6<__l3!b3D8?zwQD z7f?Fkupr>waM}SqKL!A7bTwrHO4{a`>XXg#FShFaC|1VgY4*@2N5SH92Q_;@hiJ=Cc zaewvR6Oc3Ldk zky&c9nmgav#J+EW z*gXXk0ME{qzVaw+;d82vQ}*6z*6l+dZtqXw_v?2T;5DaqLvsAqj8M!--LUaqq`jMsb{6A z8L!ehZzT+*Uk2~snP^m{%-tY3um~%4mU(x-(17@w`jE?ArPhfix)pT4Wa)5nTRh1h z#3Zk_61(h`BlqzftV|ccgj`PG&ITpUP%IOhj^qKKF|xy~5I(0Q9on@#a7#_NWG zacw#jw^zf8_sQopC%^MI)uu`Y-#D$5gqRAHEi@0pzV+JZw1Od-tER@;8VsNX*Kp&U zXL(VV6l2=*l*+OU}3yn*(YdNO_oDx^{9OEq)NAAUUxnWgfkbO~|K`1GCCXFkjd6 zDiDI~oY_M*5)8K--R;fD*!nKApueB*UWq;FD)5jx6ZzSI3MGAK?Xf@b*me{lT^ho3 ziAs#fR7XDK*u92WtMuEkv+WW5usFob$Cgo#`4WhxwQS!T7)BXNPH1uDB+zLhWQF)KCznt{1#?{m8(i zL_V2KU2Flsi?rr$y8f*=>J99)j+IGyR2i zelu#FK@%IS`%uU&KgB(@j{-V;%Mdr|Xk5gGgR0YIng?|z#FWn*Ks4<(4vpa2Zm?d1 zrz?F{j2N4NyzcMfdSBPr91>HtW4}p&1!R-X6q%cYxGiNIiiD32F>&0a-v#77`-=4r zylnJ!m}K;<0JeLgS%uJn25Dl8=4y;2yd|SaU8fW~v*9*HbGYQ~$%YgUs@(42u0Ang z}-?X{gI5 zq~bkn_K_V%VAXS`u|i8Zz>gZmiA;?=k7vG%*)`C-%+8&$2S48Xpd>=?d2k=$10W3z zxlIQMGn>9PJyMSNA?Ek|bBZ84x(-v%P{ry63+o7^f?cV#ud}r)6h4^RB%Ne_{^)RZ zT3-$6g)nyoIp_PVH3m@??VLeFCVG1nFlW1FvkH622!&xoF<$ z{k~Sm)Bco=Wh^!yl_S-430VK9++&#z>xPW1Ms20VHCIn)POxJqe>;MN2*z2HDqzV; zT*JfeJNFaI?)_0g*d(YVn;wDqt;D%$p6jdxBp^g+fG9b<-~3h( zxtFJ}l^^SWnwoR1Owo00;1#1pn@qJ2-Ud^-)Znm=Fdvdgs;TKq%>%3TcJdF>K`ohp z^3Skn1|k=x;^0PhFG3kA%I(9aQO3{kJO3;|XCppr8wyU*tfLK(Ht^K*8Cp_QYny_b zbzR`cE%5pDhj-X!wS%MZnL3z@8U5J3V|I;(anFZ$kb=)6&~0rW4~Yt46+?$6&ZT!6 zt~0z*X6}JznHD!BA)lptf~G4HtkACmAnA&x`9Kz?J%u_4^7b|B*ciO{nIP}Pp6A%$ ziVxm^6R#*S`~mid-_oe&ZR35uiGVYBwO9qoKeGz^O^S%-9PVKlXY- z8URlq>-mvi>AvS!zE0&AfxH?(n9Y7B!!xE%MJbTdNd&|q?@X_GI0+ERG?!n`8U@T) zU?;>?P|xXJzr8zqyWmiDN`lEDJL%YcRFaM?RF<{X-Qg~1iMUK(-D!pzj}C93DpFos z)X|J3Wc=&h)_r_amara{J?medA&vN3DRq!K)Nt=B>nSSl9CbRYHP6&Ej{23mcHl!) zGlAmkZ_aGwnx8A8c3d{`q zhX;vqf9*SA145^wF!R-jDq-b^y@uJoV3 zIzJA((_zWebx|NX5J%aHpYA{Su$CTpA1`tuI$`crhplnfzs|J9nsD5MY1)va2& z=OI$cxiZ5dZL+?Z1;qUZBtcsivMloZ5MGFHcQw|#l_o{IxF{3PXWjWBjBEz>)P^Eq zQG7yVq^R@{Z+x+Gi~Facq>Y*-PIM$gJmMBLSzRE~Q}I8ZuY|D2nfuC&jUMJ|dEH zsRNkGgBno>sSuNNOZXmV)7<0+eL*o^*vFHyoDzR>(Cxz~>aPUo{7qW}md0a0R|Q!g zQ-Kv>rHVybiRMC>Q+9G9Dtm&7X}B z6kQ2nU{(f`l&7%1QJv%CgZZ8#y4qD#w^TL`_h!{(2c5|P6jG$TIZs#VZfi#wKkJNL z0E1@~fgMaE6Y2h6u|&Ur=Ra3gC1X?@{p=qht;`O~F*Ckcs8SG6IN@L4H*{ej7I3`1 z#3wtNxxj=jY?x)q=}5X=n?tnBBh9DS@QKo^a}KMqFv{R$)w#S@$oVRy$DS*oA1gWg z#X{uNL#^|dm<#~&z2oALPBQK3WphV>eol6MTtJdCc=O2Vq(wt_Iy^nG`xJ>Aq`6f{ zaI@K)k>`r)w$_-?*db=>HnoKfR9_gn)I$eot2={q0YNSpk)q0c;r8+G=SyLwl2hWj z!$3^HOgtG~m%1h$*N#mdgQ}o>XHsH)+FRdQjwrcwTkoG0x!2E8h=+_LleuI9A=ox0@l+Q-cEFsCk6FEz4Bi{Gzj>N-Q1vcVZmh-s!2By2jJ zKKmWbm{M^nz)MC<)enUOs8=sRvOVJ&KR-;g(VSR3oq1tu z3~ESq)}!Tf=#kGm4+r5-(~-pybFsn#Li((-fK~K)wLuYPImx}`$^)m`+zufDe#tAOAvjTrh5OJ; zGj)$cdX`P#>7b`>=JD!Kf_VlJx`TRU2)lL=eTO~)wvb@Z`in+4wjhB-bZcvKT6X3n3EzmGIgB2y`Dg;i6yt9sk*gQL_&a4%6WUPp1lkzQ z>635;&(S-8t9UHm74}^;0*za-BHDZKz-C{kP0x7ThtQG@MMDz$wS);GD!=Y@*L%}8 zwm+vKR1|u0i&puZ1r z@C;+sp4q3l+X9r=u45vVj;3iNnqgg{HJlMB+*#;N{_g9|hA3K$n<{-9x1oG&8g%;r zP52_KpDIp-im}3YTEaGFT17R@6x=BzO2xRIIWm<(^@w(VW=gLyImFs$UeLiFYTOk{ zs+{T)n1%w}d!+zFP5Qf$c7B7#{bwZZ0tB0B*Xb~qIgBbYWuSLSMygYJIbYjp#rgxK z%tg~bfitAm#dTiZGG>f1hTCr@M*wMS6t7E|xlm9>bD20{C%;99-4YwwnZc!bzzEFq zx`}_GtXD4CQl3ktm}~c)mf)7|54GeVeMur(lbytxg*;V4Z=_{EL*!B}hWYnmI3F3< z^}B~N$h)#!FJOG!9c?Fj23-9H=i}yN&O~A%FQYoUf1YlZ3qscO$JFj}aV}+ql4SMg z92>CCK>u~@F+yBeRCs03?foOf^Aoa=p+6JW9@)xRg;Kz2X@(#1paiT;7$J3UYu#kU(?FhS-j@;fmu=bGhjLeeGU%$~EofzZ=BUw9coF$%5{Ax`;aR zlUR=y7~UfkqQTsXUO-(bXbgj|?gtVH=RIP|gzTQeqE5W7s2gs4r#ZVEDH|8!S=ytW zJXrLAy>jqi1mw7kKp_m8EGfX6*;%Du^m+DJto|JLi2~+?DI4pNK_S>%If?uC1~s{x z>7EM8A-klNPN0uTX~;0qEoO8cDW-O2F&-~ybzZ-ll%EWvA7Z_wi~Gp%7xrhY=Uz0` zQb06%20dXVd9D`?l|@rFbsjzw0`@^dukF1VJCrJWpN19bmess{9mGP4GXo3T(SNP{ zGfdD=eVAv)7QE-R#W(TxH=^Q(Y@!3~{g?UExPVOFKEt;|*F^R-VKVW$wosD6sB((_kEs2oDosOat6Zc|In;>6Zql*t>M&rEZ(}ecW7vo|fiy<5 zwwk4ky!FfL(Ct!iUJAvs46!+_qTZs2k`9~f7AXLPO~R>-H$z5LXsxv?vL zfeZEn@^)j0}l&PPPCY}(9bKYh`4w@ z26;K-ePie*vKZ^$zw5~Lo0x#2XIVyDPW1F8!_OIqhtBsTtl2xp3|suv61nFlDZos6XdUvnF_xazB}RPq|X>S8S?!^kp|5D0f2L9>R1%0 z2@qQ2uxK@g$sBuILTKYygM7qZvu=@*Lp(@~rjHUYeeqp%w=PlH$rwMSdmY|@gn~%$ z>#@tFSUFsGo!7zQj91Jt^-8ql3pigu zhq2PIAa9f@x4A-v>>!XOozP^{Yqvhr9E|L0fT`GN)?Av}YmbVIz(E1PpLKpN zXZtP*CF0?aBnO03u#m3s^Gb$ilqD7+*9<>mw+RUCxS(a?TxPK8RgF* zC*2;+xITrsDNCP8T@$eq=tsTG&4r=?Q2ox(T1&baa{4K`Or}dnuSDuq-G`FE&SZ>; z5lCRD2)**9-v0{-XaWk!$k5-fBa?ctl6JtMS(c#}<@i)Ls|?owxt@b)s&}U)OdB;4 zV6w-=^mdYGr`kXP^c=$NCc{P(aDZD59DnY^r4;u;bvc)M;b`^x^zVOltLh8|Rwj0BSBGI+R$Z2C za_H03PBChJqNXp?*hmUf7jLEbq+kVLiwPIU=w|soA8;0>{m{Jz=+0xO(dgzuk>gwx z#}gJAqAgukbfnpVIMZyyd%e~ZpEZlHy%N2>dBI|J% zPsGQ}dsZNP5CBIsQ~2#riI`|WXMl5HJaeVWT^C^pMLexH#8UON7h~L?6i)=<$7>z! zKGQ`zS=t|-e}c&_x{&TEkJKY5j^g1PC^0^S%b$x~oY$QU5GHmfyZsp0JT+aGwJKd& zg3y}xwxzFnBK4A5N-*@i$tvNMVKXVYE|JitMCa*bLcfn3C#nHDrDIXnv(1Eq8n;xg z_^sG;!ylys@}7q2T({L{VmRDXZ-=@dyc+<~QMHYsZN6La#Xt?*iQo0PddKVcl^O)< zslU7GRUTinu;ZU2S+jXUNI{Q}w}T#aKuj7fpx76$>-D~8#k&;R*UAOBq>Kd)qn6{uA(2{@keA3`DCakEMisobEVt?POJZ>@=loR!^ zsz5bCPng)lijq~1G^O8lk+xjyaVAgP7x54p1}f3aQ5vd++qPNS%4OrUco)KppWU!a z*~vLS)urgx_V7)+^CEa6!DKA~S4eR8`zxp@)K>B=hZP@=?z82;%jTDCmOzY;c50X7 zX-J*;n`72ok^wld`Wx~Oj3pn(LY=I$N!RQx9HaZVUrWzX0l$@`vvRhpZxm#uNuG>G zOy9<{(H~AO9tnxRpVAdk{b~=MM3d8)XXcR@%VX?T71r9A8>U;<`R)O5nb+K|0ICST- zsyVx4a_E$)xx_qc?A@SG-#x?7ISj-A7wqFR*Ti>nQadnoh{MnF!nBfO%+d#93r2tY z8-T;TTYdh4bb9M`HXb0(yS$(Pv=>J;OPc6YwEYCti|byslccNvy%jNNmE86U0>06P z$=ykqAD(vr@D*OFFz9U>+%cKicW$FMIf_VH3naScv> zpFySBwz*#+pO;*xrnSWT{!z5G2H*7`0pBeg_47LY8mCi_5ij}m_8kC|i~FHHwFJH? z#0$p;K>_H>YY(D^K~IhkE+ge(J?*1W`nLk~2*6h0Zvc(Kv_nx$tc8WVG4|1IRGeJs zf|!cmsB%PI+H#0qhJ0vBf+^Gza}n)W%!QEdP=Tg9 zLq0N(iIAEterB(G0M&XNbf;85ie2TBi-R_-ZC`A^ZurSphxK^L2N_A7d(S$nN#Xt7 zs8*FPI{ikSctrLG6c+1&oX0X;%RMd9;>A!m!FO294kMqV&Rth6b>6lvzP;% zLDiQ3_yfsN=XuQ)nG}G!1BS5K%U1$}wpi4iy4|8^$1iuLTe^V8p1EHEknZQ_Ikqnp zH$zu^Ndy&{dj)V%YeRgOaK;J?0Znx2&y3}LQmQo30ckc{9~0(>!K;a=I)5_Udt|_H*L@a^AekOG)w`Fu1j$o};#>`9 z$xg`_YL@^0&%<=A>Vyx3H%DjL(~ZOudwb$%VACG8`#ysI42J9an;TZ3!`M{%jK|2I z&c)#L9u^x4tEk;ml36`rCu7-!ahx5x28zQf5ZC1(JO$A;{0!_6ROxxVjWL0-{3#T4#Xeq|YUfnTz1~ zjg9qfaE?@xfD*9h7bEg#tX(!$& ztjB70C4uuDL&vgb^iH1DL4n@1cPH35uVeOPL0{Nf>E2L)HwlugCLqBy_&OV)j0H(W z44r{5vhReJ<$k5uS`|PP@BeKIfuV@`44BVyzyKgbctRh!rFk!;E|etXum{nilZng8 zbr-qo$g`1u1b^e~G+jt5NMH}MpsX98OXpt_#<<)Aj;`}ylT>=BY0P^=NbYb8)IgAI zU8X_k(y}Verr#0e$w$3KPaH>Wi%$X}bkrK%&oQlOpMxG=*Mmtl`%STTA$^}g)uj|M z<#*Hmcr5CqoYGLPcd8qMKCn|Drbs@~=V-~QR>A3h@HAm=+z~~HBz-WA74IqcJ$`Mk zoi=iqCNQ=@KYD_CIybkBvI~0^%j+?J(I{&-ZFouc=7r-ElYnz0Zy76F`0P zed!2oLg1hwol4el?i}-<<^TNm-~IZAy5MI3I+}!lZ6v3E^cNU5VataM6C=gUB;t0$ z#5h~U5THTdW!$0CFh3<2;Knu6c18F2w>%u1>JNahfcaSe-?R3s&Y&%xkkxK9fsD4> z!_pb=f0t#qBU5Bbq9Wnq`RFc|ivG*4;+_S+-p_X~yg}DeRz>X)TLCK?<;REf=@GOf zwV?2?{_C~I|6|W#c^56T+g$E?*L$6$qT#e;5N8p%Pssv#L;xE^PgmHQv)+!S#v6njx zQ7|qd+UE~RX7vC9mpgr#bq1dj1;}^j%QQImU{w)e-Spt96O6?kgk-2MqwR+{>PAkJrnNO6OF>X!`d|J|mG0_xrLx%O*8f9B1@M zI@Yz%*}^jC9co2t;!*AeiQH((JZb~amT+AV(90TovrE6rgJE;OSEHi*!u#fbKJ9C> z?A`fOpbG|oee^XBN02<9W?cR+B(E8iYp!amY}2Se`>Z5JG9J!Kt}~G}PwiEykv}=; zf3d`UOBJzRbs7bo$nhKuCa@Towj3DM_$8Yc*SDra=e3>?ySGYPMol-T1nmUA9HAf% zro6f8rP$@vVy5-bTo=rzd;8#KMj7LtTXNnp%+xBK5Z!|Yhq&4N4!G`N1f!bfHcy44 z{9UJ2r+3fBBa{12==eS{DqhljyR^UF=dk?wdNs!N`?zBAk|Dqy?Q)G+xHuQ)xQT|} z;l#8$qG?N(1$~&Gi-AinfG)drbZoHELs9h(;9~=5*%dXznbXbovjJw^cJ--E|BbV$ zJMjH8sSex~yy5#FXAf$?!?dFXEE}~7dDUp z+qy5m>#B#Q_i>CQ@mq%qKlfu?5Y_g^_c|A($PQMUL3#Q~nOMwWAJi+VxE{dJLlS}fq`P)t6YN4S3(6QJVv$>184yJI#G_i@tmw95a)KWp% zsS+&+p&t{g7pDhP!iH1m{Oe85>k>icogc=t>CW8zPs)N`K8>g}8{5I^VZ*^@x5j#j zXEEae+MQ}C7lLq}r4P(P&(ezfv@9Mw4y2hwyp$b23gYlf&~b#n|NrClLw`E#&K~_L z1U@A0krc_&R)##=C|`#lFpzl7+inIin&~-vkfZ9FLR$P$Jm5WxRMY7TAJaYohvSNo>Sl8BHiuI>sT;#nr3A6*>tx>nI^c^03_WVU3=v5vM} z?}@}g|8)Spap}W51AJ*vGiNnV#qE*i%@2$D&qhcf2zU!amSRDD!H`!OasXZ|`!x>- z;Ub&^mSCyU_~yn0~{0BW`k81uI=sZM7o{9A$)pvDdV+1B-wi#=D6JGrSR&m z_=A|Clal8RThKBk8OWb!HLP>2_HnUy7x;aF@M~=&b3%TG=)eEpf7}?c?HZMWbopUm(o4V z5h3h47Q+2^>dbRTO2_?LqH~L#q}!ivDp02tPlf1I0B-F8{_l_XetxG&`tlyN@jDra zXOI*s*|gSRlNF(JHg_A|Y0*R{__grblXPM_{W&>-ZL$TSVIyuH0#)pCOZE_Vfl>XQP<~ulmtLGV-c)iau2YxZ2eJs>dAv%>CMs@1iDD%|jIl0Y! zslh+Hnue8hr|IrJ+w)D#y+)fId2g6l2Rfa2Fw*m+QsV@lLCBU&I(PC%xhsc_o2DPvh95uP55@67-!vw!S@J> zX_2Q9AKveizd!o3@IV@)L8^J+)B=z=!o*rt^W^H(kz)-5209y3@9zQVqMF0t7Nzo$ zpZiEz@Tz!`Lv6J8oYJdX$Z3qaeAp1J5^p)=kc|hk-uwo9Ho1G#0-M+{jI)Zq*dM!D z%2ggci;B`!iScn|v7+8DJ#U$WPYn=>#}O){e`R-nkv9sT6-jKFIxfo5U8*lO0C>n> zWobmX1cCH^Zhqcpu3yj1`2zNbcYI~cM?M6x6{BVt2{1=Y`L%}I$DwX<@SHa4y;f=9 z;Snk$B6KDtEJav}$AQmhs^!@4TKmXKmPCq!u<} zXF4KjN7BacIwROm0&S}ZHa`u&aD?rEZVY6G*`9=UX9JUyM)VPa`-%+*ucaB(DbEXt ztnc_CDp96enP`e>zI`nm34alRJCQ}Nea?5t;Un4dGa5irv5rj1DQNl?T}A@h>}#|4 zB&uDMW(O6RBtVB)m2iyoWENNq?V8W=G*FuFiTFO*92psyHw}z#bSIZ@Va{JIxoo7? z7>k_EdAf>CEfq*H@~H51Q%9*|vA zq{y9lcj#+>vnfWmx740!{|e5!m5(bIIs3vm8Ry^Dq!y+Z8&0OigbQ&)R-+2PkZFOs zH+DE*HIr^_1+AndO{_bL{5GuM@EtI+9q#@3jZn05ir- ziS={m@qpG!B+bIzqZq8ig25TyN2`Qd7|*P{ub^@ljSDGpmv?Jcix1OAHxjI~GOMt) zQPb9;on{(|^>fjIdDuVrXPA|Y-5Pum-F}T{{_M4ZJ{sFjM~m+Laiiwk4;x*NeMU8# z3|OXw2-R8gf-;qF;-hd>S#c}l{c$8D7%uwC>Q!%BJKBax_X7^L+3R2qlp0Y57;U8S%|JUvQg)21E6ZcU~1OvDGOlVQ$zg>K(Ddj z+v^0V_qE&1VY*|Ui-6VzI=mMmtL+Z!$CT?s&VIUT`v}Lmmi1lHEmevmTyx!DTzS{m zC!?_V=b#&-D#+Y>g>zTRgmt7{YsMe|^uCuyg*v2dIf3sK>=aJ34<=+OtxOdOcX7z| zloR{E#DoZWkx2+ntiKI#e#_erdeW&HX~7X)r#+zE6E%Ml0a7<2XSm*-vlMfqGV1|x zGz$i&%bsQ-YF;BB6o>nv(A{NjSD!Cy9LH7sn>uiro+b6{P4nhdK)G8g8=Ybd0E`<> z*Ig%TdhgHTUn!60r;ZW3)k@@=^#7Os?8LX_bs&Y%Ol!{ro1<9+wB=z-*6s$Ix#C>v zc)&@4^(Ew=f5fm%Q!)aynmyF2W=9^pXo##IX$< z;EOk+%{2F4h0vEmH7w-b(nN#hkB4NHoFmTE8=$ERI4u5b{?8oWrNAY<)lJbP6jpyl|aU;drnn6nl+L?5w7B7bGQ!uL$CH)cco=13|~6QnVP@w zolNW$`U_;r<^j#-VR7EGa=c)4cjQFs~bE*2kK*k}a=ZIrz9Qrp_bj^jx5G={|2V|x zyK#yQi}$sJi2LiAVfy*SLb*faoO3IOv)#|be0=?#Gn0Vn*H7!Sa?xz$+tFIk*~hKn z6FcHV=g{r|<<5_~o3t&nt)DzV>R1gvW!JMJAC|^*Mn>k*M;(I|a_Jx<`6&Oszxr zUcTnKT$aOl19md&2R!r{!c!5fX>0xJ4w%a{kiKq>lRLuiyR?Z)Kt7&r&$WqW6y2ut7%nk}{v& z<-g~K>Y#N519NuZ&S6%V^+UZBg4q}o5Nr2^#*vny_=M{I2DZ*D51$o9DHvGuC27!^ zBZ}e*PJ?&lGRR4Sg#T5A`!k(Z53ohcMrI7_-aO}vjZ?1vbNAXz8$BSdMI?oQq(~jh`jbQSxmZ4I&@mfWXnr8 zfTo{4#QFxwXit*s?o}IOFa?;v&5;bGaf2WJlfPpD{mPTbgv1r^gXnK-IEB?3O;w+U zOX|v{<$ktc0k41a5x=aGdR8W^#%?}_OsA~2;L+<}*%XA{r>VuY5)q!@tFy zwQ%XX8RRRY!7Tsa+Ix4Mze`&j z`rjPtl<%X0{$YTw+A0<6Ilh4v7)hYjb;w^C&=5>M3=P-lx_U3uCnVR6M`nyRj}~o5 z2PH(J8n~pHB;U0~6y9Yc4L^@eQf7;v)@P1~Qg|t?Nv3(!Zm{{#kA_9;-vG&g1X!}U z;h|y#QW(l4(}8LMbkpB|8w%@m(2-5CBZ^ty%u*^5+SA#;Hj3Xs`9FnN;7cJAWv6!} zVd!L=j5)gjoikO0@+)MylhMKXqF9ig30&Fg2n-SukD6WUGic2>PRXsf0D({Dxn@;q zb4P~IbB!f2(&L7-E|7{;qL*w_ymu(9toPk8%QJnCe9{x3`$lZmJpqC&i6)Ph*zc*z zx%Yf5yofRHC56DV2IGCQ){+_X1DR0{dD2B_ng*?M-ZTCz6Eo}eS1^@J@%-lO}9z5UjcaHeV~uQedtz`C>(4wo{(u;qKJpJwL3PA#>o2&O zboW_~42;nb#hq0>Q*@c@Ce)mwG~<-L7P~zGy2zN0iqf$WCH`fqw_>doAkR6$(lY@y zOIHbuGDk^~uUnkfvow0sy*qZ^Xx$hImS^bHia_zGMIqQAdnDNG(d<+`Tqr9r0Jgng zsID6vR~l5M0*DcxD1=@0ysw|U)mTY2bpM#wiW~$WMVW9#Y>Wf25Bz zc|~L+GUlkZg_@-W#H-lW0Z3={QAoBCBSAf$T$ zqWsSH{Uptd?lrgsv-LN%n*nXEjnEK5YMP0wul`O1boX;;3cu-R{WJGX#tcS+g_aq6X}l{RN=qoY&#vBSJp-cX z{^bfdGyw+o%6_V}gd-C%Gq9qY8*G+(a>z5!V7W7Xo8Cut*`W@xLw|-9GprN< z9LS6MnQO_of9B`sYdW|$Sk(ONHQ>1Z3%X<8G&MgI7xJ@k6F#lNc6R?=K}b9%jdsNd z;wHJ`*XcureCNxPw?(3QG#S5Ke{!EeOxL}B-Y-`22$Ju#UH~_CLu&)pCY$hS>E&6u z-L?OkJ@@fFPrY!(N>1~@f;5-UMCTVU??Ls<5J0~1ekdb5Zizu%-f4_2d7033m%VSA ztoK-m(J%$b&HB`euCbA?&xyfIkFk&YyzW`Z4_fZ#J{@wk+rW=i9I?(VX*jU(GzI&{ z&~Rq-LP_^~9A!Gv>cwr>8m>FJiI7(n7mx-vBW{&cDX|<6Q{$zD4>!^XC(o znqTTJ40s0?#_VGc{mJ-k9%)!!N zfy)4WE|7P=4*5yuJIv>#?hz4E9;?P2$Jp-x_59ogf{vzGy1$XjSf%Co6)S@dd6q3W zQYU8kG4Z;`l%tb9IukYlq=321g}XA0nbUdbZ8hZ>4xH{`D~Z)d7D9rOR@^L9?x2f=H25Dh<{~( zUov;RPR|^(cFpF)t4R3q_!fz~&FExX}FNrIcn)iP{`^C}R(<8Q@%o>;6*e#-36X|B(y>B3`I59+pcsJ2J zv+YD6CNn^UGaTjTkU)Xnu>-A|JQ}=dzqSW??kTb-!-A@5@41gSO|fMt_cG~2(LI#H zg&2r1kq^<_`DGyObsoE1pACtiBl6haSIJb(Yi{ z6LJHD!=m6D-p)1b(;g6?iF8nLUd-)**Z$I_e1!Ad#ebFthSm5vMKD*BH6(fXi?ByS zWWwUJ;z^ryP{S!W&+A$>X@TD$Kgie|%zSygYUrXz3r#7X3HCHCozy z>EhM+L#$h3J(yL$BY{0?&78*{RO6(JE6n(-BqaFr6ax|aYS39QJanWSzP_M-)Ww~t z9Tzjr>u_nxx{rd#WW42f=Wd=V`@Cf)$D7a{0>qOY$b@6p{d_!bSN5x8>7y(@&f;jW zWo~ZlVho80-u&0wVUp@5>R`ZG*~?K(P-M)n?{U-udFB7;o%8*$L39U>g#uC$2cTu# ztPCW?&vdv>i542?j*rW;&vh6fH#*Bjr@xDgra-v;2fT@$hutt=%9SEEJuk=WAJ2=n zA%g_&|GbJ$k70hl!+*|aqx0ikK;P7g8V06f%0wz<-v`Z?G?*&oH7!hb;J0f$j6a+G zX!5sGqp@LmW^(H8ry#9^l5$-8Xx{wp+TcsHj}r-R#0u%YTn27geu$AwQzk=K7B58M z)svCwLcf)pSS6HG4dOwyQpBM7vYgH_dvaG-rOBUbaNs7T>rOnV$x>Iz#2%Lm2iQi7 zYr$<;L#*{?iwG{-ope_1w8-_3AEC`0jWnK%KXj{wTml91y=Igi=4S;SSVE7+gc1)3 z_p_?6-2NvBa4;4lG);s)uHcMkQn)tEe(irope%vjyT)*{%)t*Ok1h<~N3CK=f)%1p z>3%=gF%?{H(KmEHx;_=Nvsc(b8Kl$gY!EkJw2OEEm z%JZ+TaSOP|pHyRF-Fv0@3x}WXqz+VXCYeT(nFrKeFp}UX0G{66?yrtn%is?BOWW=C zTsLu3dFb%6mxvt?_MLzX-0w@ABu{80$hC*@YzN+S>6XE}SgiA&4}7jgAKQgs^LqWB zFEp;=<5aWQiO{55CwJDUu$bmJvk~2NR~d*XEa_En=J_DrphhvVVC@M^a$z>asUEAI z`9dbH4e3BH3xtoz9%b(QwPs%P;{N`!7$&k5of(iroRLqrm_nD6+zK4Pz2$oc0x1R& zT?aH6i>x4;vDowTfm2r?tYh>u<~5S70vcv_Wc9lnhq#u&Qyy$xg7gK%Paky^s0hCv z;5-#rx-lrQ8sX>heC(cl4W2)V=YYK)(5M;E+fsf%&TUJ_^16(`nZfZsBUUr1Jju!7U<6PG30 znL{olTeq(@-Z4b(muel?@lxI)ob4Yq$|?L9;0gVU_<8aylQa0$nR%2+VK)AXfkUj7 zx;gJShy28IVrn|dr!cPx$n^NLI{g$9&#Z`=qhio)NTfQ!A5!9UV{18j?aYK~auPk! z5oQz}Hw&ILogo2DCt$3`@Jot_4f*ZOqu<4Sw%bP*>>SNcq9-off_t$QmAWmLjp{X4 z8&$=1-_{++C${5neJ}2Pn7sFWbuL@4nMqs@K{}@n2Xa-@xK1Zv943^BCnE6hme<0W5Sbw8Vf?m74*2{H#{vkh!tdLg+(K1ahZJZxx(ArG-Bz@kL< zU_FW{LR3BqPZtG-#N^u}Q;oC)!{Jg`X27{1_c1~3)=2FYvip!jbUxTs=n~c@0>b~A zGZdk;n?mzpA&cnAM62tMAEsmJR9O-lQHwzrct$Nt4#Sg*(#gAh7Vcs%(vzqA+_dDq zAi+Cd>lmRsWR_gTo5Gt(8tc~+2C37*_&oXNPCB=4t_L2>-?l{`6U^rn` z1N+#ps&cxG*pqsBHyh(9`RKYWLnlQOvpQi~QYGH8#GWx9vfpOM5KaWZ}u)W}LEEf}ZM6*+b=R;4VOc?<-2eMY=o zox+TmQmxbFGTC67hbmHYgl<$A{XQ4|R*5?*u!Cuf`qG_v5ay1CMeLo(3 zT5mt(i*jE;A@S^YR|rnN7`pja_H*iVUF~aUG;_`Rc-1)(UDqW@N6$ubVr;2pqJ9Ry zjQTtFD~}dMw?pWT3ZvY^AG}pIk|M8A`K!s239PbA#ZW^L1G0zkn718j#DbQ39*v1% zW=;ksICNwzx}3x6T;hpX$X{Ke^Il)E1rPIU*MiK?B;fbs7(HW;0BYm+|0Te39!u$F zMj51%ah(u|KylI4lcY_VF;_YZl+H~we?tT$l?T@lP*wQ-{ttbQ!BypNQt%1)nEgblA7jJ zzlUh@Xf{6+(=~@J3>>Yu48%l$q$8nKWqg5tK|1SlRGHasRxX6X;1S@S(ybVAzxN$$ z)Ds6}$rXl0)rkj2f4c9?YYft2FOCvi>Mf)&=%;u+q4fgBZU#N6Y+Su`D;?pyG{WfK ztM~5W_rNHRQ08PGMrK~ALPy9((?x5@$ulvMO!%WXxpy77$yjQGQsh7|wfnHG6FT0+ zfCHG@0CviE82K5)J}|Or206YdTS|!9wUxF6vtPW38z_j?cDxeTH?BXLHH5NQL!#kE&^G&D?-!SE))X0_xn?RG+$yQ+hqv%>jL~oG;74mpW)A= zdT3(d{(Oh-#bsF|(hX(GOU|3`9Y5&CG47W*_Rm6wj!2x9r|_J%)M1IFBkSx^SS=h2 zG&O?Vstg2wq#}`4iU6SK*UGc@u@Gicrc8o#isQh)?)k>CvzyrIfAFk4 zWBk1)OI>!{EOz0?rI`@XMYf$HB8npZGLH=GmILn+9xMNTG(dea58|8uZ4HGg|9AM1 zbo<9USBVe#S?b{U7e_LTV{ptyCBq$GA3wMFgcPP}e>&-GLX6>_UB;rvm_FMx76sGF zKYu32#drCpMADHdyBja?A2UYjNM}Bz#Oni`7CUv(KsMG6*=RAtH+J1IMy@@62Pk%@@j3G5$B7F@kC0> z2?mDGIqZnAEBdBCYCPr(QPz9aWuV%kKn&Q9owW)gF%+utslS&v&TH8)T`S?WkadS;+r-mV^Pe4| zBh3w*>Noj9%yP3^E4H+=`D{~XnN9r>VnGwBNk2K0f%)QEt>!&f-+Q-{{f^3^BW*em z&gMJG`F0b43Jud@$?$(6;qV4)b*`Ezf#u=9XmO#Pw;3dE509q?l10ZuOp^D0>OJ3m z?UaosuZwk-4fB~p_lmg~*T>|ARBMvo{v}KxJtcd8kPI$8qOMPTm`+;!4BZIl32Uq0 zhpb|orW7N^n)*PQU@hW1i_)p-$ic+uRhNo^U6!w_%jz!&=M${bM#G_kDyR_;*qAFP0ohw1=XsiJE~ z_Fh@BNvIvC1reo`Eo?w{Q0~4KWgby0S6n!~JDFDfp}*QB&Zbio@j#-gw6j~=E7nKd z>O?XW zbV`z=jV+3iTP336@McKDOCgUq0JUp?)w-?ZO(#>&^O7v20<{^B+L(pbzw2O5$DCBV z_y|Q>nTght{P#eY-nk;cU{er$Ur*p0UMDO3ce)4G?5o@_yEv4;=O!7WY8(|4NLCMw zX>`XnKFcUJ6*V~CxE-`jf@lN$b09#nNgRdZ0NopOfG3$#75}dU&Q$t3& z8p-K{&Sw2lgr#~A^Ik;{?sxVfEcRH;56Kkwrwo399i}affo^PEXbc))b2CS6j8w06 zt+CE>9iKa+@|^#fu$!+Kaa%Eq&%QMW{KEt5_~{qgagHk%rf+;meCac`(SOZh!-0)` zl$!b6?Cv*H-N`82egUVwdPEq!Kb)dE&0KOxzY z?i{AyuL^Wn{F40~`Xv_z9v1sPRJkgmNE(mx?+qprL8HJan*yfoRylOvKRyVb zOA!~IL{T}sncaOHa`SZ+xzDSElaGlG695@Z=Ci<&jBGZxYSN#~U43|)T-I)kccWEi zIoa`=H`#$Yn#jj|2)XKf#h>`DzbeoVQR#@0~wyZmSGMbvt zRR2v6~WZgr+QG$t6x&^ z*AE2JQG(7#<%gHEe5o6PWBN6xZl+Y_F{09oT4O^2<^OjCtTTAaccpmnyk^-$Ua|6K zN&UK9Q`X+X+k_jhb=n|xE$ReBhR922pdwI2e55z4XyP+lM2-wXAjcJ>$zx-F zQJ69;v7{PN2&~zCUgi^PIxJ~F1HiwjE&kSfEzCfc?}as}@3LFfXW2N=9+jwr(QZxm z<4;kP|J8oncv2 zPNsNNu`=!~%?gghC`6}Oh--;RPKXG$Fsm9(0#{16qGl5tZ2!qp^H=ZNe{Uu7((fPGg2eC6-fQ0g?DX}o{* zzaw4m0Pc(vhO%L^^n1(2y(1@>$6p#S%z33u@B2=lipmR! z^Yths!)9#IB3)NUx|KQQ2WWfs&6)1IArhBSLu9coC~LnimctXo>0s6#8qVE4t6@;d zcLb?s>VzXIc961cvQKjE)e<7yR4g>WliL)j7w+}MOkp;F=H{N*iZ?CKz_)$0@^@9m z({xF4!FPY4CdLVZl`I%Mbr6$*s{9Co2+s;m`HUS6t0iYkD)W}jhjUC{QAgyCe82}B z3cVk~%b&sNUjkI`0B_UAyMd5}TnkyP3qO}$Y9^YR-H$WrUj4)J;k;RJ*PtoQgJd|3 zGJ^5?d`Es^3`GsBcE{D6SvNaHk$ucf^~S#d&;wM(BjpM#N@jpN`)$Vk3sV(^XsQm! z$OdA>-Hg-Ub37f{&b9gwi{{s#!*na>Lv2C%5 zr3L;c+63-Wu6uZJNcAzwsa@w>sI&$5#;h+FK&tm8h;e^c`2(>=^PIOT|1MuSxOEsw zD<(BbW?S57h*J&RPVIh|5B(Kle_zUz))U zN}aserR;j+`zvsY7b(_m7ix=d$-`#di3P^a^J8%h$BcCDuY*1RXAQ>RQhp2uwB8)Z zE51Va^K~Ge4H(B}YzqdJM#xxrN5Hflgg zmZbTArd&{N?w_l*Nr=d@#o9d6+L$+;Wbo15{Wo#geWqO=GFd8whJJ1QT-dA_N+wU~ zSr`DE_q8dpE!iaObsocCFv?gR`SipFHF zy+%moAH)8C`aI5Sj5Rda#7LkJR^U+T8t4@X@p+M>+PoC1)17()t1O{P2WRMpaanxe zubn{`*?SP|An)Cg&!S4ESpZ$f-HHplj|{nfD5wp{$YftEH!BAd)|%yEZYdCn`K+_~)sZ_M3TN+ky6lYX zIU`a&*c6XyC2sm{lwu}N7mrou4o74#NzB)511h0q&$DnOl8X!ZU?W4X_7e-3Qzfic!*uUXBkB-`E-%e}*S7Z&J!ZT*!rq@a}CL`CLJ`2LGz`Md= ziX$~a^45-4Rur*0Ynja%pNJHdxequ;k*v(fI!~i!) zJJlV(^#m|$^Hf?_Y<%Kjh~S~pGN{%#FnK1jWy~<1l(#`46CEQthunBVB!$W)LB6tu zDtc6?6ee-2lq76!Mttk=#45CY@(n0^(Hrr0!=F=SpQE>h%Swca$OwA@L<_}ll9RSg ztv5gyOTeO{>R9mX0?*1em+PZ_hBp29B7yj~O5F3nCSA*+%9B~-cMOhfs4_uXa~vh6 z$5k6}d7gA#NuQH?$tw?0xW~>sos@$mQhv1x5it1`k_kx9}U;v`~aY_$?61~ca zerWbAgxNw4+;}voIa~Vws}3@F!cV6!)b9&%FmGNQ1zJptUx+#ixGX@pk6QU=Bgip8 z-_vsc1nIy9p_GeR?DaN!!0rGxtSOckj>=x$#k4kqS(;i8oOwX*)~_2x1sAU)<-yj2 zsq%<%p7q})Z;%KNMRrRs3B%X2v*L8ZtrYEtx`h=!?(M3zq7lZc~p)wHVNyg z8HI-WtmSz@*~irc@i~wyoEDF0Ty$VuB`K>$04)~@NISOLfWEV>%2e;6jk4|bocX<) zMo9~dkRk$~je`~qRM=4MaYb(nZ+#+ zItU&P5V%+o-+@LQ1t^X;h#ou@2>!&GbNHV0zO-^~VJ6_1~vtfU6OgZ}MX-40|*I#V)e$ z5uQ!F?&Xwp6KRT%ORojd1Le0%G_oj}+$`l>p|VDxX;wNb|GMzwQiLFZqAE z0wJ8bD^`?%N*%=0%&H|#f_ zD+FRYdp;|FMD+6M(SK;j_Ueqxw*Q>pc;?v8{^2LyZ)H4c!@t*55DR;!?2@G-G8>9s zM>3j%u5{5Gpgh&bt839Yy%T${ef{3KK;^2Zxsu4+g6364EgGX%brdl96Ld8SGw4lC z9W>`%zMkmnchq2=k))i!jFcTek+Rp{(b2k7;sA%6(Gg1}%iMYuih9P%%sINwg_)dL z_!c0p&NxWtbhc;co4`NBz+#C=xx6P)*dB=v_Qt8$2|CL&!mFlC?+C+@+}b3>w+N4) z`qP=kDPIFsb9AK1&fD$|j-dzn=r(#4!N&E$fQ@{B-FddH8N10A*1pZb{l@_My<867 zUGqm}kY_`MjQl3z{(A#CJpg6}eq{kt&+fZT;F;5P(H$>Ta|4ZRFz+^)6EFF1a8vc& z^B8G$JG@(s9*Mt=bcob6L0ti)?}&9rsI-p(K?I}9>|6FQ8|9%a`YT(N)rH4$uQYTk zZ1?bt-=Gi-(58QIz|dbQ|E&)%NiWr_H_HRvL#o#m%A~kKx<+jPlL~X6O6!lQCFNBSufb`)qjsw~DNJ55Q{4Hm%d`)%VL} zrRtE!GxrOIPZ&VJ>oCr8Z7K#;JREF68tPdit{c+#>V7W2BUJ+ebqvE6#P}FjwY86< zXSMQG`t1Gtj4S4MV03K$Ly5PmGvnX<0h-NT$;>;7kTV5}%?tUCT>u9{BgCW$=Wv^@ zZF1i5v+u{>3(z01iR37Cg9N>i+yJ$c`R1WMWb?SVP_B;SA?~-Avzr6oPlj_2I*C9s z_s+coyXAwx8KkLa%p1O`y!E?ShyJ~ukfr9fph9x0 zLI-;Q!tDJn?rLm`*5_h#)j4Ru()n5P8cnZifqL=T6rD-(a0A!*#dl=#Q;DMP-`RlN zo%in&NE9fWI;2pq$9+YBU)L-1E~M_TN;yCW<~yL5E+ALe5XBt4jZ2)s>@*7fj#{9_ zA!JD`0p_05t`EbO{fQ)Ra1RwxTSE2wnC!e)W`P5daEj6yqNbxL%&AE5QbWFLq}%MM z4(#8#(6A<7JTqyG2|;acWUNa4XFq*@{C)KHk((^}0Qp`q_`hs-@3(-b(!4B&#xPKY z$j*Xq92#SXym?RT?AD(}n>(b%0FaTM`rJ{#C-OqthT&$uOw0BTnQuzo+r^`KA_}{C z?Cc32Y>*7!6z}(g0NtLl^q`yD^)8QTVKB|LriUpO`p$sP$;6;&?B7OMd}iGbaT%{Y z@1O$kEI|DN(;q}bG>P-y-fw?&9dx)s`osM+`4AXc!l-6Fk%2mVk@NAd*Y`bDDtz&Ej0$^ilx4=JF#j zc$5YRq(qdj-<^(Yxf4+%0nQaumepT}E~9*16|`B>hbE>B4LPmNu9WVh?_{0I4#gEH z=d_)}#PCOdxb^b6>g|xrwL@;b@$llJg*X}0?E>=MWBwfwj}chzwFOi$M(&f>)2n-9 zEGbukPIKs9R60YiYJjxQ>{LhZOdv+m)}#?&7u`46PRVuMs0zDvB*zvOrg)PogAHkr ziR6xKz`{tdkg$n)A}fhctZT_GVWC95aTayvdqD-nox&`qYp4%}hG4UX2tc!KZkr#X z*$*AjnMwFe#VZ;7bYsugft-od`1=Skp*|*#D*C8=C$t~I$B*lJn+=r%aR%@{Se|jW zBaUP`&)P4ewbO-2J7j8S&3G0mr z#1p*Ro!$QYyC*lk`1!rkt$nz-1 zMO>NXOc^wP{_gnL{elF(iRowpE$mP({d93{n;`JcWH$6ifCs_i=gQiWz#z$v(G#|M zW_|#>s8JvNQA$U=D5O*^e?SCxRBmmyzDFNz9rvPOF?4}suPH|8m`Nkg4(P1I+&b4I zhOHvJKRnqCW2L&$o` zeSUVmnd%fNwakPb)@)E13}$5NT}`F`=ME^baXj4GkKuB22hXWvc@5bGgR-7lv#M*zDv(|WG1Me z@hmtOWABSpZ+y*^Mj%CFjl9~}-s})!7jUv(P^{h?Z*KDcQ~uyzcnj*CPMBI2)=(AM zd;_?L+KTqpz#IlPvmJk!z&_eNugy%i#O&egHts*#K`-k4Th8i0N`SEx%spe6^X-5g zGa$Vo$qd~2l05N`Ar_cs3Go~#2b&yRzeOXOWqGqeyur0`vG}gnI~&lE&D$;`Il4^r z-dT*YGvYB5fdZa_Z1*x6J9G(H=gsbP@mn$lMiNAKN*)~rHZs>%#z4OB>*IsyJKY^q zcma6uUPoNa8NyvK2(vkr8HsLw#uY3laF1qqsXizS7>_{ehx;cBK*^8PfsfchuR{&6 z>JCe@;`gBB?u^4D@;;Zi51Yd|&H@;o8^ToKvw&*E!qd4ev8-XZ^FmqNJ^$->feQAd zM{VdZ-HALW$n`!0S1yx+9!dL*x!B7lz+T2rwVwg$PIm{lR%n2GMI+ug>sJQ$7)b|3 z?1)bY5l7}@5=A6yxrP|(Chm3GSFojBi~Kyt@fle*H_uLPoVlIJ<7yRQL5wW>Od=wy z%>iRmnHCVT13mNXW158=;jvNf;X0eSy0qf7OMDU4wO`W+6q`Iuqf1|7Y&4{`+N_itjW7?sYA^~bPHq=j?H`L%*X={}O zzIMsR1HE0lsvc>cjT->+@9d!S_-KLtHh2RYuOum1c9Nzs8pu0GGen@(LJR`bd>jhr z>ld$1`N3yfy}>Y|bj|~TTPCdL;+)$qHll#g6kh&gKSdkOgb`QRw&1(egG_~DrXop8 zDZV7KISnERB|H!p{)|Lqj~#gH3OA%vFwd3c=i$7Zi$xQG4LPe^_Awmr{(gs|6&cjj z^-Q;Ug)GV@PH8GNZo(?O1%ey?@p}DV_H_79^_Zj!toZ7ZG}l-t-7W@v(jA!AUoe$J zSM+l1Y;c2mQrYRDFeGlT2ssjWgC{KuduH=svOAvs>vWrnCmJVVS_^70--lR&;~Akb zs{^xkb_pI0W7PzK}Jz00@v&1+qq|@f{_s_VxtD?W;a5H@rG-pC{ zvsSfD=Y&nJzY9j->Gu6M)sAcc@0;n-EdYOKj$D1u4usQIHl?30=O<8Z&Dmwc`aA`( z%cKCBQ#RbsxqXwvx4ydG(d3mc<(f!$&&*XKYH7+9mCFUfVuwGk)411JIpgyUIIYIW z)mrZ38=rFKre=e8hQQg9_{oun0OhD;^*C=bJ#eS+Dq0zmCE4egRjHg3n;n-s2g5+O zeM#p2Z+GOs0klennEKy$ln*US%e4g)HV&7!uMhf-+yv(0uX@J zbYC)ej7F)q-~UA5Pn{s-ly* zA-N1b>s9$9>=%CVUFRLOY)`Nr>q26jT`Ai;eo-So|_Eaf9KIa zhC~OozVBH~GR2D4mU$1jwUh4d44hxrT!0sE3K+>xZWAbeK!jr&{Jh%qz7`yu|R_Cm9&-u=gqO0(Iu{Kx|4b#Jbn699AQsQdFALG^S(<$7Rv$}@QHW`K9tJg%9-;?46J`t%C``G4de4zoqnfOlsc z-8RdTcQ*gkh7GPO*CU-cWF;g@fselE??|erqx+Z6pr8En$`^3EWSd7INpt6vLE%7e z7G{>B+EgJM_W?NBYAc%$EH9mu&}Xk>EOr!-jzznp320$<`z8loADE;7KWu}Xl?!xU z!5ocJbg+}^T<0!2TZd;f^H_Bor*qf5yN5t4VO36|fgui^beLCK?8qKLuNrtB(DU`0 z$7Y*^@Pq}!8aJYu*S!wk*wxJjfxUT?zc;R%N!})eb`xI771pX-pUPGCjfmZ&YwlVN zCOyyvGOel#yb{BwB~Y2^IDqO&#L}^nhrrXB_#m>_62)pAKQEIrf-ykcZd(2wa8B`T zram`a7lu_99~2tJ9MOcFlY*V^CiSz=zn)Jm3Yz;~3nF4fJSHi^e5-3^Krx^INu7i& zheeE=x{JQEUe!nO#W;2`(ou3Py+y1YF^~kwbEzW%u=t*DB^9Z-S*9sCn~nGKcSJ+5 zg6SGimwxX!rpx!)`5p0D{F&z07-3RW{SXy+z#CP~$wKzWb&gvx!vM|ssNWbHAl1N$ z8VzS>Q%9eJ1J?Sx*h>KWly2luk zD-_ECga~>aSRgNzkG=xi6f7Ro;W?aaOoum3&GDju zO~1#}4?8^kwq2!1! zBdlxY%+F9ZMu}xk7txKte?|&WjsR-o1DXHsSrb?mO}VA}VHSwSr$pOV$M>O_y-&}3 za*zshyQ}?UtoS~@`!5$ANI&29C)vQSQ5WOmU~!&0Cf}@z81>p+uN4CXfc0M4U1sO{q>iSJsDKmWPAJHh zXHy-CZ+U?dJ(W!1;7En_-_Q~V(kLvwZjt2V)z|I{< z%W}kj{M_ljAD~7JGx55RsvoBtt>R;br@o_%WSfA+1rpAN;S$FKcH5zxyRIu49tLp# z-9Y-Y0P~-Gt)Kjk*kvcuzaQ2MF8sJm7mwD(l_`n2ucHCoot8BW7yq06rcl=GM44g{ zt@tw(&W`|e97qS<)0Mntk6WM~W_ejoO?3cwGvG*mUe7%eMqi#0B^{7Lm_e5%D&k=+ z|J^RvYf1(;yZn0TJ)KlNEW4adRt!r-t7S?mNO++;)Zo~ZkC6llfLuX=aw>ja>H{oZ z;9lX)+}Wry;BICKTjoM&Iz&iCvY*AxjR9=Ta%xqVMzy)1mXVcV08~+^kNF{8XCGnS zU&!x8k(wo{>P&_Id_}6)N3oUukI!2TPMi=%bonyG`6}W)Fdo-j6>Aeypj2j7T;5YY zGy?kJ23YTG%evSfah?^O?59rq&BI`Jy5|aA3dZ~)O0az{V*LCRd)vBetUh3x;~ zP4~>|d*#ol+}};O?-#NZa~Axx)^p}Oo08`8QVG`pag57@a_O~%d=1f`@9w8g%l#Sn`SMATaDLk&+wct`&7*1zq{RCi#mt9zO*!cTX+e*&=cUwCho)7v#5&}5v0^81f8TYPRhl2i!s zLOl0J$n=or(@`pdD7U9`#Ksjr;RymVb#hEc#91vUXt87Y@$x7OD-u&pw-2d{?F))v zvO*^*H@&H0mvK&immFR*SfBQg6AtLo{apv7!e_!*DnjT!Yk-XUV!ZGFox_@J#=ZU5 zA+H;2G@^-uPm+5g&A^|PN34e)4j+OYsEo`_h9r1fi#oW!f7Uz2zI3K0#tBup)>$UD z^2OM3={ym9*B3#-Uh{Y3v(rZ$X4x<;9#DGrn;LjqV)il`W4^hntCPqzu3T60^DQ1A zzAKTR?$1yBe1D93aZIW_DMej04MFjOB^K8rWtf8Bskid~M05iBo(n#Mze#?5-=G0eT^*-KbQi z*NPchel1jm3`FTf+~EP`xEZpOs4%+0B8(1DN}10hMaNxS zsk~q|1}AAy;X|E)Dt%S%sA!CF00i&{*QNm;zzFt@08D3qj?oS^4H9wWXXBq);KOVx zzqT^b08Ibh9Sm9e2e;X69PYb6_jaMOXi0Ed{A>VX2jF?{2~&o8-?7H0ZqL`$ zl@I%dL7o={TygOdF{Fv=6!7s=0)9eYjnOD`Ql)a^d<&}?f(%)$#xh5}T{aidddQ>YAnn?Gra}f2cw#Pq1UEgd!mhY`PTc1Y4B~$0PTV+2ON*&;9mE8{_XHsl1 zAl(CZc-BK0Us3=D?RV-rTiFMt=RK+KbweI`Rf<<-Q8lale-{Z}wm38~FT3kZ&X}d@ zuTVBV{g!y~!B|fHG89#1jf%?G60|vc;WKC3PoSTld~Lk(zAK}>jufzsopq{(IDlYk zna|es6VJ|DCqf4I{N#0St}AwGwSNns--F2UNTS#Y*^MgDGuw~W=*oV7=EYG!_>-B* zVCuA8s5+EP56lB;@PNwG$Frdll&d9jy8Y-G2|(#i+fZCR<}QAI49~TL)jS_BKNwt9 zbGIRwub~MvLf<7oFo!`n3r|cBLhP6_pj;OzhQ;pz%Pq~Xmt5@Pojq)ka90al##<6P z*jL(t3S-@P(_j!+SuZ-XzHzU9kt`S>*2k^wXNXFn3z6Y!8HD6xoI;_}R}bFVfez|3 zpg>xY#(W#FUAebx947yIoxzRo_s)0j36vZ^A1INEQFhj`Ojulq3zNIuc| zy;n*tOLp@x6NnJ~S;3GsQCG1m49@x4Q+b6HiL1(E^}EORN{()LS(1MHWf(s7RB-5< z%)fJ)mhvI%=sVYQAYIOhrwL__gtgg&Mx6K72x`EFDo_f%D`t}ofw5=Yg|rvz_e?p+t>(i_)W;l6U5SyJM7f>r@pQ+^FTMa7+C=m3f(a~V~Co}#LMJQY+eg;x=w`IGMfchy!j58T3L+qja}oDUqJ9!!W#@n*UFzxo8Z&(gL+d*%nmSHaZ1+)mnZh9~jzJNIsaCwkAlXLS;4q&+V ztNH$5*5+rRKe9Z#*CMp|wKJ6od?_M(hy^UTWaad$0*YZCCUA?Sk1Z(~R4HIDb7UkB z>Q?z6{@#r~IyJLohN2!?R5@)7^Xo{n$=57vHJ@_EcLQ%IHxo7oA?LkK=CgXUEyUb& z{lOY$S$P8pqpeeUB`A_GILR_56j(GAvI3~%VCpqDs2l$L6Aa-;Kllk-(`s_XrU>HZ zA@J_utY(_Jgmb>}p6>wtcSz!HmaHqH1f9qgtB?J2-z8pL>wnclz*y3-zk67K$rN3f zKMe)7M+w{O_ef%{`!7%N1gdYEM@h}%NU2IJ@W!4YE?Zm#zOnMhvJwj7iR@(hpGiw| zis9TTN1a<9RbiK6JblL|?~=GjWM7FezX32k(ZEIZR*fB5_AAK!jDeMTR8C|EU=y_i z4h8zWr*zMVH&NrQ%0leEs>Rq8Z@N0(4eZjII)RiiTwBVcwenDOx0z=XbX; zb{-jG+iL9ASmQbXdi`HIhw^I<@;-j9>}vmA8mgJ;<;#Aa0q#aNt~hT0e1a3JNCNhC zayrZ}^20adIe5U7*)Bwn*p~4wvvrE+5mlMAp;z%zHk!s{Gn|j_3LQU}-^H7n`QqHE zKJusrw$wT45KVJ%GwH;66IOGQm*;|6F}?ELma}0gX|=234{NV}i3(pNbHI!=@W#=> zMaN;q?ryxxTh}@hm)+aHLkMv0N__Tppvk-S?HB+1)EB|YmEMOqzKR~4GtR8ktwGrglRTDw+ z$?Ma>06-%z%h$M0BFE(oV-tI}QVk_M%SW+?EbYD%z?I3AE_0mGX;CwyvL@6s!7K7$7ep>P z8T-4?|G+_o$re@* z_6?Hm&N?iT#w_cFC?!&i*yF~H6Y(#Xd>5?y=M#}dQE=$lXt~4(m2x)1xo60zq{69! z*~u4mUCoPKKVKEwUBDi_P>|@otrcJ{ho9%c=}lJB2GWPIH%zUsSYG!><;Ni0RRi z00358^YC-ir^$N>Q>U1$o=y;j6Oz99O44B3sm@UIKVtmr|AwbDF*MgD zXXi;{R^;b7GOwIXc&=JiYElq`qASf5E12fM(X5*26RDr+ zD2=aY9-!v5g}b^OZCXfxk$KVt!Vll+?;;>=!A6TK+r*5SRcCc}B&ZFp{lW;4>5M0o zL21|YkY4TcOgA=Wh|$!e5VcLY*Iax)?-1Y3g*V@28|ds1-CR(gY}T|Vo9zFgKm2E2 z2VZz!yxGY3?(cw~dcXe-0KH@Pn5DE?f(K`Um1m!my|T;bdBySos0436MJ)^<2U)q##6HWxgI&h)t$=%i$&;LRQNh&; z65c+uzS=$51?%4-8&vl{gT?NF-2HwSpeDD^alUz5r_aI3rHs`F5CT9wT~Wl2Z;BR- zP7fdG_DI_G0MW&S2QTnPq%LIx*xfmU#lwLpiz^c12*lD3%*VW0jm%_wvmX4pDAh~m z9vIsTTt6xV^(I+OCNe1U-7vc~c?$T!)hFHNK8ia_}_Q?{_CGzEJ^8j(E!+ z1nwDOj53;=A=C2NtUwi!LHg_F-$T|ip8^X{rYlmDZ^8xgD24Xgjm6Cqu{IX6Lea#O zw*x!{Aw+&0T$X1f3>ZLt%&>)Y+%5$iAEIN45ftNFvalO+1Xm~BXOcn^#@QWS#YN_G zF)p7ZyycyoR*E<)QPofXYw2AkXU4t>R4$E4OaLv)XXwdCO8;$5`1+T+y*c`a%a6Zw z;-A3wXAYWohk1A3hdVFI4gCENosjRC)AqKR4Tyj%$Y*9mt4Y_yKofWsWXf?#YZv8n zxOqrj`H=JwRy@+)Lf0{lpE{f;es;QaTd}Cl8HkX&tmwvBa-0`hYUTd7)JbL7J3OFc z1JP<40EZE;4-?lsGDFS#`a2Y6u%Er}N&`8aq9K^;cv2mkPRhGxUJHXG1e4j1<_A}E z)VbS@IiZW<=Yw@jxb~1uiX6LJB9?uWCr~2vs2UT>*|zw$blvT#vyQsIb`d{oj`6)c zH0K$rg5_P%ge3V1ETbiN_-_3*@A=uY{(m8O`*y(m-RCv_U%g&fo1T2QxPSTL{@2gm zbT+$pJX9#^9=r}XXQ2KE$UxNZ_a4Uwpx$h?%TV`?1~^&eV?-t#&08fYgY`P^d1X4M z@K^lQ>p;QFkj&4=dlNLJ##V-K`NL!*x+fayjY&x~MhwXXpJ`sUmoR%r;|R`2??vSK zduU)j$;*ft(2I5I-wW&t3%Jn*j4zG$4mHpL5OohFIG~|iiy(i$00=iyDBjtt$IHr% zEdf!(PxfSsGI9HiYdYTee4QL|$Ep7Z&VcRv_1QTqzPkqgcK2R(vwVLyT}&B7Y1;&GWszF3)dp8f8mnd?t)N zkqVLw%9ROkHa$&e6`A;y*Uy~IQ+16L`kz1Zy}V}qkvt!g8iP^*IzYw0h0x5=!cjEP z_jy^1bYw6#_cy$=39*t4QX%%0`CK;s0h@=(PtF_vb-?h8UNC>vIs4r&{x!KAJ>k%;Q}Hy`j4~hFmGy})jG0~6-YfK1Y<5MT^G7t86rO`qhT7;dwEg& z_3I~MM4LJ%Pec-uu4<}}F+w2$H%`Dd)};RLBC!sNJ28LVy@u=Z$DRxCj>&O#P|Pvn zZcKpKWsx_4`S?6Ro}#>g27@57HxfW!B}fwG zbaXc^Xu!{G5y99CBqR{zw79qbO;vIqVyMwM0DcHu^5zbB`(t+c z*E`qW0kZgE2kFLo-8bC3f0x9~M1JdEtMVrH|}b zwa#a_^3u_V4iDmS^u8%!t`rz6yJxHC}y{(L{F@P|KpM?2^v*Yf-4*Ea!l zVIv{kJeZ!AXZe~1;sYaA_x{RQK8}+ABzVg*^+rf8vx(_uX(B5eZGplvtpO=P*5uG}e2|X%zdzj8f3MWSG(|Yqah=V9i;v zAMv~i<&Oxx8WL-DtZ3tMv#}Z*yymu88P*|k7W3Q+1U^K1u1Gr(sCF0@TER?Ygf>VsXP((&E$zXw(rzq1gC1C7^EtM% z%y1RRvA{ed`CoQ6 zNo1j%Rcvi;gF7k&u7Y>Fcvzfa`A>P(wfBCUb+IqT(c` zhDDNRDrpaM%^i1PEvUaQhq@(i%{nOV0`hmt%~#<2#&KRH`V|ml%(`*S0qlepz4zi1 zoAnxOzbl0I4~(6%^B=pzlW1Thn$%&*)18Tt)uX%)6sL^dP-3C`d|W!`?*$2^o#<^B zd=zD!s@Rx>4BHhUi$?>RQyums;D zSY_XpC#e;6JE1Hte|AYMfZw#KbowZi!dkvL(Y0?`EoQH7&rpL$)8YZp%tfYW)tziB zd1)_H)#FoDNC25Two_?E-^y2~6KLPvAkp7LS7S8_E-@wT_&Hp~+jb&y6`MzYh6Z51Zz1M{?(uFlOBU)R~C} z(B8-@W}ubfpocpP*YlX~t{bdYaTRPJp9+iiC`sU>Pu6khu}b$+3<1tL`FKBvt;`T* z;O#1)Sk@9gL;=x<5?4dM5oKaBl|p%`qCVyTcKJYEw-z6Wp=^3kMcl#G`?S@8r)0b@`USW%09aLrJq1}c#3;qA`eF6P4SM6&-uYcE zV>be3CWAw)0kVvP3V@B@TP66r6%gNX=KcwhTg;-B6c$p@%RjyB zmLt}t?hzZ$*uS2t=*JzBwM2t2jn`Q`&W?9z+%xI|*lsLN)EI~uvQK(R+;rKssue}v zO(QEFhYa&RQ(p6OV_Qr?EF?>$1)iUERx`n=9>{Wak@0rf=3-_b*^Q^{_<}i-4q=P!-;|LvX2TnyBYP ztXmZ`&`{|NWV(3xlzM^a?0Ss!cCEV7ui3P6s8 zYmDbDiXlNpJ}vm%T|nLGB4v>$mKO9hsn5^VL?tfa9UWc}nZ4pqx>4gUX? z!PIkBq*qz(G`oDTX)J~rMY+2L@D&&j|DJ_rzW(FeeVvJ`s^qh)W@uB?@-?WcTHa+4yGq-{aKv4k}n^|oXdf18u3jbgfBwV>1 zxYqFbV_{8|^5lm;`w!nNljprWwka~6p_OyH`=ikdt#l|-(SNh2^Ubm0f`eFzz$xoU zcEEUb-geJVcJQ^bGO0HP7UW_2OtB`3cFt2JfJXsRseH|+=P>&XIE95$tPEqeGRuU@ zLRuP}!Szn%H3Z0S5i!xet>gI}h5iH}U-39q`PM4Cj+K4ciW+Mkn(?!+j3D121O82s z|Fcmo{u!5f=URVi4?4*Cw3h-Wv4*^f2nCcl-W2!S=jmC^UuEuRxita=VE{41kg;b( z^#Yj2Z#uJcJF}o2&Q=aB*R@p+jd}>(wKuhu zR^&%k`idRp?2e6G!p|`--Q@)Q@Z4$w@=<_MJjCTu^N38=f9Lk9ZJ)@6&fbnc%;!DB zHQyQJU7Ipi+wH6&dGLHU3QF*DRKRH65zkBdH_Fs7_fIOS^4nK6^RqdI#e44=4?ANKd&OqY{W-M zU-pjI=JEIM|1a>WJfjgd^P0CxFa|^rMKj*9nHxnE05!L6P2G2&|XMzN9{u0GCT|5**YnjpP$7Rh% zVtN!drbvlvm1T(uZ)job>NAN37BLq` z`sZ%ciJb3!R=|8Z*tt+2VuQj&G*N%m`?Wa zQirGUSGOW^D8S_yMRq-nEtBymHq*-gd-c^S|I`WrZe(9qAqowd#uX6ifbk_l8l@&s zHxry@{BNEQTPptDtmuZOQQX6@0`chI6Pxp8=j^`QHqO=OW|)F&B%WRyl0>EmKFB<@ zr{GQ}OePF68~}G2T(txY0p6UrX}5_gw89){F|FKM^svFYdU%o+D{zgu1z7v8_l`Z? zzN5waXzf%-)GCNQXo}ZA ze`pUnmNnZfPA$7R!q=HeF-aX!^99r&d=(V~6X-sLHmTLGnI4qz{;q|9XlBy`;q_XM zDHhWaz3c{;hg8Atk62xRvz#5l814(4b4@bY1rck0yEd@0ZOW25s^6gKKi}z>H6`IF zZqx}99<2c9E$e=S)6z&>ALDtw;w)H!I_4#U%^qS_V2gPGx-Gah##VZbXc9V6ad^kP zJj;r769)}}$scnLE{MR15W#)m&RsCxbqs3!fxl^>R~*iyr66QBh@8Kiv=f#u8m@JM zi>&|^m`I)>(F5esFFSgwqXAqI?oYL=__>NH1W`|ndKaCSaAQnLVM)cQq}Ae_M)V+s z84hpP&mJ9QPOzJ2;q!+-d>MHL;#A2Z;>52k!_>kTec@S;`HpRyDi>5GB51_C+3S{; zW?`&48xwYS95z2J6KLT0y4XudFu`W1uTkg3(Li zS;DT=a6v%~DaRE7f^5u_S_4j{){p!~kw@t5zS32h?n<7y6^SpdS6?w<8bKr^xTxIRf5tiXG@eKy3`zSG8cB;YJops2iWOw>8MKP1*% z(9=9C>gYPc#XPeQQlUjJvoCf7?Xt9(gXy_l%HUM)uuTh!WvoG7M7AuOpXs*#)# z9)Nzm>KQ)VyRdle9I8Bfs#}wlL|~nTReCdzr;q7UKra5($L^)2`I0vo+jvLVqi58>>A@KyroI)$c3;Pn#JHn1DdyFD8 znP$*gd!J71d^iVGSzKD2^t#cj?;fYxZ&dx3w(XsAwF-c#hU-r0tL#B%Lhb|=+p65y z%nxn(W<$C$N%5aP=-~`R_9SqIj#nvta{sIn1*?Oc{U!F1eY)C!l^v@h0Cs@3S_3=y z7;laT7oUlnk_#M5HLBgd_uZkb0CK9=@f&{FY#)e~q!Y>YVd1%w|7$##l@*yg1K0qN zi*UUgng^&jY=+rEZP@N-Z3Ma^CEq1*qHrfW@nE;LY(XYEl7xP)PHhPWOmcYdaE{!1 z#b(8ykr1g$sEs(TXZxy|y6C~i$g{%}n}!06i^HibNf&{W600No%I=EDKtdKw_p`GT zdUW-Rc91+f;5(F)v2lR00N`Z+wYrWI0KPq|zbS+M zpHX_)=BC}bVNFZ9w}&|)F9@K1D7%l-+ZxbKb+BM3D(fZ~aq797M&_DG7ihm!)VmYA z8=$x%g+rG000GDW2~D<|0m%M+y?>Jq7ZDR*V?0@_HLpN&OY95p?=`?a;+k+QC*@@% zOv4dsQn2Tz4d76Y@|ekw5D?JJA*I&MBw+52*>1Tn-rcCx&tufqM}^$SJzD(wFP>>Yr z|MtJB2mLh~)A~pM!GRjgb**%emnvU^XJ6K9@?7Q&!sH}T;JsnDrYxH(Atd5M`x_eN zrqlUFcb(7aGiG5pc~Hhh;Q9bMu;(qEWOx}AQT{E2T2#3BSv(Ba*%IZFF2fT_$o>CTeL;&Vf!gz6JRF(^TZ zB;D+I|M{@_z8yIOHb|c&R*bj~h?I;$M9Gsm!Ju2|1N%FW3@hrVr^l#hjw|@y73|5I>P=jZh9>`3k zodEzs_EN?rfW@X%Ae5VUPvsRjOWnHrJRw{~Mem zK)IVP?q^n+X7Aj4!+By~(*8GuBuPBq0hMelfN82A&!+Fjsj(}pGlH%nY%GifqKK&_ zn_uT7<(_httgk}5w4wwdv1*Um>C^iZf^WjFH#T+!9!D-_NHOMfrkbynjjM&sjSHOo zoGn+UIk&hJDoZNHpiT>}!8OKQx_zGS+$b?mgiSCOAlia=B+Bs=<>j%g8*+bKA5y3K<}&R8hF7T*ph7c zdxI|xl)+kdjyTpF>wtnI4;ZF3i=GLv`h68VfTHGgOnrVRrZTc1c+3ImTnK8jB3H0+ z^szI$_7sCN%vk~BCr{t-N=CBBl0!JH;vzthdz@WSCupJz%(HG$uX|5jJtGF<^qWru zt$f`@OSWuLuLU6EJ;fmjKN%jkHwyaemJpDLM}cm3g4FB^$uv<08njT z&%6ESdu@k%KacUxNT*}(@BF}Lq~rWX6Wp>)D`dM}yR)+KLb4f;f^p3@cJ$uk62!=X z+mk=nW=)4F@CQa|sA{4QhUQu)Q;i(3GMPy5g|t>p8%GHlgKGQVOWA^J!<>Bm+NUwT z4qPh)c9kLfTS&5=JEe1rz;|*^hfn4q1Y3LW2x*DYHd1Do zTa_r(q+pk2kfCqf-4=(hO29s?FN2N@023v9rH- zFLX-hW6a`dGmXZ?25SZ-{`C~I#OSM^dq@N{B7q4#jdn zj!!<6Z@R_}5PkbLRLO8AyR?DtRBrtgc7jeu}6Wc!zpl8+_6Z^}N zW;~}fV+8lZXJNbkK2nGTr@DJQ(=U?HX7dcRrp;o_Gr|eNcmn-8qPee?EDNS&dAbgz z{eRK7USK8=Dru49S)P!AN%>;RKEzsY(f>lR>XaAia)Y7R=vBE3bydb>X_lu8EJ*`m z+B;(Dv=@VqR&p`hHD-G_3Q&z0@()KG&6{Jk!6LwjGRzivzx-QR{ded)XH^+8X&JL| zuBc#n1~Q`+7SQMl_z~xHcGyhke28HYxnU)sB>ry63zuhw*}FJrom}TD^?IWqdaw!d z_kteQWcL_D$%l+lSK!94eU7Xx7vm!`t@#}-;^Eb+rID84AQz~bnDxStdT!x=Rf%_6b*QRb*az6sqc1yW3$h%I z@5zWHrB8D(($Q}`Exl*K02EB?v)ZYa28wY-;;r6^aaRIt4FDH|g57S=Pl9pYeE%Kg z%GN?m`$N8gbod745WM;MELpXYR+hefAPMmg?p(BZUaUNG8zMt&&R=B1hBrZG*LBcpQI}2jODs( zE|?>f0%P3)3;_*?D+;a| zSX!Yv#^{AVvbf&9|6y4xL3FIL@m(;kUNqUHVJ65WC{9R&XlsUSr^KEh8>)z$H7HR_ zqypq!v6nvu$hrAhJAQ?$1^PZPd3P|sVSMi*b{1p$!Fys9j;pR|1K19{DFD}u^Of!Z zJ1zrC{hJ=Q9_QxM$NhifNH5&=g8=%ly4GG2eR$7l!<5Pm7qb|)14Y6R3CV(XdbQs`2>^`stw4`z()ua$MElY6weL}6^ab~>|?Bz z%11xr9JgL;iJ^MLr*Ww=TLE|V*`-?HXx3IxGU}<9a7}tVX+mX z@-PN_*G;w0F2G|8M1Buue+!oneD4M9^sw{B+%M;1A;7kp$CX;AoG;J`Tve@0A1@q< zExa}~yxJR&pa1VabMSwDY7aUb2(n;!7=`x$lBxX8sTo!!45pY&BwzyTcdokKMB2{7+=vU%w|B-i*2)*bbz;sgN7ApaH0z`FfGeZ80Du`wp>-0C^Ntga! z@Y0TEn1JJ~;b;{_RA%B*kA5QG^!?_p(mr>c5pkGm0M-?cy8WZ7ZSa7}wB(rI(d_4~ zy(yWembrGtP(-*gRYslp+w}rylx``!vDM5<&`(3{634#Ipiq!p1+=2bHTIBh;in$W zm{l;K{H5(@yt1Zxd3S3iMQf5EYw~vn!pFr&oB`$7aA^d|9=jP|b{IGbjF_wL@~Dus^ABW+zKmmTQ$aQ_)<~%a}gz zq|bYGAhJUsRBM~AM?Kfa-i;g=NoXfxX*=cN>WZ#ie9n$vKtD7cs0tII4}uD8Lp>iZ zgG!=cHb(@L_Zuly78N7!Kc0EMS>GYHYIvxgtN)*S{;P^XiYls-nTdQF+N$*2Z`A&e zWUb@`C~fBS(dnK~GXn`QAM^R6wsP>LOG`=Sq^E6}RYuLQD{((0XH(@3eg+|-f7^n1 zG6%V3sd`c2F^zxxJ4ec^y7e6bYJ_8knY{-~RKwId3J9bpR%RQ_E_N^(Mm=i)Bm8GmWNb$9+W>o|C+Q_h6*A z`30_lOL&(v%RgZ`3-JGQhCP0)NL-|kxdLtstZO)orji&g0s_IlB)SUjAfee+r?v|i z+o!o7BePglSkzxO<#n+UY_AVL&Q2>qt=d_xfoYy`n6v#x}5qcj4 z<=x6@eDZ7W2(mRm?Xueoz0CQ$V16fSzXitcD7)jGFZ=^PZ}z^gI{jL)3uUdIYENE8a)=mgCeCG)?+FJs)?6taLMnRluE8m^r|T_Dznq0W@y47$HA3+9sw4fOuI-q+lgSHpZS3sem~F*GZo2iyr5#X@yMerfnND~U>V-(u2mXf@&$@!M=) zoDVcxF%T`EFj~6OtW<>Ndq=pb>zLY*1YTNN%`fGmiUCvp7zr>#2A^x>lrM6*;^c!Z z_dV>zNl8nkCvX+;2sUTad6896ZN`>~__;lvquM|eAO%Gl7P-w!Kr9c7B#j zfFwt-AH#JDR$LV$knS>FRS)>;xdD5Y!;cNJbSb`8-3Qj0Xfz1ziA+;~d_&0XyTSPG zYyN1Ndh@-p8RX`e5eymmehi`e8_0P=T$_YbE3`JwAs#f?L>I!C9N zb2|>zVvNw?63k~)%OT*ZSwSR`(aNNj*SS)hqP)(xhx z#7IDN8Z4m+>{MAEV)r1zg!*cyaYQvd2m)fcC+EOS*kftW>f*u?1A3b5SIFQV6I)tX z`Qf?>6Ku~L7oa=_k^I~S^6CALjcB`6e-D%GPEkN1MwrCX{@Y){HNz6SEJsBj@;P_2fKIsW2i00%AtSLDP)EUl8Fl^mte)@m##W?6`hC1{dG1dhq9 z%J=mnRA7vuyZ+Uwkq|n&uzHaZk}Bf-%GiytN@*|1eH?-GLTpkeNbin0+4pV zys|z+qbt9qte)+cNZ0cW?y)8(%H{TsviffTs%~T11yu8j zjjA~VmTYKw6fXUr|NQd*`KcN7uW*PiV>e~Pr;#dDADfms(`SI=x@?QB~s2xFURP3fL~|RoqOfPvFjPq#TaQ> z`lBi{XH(fB(RM)4T(LkDx^1K+nxjZtbcwMHYP@GGcKS@MyhRXnh)erji%~7J<@zG z-vP)wqJ)LW>O^p>oPc|+m$OxX`}&*3IhPM+)22r+FBdXI;HqpKqh-aj+9F0` zX>nw$rzuvoge1L97!5*6mC!>_zBWsap(Tcsczcn3J^Z%w2cJY|U5{c$&^oK5OG~z7 z<>Ll7vlqD1a~m*ow=jZ$fQneHBJ3`*)!Li|@056C-h%1N{8;u2T7qvTY@SAQ!mj@g zZ<$F4#7s3i`(oM~jItHgIaL(Hkm+?yGXPbIeAd2|AQFVuy2(pC#tv~W5k&O#-(8ZU zNr(etKNF*`a7X2HoqV*+SU`y5 z;&ngDf&KC&ml0XW=3n3%6VQHeeqAh#%=ps3e!c&P+N@>4Lr!I2W}=4$>q!|q6DlS~ zbQ!oL)_~7aH7r2rYm=fUp(cG69?Z_`kR(THUIZ%7>bV{F%qE=Kackpt*{oHNi=*hd zQ!6{OZdoyWW3kFr(7-^>Py|2xhItE!@`y&`a;6&1u?a;QC-C1#xZ;&n%aNrHa zF#+b()AXJx2BdIT5QCJV164nam3u%p^?s?z-n1 zjSyhBrS*QOQm{NiF!rnffM@X;0O&S9h|laF&!P8rX6uHyaNcsd(#_SUl|VZz@h}3} zwt6z*3s-&w~$pQcS z1;9^nOoozYPkWxfdm@D5n)F8)r>WSHpYInZJ`4Y=YupKg<92oI@F(DPfl1*RWjRT% zJ&`bxExeEvE2zjcZbd@OM0dxS-5wEq2hgu1S{`FIz_|32#;}cGM~wG>er}2T&W;zs zR{*~%t3Kf+=$T`K|CrRL2*j1DZM2w?Rsr<(Ce|`7=;d9P%X#KbnR5-@mDAS~+TJAF zucOlivmgWt@F+F8;62{~<(Yba3ceyhgRgy&Nc1MUMFtYN07uETNi23$Od=Vl;GnRp z>Um@59Em4;uC;)!kP6TkgLon`58SZxa3~K%unU}($N8}(WKmLH{(n>;Kqezl6D6x> z2;|qCrm)qaW=JQJRm$yPm%VX8Tn9q^Kh%UbA%auA@BDsiJ5i+XIVr+O$4?41q&ecGO-e2hAZWs!L~m~PB)v;^Lb&I=VfM`Sb)y#OhR!+ z#m^A#06<}#roKNZ0a-Rs4$&DG`N{D&b1+^)0+9WUWQFQ!sz&JPG+wIq`>;)=d ztlIb3Ap=lk-Ls%EeCJg5Zmc-zlMy!Bz0|p{*bd>$%>d!mMp_T<@5r3vH!Hk%3uw3^ z*Pl&}GQ_Q^BX4#URHv$mDMN|5H4HhPF+@x}=(F7rT%pY9t2o@0z#on!M}_MF<{t*+ zA3B|n|J=j>_n%+>zdyIc{pJpdWU<{4sNU+>jxd01(#>RF51yC@T0akUoshTg6v1QKITSA6AbFGv8{=flT_Sq_x z_gGduXFLuddVs>Tyr_V-C_(f*WA0`0SG2xa+f6GnVg{Z3NYm-|(Lfa@UudIh<3BH7e=`V-(V4a(SxYiW@;! z1l7rweLYqTp>)r2xp~r6VyVSlwISMeC1O6qY}bC}j-+k6pwAlt{OGoBO4>=So#)vz z9>Ft;xoaY(@(@)3+?;DR>pU&m1tBekDHHGcX)<#rZPN9Mp)=h@|2TH`4lY1=likCI zHx2xbz3Kzy>RIU6aRXuZSQRZ^+yM2&I%t$)7-JGnJ*U?5GIX_P?^#q$pGo)8CMVIa zOn3Fb3Bdl*_}+wCXSF|ZG#1K1ntZ^?5d`ZI)GvHQ700!q!8c{E$JNuP|YHsWp+TIh$16X&gikaIHa*- z8j2(;e9nghP~sZL*kNpd`44X7Y- zTSj@^ba>-+ZXmyNspxUz=Dg<3OXwT{d&0pxV4mx1icW*btjZt>iRm|@1e40$Xv{!Z zV+O4}CH1G|(M?C3QQB>-Y|fI3oUJ1VIiYGj-w}YlCA3RWjbby4*DkDC?OKHSzGYGY zwS$EO&@l#RT10*%LymWl*5-mmZ(r;Z^eVt=0c{kez(dc@fS`PDb(lPE`P1YoMi5WeHEPW$_{4+HAI=H$cl-(U0j zn!~_w^V-Jew%zjt`+vjNA8WIAM!ZeAxL%nof|Z>z#g?Mi>TB-uNnD! zqf4VJ+yvIg*QDciI4{7*B!@FYb{%ER0|AoO%g5~v#rICV?6xXM0j*zK6l%V*t89xQ zh`L*J|9%L<;r*RgOLXyxt6H7+Z)!n!?EWcgEMd+DXr2#~Aagy`7%mou{{DO}AC)Y{ z=Y>M2xf<7w-Q$M;wLO=i0Xh?1i^|m@_MD%`5DM|hBz@ytA+qx>i9?i15?O!!RAqoQ zOI%u~Cj0G<_}dO-xzoqXgcZ)J9=F#jHrPEhK<{wM({oQq@fmz%Y}cBNml>OJWdTh; z=8TxMnsF}wn{CmDYHV>HnmEGnm5C1r~#w!7H{Wq^{H|eeh z(jDOI_lL-KjF%?sIEJ43AK!yswQj1jq0*aTBSu1ZCDD6`GAUcnw83Io{E9djqbMJK z0ivVamNDavmb(~5z%k9W5E%wE&hk*2jtsaX_YoW7bJRgj_PsAr5HW6S z8YIr@JCJxi+z9wtc!4vBF=cTc(m}o!uJ>l&SD1$&?&GICIG5JKK1PH@K{Z-xnj!fN zXF$vVX7PDI>eEG6XEq-U>4Z(+`4B$SDF`d>LXE_CYf7- zT7Y(ADg1#Vv71Guk)U7}v39D(##~v3#NEUyt21e~9Le=$SbCYsMxs)m&9+Q`=FK(o zk;-Bg15gacQfRYd0ah&L?7gZ-o2w-tRMC~p0E*YE_$h2CI3$%^sV^qa=j=X}e9ubs z5{dO25-#pBbTZ-{bA#@b{0SgEBWkY>nWECRxI1w3`&i%fWaP2d@Dk1<5qxn*$X5_kTx$hKMf^WC)R5>xVS06fz2csPB9|M{^1{kE)N z5#4hKh%<=B6~Jc_yHaKGoRQ9m`tj>D6{q1Osi37`v+HSp8;&vCK?p0acwB7dW;)*)-rG^Q9+}Kxg>!W}EHy z`jj*UJeb~JwITMoe&ciw%t0yOx3@`Ier6whFaN!HzM2!y1jM5N(ddrMM%C&Bt=9u%scL~Zgp?2jLk9HugcRa2ZufUTVX z*}!M#8uFAWGhi)t6Ey6i;_r#t_u7>OQ~R!?LH;ZusbF4O>xHxJ&lpR_la8PC2e2wa zxFepzWT#i&?RW9pin*TJ@Dc@Rm%)p*aIpO7RjpDJXTGOy{@Yj+fi|u(P6QNwA+vse z0_9{@oWI%jYW&CG$16L36+6~TfgL6!Ix_21-pQ1=_3%GXc({d8ITIE@*y zvs#u4`4Vu;=#vs|-*nJyzy3e+mbiTmt!^Nlz zj?itG$JaeV%%JD&aorPTOY8U^h2rK|#p{w=cYqgp5OgMBv-Piw{GaFh^XvNo`Xkw7 z+9m0WdEX7vCdH^&h>BuYEHGH4nrs;$Tc|34pfac8!)L;0>p+v4c=1G8Z(3LN97$lW zWR}68I%diaITF9r>H&5OSJB)TQPdoZ37X47C#NX%wPHhQJ}bLS?ZwpP*sbsi$YC>J zG2G#Lae_HuTlH*pax9f=%c`O<5>Zo+=U(A(f(Rmr?bHVdk_1Nfjj<2~vQ2eJT>!|# zSPAs8EC^vT7xsyqnZrZ?bFWPB@Fa;05G#NYbT(8m568`HM59-H)wax>vY6xeM}588 zC@WT18L2`sh>T?O>-BtDg0YZR@fbp#DGe{~37BI&kXaP>*!0w1io|6=TWPXzJxQkc zQpgWy?@^QB(cHH>O7-q+LorTO<=IUaln9)s7>UgXi48EmDn;MOjJNE@AQ(F#l);4u zdR%x@3Ak`yvB3DSgR&*N5s(XztqLo#APwSqag-bX%A7vO+`B%8EPZ~Mu=tVarQnsd zr5WqT2qI=93WRYwrRb@EZ~ckDwEsSoF+e2nAt$VDM~YT=Be+Z{i?OExu{M!uUth)a z*L6T7Nny^inVj(_+=HI1c^F3AJ#lg(3cM}caMyz2aSNQcxsRzm0l>7?u<1^@J z;F^)+n(}j*fX-!uBNJvblw32h6mvldwDklOU|pRZT=c5XgGT8oz$9qGOlh_wRF#E} z*=Eij_F48phPs^|xb9?F4EPz1VvPouv0$S|gP&MOYz+sK)AY1v%a~Riao~K-=Qj4P zW{=ylyJQVYpyqiun9cs~)y>z$WC>-@p6HE%eQjn%OLu@V%Cm&0?18rIL#9%v@C-5w z!N7NTew8R>YdMLA2_(-bfPS{G7HhrIrXbzY&bYjqxvlA(*C-fj^N?*3;8{rv=yh-Q zd`{;|Q_7>QSj1ZROP)L20Mw1RqkM0nqTaSL%-+Y|xGm3TuE$;ZvMYjonF3wh{0Fi~tr47{6ZI0pn?AJbF!=;*T>M zPY=dzI64GRXH~RM@NERZ9^?t!VSwIaT;%lD)!F%(zqYT#0U%a%#GE?M z9!J;bPH$jrv)`vN2Wi?aIM3bc*dWG4ee;W)`oRD_6P{9sLx@sW+4U+N*G;Hy-fi~GWM76^g0ONXN*LtpZgo()Q^h= z7|147lYN(S;BI~|c^h}EwT5J~C=^y#q9XOkbMYJ2Bz0TMQLA62$O8#1J;!@IMJ-@oR2)~*`KForP4-Lt0+o>weNQa`e#sJ;W($7Z=Ye5{xV zn{8*uC1{UTcOHt)}VU*Z0@! z_Yd>l#{s^r02od7HIk{Um@Q6cPI+eVQ>E^>xoCEo@1k1d+20<$dIzTAKoYe;Y|UfD zZk+&EK&ZdiAQwf}{I?#UHfH4!fcRMv0lOZ2zqp$(Za!a={c)Uoal3x1BMLM1@4)-q z!~WMVo3-~R);9rkCc(Bi%mRxqr&ZR^7J>R>)D_ZPeWpmmJMV1HAYHMlP+%+s9z>7V zsF+$8T-@DLA_y)N*&)oVV-}y7ZP3z(z$B<+gVYZP<@8KZY`lpSZX}JENu@R|1l1ra z0iT8LKzR$LsXYZq<0RA<^UX^hsm=Xh^klLsVkj%)_JPN-*~Y>VqQ)EA^|ylYJD>TT+3^t9$aB?XX*2b8wNNY2Z%ft@gyak$0dWFa53sT94|iZZ z0q%BrJ?KI81){w$9D=I5)mQui@K@IJ@d8DMu$U5ygV-#6wiVM}`6ad*J!bp~tQ5`f zSJ-{>^`F98`dm!61=_QP%iX|=R#)P4>2@~(@)>A5;kVO@WK6F|Lfjz`70lbtr7!_E_3zf41NTP~$wa{4XYtQUp;~JM-kpM`p6UsbRE)KgV7&+rJ z5U?N{^dSRHIoCyKcddL@y*eF&qXJYF8Tg^#qUEp71(DMcq0@h3dFybmga|g4G#NIA zKyuArL1WBf!xV8I7w`2I)H1*5A1@jgdX2ZAZ)T{Q_zF&haY6o|0J3O|^)fn&_YpP= zWE)BIiT>8?co8q4vbCvVjNb{!R~2(Ris}tOzN@Mp8Qck!Gw%mqv5c#7b>(+%fiJzq z8HOlH7eqkxCuh<}9y8q*lzRY;Q>okj{TQhSk8<>J+G7oVWyDW)cryNPC|A())ttajlauzpM4O+B#NcW$QLJz8OArtowxT7N?vNYG-VF(8-z8V+39Au$TFI6FBe^*J3;_L?$mQYq#461R%dG&MuPR0LPDU^$|Z_ zS@FjS)L%WkWKh2Lr|YkG(6`z6%sb~Ecl&C_CZ9^kG?qT=xCd=U@LjOJf7-2ExT-#J zKR+03M6MW#ZX6uBOQrUXKz__gBn*nRr?S~ervK@02Mbc+1n=}$8B5>4K6|Rc)Bt<+ zZ!<=*>C9%|pX5h!9^cr5zS3)s;3PXBV|jV;`BnLQM>SrmX0r~u-Hw5gW;Wd|v@LrTW7?MOnN9^8up1UOv0s6x{k3HXhS>{kDl0;6FPK~otL{qzd z7vx628b+C0glkYf(Ra}=dN14hj7`<$Td~jwOAhf}`>|T{75cbwPbf$_2%8UJ@%Sqn zvNy8LHp=gmGJx|Lx?2V>f&1&{G3w5n6@VWZ(NM7Vz|Fb5C?o&vfc%@YFwWI?HG0QghR>)=6DKHkNBqPkdQbAHw>$Axv`^?4@O}y*H$w;3Kb7AR3Nv@O{IOz3aZjIn)MGnaO74{`^pplIfpditG6GK0s%K%*wxQ z&R&mY%nXh-nHgVu#2+I2k3v(z&mR_{5OWeBnFBfao@+u8+MQulTwIGwXizhM1NJ4w zeltLCOsv)Pv>EnTKTFmbfvjJ>0!;4krRig40#p)fwy8H=5eZd!G!xe7X0VN+{k|3R zF26$cdP8LT6bl^=%?>~rn`MV8yW+?O18`9c3C;xS6FW<2EjW zqU?~XQ~4Di^)#i#k&**8%om1k?W2%N`}_Nz!?-;o0o^0hg%@O8S#r%hKHhDLwzelM zRAwJDqwMB8#9lTs(na`#?UYDk<3?9o7}+>ClFj^2v;ckz@Ndr(^^D^4JTyUy)bvtl zl=pF(I%1HW*~RC}wrOgDH62st*E9r)*%1}rAtYp+u(B5&`vBr&K)kt;apRoi#>K8O z)v+4Mv9#e#M+m5i{*XsO35xUG0dp7-`ZqYXs_M3v)?1xTrRek}-W@P*%hMkWmS;pz zSwAx6IQzpNwAt|s&`$v9JfaLW|5W|xmohhkcwMwyyIyO)Z`vLXYvCF=q6*QsSf5XT z_3!w+MzyB6Z%lCzLSOg1CN=6vs$n_i47)YbtGLmjL~QjlJy-Zs^RKgFd*Gg`@3#qPz&Wp9#=m1I-=gDQPH2P<1{7&!`%1N`<5FMu$Ui6I=i&a1LT+sdWNg zF~s3)L2%Y<)}`O7)%m7}cs!J`fL8Hv!^TGRruN+hU}AQqm}A*WY5G6$g04)6X$Gf+8k?J%Wn&)usOFf#Gyd8+B-0lkE(?U#XLx? z+*06-CeNpt9HV~lRe)ZB z_{D2(XU9X9<IP!G0FmPb;y9`7Y))F0}9 zUH|%*G1-+Vf0e2qz2gSZ4|Dy|taS1^e_BsyTxISi^KX0TFJ*QQw!c2x*ug5kP4z%e z92XWzUT*K!|EM3<+Y?hR5hBdtv{h!`*6ldvn3QVHJ}Fg}_U;rxJFn0C zG&;GT@XgQ^EKJW;`1!Gwg9-1 z(999!MnJpTyV|k;%Ah5FZ=)wUws&Oa1M=V0`ym5}YwzPR=;xaYrMQXJ_uGDtSbc?p z&dSaLR(59D-q!%X82zkx_1&-pjI3$RqQEt&mhHQ@v*Qixw20(@vF;gqF_ZqjE>D+JJPV)%HEAMfa@qU%6 zU)gO_rXGafuGeAwMZPlS_PXhoywyQJ?{B&WQ{K)fV23jk?y~M=5Y@6knd|N1@6Szy zoMC}iLjKn_egCB(9o_AU{UZNHv6Ic0mVjJ_Pyd;ph#u&3={Zs5O>7$ka}G6ro+`i% z)d17l4twsThr}_tBmEqJe%$dxZGy$&%Z-CW_0d6;BB>1OZW9O#K*yrX7Aj!oD23We zm@`J5`G5wRSTE?D)mNWUH0DjSn{!f+%`tzsMQHlYg)c6<;GOF+l`&bc#zWH1Fo`E3 z`9KPdpqqW_jj?7y4pB&QWow<)c*W}M)l#Xfo5lh_Y!g7L1w~j*VHE4pt_kFTJL}Pr zmRjQHkp=9mF~coJY?WG7AV-z?Ru68+n|ycQ;6n85jYvs8-vr%0?vRhDnY26BysK_1 zG{0jkvfjwb(i=jbSWMz9Yu+VVmaQF$-D*kPa1R{+7@M<=%s3mjFSl+ac4RDwzL!l# zyHs6Vr&Lw<<>!|w`2nyob6TQA-G#!!UwjnG>ZdZgDOG=n5_SJKj=#>5_3;JBt&;jw zt_}~lPk@aHz+Z#_FWWU<8be;-jlVC>8whZs_Q$?LBSNSk{H zb|%iorpfV{&s$y^3V_x9`eg6MPT3W2jMa`HCfB5R=iWP&Q;!Z&x!QXd8R#@>WdGX1 zJd%~?7xerp!)h+h#T7biY!)37iCq?|Ssu@QxvDuPL4LHAO96S7TY~YiP)Z+prrgGo zR2HTP7G;=}$*q`K1fMJv)t6v=_;Ph;cV;s5$4Ea;a6C>Cw-bz?pgt?-hRK4%_kJ6Y zZAvq3{3W0odTf?TQo2C;w4jsTuCIEDjU9E;CPK1=5?`nJgdWYM>WjH_KctN@!*9TBW^( zDme-=q0#QTzJK*67WWe_E)`o^QJS4=>Z({b*HaV^w4~Ex2(g?-JHi$YX&OQsT?k_S zzQaO_vQa`eljvGfk(2cuD~rmJ18B0qTN6;_ zMVHI%NLT!Wf4XK8^ID76Y3|9i2#{Yt&um+VAi*(RGpJA#(`TJ>3zO^_f+D+F_hDZ6 ziU9<%x#2_|)m=v6!YBP)|5*S%N4*WOCwi_ibkcDQH~YsK=|9Zt z2&;={n5)^%xgqk<5Ar`zr}J zZpwmVMIODew}3S>QUQCc$iO?cQs}R(TW8#Au4O*s#rnXz&*1K!AI0TtZ%|8kd&6Zc|!vtzmXL)e{Jp#C>V|4V>!P;adW zSwa{!^v8?Pc+mFFn{0Uk%A-bV9HU17OOFVmL&?5gj;7E3KVwZs_{MXrd6Y+U5i*Xf zYpMwvHuEO@L#Q7ioah#&E?Yi}@J@w2OhNobs3GW5%(i8#eP{l8NWR|otv^zGZYACZ zu}xt?ZmI$?OJeL@yf8mMst3sqKatF<$M z)$DqrjbO79WEl{D+tHK&@hos&`g#pnT3!iURiA}y+#u`}!}mEQ_KLX7NUTmEf&@Hg z?_+P9+Cqw}y2S0U<1_qm`4yi4$twl-8|<^px@Y2OyS0OfKe+S8QO~t#cPh^pjC7OS zbZBk2PJ9=My|Y+a?HifM+zmj!QebD;OBl!jS*}j;8LZ}bySi2w*d?gL~D z%%#~AxIMri0w6UOOOu${<>`HhNLdBK50=iW3I;e` zAZ?&VdLMcH*017J%NmcWf7b~%VdsSI*Uc1s{*G8c5G&}$S`I;=mijOpZz~&#xz={P3yF&s)$D4a|P0b7|L>=`7WR$ zfgYNG??tbP*!B4_jBxfl?NfcgZ}&~vs>QJypG3S?VPaa+P}_D@CvAb@%r?Qwp2dRu^M z0lZ%V1}FxxINf7z{JCG(97W?ID8GEkuTt}~RNZ9K|Dx7hjQ!mHzj5}tUiW@f1Mn)9 zkKj51l0jZ#WUc)Rzl@#j&MlGlKV7wWA~hYT8TRfCO8UYMHY7? zrPOw_2Me}!HMd1ZE>%Ic+4Pu+v_N9?>R`5dIJvn}-hF0;67?i(Ha2{eSqBZ#s%EN` zU;?b8VJCx)RXFG?fR+WeOLc5$!3;I=pv2$;`c7TqxDK9~0iS|E;1Ffr_ByKaqs4_x z?@g4h0fE(VXTdZm*lcOI6k-sulc_IcNGN7PK6U70PZMANG#6O3`{S;F|ywJgi%Bj&|)Qa*z`$H&#_OD zPCG)0l`7}Lr*|8Sk1-3EcFNUNR$G<3Cv93p^4XXn9y5uS)0RwThD72>?$2UN2>@ihY&1%M7NeR7K%&4x8%aJL~!<{;Xtq`Ei)g zevc|6zmW&w2y0dfSJK%0X0RB=5u%8HE{|+)GR%q8{MkO}){~Z*j5qTrr_8Pkwi$v} zYh~0qE39*Pp*l7qF(CA(a^(KHH-lV-t!~85%MV2qaAFczbpy{vpEDLPf@aT);YXFoQV zS`BrU*5a# z`&f290&cALtQCm`Bm#QL+A4k2QG9>6?#y&H`|PdCmfh$N>;CcfnIOh+sVjrxoV)?- zDK|AiSSbyj(X>nBe11{&f-?Z~kz2@8z0aR9zEs^Pnm+@`b|4oXNSc20i8rFRRyxA_ z$J8$ludM#cray)U;>Umg6+yG;<<%MPt4I74dLx}uJE(!UDm5R8!u<5zDUi3-18V$U zf6KT!^=}JsqN+BJ{$wNS#Tl`kRT6eD%K#DkN6T-*&fjtteX`she2bpf-0dL@oMo|N z*kXWp?kHhDJG0r&pNTA56gF|w864Ke^xYqN7T>7iu6#nXenu`p&Y0Ks5L{NPUbP0wSD zxpWxCrZH8RApB<%$e?&{_qw?Vm{)z#xHC|9t-bDK8RORmmxM>AHGw(qMYZU%zFia% zOpGA98UT@4$&S*FRakd#!sfFoGW3AH=ZO%_S|B>4P@;y;M%&A~WU8ycz`bWP5kJsi zlU3BA&bkePGbM71^{lGpuo8~rXZGCb9J%AaxH%VCMgEKSy|+u%)to*^uvnQWo)?kd z2S*-5P1a@6ayCn{;Osk&YaXVT`Vj!Q6%8BC`iwy(oHA7K*T89Ouv9Qo#(j)^oU+cfS)zf7cH`{8_8wzV!FKcsX_+gLCh<&7)qPG6^cKY}f{?MjZ z2}85KD{?_D4ApmB+>^}&GC8E*q4Tx`oQuG;Tz88e`jt8_D-cnXCa&ck*E~B&YRUV@+%{l zE_|caW}2zIS80q2bW^F_6wRLMdTfw1Me7(X>$_jCefG!oohp)6hWuvV0~hWDsisZ$ z*0b0{FfozzFAEe_+3^I3Phi}BH;nZe#BD=-{#6)yf=xbNTijL3Z9hZyP}BB3b0P~O zz_ft=5kR%el$-4Muo?03%9KC7nA=c57cqMdBi8nHeFp*IuI05>AJ4B};F$yI_&ZtR zK1AQS^Hyj0J*Ro0K>kqVz_{*hCMSGb#X}@1rq%Wgd@dVcyX@Mkd5C0dpb$j(5wHIfDzRpmnSPz}>M#7Qi9@_ll%aBnCw_0+16$8jIG0W&?gcSf(yZz6KWsG=8@7gh=3hUf(dJF zh*F&Eoh8C1GqqqkJBfR|f%fp-K^tzqHfxPgwBgj^=d3(^ zmVAhQZ&7}piMPcv`7wcX3%n1JyK5}%_)mr+k+0^M{ovhJ#54RjL&u`rzFdJ!{n!w*sQR5Ft2}P8gu&ML_ZYE1o3H;nEDV_nz3Oo95`6|u%TyuA zOl$3yiad|GSi7j|&S0qe>xOOLcTnB+26^a903AV)m?EH*o zkNT8>5W*-?FirL|G*YP?i?Z)e><;MrR2-M_h~rEFvX#en68PS#{a_C4F>dq}u5d%; zx1BvBC7hR79n90^Z;8~fh(x(41JBgXi^YmNq-AFHb;Gs{U9#lvd3YC$tM?|A7fhbl$4b`KzpL!} z2pMi4gjz3e`To@2ERqqTddvX8=*NAjjt}E29zoNkknX`PrCPZ4H;$2yqJ7MYQ*SXg z^L>{0+j4WE@oYny2S<43>o8L$GFDwUfxr6oea~#$+OZ}4VMoO64OQRsLt@d|uJ<5j z%G1!5-aX$Pc8|AJw^DK@r><0r#EP!tMoI)Qivu7!0 zC01bIuKM(_6ycQ5ofNlz$1+r5NGPPD^CGw%)(`4M8xY-ea{{p~tK{7hwlXEG!9!BT?xSf+bg&_w~RUc z`WQ?5M~;Q1R;03veQqT|`Vik)u8T#M9lNUSH+s0M?ETWNQB~j0w%g#-g9_ON(kgIZc zMdF%qlfC0vDY|)&{9e0{9Pw4~0JhojBg6VDXrGnUy#*J}GH6>~3-g@}9_3z0?d3T> zWv4Gtek^ed*8ds-z^?%LB$j4D=vPneL=X%i635)$O!bM+CF)nk5y8VU!7))SnxqHJRl|C491tsdm=Q4oC0gEK@b<--PM z7=o}&E6aYe4>~vpd1ZFNf=JHF)oggXvY4q%GIp*}hWRR-1P++=V23v$9(rN2j1|zU z`et^@5?3=j)F`1N95(!6KE~*k(5n+b_17kgZt5>aW0l3z1f%DTU5L#sht&d(P$tPL z`>wuEYzoZg`j~Z_Z230Tu7pu49xEmJEg!&GmY%37!=0~!h-8iI}?6>mkvhU37Ad3P$ys1aA zinijMqgith=LVxlAsWQ@ZneRtIc0#5(&$GE(z;j-fts@`y55#c@%MCTAdD6%a1ICxd#Np1kS z0_HIj9UrgHbi-Y9v`SN8TxG{AK%V!RBZ#)qTb;csIJ`KX2I2GHD6b8P(N5~6K71Y_ zCMazNAEPt3zdqm>pg-;%FqIT=V9^mj7-z+XQ|Ja3?M`@W%X@oIdt=LObB&B=N%Ce< z0gMb2#F(p7MRbrXoe;eNm{BGokP{?|)E5`I~ysIix*K1gq7I zLl|(IA#}Z8R+y~t9)~)}RPe*_Ina2+0va|l6S0I{^~LP^V{dH^tXX}mg1kz&2byMG z&XFO4*FuR7o4c5M{d45Ko)~o>X9uuUL<(ncrLvl<0C2Kr|P}$jCnUw z==5=asQC&CFk^Gy%c>ZPgZNv{!bLi{%Kl@6Tpeuev)O+3M!fm>jzQZkSI^Ei1rWp< zdv1tnlz^Ptk)tA2SAg8cEK(%StbGTzGMlsDkQ2niobR~Jd=KM2?lQDCD<1kkO{SMt z7|wyy%XfU(Yn=N6s*Z7$>z*0<1Dr>jwN;t=qIX;Y-T8GP z&=16h%5vw~amvt+EBm<^o|yIWb!9dS&a)hO65(Q~TIF?T2*j%+9EQ!zM$n^rW7}~95Mzjn(b1?xYh}!$*W1YTpTdQnv+qSR zFc1V#mC76&OvIl8=tsb*`j<27C{;o}1V9#I0CP#QDkl@RFi}h{meyx+&q)>pU>cQG z(+o9)5E;k1{I1$Hum>V#Z}BSdW^Vb_^|Njf0p=N{>e6EdTwH;87X9<96i_zbvVb|6 zzi~sALSU*NSb)QGJt%-*fJkJ4rD{`H1oZ7a2%1z=6%_KcsHz`|USwodEnzLk%=1Xb zT$bKAoH#p}%GBI|XAEDcgo)1OlHTCIWa4sJSzuDbyE+oGtU`w?$85K8idIe`2` z4?aFU9-jp7_AG$bv*Ekh@eGg)&`=4nNiZJw{dg@1z3{mB=P8zo0&c_Y^ZO3 z_-Kl^ot*LC-)qkM$!lC#n<)?;uWd|1ddX1{z0=1myJ9;wwJ0CF7j{A}!Ogu($=l1} zaB9`~`ZfcCqP22|bT(BPC6N8eO78fL-`6dWo8Bhus3n}C$U=`g-dQDZ$D(pNNp>Pl zh*FZd5IM|gqlx*n4_Xm_ql)_+gX_WM0tY;G#=-U5u{d;#*#`)~1rO9SwRZ@C7cc?e zL-Z7e&8f9Y?x+|*1LTnbWfmW^_^fhHWFm7(FsV)$X?aCW1!pSr+5L8dHdNwqBVV|x z94E!VTmA%zUtydRN}(Zglg;XX4XkaT&p#k(9p! zgnx1#Rm5rd{3jd3x&z3?_Yiep88toP9-n2`6;QVc1+oFieM=Oq+W7&Zp8Qo3d}PO6 zW_(yMd6gY|facYbtunjq2e&2SkEwSXS8sR%#x0PpmQw8LzC6`&X2%Z?@`ox@Pqc2m z|N6pf9KLk?`VQNBe~cX`;0?vIx-f_Gcr5jKrP$m>qR?itorr7@0%M44&Lh;v$xf{s z3?u+0Oxm-979xdJ=5JTHaAEmdz4g=X9=y4St*&k7{cOBLwYMy^u0}!}j$%Js0`A4Q zHNzmfjP@9_YHrp-S&0vFDbrHIupjM%&SRBF%O?R;Q}HW!AMQBNNLZ2xhM*4D4Dc^N zX_`$B0alfC#A7%+sO92#W3gKiJfbKa&3fLYr`-lPXRyI~44K7~n3wr;Q0Abv&)c>S z$m}}xA}%WkA`oWD)J^5+NQ8cHvCQkr;UchSAc@p-CKsD*&F%Q|AoiR81syu+6dsH-LLUBSwyNB}jq_=fB4zHhhk zY3ClBLNsZG67FB_9|hwJwczaQm;vp^I4e`-QqT=r8C|_sT9-lmO^A0|Ku!@mgbXx{ zI`#>$t>u;i=dai3zG?)I?F%?wz3LupUjTbnSN|)Pt{2Mc@#yze09R)J^gura=O|0n zLCsUgGWJYG-S>}=)6ULinpKIrQA{5r6jsG+3FkjpbI59pG=PWUjN#48kM}%ZO6s9y z0#CnAFs&IwBu#$QT!T`KJp&*vHZ_j%{Tm;Cz-N8O`>?-1OCn`1YiC)-I;PiOuRXno z&EGUGmL!5E4|cQ!S(Fc9p{J0dax(@GMdWnWK7<6TB1bw}2}u^8+4@03 z`ULQd1l&dKh$sz^j)M^1L${U;%|*H+nT^Kv{>h&%d9+ir_ebis-#p2y=Y)ILyseXT zH#&Le*<<~YcLQzi%nQuD<5}!cDpJFheyhym^%;-h#Bisqc((t;`CmWA_1}le`WRO^ z`tf>NkK&|^n*rFLz(0z)9l-qccbg@5rQ=h$}dmz0Ms9*ggt`z zsq{XK?Lz@{+h1?M^$eg5Nf2U0Fq0*LvqYOz!uvq(C;U8CQ*1{tZV`}tXP}4Ge%*M(j@w}84S>Le(l3+6hW1ziz8yn(uZg7$B52`%@RnU08pah z#8p+;DwNQ}jqFIv!n=4++3T1eYq>nfj_~X%i-K=D06xhmy!%;+o=tXGFlmKy9f(OB zXj^eY9Af7XUCVEkv&$80;9h&mHZ;(jI0T_r-NHoTe_}*RIwwap3f@^u_|e$C~Kz%L>$eej%puJz`XE> zcFjwR@^0Vgl$;VPwRhy!THQ^tQU$NTb`}h?*bqt_yb?XDK)aZGOEHe>MBRy$7X;I8 zhHp7f7b1q!UR{BZ24KbtOgC;2T^9#*2Oam zsjVL*#W8kn8;2taJb*SLXz@FhC%x_4Ux8TB+5o5E9_`h9|G%AUUm+;xP)md|^50y9 zOdNSvV0OHf)i6wemwGV@GP`o=K(W_-_W}5whK0<|v4f z>3+H-iP%7pZB#43ALc$AB5a(f%>eci^1}uZj}g{j5>(?2Uu!u=Z-5kL`)?8DFB6s- z8_2L0;&*V=neW1@dbfwa()q*Yv-oLAb=-In{t4IoA=U!F^I|#nS}#y8oi=CC73A6S zF&2dTWH}aq6~sR2?lTdNod7oK&xu2A0HOn;2PCvT;e49##{>L_?e#o?)^(q@^n6$_ zZhFX-s=8HIciC~189#u0oD4SOKX{dmyWa6(#N^KM`MGD@TaUp5SlJtYfmjTROtk>= z=lEGMJebdk&y|yMeA*kH^52{Q3>>LsOYIr*6E9G1LN0eLMpqS;{;2@!=`ow|-g5h3 zhrkws$&3j*=s@7`O-Drvu;3!^sC)hN%Ct8P*Odx8inwkGeistwRIgL+KcfhQK6LL( z(mGoVpRLOHpWiY;(*9m(1#6|qXv?2DgaUfT%Ef?K`RyV2OfbK;>3LP`IcwLOX@lrY z^1F*O6Qk+?Naa($2=XC7%v5HamE@}rd5W-4ImF9X>g^gb7|}GSw}$s zF#hL{lUTUMLjm##ie2gZ3nx5WnYYiTAByA%z565F113>3QzlP1Fg*#nMG!nadut&^ zp_(rgsbgkcXkQ(l^B98gk+yJkRmk#4v6aV@bIh)NXI9Ne*UG8|=D0q#U2I;x{hc_6 zKV$Dl_x?9a>bT<}pH=mCGx*(-@=uIm#VRXupj+ntj{xYx0uAWt7)0?jS?UaJ13Qgf z_?+0M?!Fr{XqG@7!&8X`7%bK)VwwRppav z57@W|VvY}pg4D!1rc&AO)v%wxO91?21BSD|Tlr=qDRCcTOuf)D(;2hkmH?m;YJ2_u zF9TK|xWM{fI5_ieLYIm370MaiH+|W>f_~h=i*G&5qmT z9Ug%EHIA`$-~zI0oW~Gq@bsX@skIxg?^yvJFMfy9cW2?*gGKm8zqSy88pRQu8H;3v zW3Bi|0j~(m>4}eNeTm9ei4pFcgZKmc_qznZig3V<>tumNKG_r3xfgzL>^nLHP3z>} z{M^40pf@IeH@oaS$3=gz!$%$|fGy2{YHlvP(y`jJkdHHVt|8N7*ty4D#dkIjnx6)O|64#gK5%~@ z^wz!e@%+&JbLVdnD2x77iZf_AtwlC+jKVrC0wk=BxHGQFK18UGOLIMP=^OX@ff9b9Cp@dXG8yPCidMr<9~mCCeeWX z`N7|GnQ!%qTM!)1;n>brCR{?WFTr>5SrLp^uWwSxu7({l^9dNOZy9RTc%EF z-At-2<4)$-htTb(KL?;wfRLmd+Laz}k|L_qrOK!yVay{vIwdX9&|(W#QVP_&viaDX z+$DQ9z-DXkh9)bj9&==3SxCU`5WpM)>?^^L@tNM+Z98OpZ;u-IW&&Z%Sl!AZBq=$6 z-q}PHXs0KtCM&pR57}?mM=8o}@EmKusYYXXyVSf3#&At zR_)zqoqdTqJYXJPAwF`%XIXo6lM>_as};Pey8m4J`?(4r`rBhMkE5d}GV&`aS0C#A z3r>3tpppDCG!PXkD2+2fmhcV`_=={ zWCH3Ocp80>T1G$^X#>+#evWWrB@=sUaymr2s`40W3n{Q(T4jlSBgn+vZAwY4QXpp3 zV~=3xqr?xF5iHCYcY@r4ESrG3y{<~b;CF&Ns~Eb!I$tbf)Kz?(DOi_|Smqy(F=ru>1Pdp? zf+%Aj`e1h(P@(n=8<2>d5`rDwDx)1iL0y6Dm3n%WrMC(tV=Vhtuma`cd(hoL@W#TZ z6dAKJjg%=Wu9x%aOFMwcp_Lv|=s8Vv#6p0vE)5^~Lfo8|le@uk)8+zM7q%O1(Y9vE zd$+aZ*;)|@XM2u0BpRR2f5bSN#Y+rd)FdvgmS*~(FKOdhQ zfwMN7&#$RuJ=)-bt**dm`NrvUXZ~+fq_c5AY_$9R zZwBYA;_^2?6szBTGkJaIpiJGGglc_gz& z&3;|1Hunu+2JCMnJDLK~=bjxFuqhB$X|-&rE>&<)o=W+tTww(R?9Kuy*Cb_I?%d5Q7v7K&U>u12!w*q-^FgKaIxZcbyBX z_p{gBB5SV}WybixZnh*sK4~+C0COZ1z>j%EEJjdLbz}Ho*SQY5@F3M39S0k zvT=ND0C6;5+f3j8Zvf%{8%Tg3d2gHRRDzAlKU`f0)?8HyY8HO$3^9VWu$%x2dV$}?VkOt_g-kZ}AQn0hEQ4@v=_Q?TuL9^nA*q)Qb1Gw` zqo|%V^*pjKY7%TTfxi=sSlP}H?9hlK*oDrqZ3}^!S)j_fIJEd~wlRu`5SUonG_JGL zDBp1SzR^g=3tsLTD=P6RNDmKG$6asnCwtTRm8)k&IfozMhLdjuY&(_rQSkkgFy?|C z;8HbwwP$?xVrBvP;s)|g;22g=qu}k##K6Ld^b${3Qt|!<@O}1K`EhvoJ)D??!|EN! zFVIB^VrQyv3dY>K#RY( zg^EvQ$7YF#Kw2`Q0eh1@S|6fo!# zc!%~%k3D#bl4%YtTZZw(bvr=YIrSL;&MpW)wCypek%Q}>%?o?by~V)ug6>=l0+sM` z?*y%ej<+&{KnKYO>kS@aASCC!S&FWe4Si2dMY}5!2Ajrj0e|zS1SXymc!z@z??#!) z1Nk!s?HdTvxjhibg>0P1tLkk|3v>J};!0=N$SI}3g@+2jaofF{{AZ^@jlP$%t>Se-ukqftaRdD zU~*693pcGd1ed_~+rR9`w)m20m>QhCoTl1snaCD)Z6O$$e2o0EG4Vo*`~KLL+&)q! z*QXR|0;s3D_^4we2I5H0d%R~x9ZV=HyQBCH5gbO>;wGLt0L2CNy{sWptcGGfkKQ5~ zO?diL{^ob)RF?$A;3s5yNdX3n`dKE>kH9b;QKqTIffp?#d}3jEC6eoXA4i#^Yfks{ zSX*!*`!LTu!yv#8Pa7Rz-vQmd9`fdUI&LMA z?HLUqXOLj=dd5?`Kev`+M*X}IWYfLotzvcy6jfDOfm)bEK&GB&8aj%%xCGl(;7$0C zi|V?pR?`9E$y&Hsz%9Nb8E{U~Z|;e)>3fTEJej1>)$S~Qr+eP}B5a$lr0!Jb>nNaV ziEOCs`51dr#S}EY^)->8i0nr^r7G%C|2DlagDDxRzf2x%sTY26unj@`M2|2k)8yPw zsY%>hB|1(*es>!|r(JG#4U|`oi#7`^?knH9f9i$j2Bc8@(>`=tMfO@OJqtY#_XVfc8AwWkhe1^0Exyf=qkp}2=XZ~43|3y4F8D#xn!Ls*& z9Uu<_>QzeA$I@=4XcGZ8W_opcy&|aTcdm>e`ZLH%lSaqdk|SBVQZ0`*0y@=Y^zY|o zz~mhi>Q^6o6?8`+MU(7LJWhTG-!`Z2N$I-NCx zoYzR00p92&i!T|If!gu2jE+%0%VU~FQV=uG!hmtGwIFLjRHk;*0awENnr%>t3@}Zn zmhv2L0J-rXPZbD1{!LLm=iyUcK^>JnR^7j(ZJMOaZ^yZAw3T-8r$e*e=nQ3Qnm-&c zo}Bv)$3Hyk2iL$_!>tIUCmO3R1c?=saB*|?4%mh_9;pjyZXM(3N3ZW;8)aCRSq>(d zs`M{R$}=Q0ShafV8a*((x?H>3{PXCP4$L)Hp(|mqwSATE8>^eb-7>pnRR0Id0~F6@$Aon zo^=<d1Ob|A`iy+j~nNK)aP_huL7y1)e=v zAp94FEbLrgSe-l0jmcQ*mC-M&^2w*i59SnB?Z1|OPDlR-H69+M_C`QFh>E)*>?MGE zb#KPMRY`Q={xJaZxS%X-RcJST?(+yA`D3YszhfX}|_1mm~@lL{`3(AwfTV4gs8_=^T1h(9}HM<#} z4d~70v2%^SYZFl~1MW{n@!w%*x)$F@KxKadh|Yj|MnPoY;lW<^)4uly1u^zsg<>sd z4PKqVg3l`ZI?Z$(Db;tbiHj=j&w%iV3DQ+kckBu+Q&)o0y>;b;>NT#SXSx@eMbPXH zm}MK9rDY%GV>Eu;siCBAhm~0>mFjA1CaL5Zl;2*zvXz-+?j0bUK~KB{ubTj*%3dvC z4uGkvT<*01w8C~8a95i&`e5Blc8I;b&u-AkDLB<`q)9LytdDNjim8sffZPZXvS{gx z&q`H!lYByVZ+L>Jy|Tr6l}%Dpj0aUz4np9lIqIzL`qKdXD~|a$zP819<%$q&bxXzK zweb2&;WuLqzNmr@zXVRRda?sRVFCk~MRrtqZ7S+BARDnFB_>pxRi6)?0MqNeU+}H= zc8Tdp;PtC}fN-BU2Xp>iVD3@wo%^FcdNNq%!faorgPvIp&;emV{{%Py@6JQV>lcc@ z4usEq?hHMB761*CNfxMi>ksD6j~CyUiyzJIAxt@E(IAA|t4T zLK?Ur=@u>vK*1h`TKi3BFi4?vF5fFXxs&|aeuPoBR~rX_cSO{z*SPF2*L~wGmGjM1 z+?&32r&oSU1~586d^5jqs@t9Fc%oksZ|@zAO1ktHrvswV?Hz|lXP3R>=3JOk>l^L~ zp^c<-7#Nyx!kzVgdbQPoN!ZaP_yohKI?i?uV1>nVw)I5Du*xQwK5!qbdK@gRJvZ`c zupD(^jlSqzd&%cDcB-4LhR+D@zw&ub=dgc5d+Iv@dQoEa6aY+ro?UPn3?f18W_qdz zRdx30<$-cFCO{g3)T8?yDFDW5Cka+BoEW4XKT362xl3|zjwujh@cQICJTz+w=UTa+ z0K%i*+m#J61WUMhf}>3ix!+HpB@qI(UjNWf0qw5<;}hd*B);a}caEPQF#*J#x%*5{ z@wX60Txbo!6X$zrz_#!V&SelTepZ8icTd!9*5XOIMyJLrJgSJ-e@kU@%_fs#Z*b-b z%;%J<`k~UjrRpPow=hc?1dFP|xobJWw@F-)^2LyRr$x!wij zs!*VlT(EYuXXfh)AoqH#$xD_P^rrm`5RYElVC&>0NPH(C{jS*Us}d1sD%oFh&baut z^V>bU*Y=<*uhd`{r%?%M02^9>*(kaPi$+vYm)X9F*s@(&91*x~_KE!f-By*E{7mU| z7Bk$%S}&U3ph9O!M-=T%BoCUtb*=&788NJB$|nX}*Q-`OIKaiBEceD~&o7;rND90g zvEe;ydn>)>o3IL#RqDIzk-4hLPOHI#uY;`7;)g6${wyJ!;d;6hn>r~FQ&6}mD z=kKB#MPaYFQyq_O=o~Pf`hDi0skwBj-N{QHSn!@Y0AKo)JK8i-vA#(zbmy0&XV9x9 z&opv#kOQ>zbPLG&y8W25>l&V2lP9*>@2ENZQ^53@bHn$#_Sf}x^T$8y*8ud}0{YwF zw@4+osjRcb!7za`xCYdd19*Y?9`(VZu6M~nmXH&rFFZ347&mbB0Qp^sX6x)c>;uB7 z#W+$HomuVCe}7NRe&*RVfo_L~#f9Ao9m@aE_5*&FA7Y-lC5OST*YntZXD0iZoq81f zG~n9%<>awFnmGfj5{e|qzL+%Xj$6bR7|n|zJLCk_des65XBLWuw~TC7I2dQI>S5$W zpZQWk5#wMbHVp=w%;GzxZYVJZ#W##VTg2{4>Bvit-8i zI~FF!Od!qKYZUK^`fx2Rm>uBb1-T>jKTd$2(T$+v3Sj$-5hO)00$$Wfs~PL5(en(G z7<_W2TjXS~wmJ~)Jy``t?7hdkzgs_On+40!Se<2j1mvFiWQeKm_CV{tIQQv1PmD4E zi=vE}NYq3hcvWzp zpmICjTZP%OO<5IlJ7!ozDc_Rr?cP!a?NYtHR#E8#azPzOR2@GO8E%g~`^xI-Js!>7 zc@_{11f5h!ZWX=h2{-3u#nX~QX}4RD`#sKgMq@AqD(~grp8YPPz3pH-q)IaPS^@Hi zgqyfbX_?f`iRGc!tUc-m)G`j4_LnLAD^Jh%I zJ^9XtD>v(3K5=~4s3V$gvj7?MlurhUiQeU&^-}lx#v_sKJ*r%rYftEe%n*_b7^&ihl>k=gEzH;7G)g_>ZXX&Nx9~+XesTsN1S>ZS^9X{-YSsa#C_WwfF4?idBSKGAR8a|#-CgY-zhNN zDyWyrw56WQiocTp&|uJ*!U?DS-KeqOt_nNN#nifD;vvY%{ZRe7U{L8f|L*UpR><2f)kk z+GjKj93a|M-d~~K()j6(%cK@~tH2e(Ttv&rMZLr#?KJO+d zk9s^0z(Z9jHFF{9eqi&Hj+Wqr1!eGFh5bw-R*8?no@)*7t9256AxoJM6*rf?jL(Yb z(X{ni{Vq4B2|cC@fDYSpbPw*MvZ{q7ix?T$DyDxj!`hqK{G}ljd0=1D)LDMk^t)3ewH#mW24ox1jv&z@ z0XAfHJVSC(EmuN&lRo0;(80Za@aCG>CLNVlS+M3wLAz9vH9ChV&u7bEytGABs=7@u zYQTSdiX)w%IYTg6Ni5Sf1LX)rhXKk`v-)7!1vz) z#NQ3jkN=E_+l}T(BhzZj4LMkV#%@ZK$pUc~$mAU-s=&hs-o2{&Op6C6b_rV{!2q1i zCI?0$Zde3gLkqW{L5Y*Ils0=aP{wXP=bWs3M-_4*B4@$( zW^#H~QQ87Fm=_di4I)^8txtci$Jt6~J)4b+b5s%-=kq`~4KpZofW2wGL9zh6 zR+JvYK7i!5I@}D=K?{~0qdnIE*P!IMx}ByPXrH_D3`!*y8nhNMv;$=C=D6e`fl{B! zmiyV6mDKZ}P=akpl8O#NTZaPXrKh}nKB=B^7(ng;+=!jlsHg`$<3;h^`F**6M!*e` zy_xs#q^stIwcr7KweNV~e@>XKsg9fb1oylgaB8aMY6k3P*c(rC1)$l^h5XEIf(cGM zfPu|h9a;0$aeJ=ISZ-u-_GJQY=x&=+z=+p?@RtGb6pZiB>#qX7|5lLw{Qx=zNG}lw zj$PJN#O3e9RYkl<(Sp(LW<0iY6+qLmd+RJ@5~#aXnG{>#EYT)uJjtB}YwPepw_uTj z$8A#C4rgndSp+=VG1L4GBA#0V&}M*nheJh^^kC{!mpS;eLBE)Mrk$jQ@vQAu*k?tq zXre-Tz#TQgReFIpaXwKJCk;T1P0Y+ld3O>es#*wtT%_PRHTo74O4(CM8MN<}%!Ls( z-2}Kj3#&#j%K1B`Z?sg`b`*HvfJhkViy%Q1t3|BIwb$jH-R0d7wi|IT*d(n}8HXA8 z?(_t6=%a#fJg^a z%d=Xc-V~6pVr^1=J*rG6FW)Ey;*t-xiRcw0j8hVUk1Ft6rdwh+-d3Q4j{KplT9BwTafOF z$SLZ(^BLD)-K5gPXbX<-_XHpv(sd9Y6X*c?Xi@Be?}*mPQ`4laevjUd7JMlHHYxVz zfpR7vBznE;Of7hqgJrs3c`?%oXV-PXH2n(vs!XK??ull;jnv`>4QwtwA9Lq8a}U{3 z_$KYvcpMBr9_olTGtuyPb2mGTX z)fzJEhbfq0xJUH#cUzpf-)ER|z|j3QTD#v~8J`OKPTKK)ULRondA$&z9~JcfFc;FZ zJ%-tJwg#OzLf_Ck8J%5Mf^)(LIWU1I93Y30auH04XQr;wQ_-ZSq_Pf{XMcv?F;*HY zv3PnI1N@%%bEFJK3(Cdw&+LjldaroyLj`U;@kl0YO=v*8C)yQR4n~g;siTC2m=DNa zBz<~yo*&;i3L#Rrk)O_mH&yP@l)xB_2cK)ypp(-tPNz^(`cF;8(*PS?QA4m^B;6<6 zENwI%)Ab&LQFW{nE6&UX#4#G3yi_9*;gsI!=7gdOcnhp&j0-S$pK7H*9D0Bg_Q0+{ zoFKrHB546JHqef>)cS~PaG&e&)izB7cNo=mV=>lvkh2|k^tT$O7?f^y>_?P!ue!__ zq*|di*q-%4f42ge^nKxB^etSPHmgUv54eN(M*v*>yw??HKeI6)p3q6#({41-ng?Zk z!+aM*b@y}eppiXp-Utu+_HH6{ zb!;Q##jU+(CI}v-DWaBh+Q8kq3wQ#EgwO1N2}l$}#HhM9(amNyR4gvtGglmK+-E$^ zH$RYa$A~99#~7i}1N+HDvoO_g>+zfvcuK;ZGyTDM_4Q+>jEHCJuK&w zl4p=)K2c1ATbe=oCP=C{#V0evJCKX3MT;z;UN$;#?_p^d~GlrS6uZ_<6=9C?lN5Z!|3dOwX2oE!&2)1wv2I-Z_L2E&kz;q+~9Dggi^ z_NE2B;3VyoPAl~olF4`l!WBq`ux69v8BWC*F33(Prf4_wB>>018oR6lZ>q0c-G|*{ zKFCB`)jV;9%8URc#G0y-Wqa&de``%3Abi5nfM)xBaD46MW&^WdsN{sh!0Aj?cXbFQ zN4;dZ+Gl!gdC|YEj?ReXgA;Qb!3_`24TI1RGBLxZ=<`gOWa?9wBBtx%7e8S81E7D{ z{el;we@B469X{wdltByr`hEQS_XDiosP8)tS2hVcw$v)Q@8Wk2z1#!p$yBzboUT)* z@@Vc&Cf0xo+w<+FH%ElWQH7fq4W|`A9)LP_s`}pVXtO9z2AiJWxe-h$Dz@l*mwOd= z2b5R(WK>-=LEw7U?AJfDO}+tLp7%LgsxynQjKM0 z{9$_}E0>i9okwF9@M4kx&golsZPlt!*ts2yraL-L8_MTs9T8#LM3`hDl441RBf3vB zbl@)4c$)Gm>G&3iYg#y+-&2USSv6~&tf@C)Gtb;sf>q_VRBDA4TY~HQ+4M^zHB{_K z@X)2F=lxssW4qtyD3iPMXHZ4Az6C*~`VBoQ-{EVxw2k)lc4p$ekhsa>2sj!B!w%2#>xI z^7?@8&+Eqn^EbN-yrzPFfToQ)DVu?M2I;@>`0qx2zu}JGIi%ZbCb1Ei+mjYRUlaA`J9^KaWmf~NJ&LkIwxJN0 zqOMPXatp|;Wlsahn+b{L4s;*2LswNpD{10L+is6)c)$wuWnAMI8%7oP)M@Q-t{)Ll z?v15YOEXNqFZs=P1O0#sKC2Z_N`aC({fbl%oWuH0r`RW1_x5gD{OSnOH!*HDO4_He z!xEKwRV8)Qx@*#*R$ddGK)%J+!GIV&cMiaMG&F3L%66b1?`f73xT~E^e#sB`6wyw; zd&%>>{UN;6ho=c3k~X^c8I4VzW@~6a(n5*0;QN?sdAr=4=bh=$bO84~H!kMMX0L-S zK=t~nU4gXJ0&_R1)#)4ez&HZQnaDFdkEZh89YVmduB9;RsoUPbSdh)OfNf?2$jM_O z-j|YE8K=22M ze_kID{*3|pcBi*LHlD&T7yAWGTyfj%Z@ucj1oeHlD8|b0N;NFcQ}m56kK~HtFl}{5%uq#&!}-`0E=X46z^vtTve&Ry5cFT`kUw(wh1N; zMCgD7U&jK)rYohfn$L{#LNo*5fQf$UPv=b80&qHrsKW}P(Gp=WJ?c5G1)E@$7iI%E zDS;EM|2f@_;jubUwO{ym{6T;Atnor`Z3}Qc;B9@vJ!SD;l{&?Vucmz@IreBNPKbpp z7IuOydQ7PUbfeunNIJ^ysU*jmwZzP^GI~W7oX1`Vvp2#swb|RX8Z?U-p{muk|GcEO zY^H+g2@$t}J`N**ZTFdz%)ze`AZxnj>hs8J&HdQ}^6|X&oIXJO^ZLAg76^YkK>vr} z{}mPY2iPWb`)S^gc2taeyJ`R6vGDB=ow@WonFdX-g&JODl8g^~s?ml5=gukz4_)QD z12wXgpN|?YXF&T`E_O_FU@KCsZ~BVS&<0&UX$jbw8f%&{Fqi+;N|OTRY^$WMO14qt z_42~W-vYvgS9J6Hy$0 zKe!8Oqk{EaRMEGLb0PW)59<4N|L?Kz-RbXA-5p-V4{d~Qdx@LMH+^-_2B=FAj{bx3 z-ZKN*zZ#6Y?_&&0*}x{j!46ckBd|^nc*74U^6&ThTyiDy*KUGBulKO22yqxRZWD2X zzIAYK6)gxcLq-S~KLRmGvWTvuHJt*6ChzL&Q6v!H2-$HpYFUXSFkDcr3bh?!aC{P z?b|>HP4PJgpp_-ZlR&6REiX^QFoz>$;ppamd;>Oj9-|#|?D{i1ZqJ@?dFqJD(9^s( zi5OOvjeSmA0H&Mw1eJ6Pp2-wC33x0d4`_C2>h^tfk|!4QTe+7Wjb1q>=&Cc6E-d>! z@ABMtJ(t)hz909QmMKw3iMqFq{b${StU#PclcxvBy~Os?46P$xnTX`;-i2r`M_&?w z;DwWVS!@(|t#qp6c}C{(M8uT!cL8#nBX6G936SssGp)bsD}pD%)PS>4@m!x~z=!$U-81%y=`r{AL<`ieWers(^w zmFj$M0I|1er!-d2_M%{G5jFtk`7`I}pntjJ^YmN^du^_DO{<2bb}vAc#0J_G;xdc+!U+D$`(a2e($i!3^Ci-CIk zGjyI)%=~y>t z*0ik%yR}R+Sv#?-CqvS|DQh_;Q#mg4?zF(_y66h=y-tY z-QyA;vc?m#8~*Hp@xl)r5a zbl?IoWo4Bs@|j{PKD#x+ExNa}SgD!b@jcgH$dZTH1xVf{=#bhCGN3HgcDkbY1;mRv zp-3dV0P~S$xML4zrHGaQN(5Bsi8u-RwbNJX3QgIdo~=SZOwaiy+9FWowZzYJf<_3q z>9O+|BfpaAAE!{*CY#Dw^&k(tjKzIHKo$0=%HHfvjGqgfIV}@Yp;OTXee;7> zJE7x@rvbShw9oqGo`L6B1nBX5sV%t7dl)f!JTOf&ubqE;b1)h=65xA^>P(%!cS{jx zCn=Gw-x3^wPq`k@w_>w-^&r6k*Wpz3b5oo!Arfls^Fg%6QHwKr1Ag;be$@P?t`)!m z=UgARx`$kE7&RPXBBu%Aa}&jiO<+7PdPMoq%p_bh?0`eiw#SDify(NP=kv6lQ~ z`_Cfz`>2rTiu)#d)n%0(M_=BpH+SETin>&N-;!=r>s8cK(v@8|S}|5%p1)<&hwkvr zh*O!<_h*T$9a=zqEoR>6pi{xWniO|azuR?Cw;h$rO*jN7Ya!~&sb>we8BivNOYY{~ z?g8Lde*P)D5gp`-^GpEkMS?b0sA5PmfJ$erp;dEeJr5?kqiK2 zZ*poi50lYbOal@3HVqYyH}n9FiK<{T4Lu-Yj^9&u_CU4zS<1@lbm;6XV=sgE{24h8 zm6m}`E<!!O%Tz4AN1Kzvj)_< zAt>d_>N8bAPpdK0Niep_E;jpFwNcE~(%li@S-)e|47Ei-HYd-C-Qo&n|2fiRct z8Z}EbiLCGg2&{QKEK2m})MX20Z;_e>Ke*&AfB);Nfh7KdYxquyf$#7<91L*Pq5pZ! z9Jr}q?{}Kie{O*N0O!BA1F)wD5Z{hS^akMnIV$YG@u({P7QkHoSE%plMs4Op_5Jo4 zJe0RI@@IbbH1KE1~cddX$|9m zZB@_ALF-do0!q`5D#e&&FSty$Bm=H<^$NysT7OQ0aos}>8uer=Mn*@N%rHGU=91B3ZO;|ef zuIWYhK#;BU%1Sz->a=W1s;bZT@Wnt+FsNe8!$idx4(3=sF3giHe}Avg_$O*_oq$dlQ{u{t}5mvW!A zroxqj&M|N2#7Ag1{bZ`;fl51#3Sb6$-tmPf++FZ31MNLl1KwoMIR&^9)Z+&gK2w)j zzL5+P2K{eWQfEMWMnE}+>Gt)iymZB`(0Daho3gD`xRb1gm*a2BicBY5 zL~nVqK|@X8(D)*I=PMPOQ^)(<0&~$`k(|$XAY==CqnV!TO~i%40~X)J9y%EG$P?o= zaN1Q8&s{UGN`f#B45li^0brGhAtt|fT)ubnj?NdLqnJA#8niPhmWI6+sxBA#BZ zj=OPJaK23IZjx65@_#E3|A5sG$o_6)iG1pNuBQ6G1fc)=o%o;qq2}ILtlg~C{`_C9 znB!hm|Ghsf)$V@ihZx-N^zcN_)%V|GbGQMk8z_I^W8A*;L4DtF^tB7>yDU*zv;B#d0QEcABMW#=kRQ<<2lu@wF30dNo0GsTux zkqs71bLL18t|>0RD_}yWpv}&n*a74m{Juw_zalA)4q$fy^FZ{;V?}s<=P6CLGo&EV zlY;*3$i_MZ(pf)-jRHB6!&VC_$=!CA`Vxn5@795Z-( zxqmDLmR^$l9F>8%D6+C;@@fo`MRq^&L(L}NXW-H_;DC-*8ucCJH>x~KR`H9D~1xR^8iS{{#@;?3ZB9Ge~;eV--j^Vy(<3a z1ONMTV}F6AkNw`K{yWv;?9pJm9l`q@sHdZ{zKasXX27&m&XSFuGB{D268wlx8T`(G zb?2Ah#I(TLv|1?**{0@*VkeKe2NQ{CsOkz0HZ=AFn5U%Zz{=0u{5%!Vg}c4lR*ob3 zgpca@KgZAiVFm1ozNj4xiU6y4&erevQ}@4S{-LS>ZLny9RaC1qox>28gUIxG-a)$s z_Y{^eOjV6m0`yd>^|jicJ=9Z>PvH#Z(o(Xm7d4?Ay7P0a{_{{h-7--E(X0A+HY}C! z4CFl}^?U@W^lYEAR-mtEs06Yc&~0@LQUJ(pwX+94HV>o>fH(F5D2!H#Co0dE?5}4< zj25ZsU#(y~MOU8$a|pl`I5@TuoAZ;d@^d=b3%h0+8$*?p>;UhS{Pqkt`M@^$QN}td zFlT~)pBdkWk|<~vHd;7t=;}I298uBNz_^Gj0LSVy190C{O){6B?i-K5_zTtrEYD5! zGh;|&+qtX2c=vl>9#x{?`D?&+EP8<3h^$cN4pN2|&MBD)%g|^`PzUc>H@epgjZa ztknMN)~BA*1C$@{yY-9SetxT{-vs6USNhI#;##?nJ_ND$EQ*!;)YH8hpRAyq967&} z_F0d_JCL*;o0Skv0azccAfsK%8$HiPouf**_xq0MPb>)60`u$%T`0y(ZLeK<{^e_n;)jJJK$pXq?+q`|WU*tSpH8!HxcD0cw^&XY5iA|L1ofJdTU(NZ%4 z?BSTklWR+A$9!A>piCx)77zA#l*CV zI0Hb>Cb8sgTW};ah361LXIFD-F0ZYL$ek%xfg(iPoJ02YV zzZ`)71d99i2Ssn&16X9C%uV{8v*O!QRp+B}ckc(jQ`&K-!vB{C=-3~kayR<>uk@h1 z@2DXDCUBL(2Sg9ef?1}X94}{&KPkn z8Cb#rOPga)gbsbN@iiA>^==*mwyOR3;cg;zA(d7F*R9dyWASLsLUemR){TvlvdbDO zt^N2tj)xA)cmYioc;OVp22vvIoneEd|LZ5t4_}1VQ@)!%y^Zy`xp`iAGX1;y$6pL)@RwZ2=k*4VJ(hcV{g~q7IbLw-uc5f#`_Hq_ z=dmAeM`b&En;!xFc5FO*1`T|O#@#C5x2pL+e?IWvbgQaA!23f??yzh--uu4|Ma}&V z)PV}TS<0S=#W-pg?qX(P#r? z0LmK*yEN_A!I%QsM>RVM@SQ6m51TYTsK^HuTK1%8_5M4pJyY5DM_+lSu>abRaEqpc zoZ4y&iA^=MD1tL7%PpBeSXl`uhDBjf<|=o-?eKcTQK{`nr2@X^8B^lAO7|`S_i>D0 z6007OrnHsEUg`H)h;FCuvTud}=2|RZSPD9TtafHeD5vM!vr+b@w|We4`@=Q=8$!5n zlXTps3Jyi4aqY|+AidQJqfG`_YHt9t%Mw#Wvu4;D(8&Q*hC!0|z^pf!daTTq26XAG zGR>})8OM9CE+|@yD3cH}NEWj+0C4R4Hnm}MGN~F}xUh8+&#Hhl^{g0XA-W77nO26JqLJ*LXxATgYyh$Ji;5c zfSr4SlJ5%Ajz^@cW^=V@8z#Rus!I$%iKnA$Ojspy=5&yHM1>C^KYbg}83BCDd3|12 zkBw^|3{H;EOEEE@JYU(Sc)^13nhN?&i0gMs|2aSgbA|f=xy-g`cu;Wn4BYtu@_Tj+ zJ^ZeJ9Y6cujsCtr!1?XsAC79gtHwV>v$Wf8$%Fih4?ZYu4^|lpCQ;nf}Q3qSWKdOXhe< z0qXm3vtHHbXXxb4Jn|~#>;yJe*t`X$FpJRI&7Ohi*=pI8xvWEf_{!|I6Uqa{|oqQAZrq4?WSNXFA(u zMvlkDz^6QHL&4y)90Y=IK~i&}#HnK;IUrp8+Y{hDJ6%0e(U}VQ2b7-_9^{vw_viIR z$(Spjaj!LvZ@RXbq~67S^REKvys4-^*x)>R&;?LWlG6L<_gmfDw?sifKg8W`;CZhB z_#LDj)@wIGxf@{L_yF0r#6YG$|31{<_v{nBp{Qz?N`4M@Za_bKs%NmCA78GX?@3qH z8zDGI?yA^WEWI2t{jF!gHkCy}Fj%k_4A=%~6?C>9T|R|8X^K1R&t(<82!3%>pgfDb zZHEZlKLwm0qHp5+A65FJYJTryu6@d-QeM2UQGS(29MQq*w`#G$D94M1orezN~Qe_y7j+nW~C z-Ai&|7YL=(^IKlK|D1Z&@NK_%5AM)p-FzjD|8Xy7XMazHgK_w-pnJ7qG+Chq+xgfs zIvg+}v_1S%E0nW_p(!{Cp-RPP@iuSwAoWa1msZ}ieeC^vfl2U;XTbye38^WLn_b*e zTHs-)mkPLDDx4V68yXQj2Ad1cJcby6uO8%I4#bx)e+7_S47NWaa$h*EaM3g7HRppf zpP$v2m>J_QN+i9A;$BtU3mx~^oPMQR>3dYpEB*Wiz_~s8kN1N{nycjd#zWxk5d_?- z<^SA38y?E;|HY#Z{SMae9_o*P{$b6A2TF{qb*UP;=WB}G}UfL!#i}62kUuQa4oW1opjQSyBu5< zEKmRp3h(p!5GV|+C7_nRO% zcEpkX#Z~;RG6`zsjt20WvDE<9wt5W%I`T8s%GF7OY1>af@F{OWx(CFe5(@PE(34{V z(b0v#2o%~b4B9LqUXlf_ad(u$5veceeIx|G8;318{9U>LqTafLUo(Iz%enV~d1Y<=y zkf(_S^db`7OF+5zT^nKm9%k82oX?DK+y{_fclmDsK+&jJ-@tYTb6Gr&xgY$&wS83651{_&Pp|##zmbLI4gmM(&3Eei zpWprW=tI9-vig>(zoSQe%N0trSs2T;WYU%O zQ=XUHJ!VewA&stip;rMJ8qN}!T2k6^%RbSHUJwUWM=(Op$+2;_ev~{Dh;iJ+` zf&$ej5o`VoMbu8wlczQMQ09}O&O0E7kgmnDTb_zQAuo(kH0%WJ)(;tI?=vh=v;EYP z&Rw1zl~Q}9mHWNiO3|6QA6=TsvCs`5yG1=)r{gahgR#-{&N}MMmiBDv`}VjU#cr<( zjpjSy0~bb%$_t_l#=npNWI&t0#l_U=VW)Gz!ie&|kaIvF%CDW-_ojo~X1~zfXKUZ* zSp?R7MzBnp&!D|P(D{9yOX7Z(1f~!`H1=a{B91P8>S-as>5rEkX6itKqVE@L+xd1y zFgFC`6N!T~0`em%_A^xXD{1Os9bix$p8(`~G(F_QtX%9n@}QB`j%+)rD1gU-PSr0fg$YwZN42Bo($afqm|G*PGV zI}dwcWp6bENQdwqMhiRXfm>s-B)r&FRonl3-d8)i7W#IyB6!Ip zz}maj-e*GSH`wPd$5$D5#&*oQ6eMTNiWA@HZ*R@o>CxFuBCDL~F4his75j4)k#IK5 z*ylt)^PDH&Tp2$-ozb~TGr{n)74qJ9&K}?c$iD=Tl`hAGVVapZyN67R0-Y3s0&<+98j~@C`RoJTcc1}LrtLxNYs8#9_0%I@$ zxB*848uf5MAf=#+=Bm8gD!NiS*A??5`;(PVdG@asRAf=f&H(x!*<+rn!usv`+^qTj z!&(u~$&w7-i|Cu^UEh+Zf-@E6e;As5&7){grmrPcAtQl!MLkQ?f@LMgtFl8__+*i{ z9Jn|YprV~5z=srjD;054LFJbEe#|9Vwck^%%u84S9n9x`c_@f$FK#6BYsG$Kw>FhE z+(WpLsg<9CYjXq-+^e<(okl?;Y=yR8+yNW#JeKWTlA>BFkt6=J)0lCkyjBfqk`&4G z4a2dSLhZL_PrQ&uP1?6+i#M7{^I@zU!%29ki*xj^_cWHASF9E1w?qoF7bmuKo7iC> zV-3dlz+S%=8uYs9p+I%>K58@hZI@e+Z5eTBT|51=v~$Q|T&XeN6WAFFym9!um7oZt z-+2}Bfgs#4I9oMjc_NDB#mAeX>A$i%{%;U+`%Yk-FSy-r05cx|{lmuZGp%%Qn=fBG zW?ux*k1CZ^O3#{CLiig8NdI-va`#+O%)i@?@b~uv#j)6%SJl@|iOJ=@@rOv*|0Uil zvNyW>fAO$syMgpy`-8Inze7Y0$BF#L1H|)Cps#{jLfGzis+j{kfaM0Qo0c88_PlW^ zORW^!j4&Db=0&Praw_+9D2{4?X^_4(KG70bK!NfCbk*OrVBDR$o+>Ecq-EMIak4*> zDgOvcdX8Uz9W?d~;y3Z#HF3a7U#AA=(lZ-9P%eT@2!AuU?FA0gKs;J#{FsgJG&K}e zgBqd-93p>Wbp}<%9j2nKfV?gxmx^lfU$=2MjLk1n+rfb~5Yv&$hD}mI+L0xdL{f_H z@G8@fepM;91`mWw@N2}QG^i5&=w$o|-F|qUY1rXT%Nj?4+0DmrA-Fo0a@x5@)&;#4vv$BX0 zIyoihe4;NpXx95Ywl?ZD1dRkg{W%l?_7!FFRgQ(*Jvi z#{D`f@>%KqL9xz#>Y4ifI3sMf(9F{7D=mw7^v)M?E=px>=;Ad6x@&?tJhw#AG$$(x zt_}uE@3sx()caV0dFe+y0M}l7(SIGs%JlSKhv3^*fcE1a|A&ui`nGG~H5~oyS-Cxf z^K5sf)Zh!9{o#wQZQIbQ$tU?9{r8k~HB|vDa!KrGGr15Ls=2Z&l7Wt-v1i~+tJDq? z8y$VKP-GnFqlk8y+|9^sf^Qs&5IUeEsj&*t8=GvexdFU3 zz=oKZTN3&Y^ik>4wT77$w&VT6 zoejf7bl`P_1`Yf|k5b;4!MmxV!DY=fK#t6$^-YGQ%-9lgr(+_2&W!C8Me%?E;VdcjG|+V`H_#;@)?K?jhJddL@BKVH(U_e0Sd-UgU> zNyYCOFb+QV-BaiEskUDOny&_yFM2Mx_&io~2{^eoeS49(tkhlOM?n`qetEB+KT1dU z3VH^@IrP|Bg==p8<2)$sIQ+;TRCg99v`tvE-9q8tq84?hrvGO84<6O?o8tTZ&p+?@ z-(lUhA3g0iP`Mve_ju>mMBE4kM%4)y?wX1^$pbpz&EW%iGRf_Na1pUu5JDaqCgTJRSuLHZPIMd9t) z2wu2<`z-BRai-}jhA$A;jW{B=3iQV*vAW|k-o%H(Vf`|#UHUmQ1v`iIW^*&&3?qoM z0E0I1d}44+Fm#sn(aw1627uhQ=1uFjV&#M{h zPQ05Q{jUM&UjwKw1*?3)urM3xW%Km~_w!Xf=y%$;r-@R4Z4L-go62uMn}^r<{k_}a zpU$Ii^{A-d71_7ibDn$GGez%F6~{q=r|1(uj?J5(+#jI6r^A}<0P9EJ`tJkq->UYv zKW}R8`{6~MEA&!57zf&86}(l&YC?4}tMD_6Y_>SYG%5|}^y$e~)4k*IpqGbqm$@w;`}F2c@l8*a25t=ir0`qrCnqYHw_p~gcV1vW zS*4Za4ws&LcH_710OfwbM{d;G@$F^~kw_9UZ^mkkrboTrWV-AMFTfAQ+{{EpXCtYs=^L#en+aXLmXe!^vy8*tZ?L z_8z`S#a&c?yq3pOK%+F7Er|x=70YCPkM;H{h}`}w;dp5 z%Qkq7sO*BqepJr&d1+5{>A|kRHtTiE-e233?%mVKkJtk46a{)t93%yjp&7~os8eC& zrs8fyvCR(qXQl#ADAL9;j&jJkVDLaRbV;4m4l*1}A#v77p4e| zQQD|A&qY($F*uRN1`HFWPh5QcvvbJ-uS4sx!Ex~_wcKX_1LHpNP^b+lW=5PCi@p1z zg*RJJ&WjY-FX4KMPErxkfw-!Y{nPpZ@i)0o5-9-LIU3yz=|6 zJHZ!G+;J#vR{)-A>Q*?nQpHp8AIDJ@=K+kadi1c%&+nOfk4G{C$YcJ*wy| z7H_)%{8^xmsU{xkz=!TXrZ%+7Wkec3+|clsZG_VL ziyu{BNd;M2YE6^NE`D|_4oa8WLtk0UFbNfPnb=?qu0o)`w+Sp7HVLSoDd-vAOJ#X9 z=M7^8X9F@=@h`?f5IO-C7d8am~0X(zOUl4F` zBKlzGy);yc8Eqjh^ms1@M(jK{dPy7u$n%;Q(bSt>@=5T{1!eY2eaGec5zWgF5dYag zd|}|6sf?ewzF6>Wz^ZwrpyLI%`15*VedhN&r)%alFF6*T9J}uU=(~_YE_7K`n)@a; z$sEYumD-IT`dthT55@NbP?y_)2avu6)%y`VOQ6nT({_lxrCJRxe(dR?2EQMbcILP} ztH<-9{(k%Z8)f_VQ7!*p2I{GP?zik+N2;`VO4@#^wryZxY8C)>_*G|7FQ_62+yTOd z_S-Ij6^K_$DhLnUOu4PqatQi53n2fMAbiU+rJc%JEtmYaB0yLB#&7TaCF$u05WXM7 z1?92}LJPtrAwrlFKZOMl*uW)+x^Me`b0S08YzgW-d!kTgq7zDet=bw%b@!5`swbc- z=K^tC3%7;}OGC$$u^VZIhfs%adQ<7rhi%;v!|j(X3ZqB_*a~*f;;RAaX^QHtgwskN z3WZ-f%5#8VmN04NiFjhd3eAG;RDeD_00k$Ruy=rD3X%)5WvE*Prw@Wt8qc*Xg~9; z0x?$b+J`^wMsQY#Jv%?CI~s{OcR_5RA6_8pM_X4aHD z7^f(fZJGMMAKy>0(Ql}hZu?O}{(V&RR0TXeDDCM0{wWEH{BgejN$K!R7q)K4cl}PO zR@V<8z5@mP*S>YLu2vj)RQzr5--APjF3fry3sSa1-9-WAw^!~J|8*$qSF5zzUydRO zC#dkIm%V`eA|zMAx$;=2cpuU9k3$0gWPT?xBy-iA`WP0(8Q<&D#wu*C6eV6pjOu>F zos4nsC#r{eBVxu{EzAilfx5Jfy-AA36(2IgLHV3dD#p0|Hu4n4mE4Q<~#@ z$E%qA>}1dSNvlsg=es-4NImO1-?S<^bRr?_PuD_?VPzre!R2H{oW>q&bpvGjzQGF? z!244AzrV>py}6Ef^UnyIbILLERI$pqZm?*XrbV5?OXP~uG zlv|;8}Pods^D8iS-01Id@z3IpMe^L9X9}ZvYVdwWeywY(e4eZzs5dHw? z53r7+?&MPPv>g&0`{5ZA@uIEevznL(A1hg+Bq@&|2eSYxXN9|(9QJcv;-H0bMz@a7mU~M_+h8tn0rz{@%`B&s zR%zmI4JNKXH=YHxSojRD3_yZsb(OVIo}RGweAA(~eqOL_px&2jW|306XVuWKB}Q04 z%N#3cOA08W9g^K5!{uthjX);AJ4=jyZBgO{OXKdHm=l0|THkTy;EZ6;iTvRFgTSSL z(p|fEUUMuiTseBzMDLGDMgZpS`-ijsGZIu!f_p1S+dp%d~Q?0BQVYy=ysXg?yYPyRsBzvpd)p2(cL7Nk5WP!E<;;H}K zk`~Z^RK&M~zAn7RNkJcHlNhKK@cQpx!h$UezNJzv7c})mO=CyWRC#q=DY7L+?1Xo+ z%4${0J7kZrQm2R)ve|xkb zc%c|&s2t4s4r*1j5u?4J1g#`R+$ytspglF23fN4-sCqrqbHzCzE(Hp`1VXk_V<+I9 z?k69x4OX`wtW;`Ob~uyg;mHvBtZ>)6d{|$&lP-*fUV=kE;NoZ@dz~$Swl)(k&BnHa z^Zz>SFt{t3JOp-zTf?f&5UI!2NQ7o&~>@jk0V%O;rESBt*C} z0@+jP1HV_lchi@4pf@7hs8xKGmDwQ#+4A?W*sT2llfO{~<#yit;I{*8->d5TAtsk{ zUwkURD+Ssd8}K2PR=muONF0wI;JZIN9~E~Vf^+xE|KSaf(hHyKyR2={P9y+G@PcDt z)F##JOP)iQO@MSoLr+P!B&a@GwxB#2ntH09=qW#cQQ0m(xBcNsR@PIkY+E&Ur?0$K zYiCiVhXCnGiGS720PgQ%u(i67vC9Q7mr{bafm(c_g?ZZRIN=(|T4Z%7CUumaB4;%zE(;zyXuD;3& zsSa>xI1>T&Vt*FdnyhtbKi)Dl==@E-B?{Djx|eeMtf~=Rct0AQ0cb0_9$>T&he7s) zv(ZXViP~Q;+&9ynsHw^WEg~6!%PYr5S1fKsWBx{f{HKBPZv)6*Rvkb0^qXVtC+-O+ z?)OB(cex7w6;2|b*Xt7>eA8!MlyGZ??1+6wU7W&2WBN4}bbDb(^;@yuR5cIfhHR)n zI&Bmpa%ePeO22N-1Z=f7pT*wNq5e+MlTNaL{PHtAO5A$^{tpU#R)fD&(uJ_yE_=yg z+Lfi{l3D%!$=_Rm|B)ovA8&pDb_h_$(gNT<@nccn4r;W}YrhM%<$p;#vqrUC1bMci zCqcQ}W1htCj*BXEb_KL6SlYzzYqguo(_E>vJ2q;n2V}2ctkBsl-I2z-Is?jHWxP{W zT_xelR%drpqDg2aBl@P|b2f{JinC}P0lXxElk&4Y=0h5L8+l5F_4QR!Cmu?x0St$K zX9w{4haRfEr}n-#YTwjgi9%>DUprGk7Ut_WN_dVAdkfa!f^xoW({%TQ?k3xLGo7(3 ztHDo21GxA?*NzFcqJB!Oa@a&KlrD)l1xTk^ia~aA_|Om}c{q2khpuXAHD|!;;Sao-|*u1{vMqDo<-&# zr8ob!WYt`NYqyy|8{p;Baz0q-k;P$f< zAQ8IPS_SL^ln0|U-?ms5s`_6F%|0qVvYWxS9EC zLygD$c)OZ4(LLT7m&p$x|8ao)SwMLyAb$dk_ZVU1tjHGTtKt_`!|_Gc*AG}fv1Psz zbe}i}uCQI*qQwPQ`0Z`h1W1xeaTuIg+TQj`!Ohh09E1b4`<5a$%R(~6cYD)4=l9<} z)ZmUvHwx&+QME2KbWvGP(kJymHz;6T#1o|wj$*aOVzX8$$};|tLU;wV->k=y4EAfF zAStNqJazp(TlteeXH|9=AOWnJ00l@VX`x16J)IC$ZKz7QuAoDCmg{PIevT}Pd^jpW zE|pz^>Vvi zOVx3Ad!AiM>5g04WQ3!5?rj<&0H<@W*|Cc<>;jr+O|&4Q3;r*tAZQ@&HL*L15Gl6R zWH~UoBVVyoj=&lw69prni{N)N)!VbX{+UgC1eVbm?4x`C%E%P+1AGePn`?vjEaUO` zRxm!BYx#ij9}UKzu8xP(;r-R|sBe7MfeO8JKd-rOLpIs7t`VQtCHM_*_>T2;BQ52) zUsLtQTgTdqD(DY7we1(Auv4KZ1R(o=X8@fvC@+EgW&jCT1mTKp(1ilb}fMyBscX7X0fX5fq++0M@pbnNe^lkGBWd1LnIa zs`*$5c3weIlZ9WThW*fdcYt$7Hreq0t!@fb;Amm3)GC<8cJl#DwcgX?5YC|Syzypa z#z!a3iw6K-c#M=z8eL6*;AavNS4Ar;&uTScGGo8+gyFHb_^3lK8tJ?mkgpD*Pj&pq z1M+7w_@X7i4f|dF6dIC^ivCRiR!{w_j)~uEYDh43Sc8XHkjIccBWz9r&`GOa0t06KmV`m1&$cDz-1XpRI%g zRI2@21-BKb(^R9;0Ps98;ehv|+q2gNUnK{23CvTW7r5eZAuu=gK&)QuVUM?|%(mCl z0(d%piTcNyHBNtQ*ZN=KrbSt!p7qm>pnjn)O3ot2rA|fxfTp) z>b5l*^nj|KgZ5-_BDlbUf~fM8xA$OIRu{p>u>$740y=zk#K0#%|EB2W@?&8l!sX!S ztKT1RQm_^&zpXNkG~ZVLjb_tN0pm>R5=*QfR~6>Zjn{aO7 zu`A;ccT1=hsp|ehMNQwb#aXVPvkF`>dr_CFwot$>ee0=wJ}b^A^>d0o_IjPUKb^-x z_SBXU8(U_!2@o%X1SjL!iesVBXDuMF$7lh0q0uur0&viZ+N_m#E$Wv0%Ao|26zH~K zjI~l;d(@>U6f4LNz@F_lkNm}z@SIc?UtJJqJU}sV0BVJPIDYILSmWZ4Ogy`posI;qIL4Xp z`H9Jh`6$OagJY2HS57JB=P5}_ko=7YVuY>2F)%2M8j!XJa*k)d(itfg7d~?oX5pZ8o`HnQeXxEEx z4$#XfN}w)i?Y4R@D{QL5PSJ~9N{O|h8=?|TsSJhMqbUng6bXWR(2~8^AEotDb-!1_ z6HA|armiOm`is?+u85bR3TW4w4Auo=yjQ&;H)V$PF)mIbS0P+hnM=<()B-Hu2l@a* z`IQ?$t@_aOXZI{r$C3z$<2%t{Er)|IsTb2N*V|GYBu33as52soLL{&Wp9k<{8Hh>YRr5>EmCWg(2hDn?S)Y0#y0(_t83F&t+qvr4UcuO5t1b%(WD zqXy#*fENSNTC&yS;GnZt>iL!e;kRULhLoSV2qy(4-t{lN}i&5v((nGjdTn2&uzzleBtNQjcdv8H!2)8qE zLXwt?9w?JGZ)doP-vn*aMW3lr^?zA1;maeH7ag^Z4-USY3NTt*xBj5HrXr5(kNE-Q zA3&bYd5%vnH~Zo+n^kz{{8{13%J_-SA)LD2HGqy!g7#;D?K7`E8LcR;%_~n}cxqhY z+RIeSHPW)TDqpY zr=!|^zslWMxY<7MBRN3B>)+TO->0HG$(-KCqbTp57x-F`@QUE!6lgycVGI=6Los)* zPki^E9OL09g=1_oWiD~T1}(xpr;hrz^pxa0T_Vr<;;K;WBI(?UvtnMaLOm}sJ^d*C zxRZcG6?+QHPdMc<1e5Bu-r~`*!6&}w1I9mKJS|qodqXGKgPx|VbA_pg_$NGB9iIir zTns5z3?I@-5cYXp3zlE7m3QZIuezPijh{HQMYL@$9E&f#KVJvX88PQ_@3UBAOtoC8 zIm6s%Y1LM|&6DsjuV7Eo&XEE0?T@V$Cjc^0}(?UR>E(73XX011<8FDf3E< znU#v418z6~LaN-sLh2|;Pj1^F*bxA^SF|IFyB+W}U>w5kO#Z!I-7eazCk zZiMO@Dtqz(cf5%j*vgc(@Jl7lhV9kcloM-%Imkr7oXEr6KwTaS(;d+^f+T- z*1qQ*VBDLVOW*qeI z5+}B!?~+&$=dTxUTmvr{qp$NpAJTB41mN6_+EIc}A`Z@q@AqGAtm^TAP+qT9^@oBu z3!M)hpcSB<3PI{vrh2;LP=#hw3Q*^sDefX^z*0FD)Pce#XyiJlH(xkyuCV{_sIto& zTtwXzP)1TT^U}B6TCu6)3bl55oa3=6RrrkBt*~1Nx_iJ}RqGj#)2sT()ZB#Wv8Ncv z=ViR&XLiy0@Py#Yna|la7ra4~9J#-lX5zb57sP?BJEkJwWo5YN=0O|D)hxR(4Djv|b%q982P_Piq-T>W3NOM_1WnA_pLs@;v>bMYSWBVOSjoksqFv$iK z|MK{Ft|#^kIByaJgA_5_gwRz1YVC7IlZ2Aso$yZTxwDDr^CMcl45HsO`i%^QI;>iO1Xh3CHsn3Yhc@Rrw?qrrc@D^dYWlw5cxaMQ-eY1dwZYJ`H zjr!sNj}EVn&bYzo-ec}@bt}?rH@pkhI6I#`tqzVZ;RDG38bJQ+x_&7jcfjk@)$t`T z{RP$Wjywrgp68WS@da>mIsN^E)33XKcoSItsul=78+(6ek+>1Q5K8RjVvbF)QNIr2 zFAu1*QHs{!Q^wl$PwLpQoHzbp@fvxQs`u}fdY^$gM5&A7pv7+i*gz^wQ(2H#DK%4z?9k7%?kJ5J$Ke$sU;`CUd9l zfes~wqw2N%DZ3!NUt~cCm?L#7r}$=oWA=Ne&rc^fPe&WCxF6&=DS?$$#M$>|7oD*A z?%Z`ZPAg9EHmrzWlOOo^0`cz##`(;M>g>N0*EnN^`qj$nvPJL`K)y&{p918AgvbK4 z9$(+=G2a=3tb($y4v@Z*=0Dxb{f)9BM1MP6y!dxK{@3`Rm;Y>8x^CzI5}gUHXy-V* z&An2P^CK&)XGx_JoZC1(k0r`>K0*g0h0-pA5J5>5LUB;I6#m);g9qT}ILH{BGm3X) zmEYcDl|{(Ze}tQfwonsQNw2@1rdljF32HDZFB-kgr1NvwH?iKcV#OBSISO9^RIR|A z6JhELO}}LBuuA;do_{Qe!?npy#J8eJ7|pF?7%kY=ww&GRJ6u>X2!!Og){b)yh=pyj z!Fb&km1nKC?q3gIva$}ql?QwnJDPAJ>BJ|`c-Gb(6LB4Q;zY5UQo9)J_3}8*fFa^b zgUHLEGoKlb75MnU{XRD9fHGYJ4ni5nsC(82aAuRc;PL&`Vj7-FDDbNHI^O52-6xD6 zKL?A#6d(`Id73!G@qRP1Tf*7(h7)`1^f=)u;jQU&kCFlyB?u;cte+H#{c8d8*?D|b z+vB+v>+2H+lWSA|?D3*|^(KI>!5|u2V|3a+y$KE}w&l63S*B+)I!@ND=Wam$c+Vy< zoT8sfpeD~Hi_K+=wd}X9&>^atyj7()=cVEe*o{ew22oeP%QrFxOAH2^{h3)rrQdk{ zcbgG|ql^yc`z#$j-v|(X@XcVeay-+M@k4K7mmunIk_h4%ls`ukbs;DTa8ox(@wAl( zv3&vBTeLQJHat5PBD1C0wFp7744u6eouy!O-@JpY3WQ_j&1vj2{hG*p1{J4POfNcr zympISC4OLau<^zB^VNZcLk|zh5a|7|*Fw;j?8RK_E7_I{yZZo>J`ZO*EdE8n99NF9 zCvVE=sbU1!7OrpgSlyA$Im=Ew5#VE0MSXN#i`Tf~=YIN_v(GY!;fBDP?;Fei>KA{| zIbN8ILCLO%+5ZFc)Js}s%~m0FWSGF1lDDiw{ASx718qDK8c94g#o^ z@K%~j(O-9?6D2=ukWR5Fa;GdwOe1Q0K?;8T~RdBfien(Yf4%Q|1 z69mupo#PpQ@yYu&owOhWr;!t2h2!yo-n^Xw=;+*w58(b80Qn6rrl(rg&Rp-AO3F7F zr~ka}#*0$)AS&)Y4>jTIF?B_u+l&`}8Ek(!g&s13xn~m*C)x5X6#hhy zU+HaS>FtXZoTE60I)E?z;v5b{OK*m=*@iY|yZJYhQx8iqIFAww1)Q4^GNPV$^t(#W zxd}$A2wMP_@U@ed0g&dz`%mW1=n!RskY(%);wjn5S@=1#KOl)ykBrepo zttj9qsIp+3VVC9LMt?cAo6p_DV1p+{--7WT9vo{m*kE@n;#A_~{N3$W!B5?51b}<> z@#0HH(BA>d&#av%L3tPComo~cIMysxJ@Gws^Zv+2(1kX~Q4@wf(1O>S?qp9~D>VpD`q_=o zeBP4-F5sLDClY(WF@x`r1g@V0UFGbr130}zbc6xhyBPoM>5X-&Y@3Ez_rhXfn;?;6 zvFieji5qi1Zd{7MX)Gh<8qv0jUthnQ)Abke2E2AHe;^!1{?r=p`!UqjS50W{&rcp;xN8zXqTyK#TYW zj;dObG_sV0zNsj(Bz4l4Ky$5~Cvz2mjQ)WPUI3L*$SXmw4yW1T>1+bdC1An3p*TxyaltB#O zfp*IT?~2bcKtULTj8QXEpPUmv&O4Uym3`^S~z;N*Db;==O*;jg&`Zvx^tA=35A%J_6u ze0A@6!e$MN_GL?;xn8*co@e~ZdusC0`_ERz`8_5)KEVC!7S?x<0lx3tzSFpRxk#Lw zeeWnjx%kB*54NB#^IKh-q1Wrmpi-ZV5U#YnvOen`jn*jXs($$LYuhmItl*gK%50N{+AK`8a9LH6UM*A(u*y~ zS_JLAYI;v0eyX2zRv2dj7-O*L4U63~&AWKLSQ|$cb!yDa#X|_a)9X7%)l;T1{ry$I z>g@r>g?(}S?l%H|-+BD>nEIyx@+KKOdE8}R>cwNdyfQx8ug(DSXN25(K9iON40<9C6Vjlp~6x#`G(S}WviJ)@e4hJ75QDfYD%+z|K zkAXRQlYUZg0$ms#mrA+xn;x2=5+;;=@ns9C9j23nv z2Jd-{Sf3>dE?d#m0E|MGryXBu(98 z5S{_#5z}i4RI(bubdG`5!NK#NeWq`G4vDC$oIV9 zJi)*09={r(BN@80C$Kev9$b*#%@%2tD4oLr|GiKZR85ihqHW(6O(J%vO@n7m?J)s9 zo6RBB-uljSvG0E*DByrsnQfqg5;GJ?^i1v}0lTw(S6GdRF_$S)!9Wbe@#L&V4=6s- z_qF0&gm*7Wi%~FN@qN)eYos4A)yG~BM{!86rw5&J1b@xC9=ralUih5HOTU~yAd#~!1Y9R94{Q>I5Qs*-^$D8 zH{@639y4%+m=8?c|s zCxfybr|)^IEY5@0_1JSX63R|A35AK=0lEDL^lV{uDUzOhdQ z&tI^ay%dDo-_x0AgQ~dymDZAMPUm1vp(t1sFE?WUygu27e@86%lSJIo)&1j>pl%6_ zN5^;uRA2qsRqM1F-|=U!`HCv|GqKsTV0?w?_e=%;Ilmtuki((<RUV~es1I1&A7D_2=CKo)`Lxzp6Su!$9Cw z>e?Sw_s_=jIhXeUbljp_LBXA!m!1Y(WG$us%@~k(E9-It-CN)Ad$oO^19@X0OW_l) zWx+O93$}bL)e}FtF>f>p1Ml8YcIG=bZgd^;L=Ug^hvz-x2l^^M#ohp!0zxLkb9I$- zFLL=T-oGL0C#uu9-|(LE{IwvtKx|PkI4zc-i7wR4iS}_gOlVF z=lzO=%hZ6u^tn<5%`{*<|MW6jvNL1k1HeD85Agn;VEhWI`iUy)IlYzk-(9toiDNw5 zM}7A5c#^T^i@|XS!cWCpGu0t%4hpdK<*u9A8&|L74lDYd>-hHuKS|%p8ok{(0U5Az6+3lH!%KL zC_fwDciq1(imU(mlADjg@6ZBu57gN;4=c}l(!nHZS8hDi*Mhw$(s1=VV`^P0pMRV7`~!!d;|zj^eMw4tXco;73%i0f@mX9%oF2ga5{5%zf2Eedc8w(@7&vt#%wHOpms0h%0%>d?MX`Y|4&xNs$q{_MAZ-2a_f27x93 zIshKM1qLUtg$v_*L@mI?f`HY@g!Q0o_Rw!xtm6lRr^np(xC~4N>y{n*>f{DqIln%y z&+8`!boAqZOV_c^{x-YbuL44E3kZ6p)pjCTM-!F$Q=t6pXF2g%_k7vkuW4^mdz`1i zFFSunTCR@cYc|{Q=}({K8v5cFnpU^CM54*b3?23na1l}!UkWW0b-g&S7+`jhyHDLu~tUim0 z`^gLE<*E7iWxlGP*S{m7fT?kT31I%+U;q3y&y53cZWoVUhE)6=Ga^zVfIk;d@cO~S z-o?!*m1qk(30{;n-2o&Y6?W8nh9g5gcZ2Z`2=lx*=q2xaRo5#k+^c|m@Ux}rI5~fAPkhg%J>pk@@e9Z0aLVuv^YD^s z``IWzuYVWF{s8n5P){*Xp9YDasO;3llht-~W|sIbItC%X``fusGSf$%`)f z*(8K*o#4c0@%m@^d3|0VApX8U?4l~xc=0vOR>x;S>B@HeOm%!ojs8jC zedgz@34(V5@)L9S{eb+lQGS5-=k)>TBcR?{Y;0xMtMEP@NJKsJ{DOP&|FicV;F2U) zo$rbA*L&06o9XVE>9IZ2)7{h4`}_f}bgG8J7By^LA>`n$tc^db~yR~!~pdE z1$CR7-4EP^f^r{?V%0JY@ugdX+33FwGUZu8&n5fw;kSbzvt5LF{>VD6t(9AT+9CUj(0~V z*{zTYct(E=KyLx48@=a&A2Pdg9FC#&_Qe6Lp}b*?55^t(ET(vV0#+}u?~zzF*`8Vg zM#$~_glGs<0JjsJOk1az^!q)>2lTnXHH&CpcY!6|)w9-} zIiID>Y`nzGP}rh%fpV3OyZ&d)?XK5W1*hd}#ggXsbgv|QQoZwjjuo;na z{v5ZiL8T?)&TS2gD$}`&_ulDv0_;Pe`^o2^K~V2{*UlSnF^DsaoA zTPfR)B<+?lzF+g^HnO>I?Qga5_c4))doVoj@Xf^SJ4x5j_W*Ft?c5E_Z$`Q<@KkmO zd3sndOl=#i$APe=A@DrlHR*34XQ8H2z+UJ(5D(aQh2CGU?w9-75K{wGpPu3{>ocd& zY^R?ptrGWcZ*1+6sJ-J}#~CD<8*kA)%YFVG$+OWWFb9-(fjx(F1PJdcK(~Ofsi$ES zt%sdCwD?ScrkMc(xB=F;cF}V#8*}gASeM>d^`vr~Ih;;cNZ(q>eqKA_9w4dEzw0Z7}(k0>UeS-CT`hI#@7q&7iLf3&4TT9A|y3F+<>328*SyL0G9 zN@=8fknWD5yBQjU2|#*CN$JP`z4gA{4>!&^d;j*?Yp**^O6!%yp9Y#tI6NP_Ugc^Q z4bIrT2#Wd52M&5mAijm>Zm1211@=p%x{%2HRH5vGuq0Y{X#svnIK$9^f#iX8ZLWMO z8!2OUdfMn7;Bjx08!7HRGMFc|a@DQmS&=K{B7*5MO8x#eD!i+p!lrd*cwmO1>_C=ML<3P2Bw0wkB&h8K zQ_E;(UgkpnwXn^qPSTy(u_DVp$#B1Dy%hTfPq_=*(ePZo*nc|%?*$?PNhGqOi9R`W}RAep`@~7OcZUhr8&_+#L0PL8wrtKtm~3H zw&fsnAWMr|Mt`OCVqK)mQcf*lI^M6s_>!8i`d~BHkJ3J30h*-8kMk&Y2jn5wF+78v z53T#dTYDVhc;bjtopSzu23Bo3j_bGpC#_@hc4xrEz}wClOB)=`PWF+2|ER8_mX zjiT=HKdcQGV|a%(t}r6R7?EssLiqS>r#F|mTBKM`gz1P$+;UIw2r{pZ2n~MMRKyM3 zcYsJHu$#C4ecL6g=Nw$C?{!&`_~SVJPSC{s#ZkBgoqk&s*?Y>TZ{wVtR(8sVTkkWY z9P#;}=D&K2gq3J;z zM6|8MX)-nH>1+el8%J2FU-avdNKjcoU#NLKsN;~bd17!Bru!ZJAwSbb;uWcHucg|0 z5e1Fp$=f&E?UK3>Y|}$Sc&vNDF(JWU6KOi1u3dWZ!!XIc7@=AVJ6{!0qS>+i5sJ4A zPe~AhFt^Au6nKK_nH8bZ6i-OtV#e2Y=2JTRx4r+Z7T>P(UigQIgO-WRn+4t5&uR<& z?G{=}@%JpcmhHh$wXueir$j~l_su?TVw|LMg8#Syvtm}{p8YK+I#{-vCSY$<>*&Yh zJ<7wvIx9__y+0W$=0E_><^!Q$;A@Q8&Gf7%wq}ighySne|!DwdW>EYR&H{A z#nwZC)}b*mu)QT1(m?&bl@`xjCZ+B+J_hHII?;mm8&l z36Z+52)JXhmeZt-OT5Y3OaAzPBg(t{|3JB>;9Jg$VdpVvCjCblZ!&p#ooWbWOBp94wr4+U^Rr`E@_A(nCHfE-@91>IK;iSb>Qa8WxH{E&**6wAMd+>MC4MRi-*aZ0yle{Hu(1JC7_&spEDuR*;? z(x4%F?~Rv=N!<(lelCm)6ix1m2ic@~-_lfJ8vX4_^f+V5THta^K&!sqj!U9<$66IeZtAuWw)g5iS*3Cvi*wD8ddya3L!?62kCzQH=nm= z_%a%7P3E_zTNJ10I#=z%}LgiWczHmGK)6D0swoK=&NuZlm6UUnLw%ZnXp$c^Q)qyStxi z>rvH~L87Z+V#5Y!0^)1O|MEm<-mRIQc&oOXKQ&tO2Oa)3t6d*=>YWwWIDsl(l(r__ zqq|6*Li*S*vb15XHZ8{Q(QoEx-S)i40l>Z)v(TA+>K2)tYjIs_Dq+-!m&!Vaaw^zb z3Q~ubq-@22hT?vxkY5nbj~PoFo7XmN70d17)=6$QGJ=oC1d9>Kx?uqHuXw_G=u zx2rCCTcL7`J|47gn?I+zGwx3HGKohSpqN65Z3W(A2k=+^Z#7{M=hry??KNHYegqPj znlw2dE&BDs*;h#;_~5xBu=(Us1Qq^Q)7&bl5PajPI=^K}FylpMk1gzi@CHbF#+Md` zgCr9A_8U+V{qoMOftZ?`uer)sCyrqxE->o0gDG{Z_{6lC^A!1z9@xZSA)~UNwE9~% zmzK1!e^B_gN~{|3%`@B4;cqBfmEFdmlBOd2;>qmota)gS;&Lgku6U>>RcnOyD4tgD zO%M)!kM6PF@=5p?TvHn+LgsL`>{Yb{|{@!K}ZhL>g)93uMRGd{-F236C!Y}ikS+Ye<${D{iOHE z!OMU5<-={*68iSt^O&KvYKxYf%(g_Qm^f}~cfVQ8&3A1uBL61ca2_uDX+`#{feX#3 zX}aug9*+Us$*UiIx``UEr>7RNc*;h;->++?&6_0TyVE@Ky(w3B*USG)YP!zSwS{yJ zM>dldc~KS+b1rwsGP5oH8uKHh;Qv@b&@?r;pG(_+mPymc7c57KwSx=g1& zTDv^aLr(bEY?-I`6Jke-Ob;G<5uM^G)sZ)Wbf>v9xCo38gGJr(F0( z>GkUI=(-F`x+4}R&mEZ9BF;FWt}PN%|AgA|`FD-QM9<=97CEyWIh1Ug?Av7eOpaoX zzf@6(@-IML4;vtO#k|impTpZ8tpGbpvxwi9e|6x`b1uC*aQFY6GP?4eP;jnHQ3Wtd z;GzT8Wn7vh{k`SgB@EN*9^;A|f(J1FbwUH#;L(kwsjXKd#BwZb=!b!m4ZVfJ7vezD zLA}3GRF>NDG}Xl&>U`O{jtn8Y*H@H>pGC95s24nygDA%-y*A;ucTkS#aA$@-<63Dp zh4!zQG{P6cG-V)D&OOH2E>GFsKGWRc{7_&Z2sAnb&vuw+}hgfG>^s@^Y;>5K!+VF$I ziTm>%hg9jM3Z^|XNr4PRCLG^yv^x<`8h%BHOBYR7Zio!CBm2Fkj{l=iwcZ7DQr^`( ze7&Xx!VWnSP4utoXyyDn1jzUZ4jy<5x^U+$L+R(#v09{CZp6?2V5DkNN2sz}tTts% zdlY9D>35P0HPN(X_wKgY^`=`4ba4r}XrzN^)i|F}K5o)XOb_ITz;~|)MjwX^gx7nt zqo)m8WT9J7kG7ogT^gP5@|)1nD-DT?S2I`_S8@I!wc?}sa+gPLdkIOm1_eGCBibwG z#a|hVxi-nTUud5TS+vUQPqjUb|C?H2fq>EJh5dh|Q6gU1@yJL)0aL5KJ355e8)LiF zsGBZt0Kw6>W7mhww`yAe7Xmjy>Cvv;vU8vUm5dZPC?Tl*EWV1`)=1;RJka1qCU#%v zujQ;=@QN+RI1v06IqQB+$Ti7(Yzv6=FDx3@&vp$b?H$2!eVL{6KbqyrJlD03LgIKV zXyz^-yTno6FM~lN^nY11<;ir~@*pXoZCGPj)5c!D!t?&!ann71DDn;=+7&C%HEUw| z?2C(8drf}4P?(UTH`bcIc)Xe~+f!brCrz%1o|;M8ya7zGZBTlLdd-?Z9a}5k5PXcB z196`0uPT1KOOrf0AQ%S=%0|0E`AijHgsucaJT-kk&8S~Z2=})Mj7a61Nq$``UO)Kt zI{kw1zNEf-Mf%euRWm6}h&_;D>5aR3u-U?COJl4W4mTm?L6AAw!KM%{oSr0K?)S*= z))sL+$bbs=4a$*jrwnvPVj6PUh5E9|q5u`xH*aI~FXkxYp#BGG25(uLYz|t+QDz(@ zXnc;O+Xilg0W)Tkd3{Fx$8$KX&I+?uTlIyMnUY5 z0R@RJLeiVwnwd8OTGvND+xd+YW8Z;Y$y+||WJ#^CghYE9^NA`sJgu&al}-+MzQl(p zr(Sy6GXowP*v0G1f3m8o8Z~@0!#y5kV)E`T;urqAeq=C6@M)n8k{OZ+nhYxPes1=z zyV!uJK)8QVH$O7Jqm6wus3m@_YLOo@NwJvs(LSpUZ?s6*G#GDC&_`4=E%F@KT&N?k zyX&-deUOChle;Mf365u2yO>#LK8q0H_6Xn3slk2ztG9AJk%T|q6saxCGq6sSbwRaZaY9omso2n$n- z*8F}NKW}-m&Ea!ZX*dX7+Qs3kySswU40&-iZ^7a2%#*q9h6J_D%>XH~6?2*0n|!l5 zam?UTO&X_4lnVgtF{)hQSlg4YxswpBYa_eGEX0^NqIFfz);#5lH&*e-=%E1UO*Kq^ z0aVZviwOx9GTHK$7TJxLB}DV$0`f6%L5Am)ux?PiT<}BMz6oD!YL*ceo_@;13vq2D zT9xM}AQ?G9p`U6kHk8=$oiWK}or zWvsvVFxrgrh&f#MM`T*2-vTejV9Q%4Ko#gs_#Xp1Rda5piG8A(1uz84a@j~P_I-&1 z)rf244eck;}8rnAx)H@$bOLx}U zq5&s;eW=NBGGQ>EfY+DpgHsEqVSCA53zCK1-(C(-cy?4ve_i^AetC_y8ZYo6{h>UU zkSmIF18!TDkE(z=B_9TQ6H}s3x6X$>8laj@oj>s>P=h9tp6+pzUTkg7PxCUTZMXX! z(4?Q+*oaB=g#$ObPsBNsqSoJ^04X5!9flcAkBv)6uyfH0h1Tz&7Jn%0)90yati<+I z3IdBHOzJ)aTA)u3@|3@wDWp4*z7@8dy(ig9vHCTE<>L}+E+&!)@IP>tA?4{)1~Vi9 zFg1jbyRpxWrMsU*7<4uErha0;U){wo9f|*&rvC1=(Vv!$>c2AhE%1Gwx!LcH5%CbE zb$b+Fg~TGQF+RTj078~M)_m&T&G?Zzj~un**2Jk>zLmJ+Trt!TRJi_-P~3zjXc}j8 z5$g*9MFM4-E|lPVw4m=`s&&lo`gs4dx;zlxM{0i8E1A}fJ5N#nfy33mqIDBU(?y;5 zq3(Sz(ry-r+(F?#?c@|;2zD0rD1C*ns+3@tI9XoX!&9vGTaXZk#lLrl&gOjZT>_h7nm7<-rdd-6d`(k2cbtAWMDnBhZVEjs96Y@;>Y^@NnxTu~o_KiT_vrjfN^fz7{)T)~BhU0`h0awW zZ-+Di+TS45h|34N*Hia9(&Wm@q4qSSGxL`kSRB z*qTaIjdZBqxBPaRhpgNP(_p@l)%q6#ab6Cz_#+;nu=fD#0DnZFdd4dFM10OumG zCjs4P6P66&Vq545a?uoiak)s9h)`eihvJn~F7R27`@1IdHBf}qhzcD`n`2le(~MBt zs%hht_Fi$iQG!tqGwu@F5&0w42PhhvD$R9h{y%>#G3L%8*D2f`7rJ5Rqu#Y(5x=)$ z&Kun5nOkb+lT#_?#wq6_uts*0&kD9f?n@6?Mw>?R_P_7`9)Y9--v8)a+dOtw&;gL{ z;4SZ6{mvcOf5iPFf_HRQeosU(iIlq zS|8k@PLK5sc!K1aoEp#5rg^{X2ZN?w#!!iV==9LMGT5*FP}H$HIF^08Mj3qaQ*S&q zDFK9({3bhad(i^6NVI09VB3>&*iJ$zCAF$VI zjK|EIqDHqA4iU07X?xQa{V`gR;Ka-Fd_Ms)Ni~Er7^)oRr>?k%j~c^1>t&mZxu&pl z=HtR=unAJ90WkY^t`Qf|ooY+O{=Jqe;2_zWdW3$WxUTU?tT3q;^si!w_eTtoH0jU~ znEfvlPppeaD4ivnc%4=Hxg#!)XQ% zFQDTzEY$sQFyHbtO&(q0I@D>Fr*7wM7YdyIEJ}vZh4#joV0Y>X^OAiA6GGhcAZ%wg#& zEH>}g7mw@t07l*IAR4esw~nSs8E})m`_+~)O2t?;zRZhO!JUl{b)mv8eSl#9~^`eikcZyo)>%{aerZFyz0t)4!eWhzlMu&EqOuC9!W ze`=8(`>iy96Dud)`@_CtPOJ;-^7>GD4%=X)S8ADYfu zIhO9;oM$@Vv4V~lxuAJ1r*=)hSp+ePb*e@qzIZ^)s+)G}y@$d6Y;0Z1qZEt2xY^VO z?g1Q_09mXd9WO2_Zr$^A!>&>#6Av1Y`HnYOxQWqW5+if)9=gC{%SpI;2{WcE{elSw zz?6FY>;Q^t$HaRnWIi!f=}n?4ZZYL5T6cU+1)L=n7E6Hg9V%)o5- z?7thMPH3(!$Tb>p4+3>ir*3Y`!=@SM)c{q#&pO<@vloQY#TF;n5b7Ly94)wBg+dRt zjD8mzg;npY+=6P$AZdmbSl8#xbrM2?ik2se0cV8lV`!kqy$CKDBu^@Pe^(+t@CY>m8nSfWl2TiiR8!u06&3=oGgbt$EFWF~u|7XHzi;Wj*gFX)s6F(x%GE{(fOBF; zb5^{N0AjwnXQ_O(da05K$NsM_7$;cC`LkdW@eb8|AKI*qc9gL*;A(aDDYA8I8w3|e z1dI56ac0g#Ew5&2;?` z2hx`^husYxA5^bFTc~I+Y_LdesxYo|)aa_F4HPMm>1g~9?0q7xF(#%}!&j60&-t)e zc!v7s9~6B`A}qJ+ZM*Tbly=9)wNSdd<_X4`;4IjABkvx@6=`{$Gm)nttuJ{P0r}XD z2yRao;|tsu9vjMDxe>KCcl=Bc(|}KS@LPm(NMtc?iz1W`>)Rd4Y!>pTVrE0W%Rn81 z0`z9*ZiE-A-kU{L{mtXua>JE2&xjZK8lNZJrgrRw;vGBJEr6L9xm89-?Z5Sa_B$OX z$6p5IN0E5DqsqNagaBt93y`qY12<=(!va+XRM~zSS%2?3ciy{QbpUh~wX?U>Ox7th zqXK$SWzydrvB&gdmO0yv*bMDIhRf43}F%W%(BHTt3PC?__# zm>e^uyf2Xok&|wT-FkMwTK@3GByQhWH8bqPr+#x65OF)7D*ErPT4Wp(_!!uJ##pVs zg|t5?cx!Wl`tdr7Kh}mebMO&Ny~bR(Pb9|N^SASBB}+Nn zG2Ctl)d;14L2zs@zpYDq@DcaF&LaU0ac7tk8|KibkN6n)CdJP?$hu#(nLx}j2-hmp z)SyNRFzE>!@}{+un0&7QhIKfvS!IwHNftmm9_?hS!z1yu!GADbi?rIzf_N9+oT8H` z)`t6<8z;BQYG^lKZrBl3R&Zs8Z31#~NCk06avhnTbSF#foT&n54{U-09uIWDqh6pr zy-o}a#9r1Ih^c$Cg_OC^qgA|1u)`*n|l>jIWR8R1LV zzd3r_rlYQ~x7G4JMuS=-Pih<+yg)|0HB`FIeL*R0P&YQ76K^Ka;9s#&_9E$UvI!)c zRmrxG@0fEsLQIO@A$(qM$^0z3ZQ&HturoO5f8s>_CDqiBt&#Ky8N_c>?vk1VbtOM^=skfd;a8k3b$c8JRKEC5Fr z-$I4=#t%AmeShR4T1VZ|X{HI&JEoLxtbo*t>q0DP9ZlSKQ8Tq`I~x_moo+voKcR|! z=N^;(eYJu)!}#C(U4^=^qfbrA*S=Y#5^VW!1cg+A@wi=06QNiL?|QhAW4FC&F4o#` zlS?d5<#>zO;y7Po7%HPW2+tFeA+3dcv8KHVp7iyf)Rx%sCItWLC9O>wtp<^>@4+}; zuRGVGYeg9DdbfzkrL-jZ#RaoS;<9=TJ$`ILcefS8KN*)-a3ze0Mm_o^v>7DF-3Ir?FWH2OuhsBVQe$H4HC@?tCdP@Fu9NjbF_FoCRcv{DhWw$9?7|dPX;COlh~B@g`_9Zchs@}1Y8)VCnO?7OW z`nj6oG#RI(TRgWt)ds8~jREgMcjT%H3=5sK_du@4q$>KVUX#s%a|O*2iI3%1PuTUO)l5ulktB!S16c-pOL zRhYxF_HzV+G%ucVCf(fy{_xe>ius!TlXQ{2SU&xuljtn*F)XL+5PGJ6ag)`bE8v_% z_3bt8>RnAZ+p@F%%}hmC3(-H0=+Qvj+-9qd3Epoz+Z1~=8TpU_R=#z(pbKLuQik}q zR=U{_o9Uzd)~=bOBjOi==b@tmOFg4L7J=(jF~w<2iE$A`Fl^|a2EcTaKf+!9$^BbrKtGmhxG4S;zUL5PXX_Wp7ZBT5892GByuai zwe*frlwu%hm^7Q{Hfu zpfjN481R`hfsrZUgCnzNg%s$&sad-wB{FjF-~@ zj~~bfHrgNUV<0X6L#k%oto_sP5J2@$0C$kDC#^q^BF@$3?zKY#s12!C1e7Zh(b2Gu zQ77dpio|@My&6iP2_O{02^Cr1$yANxTt@4gUKtZN>lf$K^n=dPIUwGBJDDgFB`bOZdBt3r1%-0`wQ8AaMq+;Vf~2NfQmU{VN= z5QNKwMuBaHTnn%YC!tn%8xgIyWZ&MC!1^PQM8a(lz2wpGs%_Xv^IMy*sekzbwh|uW zhmt{0e|C;SQNEw0h2yw*>Uaxd{|HOuznq^=Wj?`uqvV;RKZsP;@umK<68(%#J&{83 zc>495#RqB+KJ42^Jn0n~A);7JQPOxvk3Q+XCbUbV&n|WN`#WEpFV|5}ePvX!?3~6FnCp+A^x*0|a_3cevl3Fm``3P!=_o!7#TN50%#=Rs( z_n-Xs$B{NhraaoM0N|)Ei+xtug70J7+MN1WVqeG~&W@;Zq7Bw}*pE8B2J43=Q!H;S z8#rM!+KzOC(@qm>J!%5?#8 zvT?m7l`B;6+U6p^ag@LEZZC$t_ElPI#+oJV+tI{aF4chTM)irkbxQX6$(<>)nH!c! z*A@T@CAwbvrLHEX9&*D#6FZ#-QajS&+<|#^PF`Wd0TE>uMd^=YV*VCxwZXen%cdfJ z9;s5)TSB~eyo1nu2P7-I;lUajOCIWns{5acqaX6rw57;npHgEkbUD)*b7L=9Lc4!G zPay~k3}+5Qbm@DWD|*kZC$P^}!g}koGWNQf_0tP*GP#uMSK4&T0*F65`ho8FkZvaeX@-`kMU zfSnwE3ZRNL`G;kBg@$HJ^wqY2ziGs{_d>VQb9VjM^l_))#?G)-WeLY!rE2J3H}V^} zF+>LABv=%JZSAr?tbe9_%#GN5$}8M0ZNu{P`#$3rdxJ-aPnx)N7pL@QH$q4+v@leL z=SEB-`zMlQgL5v^)yg9HbGFgjvIB_){$8JKc~6!CqqjwKx0(g{M+oS-yzA2BP4b7? z1OaeW!;B(AgUv)X^~W}wz&vICjnecam-zJ`wqb$o78VR1at-uLhg4}1LkA-O8!*-} zAI7e@PZo}0VMf>cvuwaWOmGFz3`#ATX3J@A_*nu~N?5L~)-rikF%olkvZ$0X2w~*= zfpPY~8_(tS^>_@>#5CP-7s!j5*l8~|)yVCG+W_I=N5iqs2m>r6PnL__H^p;} z7emI^6{@K3!e4DyD;xXddTD+SC|b4gkZd{Ih)HrHis9(m9$*s{75fOlw6%A*N1H~R zN%V%Km-?vBwGLkJ3krQKN?~}_hUx0-iYZ@OnlFSQ{?WMBz^?PdL3Lr+56$WO0;ShW zoUz}(+O-UIH-WN?jy%#irTpU4^9_EnsdLWljMmN1^G$m0U_W-->TXLU(R`je+fI7; zz;M1{@gh@EfIcW6vt_&{g&R3-vkj-RB}#0}+Sr|PF{j(dg?Tx_afB{YtcGPDZC2fP zk&moQ0oej+c8Y^`P4J(($tcsDW2)GZH&dx@3c}npoYsJPxLf{dFI%bFT~4^geeF z5Y=Bvx?thBzbaq9UMH4z&|rN~>`t08>cNo+`CV~Ppv~7FQUY)eDOcLWMR zLT0IF5{a8Mvi(&qDRna1?suod4Ov840n!*X{hj~2bh|PKx}ndQ064t%cx_Y<0djR6 z?)qRAfjK|EGy|Pxv_AnQ>E6h2CJmPljNBQ<+q(dJWScg^>s_r4A|=yjEe6I!KPlfy zL+rn~SI<27l&O4#CX3>nR5?lw?1KqSj(#G0`c~2fP#&28SD0Mv3dcTOPkAqCv2LKl zXsTru`|EP#Ul>8DW^Al|9Pgx|0S$V&KgZFIdxE0_VNVk&=X{&i&m+tMuSiG*B;@P2QojSG8WjSPZb~&4u)8q;xDTmaS zRO8YOmfg6@N9AyAM&tr9zES);jTcVJDt&@EF)sO#4>>~B5|>LJG!jF^dm&G?QXU1^ z0MU@(A<`x}3hcY_wz?jvD`8!~P_NFcqHL~J7Jg7A%w1c?HXlYEHy`h#OrPd?VYq{n zm62Y-yS{f^rp2JIRh3-q-b|0JtO~*D_i95PEfZ%mp3bW-(|VsoCGM~G?43MPN61F2 zApM~)uzSg=EdgElH=Oq>R^YKqPcEUNS%9Hcm#Pmk9ZkBh=1g=>%XrcKI46{yY10z~ zg)Op~+Gd1DWb7|O#1wlna=hzec4E385seQ{;tgDG?D7J?o2hfy&sJ)qJWacaf8KM z59-NiG-}1wa}A@ozl!f`BI&d-5uuV?vPYl}iD7QPYZh)xFPnDE`MMlts~4Sn8{X7> zvuoUZ+A7g}zm31X={`|^~dx`4k9qrCZ`X$$vhiizBLI6v{SHXvdZ)KI0lx8rD#q^JY0q zwZp6IwPUFa>MmAiu0VLz|C1DMs2!2O9(0(X zo8?8m$Xob`_6&!qiy^^eA)SCDK834f*M5A!$fGY*qHXt&{-2Z38YF1w`SzbKbpAV%AK-L=~q{ihmC^&em}4rcLotqw*zRYC7TMaVXZkMr3$Kt+MaZ6 zQ7EY3LX)5Erjt7!OQFi|_Xm6m3Kv}4nALCV+`Y6z?&oqp(f(^R+eT zR)D~x`wt`ii%)unE4eHL5~lb(`I?+mkzGfR_KiEeRa z{`WYp#q=`N^D#7Sa?f{6$6F?w9sAh=j#Uy{ZVB+MbXNM+;8wT~!{5yd zLW+c8Zv~pkKyi2Cnt3xcdV1J_;&NhYPDKm0u4P*{G=;LZ*Dr#)esj?-6M%y!SRC6f z7q3$r1`aihtxw$~q{!P3QkV-cZPQaI z?6#*T-9TGiqB;^(v=+Rd3^dh3{3&{Ch1Ax)zO{6A74MkS?CqR4pT&PH3JO0F1;o^b z%z1fUp2(&uI$0aleRn$Cd9|A;n^d7}_LVh_C0S)wV%>{u`naIvM)IMm`SOxi^)&0} z4hH@If+WSl>mIb(rJd5?&C<+SBW-~tjq%)hllWxvw6 zo(=okupj3=ZQu7TC*3?98CwemSoqMKMcn5+BG^8?x<^w)3?1$J=GwlxM%RS<_7a75 zI9qrzTfF~3SdUsAx2X^&*^I)-V5rVz3l-_lDGAK<5)akKMEg4Nt0^?9YsDXW za@nvegBN}3$eLy|_|8ROG3#!+2utWG9&itdk_)Yo;i8ngugTxb5(qx$w5GZcuplyu zW{G;QS8tsxy-G9T<;LPfVt4hY10ToQK$u^B5AL7q;ydn+y?apj)zXirz-Ynk9sO9{ zr%$i;-iZ2+O8Vc7!que8WbY6-hx`q~Q6K1E#yA{nU$T=(7DZ^u4>6VB{&w&WNC;gl z@N2Z%iB1u;V_glm9SmN02EuwgKP52&J4SPwa} zqer+bp%TotQd|}YkWePZA@)4CX5POeGgV+V@uXID&2eHkWKDA)pks+iSDsSdvljIn zHMx6|^5c7ah+S8x*nD52u%P6f5zT1`o7|Y-#HnbaIuuN>DHb_3=&|1 zGB@-7_uqfoD`HWXDQVY3Rad@LOr#4p4Y+dHsYcuR9Z=bKBC>H(#Gt!b{)fu9>w-09 zA#u+*m%sz;H9wezx-BkQFl+2Tf+y z3{~`$z1+~Je?5AdcI9V%R#U&B`Er7T{tfwq>i7l}Q`qRR>4MJmwWK4y;o?eQwaj;a#&($Ew{IeIpbd%*i$%r4ua}RM!ghGJKN=p07Y0{ zFS47GT-pcy3Mo$+Xn>fqY;1${td@SeLB4mw@m7V}3nk`=p$4+m$}NDb9VVk9&udWt z1oelh-LLtd`=n#rJl)5P2MjqsE@TuK6dG}=$42iSEK;2mzSz8c)S@k98u&8Cs0S*N z(UyEgm)XyE9{%fxQqq;9ghV(`t_m&EFRnGV>hRfx?R-<3~=l74mW+D z39zjGc5BKN6A79*T>Qe_rmVldvw>mfiqj_B!yXhfOun;n-h2st#mI*(>bnx$aV5Zf zu&kS3>`sk@$dL9uCIr1aeUTp#w3k=c87X;tSWu|&yosGH#;t6Ct`GYU*aWj2_2kPj zE`3=pw;x=?s){vkP!AZH1hs*_9=!c>=;z)WAZWP``KbJ4RWYQvQ*8yz-c*Yh|*xHJ*?|mtVm8pI^vf5IgL@wN6Yr+<9N@LY1^PiR-^56NSs9j`Hs#-^X0>9yhMTpjylQDK0OEC zqPMeuM=XXtD*hVvo8rqzTxYJ7V&(^qW3K@YISu?Re#r02&+2~sFR*3oo4gw4UmxMo zW1h!n&FU4Or28uV6bw&7U*!OQ47SyC{V(`4Kz_syw!1(uaTuEvX5}q-K8u|cimm%n z9d}y$Y$da%DGHR7M_IZ5uY@58_EKfqqh0pPbdrmK zdohpgNSMv>(wsw^si%w;-@4(;ILw$<-#yeC82imUlu+C0y*~OCG{NPgB+6ok~sCwDUm#9v~Pg;K>@ANgY zet13KAgfUzfU-o3sdilAJW6)3X1QW#<&Cz7{=aDe;=b&U>ov9BA*rOkJsnidQNQ>}X$bl)(-5RR>MBL_8wN z^t@Lp`Egsal5h0OqVPRm5_vYS{uCEE7lfoT=JwyS7B(}(ZEo3^;{w@K*!zC>oiYpDgRAw*kgCu z3qceV>m9F7ki}wIMgx(T6R29}X1BTR8CCIj{}X>fSo_XzT&cG!SENtzd|fz_Zk{$! z(5_-BX#mtylO?>=J$rPJDXILiC=p(xEX`PG4Z}(Xz>M<+I!kWutvTbjzZr5 zUmZz~% zwqcbBdw(UrU4DG?y&Bg4E~$|kD;D=n>tWr;3%i4Xv{kA#^(w}De=_b)DeHO=SJ> zpSbd44y9|JRfeobe=0Ix9uqMxxGNR^T)G;P<@s5h+0$h>R;Ong=p$lSIY3nP#L<<` zbE_Zuq6{9Yjo2qGNxW?QF|{7o6}3=`Cf zI5wPHoQs3Bnw%r@7@S@ulSw~u9>0Z$nlE#^2oD!K6E8SZJ<6Ix-fx}1is{vo{cLag zUDyAeCV;j5x8T5ag&Qk2ME)UGo4&Ug!e?PS+>!QCGq~+H^Xq%|n+6wGCz!-}fJ4ZT zqj!9>J)%_=I#T+hDJs0kr8CQ!Y7q7VLV^NBT{cAT?uxxG;S2g&6aM=762nBg8fnd= z@Lh_*k6y;4L%g7mrxAZD&`NkeQ$%ItPife^SC!qeS30OGY=~ojlSZkkY49v2@$32R z^z7It`RKFvj8U&iR?NjK!bKLuzE9a1c(YOjfl_-U=5BukOQZPbg3@z{@}l=st(ZqD z^OW@0SD*$a1I@xwA6r>6*bq|IW$7G;)Y*7F(vP!L?~ z(u;d=J*gM-v#6t{2*OHnJO50x;7nnTdaxnEpPr6HGqWF>pKx%CT1Clo@z+ zaI6dmyq13-D9z^9n6B_0>@2>^mqy$9Iz-5qMp+pzH$?JK=24a=>pz~Z@?@_G)}s2# zqx?(4-}prwJNhTc56)^(vJ6VIvSkKm96_&iy}K1x)2bu<{5XYTmaM(L&m5lqK>qd< zp8V<`*X|HdTHjxB$eY!JD*G*366(9F{qQxr?zasqc-SJ@oEyDx+7Hk=ukyOYd|gb8 z%48gmRH-+0_^t1^;%^X#GWiS!^TZ9_e&ITGwew(Nv3+Z)N5Z^-LwkEDwq-rie?%ly zUi65E`sa#85;?okbgBRAWd*N47j;>j+dCC2JByj5I34mVs?x$NbIKLd!4Bt?W#?U_BcZSJvc+qP|+du-dbZQC~9ocr$o-nlnj=}xMXuh&W{U0uCa);F!B ziBxReeg*B&bdPb^`sfQxtmdB(5p+(J98it~=9Lw=XevWjB8p#|@`61KK2sCvVsG|w zAg?ix))Y3v=5}^iVSA4j)Bo7u8(E5|yUDR_D$|9GjH0lP1gqpq17L%fMg?mv?!eIT z*NytEB-J8oB_jRro3_@IiZv%KB<#x=*u7)K9~2>I1d*Rg_|3LwRTLrM4#jfhSc9c* zk72b=wy?TA6o=_Zk=}j@N&F_8!p6o=!Jz0$QpLC!TDCqodI9*JLXPB`e?ovD@jliwW%Lc^3eH_u=i6!p49;^S)jPIkLQtNamPUTr=l8v)aFf~$5#I^U>zjcH_0q3IJ}%_ml>FUikRy9(C9 z`TwkRT|YQ?XJ@_P7Uu_Ey8a)=HF8+ z@|9yr7r`Mlbjk$HmslarsY6X&HR+1e-AE?yATjs%Z_kz zN+MeRRl&peXIVI_1_Pw@xZZ9K!v=T%A%Buj&xGMHea!kZO7qrH?tW2{QXZ8-At|OH z)A5%hbJn*pA`Z{yxMVwaOn;D7$iE<--u+4bcn%FO&*Cl+rzhE?Vy1)_klJQe3DGGb zUr-_tcrbxaQXB&pm5RB+iDK$slmJJ(r1sQklE!ZgQtM3LptX9M=i(7Zh5@a+ZA1pM zrVn|1>o03~7a!bMoO08*@x`&afyK7Jk5Ll)0!6+%tm7W++Gn^W%y%K?9_$uIpEH}< zUFzw1Bal%U+aBrV>FsTf-Q~x0fGi2wQX-23eSFVL;f-f(0T9_`;>1D!eOCm*CrMJsBhdYYU$xxg^aC>HGCikzq1#c(QyD}dYs#J6;utkFp3Y8~U zI2%VvNhpqDqsRIoWOm0)s$|f|o_em`^6COTb7USwJsp=}J!yYF$ZI|AO1fSo9s=hG zV-Y}uZBcNSIY2tyT2`J?=<#9?zYON;m4P^%ze)g_tG%|rDZO&tL)QCP*|y6H+H?LX zCY9|CO&?Nw6otI3{&7~z%rb}b)E4*P?%rr9vhRL!j`O$dB zc$b48@=h?l2WjGd5FH^yJ|(DSYCD=QlQ9XsD6$)!DN(JcZr2rLYFH7 zg3KyvKP@zIp-maC&EtcZBLtPBt`i}4S!qn-`DBrXq;&^4!y{a_D&{k8C7x1huhmEMC&*pb4=NeIOY_$@^a;0;AgkQFo?M$L<+PA1Oa`R)KH)%ZxBmG%{I8Vhtb` zxar$1ynMV8tnfV!LKQpxa`Q5Aigd%0Cm6*d*I4eFZ7LhWn@A;4Z2&c{we%n;yOQDh zFw;^)JnfBik}}SC$<4zkDke&WT!oB0Xt)$rtRC-^gdoN%s8QW7 zbB13I^Jh#$D_9DJ19FV?6juPpvkwVSDqMhAllT67D+V1G^XuA8A7qo+22bXwi+fmTQ|AfoY@s6F`TUPsTVuD@k&a zWFDz_5>z4TV%>7;;nOwx-T8Zsz4uu3yJskPf&nyxF!-0htq$jIB}|LP<9O zE%JE6d3_^r(7P;gF3^z0+;oSbMr!_5j2J%0>$R@Qw5_y8vyAUKCw7NN2Zg&1G&_i|ViIKgTu~ulM7Y0w4xw}3 zV#a3#bs5>ShC8-Dg4TBn15lUR;}Lyd^RYIk<;54EbY`j-FB!W-g?GstrE2__I?l9g zQaNa}1VACp`}=?sRIJMUt`6bjQ>gwMkc9?T+M}DRK3_GzCkXZEI449+E5?imj)R5; zR33D^uc~6Mru_srM6x<=f(`uLXdO%_vSxnbNT?|KLLvu$ADS`Vzh1)qtoz8}W_^Fn zq1)lSTQ*}Y_1YZ=NegcCkUgrU8uw;@Dy>bs^kd~^Aum^1Unoi4us)S3W=m>F6 z6rJ1Feu`lr_v$NFVR2*{xRKK+rNs6Qfkv?%G=xNzraZsl=bkwO9*GXZ}6yQJ>ooC00*v(umlWMdtTQ<`?wFrhj|!(lE4?J22u@nYNm zt?J?`!oY&oczUwq8Lyz9#P^bKqAM~6kIHZt+V3@HHkGMy7~F9P4@5HzkKDuP9HOdI zO;;8pR&xfP9O=ZdKqc=QD*QSdf|%f(+WS(MR-ST7(bdm8B9E3pIrz={LEf`=)!sD@ zp{X?1Ny*wkP$o?tB-j{)H$YyttFmd4{8md$BK_Hi9YpQ9@!^lBvVyam<*Xb0jWZ)s z@-=j9b`K|-^=y6Jbr(GQ7i2x&Hh40Ax5r%E5z_RL82$2ooMnK{+4e(|^KRdjoAqE3 zcgETYVQE6fPwVE0x$8Mz+kJoU85pk_9g%8OO|-3?t%IQc?W=BkE! zKnvYRcm3?IQ#HFHF8#Afs@h}esKwYl`0Kb~4nErsUAeq$BQD-ACn>}IbZX3o&g6tc zaU*hYw+Ke;iG@*@YPS4>Ql=Jp;7+M7E6Sz;7Kq!(h8Ad=6;XdssnA`KtosNC$5^7ds1bQyReF@$knK|Crs3;M~0$AJKYm*U5a` z2$MEfYI4gmk#09$5G8p;>Q_XjdwB3uV&(fFEh% z3Au7|(of`tz4!}37=f?`9$0NTT)YzpZ9oXflKChpH6xPhuuR@e4WdCgYg77CaYm8KtIYx_Cd^hs*ND8Od|U zx!Vy`XmpjO1)wMce8OGF^ou}x1q9sM2@^h*DTYzrPt#@3lkHt2FE>d6AnxA?qO@9T zj78)=rfQo)MnwuGey`ZW^R~&1Rqi_08U)Y&GSPsZ{pwNg=ln1J4 zN-S;rn3c`_bIJcJZ&5QCwoDn(+`Q^pvrZ&mZh>53Qi@3-I0zAc^A!EF>)6)1eW-Qw zk@c`S@C81$Zfb;@hfSN)ws5mY8`IWvCopr;1o_x~j#B7@ z6s^lBNE+w{jP>T*BPjsE$=8bQx?Og0uPV4J^4DUU*i60#GGi#3Dhyc73!BLX;Jzvi zZ(<4^0YI4hvJr|__-)Pj;axJhd6`opGGsC6vpM(L=86rL&mo`108I2yK-1gZSNDam zELcCpxder_nKl2yed|-i$>ZJmZh9%7u0Wgki5*%1i+C@`&dnXz$fj|@W45A#U+K#gT)qI zpDriv{ya^LeitN?^~Mc@`c{&6kk)qGV^O9Bfh>X*`?%jreJN83FvH`V{E{EP1kOLv z9_RE-S;*wFwJPP@rT6>L9$mN4 z_O$_{{>I{MTz5J)#`?2_YZni=r*&SB_#9`9x7iuq+g-)=Pz@vJI!@*T29{m0)RDxS z)*k*wlzei@8}-lwklnJZI-#}6PJ(WN@49k{m~M?Up>{4hW@i-%WywbixDE`);(psb z|7*QQr+t8xH{B`fa`YO4Ma49l&n!h5CQ~3LLU$I06I4~VId=Fx2@f>1mx*$7bLbuus%SSsrd!?1COO##cl$>*gU;17 zy2g%K|weZM$Pj?Vd+*WtGM&H6M;*L3sB;GS^P8YmF^b_3beD_(Lw~ zA7Rl2?d@s(k=^tJmBM=jKQtkSB0&)^yiMUf-~Gj2WdeyUD0^?{?g!M%4{Pus z5y@DBsD!l$x?}<&urz_=w<_#oqUz8x>jqbE!Si_;8{*xr#PjX-hKVY%=Fu?%v<-Kl zyL_pb6klq)Sto=$mopEO9fiEr~k zd|poR6+z;S`Vg!%(QBhGsYY@cnHNu1>3<-4@CfA!Q2QBuf8|7nSp?mz3`&WyQYFwg z=D4>{56X}75X5C+d(~>U5*L?B_psCq_zZA%-wK7jphM&3rMdH2$#N}vTB^`Jgb}bx z`Ab{JKId{4!esl_gBW6&q(b)SO4=V{zj0JsMp&pQ>$Ve$TKLkqqJ$58OYPHbrk8J@ zP8MuxM^{>En1VqGXTlTXiM(VKTj3gWZ(^Gk-6q(l148y%lv93f7-!>)+`WjV8B95r zXXeC{GJf#|yl}2ubAM)NKVTSvz&m}qt3b#v$M1z(eVq(N(J#jar0VMOnTU|tDd#ye zY%gX)RiOpC{xKm9mKWNk+i)*8vnT*Rcm}Nv3kRE=zrcGib3m-?OuB4l&_NN z&k1;D$A=avIHE$fSV$&{eo>Jc;q#95gS#!`YBPIx(N$~~(lVxec2jf3vSXQ8FX2yFB zg=A?1@TM7b2p3pz()_s_hMU!^1kDnk;&p1mc(}uJZ&O2zoWp&(qy4!spym5)$i|k3 zqle{5{JmVb%1_?4TNDOnP#$GGAWST9AK{vW@)3GAP{LQm(}k0B`K?f_6cHU`B8VL9 z^|(>sH#lY7`QWNh{1)a_Jea;NWlxuk&c%?Pl4`(k?gQ%SOJ4Tp!h(}4dd0FXKo7q# z!XqLN$GFEh8(JK))Y;zDdSf7u_x=NZ?*8_{2e+I;qq8D!+!~UY@wz4>=Yn)xVl2F~ z86qH@l*E`33qbKWIKb>AK^KXofR39@L+idH`Pm$;8f>bdUqc`WZs8>y6Ajexxs2hK zmu|)|FC@&bmBJ-`k>;t=O_;4JiX?M5DEDLbGon%H67A}e?+A=5$^aMA&RpPfhV>kz zd$KXoJr6o8x;+R6JFkn1g}H+VF^ap3^?4cIS#U{7cS#$?@Kw*_Wg>tLB?D=pd8D>% zH2?v&HzyV?TKyFeix=+9k@(Sjfq}ugTG^0{+C9Oq+=_GfiZ-`0)c-W{GJ_d@zhfdjXe z?y0?<2vHoUt$&=W#@)ogYLnk{H-tj8``VmTi>6*ZIUEn+Ud-^(TfG%oVws-NVG}DYRUi+Q;VGy!8ovj= zn?wG?O_!zp^y*C7O0XOR?Z5AmrXoCh zvOV(}Yw3lZaO9U5b=O|y-WrFLQ&lZupPu%2^_pmq_HTt)9Ba>{FFpYWW~}}r;~9kq z+>rUBI&UDdlMYsxHUJ8BA$sN?W0%}+_imT&jOFG}zF>?Ou@k>3vlwxS!8s^8I=VBU z+;>|)NPjqt-#}=gW=&g)TAKCE)o)nOk)I+ka--YJF=|xf?N&QH^as1plGmV6jk<}* z=}OI2cwzQW9@R>z->t;kUKT3p8;mzHe4+Sgd;!J8Yka~^xt}A~m4gIn=&$L6L;Xj8 zQ=&g*&C_=`aFnpEaH7^OsS-iN;Xf9EmP?4b?0a=W3?TNh#-AU+Z+YTr8(TN!A#Xf} zniE29Q}Q8dPkDdp*~D?2pDv5}gOZ}kD2t6msM(%x!j}os4Km?x>M(*#n<6V8B?$4& z_zLL;ud$Tb7FGJ9$X;5_Y-@3!b5PXYNMyT5K6$8 zAC}d34SE<{yyDyY_)fc6;&W;etZ8RdOS&0V_#C?tm~U?VCJJ<=5K|0-QN^c&X0+lR zci=hY>ED~;&%(f)`O&5;H}aV5AO)bf)F{#rB9{f5)@_i@dQR#~DYvMvzRhpC(e8I2 zPH4OH+)sfQ$M%kJ(zQTV5B|P0DCDH(>d}@uyUTN@lyQblqo=n*x*c;6nW_jFG7z|8 zOC{DoJv()~F0*nZ6TLgnM?;pEmKFLUGFXSRorwpAs^il(0!9*<8g_b+9KFuzb8LOVXOf2FANHlCW{XO0BFi(B`ud>p=8V9Fajb;*kmJ^I*d;J;E=17XIRZ zsPjzby{-Sl&v-k<)#2O--o7H&iXZzUb?{_7LI^U1S~NHKsT%y}q)NF!YBTa>mI`y7 zVAX-}5pn5q2332Z*u>iXt4CeD5e4i+d3M`5-AJS5#f71f>e_JOS%S=NCIw&Y^mJJZ);zLq#AbjNmf<|Y9y|P{ z%UbJBqWzRY(VAzBSB6|c8B%?2p?-4usgV zUs3qi({8IHW#wbVn+#%p#5HMYQtcD6-Zku#_zb-D!>d40Y6|D_KljTi&`9zt)lfXZ z$^L(Ac>6wyU2N|QqNgE&5TVmWb>wa3yx8z@s&jJRr$x!C9Zk~GvO2=t4Ep;AZN*5L zz)jnGF168UMUz@FjUNYXCdF(>wOdiQ-4TeK1H;$YPqC?HVFBiB_tT3E@tcNN7Sb~; zZW0RI((&;QBE5E|*uKXv>S!PQST*$46)RR|+9-ta{crvQB!!tTH701wS(J@4_qAoU z9`a1*Y}4T3lqx@t71o7Mi&DO7@r)Ey;2SfXcks0;xvOWLG*UuNh~0PwgbsfbINiYw zRPv|5kaX*ACeREjhU6;f%QL2}To*b~YCc{f1;L))LB+x_o8?-^5O`T|!DICBN&dPBV{)5)anU z@;g(`RKHY;0i-t)&Zb^XzPP~swGh#z-5bL*;`uALIc>P0^KWp@s?3);v%MfvXmkp# zbw@n4%}*hA9Zgxe?Nl?~?MHXg)C5D?>LD)YFNKbBe}IJ^d*#6ji@pV9Lxa`3D@u(S5&OC(-kEGV z&IF_gi^`H7U_U9_j=Ymm=|P==#lgbQF6vmMfi|NjrWqV;xU7JMzWO^=ha9Laf=vuv zs__1gs6l5M)U7uDPY-!yYc#jVky=byod#V&XwXYkNjAoYwW)=a+ zd$uxV&tmI%#=|;HUd*;L4cHlG^8Tx;>F8yKdgehvRv$3GO7i~PxV(F;Bd)re(Knhy z30g)XYa4GU-gw{<%`GaxrtqVRs_WW2xpUbZ?I=;$u+Z=gJ-9DLrtZK}i#F}4C{}|l z0v~EH2yA?U7AiST!5eTY{rX8Pp(35WTfY(ESy9NpBzA{3!P)bOkB$JWhLuKaKw$(j z!>RhIwu)k6kob5zc`t;w`U~uK84Ag8vxiZ4ux(?>&LP*n?Fv`B-)7uoS3*gOWRZ@t*fu@AcO%?q31!I0lnnUBEM zj;PUc@e}OH)!0Y}B5GfULwDCEn_wbu1#->vbXjx-<_Esp3J3d{pHWVq!$K8wUCBm4SN4;T% z6NV;}^|;xd4#T7YA&BE7szHvIZisg!NDW@kLqm=uv7My0eff3YIhB{!gFOD=-#^p+ zY*DNp;(5Z-HCQx3Y(BCXLceXc?mWz1I^?_=3jAI+bud0M0^aupoejLXl5>G4-l!y+ zyM#N{!RtCnJ`ua&iJ5CABr4oyI~dkjUMxR^wtQV|Sbf!k>U~ll`*P~)CaO%WQ%jhh zfcn5Ph6M|*Ba3Y#Oz|142^tV@@tY6E`V`a7BQQw)=m%gzUB9`%Elg|h#_7Y#1s86J zp{uHUg7^Q^*5Fm=#>dq6I3rokcYc13#H@!P#Zt%mJcIi^%s^g>H|d%I=PMG#{YbX$j<^~!ZS-Xj4k>%R*kk? zmZ4dLuickIE~V}#-L~rK3t2}Hv6ZioiH!3p(|iCC2}eAB0x-(_(LLwEF^QX|ptCxd zhx0)ht@ROMXKe)s;Jz-h)KQ%-?y zFWhDQ1#Fek<3j~IZvD@6%$*IAAp?|E*O&KV7)C7j&;B9+U^1w@B8n1MzxwK14RzWE z^(qZarf7@5Y3r{Cv9Yw?t{*3<3%9?rsRhp)R%;#cW%fQaTbM1c zn;39ehkP#S)>h@FR?E8`6e}qgkN2wY3_~oOr{MoJOR-s9`}eJsD@S|l3ZZYbvZuS* zcGnwSx^};qCq5sD7}nbFqnCtAy@2r+d+AC@SCy8|3epM;!Oeeap%8boq_RqiZMtEE zy?1<{Df$lS85L~Ik0pF&bj}EdDYj9YE$?8|yTdKTQBdY&g_mLaxr>WKYHRCgnFEB* znS#}V+F;1{cB8zzla8Jt9ufMkQzKU(iP#<(-QHg!1fW=5%&q?A+)-+QDzC4?siU_t z)GjaPHDCKnC~UWcE3r9g7QRlpAF|*aEL;l1e2c_>E4N?B{qPE%!xC4EyFJ8*Z)v>1#UYH*%yzeREF7O{vaWNr zbxr$^hcOaW(kG)oeI?S2-kzg9ZuMKh}~sx`<=-fqT=V&s7n@}nu=`o4kXz!38v zmH`(%ISp#=%{a0^9Xe$)O(ns^!ROL_+gIJL#zs1LLy_jup76Euh<~!jT8Z7uU(@F* zo1xx9KWlCOtM1;__H--?Np>H8xA;zJdroR$#78bIa(R@T1tFq{SR4mcLD9C9ps@k> zyZtI#3U_Y|L7V{VT1)v*9bOYMe`M>mJAd%d_mB9O-7WnhDp2Z#n1RSFYsLg1qZ#iV zNzaBx0TWfSC{jsv_}RDhks_gmLwl|kR)wj^WlEz3!Cv`#2;?=w0$#|nwTT(ybCWI>^O_7$~39;Gq~V@I%N*uZl% z8y%>V3GIOu9#(FX0vdv+7qq8TBks}oT=8^XVx~H_J4RY8;_y{%Q_g*?gTRaAbZXh| zw2t{so=mzWPrSHwB`NX;nPYcCp&cPLV}ur=NY8Q0_{~l>(mVPWyY$@t=fpA#*;Hxt z*VrviQ}R<^pKA1vx7Cbg71z_G_E;=T!fH*&h2(@#zU|1^*-J4be6ZhMS5xA+y)nzO zRYq4jpO!Q71lx45;UaSFb>2I8!mPLA0wBE3)hmp6t|u{PVEMA|sXV3wGOj32J!h8G z$y%!|JUtbeNAr7hHo9#l@i>`l?n$|{H13Ixug-2{i;IX_NfKMMSo2KVl2F3`^zfLP zS{>8uY92uuP>z&aSUK`i-0{YPKS{$cw@5T{o?|e;!w&vr6^0ldCQ?wW(^UTnYta)z zafz;H81ZC)>Szmm2xL{b)zdWu4Jpu}@#i73VE@1pB-5`5_H5B?A$R$_H7kj-mt_-E z7kKd`;5;O-sj@?S)f=<%YnA9N_lWDT@s-$$`KzU<;&e^W!)iGm<%1l|Q_2gzCgH|o zg}0WXxSeaHA4&anq%c5~vNR?rdg~mEk&R{SG07@s%&}INv0#Mv(zbH5+h$yOkk({> z99!w`SV1kNikk3qA{7pA^h!i)JIq+XXvB6Ne!>L3?Apld!fIKDi>AuA>?(vO566^g zGmS${3A$-_*D>(#0?WKbN8} z7#YIW9P&_CaB04p_R{6Dww%lq)!hyOTy86Pk4Y}ysb@OE$Nmj;H2+51GC|7nU_!)P zSNp)l<-1RpcN3aM-!8 zg%w81iI{9j-{(J5E*UqrDp{=pELcyfps;f;l8N61E0cxwn&gT`+}$Ds!l%l6F&E+$ zH3~YFS{c>LmcF{veT#X$UGZd_5#v%C?+n>o_V(3gjww>#v$i-F@7atVG`AEP1+Atc z!L$hZVU4oOFvz-JVA1lgIT=mO+@ni<7>p!a$4=K*kCDyAA5NbBC$iP4&hP{Iq>@wv zE^YCW7-tjkv%{_gK5UDnKhxw5Lxa;>o=xgv7|m-jjF!+$ufrJ1hBYv4j}s7z&As!NC>=G6d_it` zojmcm;(%;U>Ul7xT<{=*N$@dVi>?9IZ6u<4s=MkXYvK>Owo9aS2*8Z2 z*?J3JQ)2FRX{v_?D8L!f@AXDO^A+AkDDP@)hWVJ#cf|TEeTW2lH@LgJde>=4JuZx5jgJ&vc(TnKJ?20*n(_-DWl^l^ zyDz5`kmvzT`BB#{$O)X)RK>C1*|%IcXi-A z7!*?PD!od%Nv>P9b#CP~y;MSeGc`@!mwkFyPdga*ANwV*?(DUrczh-KwZ*Viw=8l^ zIa}UQmfm?UeY&vt(*KF`7R>JG1^k&VD7%veHW8VwY?QjZ{!A*PDz|dY@#%2gPha3? z`IL8yiOZzw!rO{ZE}J_qc*xsXP!>ahQa%I`T|s(R*yz?|HUi#Qay`o;PUt8)sOr#Q z;O4W_$}4YP0dy{+cY{AU9j$wSOV7+1cGU0hM%K7X0cGBpi?KSoNm+g5F7+_(W3jh? z?OK}#ml>s_N)G{3pKYq&B}iF&E*)z*AS09F&U1lQ(W2OS6awd^tXD0*`%aEikP)-9 zjkaHV<(R#BEQcAbp#rq8?=egXvn|1vY~Z~4Sa$mGYEB8?>b6PpYXWGp6$wo&7JMHi zVi%u7+SJs<`$?}iKM2FLPQLy4i=(YV3(_n+LWwY{Sy_t2TY^sgys4(1?xHh~PT!7x z`Ez0(Eajow$wod(&UvI9=!kDR5yin2!@bBp$oi?1;a;@}F96%0m=X~&KCw(4&k{q;`JUdr)VvxU z%AG|$Loe=(fFeu8dXV?^cJg?@=#C_9S)X8md#_cilFR(!PuvYn+kJ&l`icv6$axLD zAAgnJ!Rl<(yUF2>BZkM#3L2#yP7`fv>`T>Q2>OEf9JEDs0{~WSHhm1a@%`hr8%(!T zanm{>nqezU+vOQH$>;iIJVv`|(hCQK(eH}=r{l$FinQ?V;=^&sNjK15QEeyM)xMLo2QY^LqCtL2du})}>VJn){TJ0XRfC$8LnZ{N zz;jW!f%8HT(&9i>K;Y;T_QMzJV!Q%tm`9gdr5dsxw&%Ila?>yd$>ud@=`^Ak40K8> zOHEM3SsGbVBID*VYGu(VYrDK(O+ueqSxbYqro=h9q1rqxsA+t7YlMB)FJQ9JlI{_4 zWvHT+TB`+`(_0A@xS2C^L-s~&_u`Bjdn9yR^_ND0%-ivV|H@0M)o-NIC|tlW@@lLe ztUov1WsVSn4s}P5T%Wop+WzX}lM>>woEDgjVu&VhHitalNGQjYBUV=L1O^z93?Gp!;OVVZn( zykN}eS@R}WI!RjP74f~bIAHl4(HQI3bSTp_So(`GDfO)OhBMzhpnxzWg;S1;#p_x~OT;&x*2JVE=V1mIxW+r;}UvCNsA)Y+_mha`t2CKF=9Tr|Y@$C@%g z>Er#_1hfCF017!dr#!G#V()Z(TugItFhxXr2li<{9)7O{o`X)b!!imx>plr%Vs8>9 zG1Z`hYht8$TzBWgKboSKxfR}&dMSg0SjfTxfY)hlMft&k5?+A9 zg4~IK@@Nw9MeL}$nYZSHbI)<;*;#yVfsF9Y(kgF@3%_8i-V;NBI3$doTLJA?@}ATk z?5>Rlmd?9lE^jt|P2#>uu3Qr{RRQK^CuX8xXhpnyw_G()QYMqwQmJ44a86jUVbsC{ z*^h8nY2px~(TLE6=QYGx5;(_LRBQFxR8$VEbHR>ZovuACbm?B~z-Rp@o1R(-7 z#a8)=L*>yH_#*)ykFqpS4Iq$kfbLk=@fRGLaeW(fKUl&^Is32EsIvQ+Ftm80&c8ke zYsIXjxQkPjsH4(7c~_H#0^_884WpX%&SMwN(n*y%)hi?JE{JBpRYEXaId{0uZy#+{|9(AC zb$pr1TbLJqXL+|OT_0ihE`GCK;RlM#i`r$;r z$kqSQpd|UC^K#zKw3#_`e3hBWd2~$w11gCh{oo5`Gl#g27W(6T(-bs)VeXY1_x(Bm zy3(;&C?pAoMuMr}KC`HU*<$XNhX{~xB=gUR3Ej^z)cT=If8;g+2wiFO6+7N}Yo-&3 z;hj3&oUFLM1+~(vy2yEFt|L<=8MrGQd z4vi{brkqB$Mu!OKG4VXc+JL%;wRZm8VbV}We}g1**urV8PUC^>6_;a8s742#@M&gU5n{-r>F(;u*3*}PhB z|ELY@@JBrfb{<^vb>Wav((*3dIQcg61McLxqJHMs%p_jB3I))eG3!kBEk-aSVnR4_ zWXT2p6&@6|W{(HSgp0-(C8yMJ&BYSh88m|sl)YktlHE+3{ljAwEN%n(G^pV4d0yg{ z&i!@`YLAeJ?dW>ycr_UddNnnb|2d%^IZfkZ|D<8em6-c5lbnpizjHKZXi-QorzL032CC&DWBZ`95#0 zT8fgTk(QpldU{PHnIF*Koz<(dgK(S-wR#3rgumeu-V(;kB;R3C$h zzP2G9s?V7gab75hN-ye$l(A%G6C_O&xmi}iwemMUtVwurr21NE{t6|aA1D5@ukFyH zZ0x#E|B38RIJ1;cMZPgY^;r1wv@+juMp|V|N`^z;Z-t_`R-TX6-N8Fjq{JNy6IIn} z>ERPoj3a|@jYG#KUyy;itw@ve+^(4omT)Gc*R=Z1r_v-w7`z7ps4CEYgTB}copTva z+DgCWGN-*}{~Ti`kxG47=y*~fSGR<4cS6F;v`@}Dj4^<-QS^)|V@yH)cwnx)V$qLy zpz%u}-hfQ+fT}=N?EbiLvw{!Fm8H9l`J>UkG{ANX>O~W3?+(xq{FSqje%8UIQ~D`~ z7>~zyYom+3&~50Zr{bip`ggZw9ke$^a$i6^dxa)R_BM3<^Shet{Gh7vD*L^Mn*)2U z(Q|tZFpK}S68xkel4u??>DhUL2OUR=fzum2+oua9pR#~17wwy8q6~O_&=2_X{&V~F zLgbaVB_lD&);yiqSjr z9rKhPCOS1OB8_0i_%f?*zGhifn9NkT60oqrK4D&s_!NRZi8O_{gu+&okQ1oUkM_xysTZYS2*C>k^N=c zO>$`{x*qe50im4${JBgY@vm)TntO}gfAA#|=Pw}tB%;g>nVC@9p%0AeLQk0B12@QJ4s;P>yktdLX zR3;K5*D2T3OctrHDwQTf@t*^H(BI061moF3M3dcyUR`1d554qQ?pFM0H+=nM(4OY> zmYwqFH%7fWj}|}^?4E>&Z1bU7q~L#p%1HtOp#nnz{3kI>jY<5k!v8*j1Hk-GmH$fM zKSc(5dU`uII%PEo0BQpUbs+&x_5T+D<@Y88K&?Z$Sk9N;JF_n!0C+SY0LFg-6#BFL z{{RO12JX7%HoE${2DWarb~dK}L3F-gSLYgJQ2lR2J9~Fg@Gmu^`(prr=NkY3`2Pd3 z=Jz@OTOpD3&J31K~>6$p08`~Js{KEc^T!>+*YODX3g00>DqG@Ut z0jyZRqx+kY{tsNJnE%23kADA+^&j~z(RBWoj(orK$^AuqE literal 0 HcmV?d00001 diff --git a/test/web/pleroma_api/controllers/emoji_file_controller_test.exs b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs index 56be130be..827a4c374 100644 --- a/test/web/pleroma_api/controllers/emoji_file_controller_test.exs +++ b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs @@ -41,6 +41,45 @@ defmodule Pleroma.Web.PleromaAPI.EmojiFileControllerTest do :ok end + test "upload zip file with emojies", %{admin_conn: admin_conn} do + on_exit(fn -> + [ + "128px/a_trusted_friend-128.png", + "auroraborealis.png", + "1000px/baby_in_a_box.png", + "1000px/bear.png", + "128px/bear-128.png" + ] + |> Enum.each(fn path -> File.rm_rf!("#{@emoji_path}/test_pack/#{path}") end) + end) + + resp = + admin_conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/pleroma/emoji/packs/test_pack/files", %{ + file: %Plug.Upload{ + content_type: "application/zip", + filename: "finland-emojis.zip", + path: Path.absname("test/fixtures/finland-emojis.zip") + } + }) + |> json_response_and_validate_schema(200) + + assert resp == %{ + "a_trusted_friend-128" => "128px/a_trusted_friend-128.png", + "auroraborealis" => "auroraborealis.png", + "baby_in_a_box" => "1000px/baby_in_a_box.png", + "bear" => "1000px/bear.png", + "bear-128" => "128px/bear-128.png", + "blank" => "blank.png", + "blank2" => "blank2.png" + } + + Enum.each(Map.values(resp), fn path -> + assert File.exists?("#{@emoji_path}/test_pack/#{path}") + end) + end + test "create shortcode exists", %{admin_conn: admin_conn} do assert admin_conn |> put_req_header("content-type", "multipart/form-data") @@ -140,7 +179,7 @@ test "with empty filename", %{admin_conn: admin_conn} do path: "#{@emoji_path}/test_pack/blank.png" } }) - |> json_response_and_validate_schema(:bad_request) == %{ + |> json_response_and_validate_schema(422) == %{ "error" => "pack name, shortcode or filename cannot be empty" } end @@ -156,7 +195,7 @@ test "add file with not loaded pack", %{admin_conn: admin_conn} do path: "#{@emoji_path}/test_pack/blank.png" } }) - |> json_response_and_validate_schema(:bad_request) == %{ + |> json_response_and_validate_schema(:not_found) == %{ "error" => "pack \"not_loaded\" is not found" } end @@ -164,7 +203,7 @@ test "add file with not loaded pack", %{admin_conn: admin_conn} do test "remove file with not loaded pack", %{admin_conn: admin_conn} do assert admin_conn |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=blank3") - |> json_response_and_validate_schema(:bad_request) == %{ + |> json_response_and_validate_schema(:not_found) == %{ "error" => "pack \"not_loaded\" is not found" } end @@ -172,8 +211,8 @@ test "remove file with not loaded pack", %{admin_conn: admin_conn} do test "remove file with empty shortcode", %{admin_conn: admin_conn} do assert admin_conn |> delete("/api/pleroma/emoji/packs/not_loaded/files?shortcode=") - |> json_response_and_validate_schema(:bad_request) == %{ - "error" => "pack name or shortcode cannot be empty" + |> json_response_and_validate_schema(:not_found) == %{ + "error" => "pack \"not_loaded\" is not found" } end @@ -185,7 +224,7 @@ test "update file with not loaded pack", %{admin_conn: admin_conn} do new_shortcode: "blank3", new_filename: "dir_2/blank_3.png" }) - |> json_response_and_validate_schema(:bad_request) == %{ + |> json_response_and_validate_schema(:not_found) == %{ "error" => "pack \"not_loaded\" is not found" } end From 0922791e4d2233d527dda23e66a952e3f359a3fe Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Sat, 22 Aug 2020 10:56:26 +0300 Subject: [PATCH 020/201] updated errors on add emoji --- .../pleroma_emoji_file_operation.ex | 6 +- .../controllers/emoji_file_controller.ex | 73 +++++++------------ 2 files changed, 32 insertions(+), 47 deletions(-) diff --git a/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex index 7dd4ce311..efbfce75f 100644 --- a/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex +++ b/lib/pleroma/web/api_spec/operations/pleroma_emoji_file_operation.ex @@ -71,7 +71,8 @@ def update_operation do 200 => Operation.response("Files Object", "application/json", files_object()), 404 => Operation.response("Not Found", "application/json", ApiError), 400 => Operation.response("Bad Request", "application/json", ApiError), - 409 => Operation.response("Conflict", "application/json", ApiError) + 409 => Operation.response("Conflict", "application/json", ApiError), + 422 => Operation.response("Unprocessable Entity", "application/json", ApiError) } } end @@ -118,7 +119,8 @@ def delete_operation do responses: %{ 200 => Operation.response("Files Object", "application/json", files_object()), 400 => Operation.response("Bad Request", "application/json", ApiError), - 404 => Operation.response("Not Found", "application/json", ApiError) + 404 => Operation.response("Not Found", "application/json", ApiError), + 422 => Operation.response("Unprocessable Entity", "application/json", ApiError) } } end diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex index d10f46fde..71c53df1d 100644 --- a/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex @@ -32,22 +32,13 @@ def create(%{body_params: params} = conn, %{name: pack_name}) do |> put_status(:conflict) |> json(%{error: "An emoji with the \"#{shortcode}\" shortcode already exists"}) - {:error, :not_found} -> - conn - |> put_status(:not_found) - |> json(%{error: "pack \"#{pack_name}\" is not found"}) - {:error, :empty_values} -> conn |> put_status(:unprocessable_entity) |> json(%{error: "pack name, shortcode or filename cannot be empty"}) - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while adding file to pack." - ) + {:error, _} = error -> + handle_error(conn, error, %{pack_name: pack_name}) end end @@ -60,11 +51,6 @@ def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack {:ok, pack} <- Pack.update_file(pack, shortcode, new_shortcode, new_filename, force) do json(conn, pack.files) else - {:error, :doesnt_exist} -> - conn - |> put_status(:bad_request) - |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) - {:error, :already_exists} -> conn |> put_status(:conflict) @@ -73,22 +59,13 @@ def update(%{body_params: %{shortcode: shortcode} = params} = conn, %{name: pack "New shortcode \"#{new_shortcode}\" is already used. If you want to override emoji use 'force' option" }) - {:error, :not_found} -> - conn - |> put_status(:not_found) - |> json(%{error: "pack \"#{pack_name}\" is not found"}) - {:error, :empty_values} -> conn - |> put_status(:bad_request) + |> put_status(:unprocessable_entity) |> json(%{error: "new_shortcode or new_filename cannot be empty"}) - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while updating file in pack." - ) + {:error, _} = error -> + handle_error(conn, error, %{pack_name: pack_name, code: shortcode}) end end @@ -97,30 +74,36 @@ def delete(conn, %{name: pack_name, shortcode: shortcode}) do {:ok, pack} <- Pack.delete_file(pack, shortcode) do json(conn, pack.files) else - {:error, :doesnt_exist} -> - conn - |> put_status(:bad_request) - |> json(%{error: "Emoji \"#{shortcode}\" does not exist"}) - - {:error, :not_found} -> - conn - |> put_status(:not_found) - |> json(%{error: "pack \"#{pack_name}\" is not found"}) - {:error, :empty_values} -> conn - |> put_status(:bad_request) + |> put_status(:unprocessable_entity) |> json(%{error: "pack name or shortcode cannot be empty"}) - {:error, _} -> - render_error( - conn, - :internal_server_error, - "Unexpected error occurred while removing file from pack." - ) + {:error, _} = error -> + handle_error(conn, error, %{pack_name: pack_name, code: shortcode}) end end + defp handle_error(conn, {:error, :doesnt_exist}, %{code: emoji_code}) do + conn + |> put_status(:bad_request) + |> json(%{error: "Emoji \"#{emoji_code}\" does not exist"}) + end + + defp handle_error(conn, {:error, :not_found}, %{pack_name: pack_name}) do + conn + |> put_status(:not_found) + |> json(%{error: "pack \"#{pack_name}\" is not found"}) + end + + defp handle_error(conn, {:error, _}, _) do + render_error( + conn, + :internal_server_error, + "Unexpected error occurred while adding file to pack." + ) + end + defp get_filename(%Plug.Upload{filename: filename}), do: filename defp get_filename(url) when is_binary(url), do: Path.basename(url) From 98f8851f29f940051656caa1715820bce70f8c29 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sat, 22 Aug 2020 15:12:11 -0500 Subject: [PATCH 021/201] Use the image thumbnail for rich metadata (OGP/Twittercards) --- lib/pleroma/web/metadata/utils.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/metadata/utils.ex b/lib/pleroma/web/metadata/utils.ex index 2f0dfb474..8a206e019 100644 --- a/lib/pleroma/web/metadata/utils.ex +++ b/lib/pleroma/web/metadata/utils.ex @@ -38,7 +38,7 @@ def scrub_html(content) when is_binary(content) do def scrub_html(content), do: content def attachment_url(url) do - MediaProxy.url(url) + MediaProxy.preview_url(url) end def user_name_string(user) do From 14ec12ac956ffa9964254cb3be390c9903103da3 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Mon, 24 Aug 2020 09:47:25 +0300 Subject: [PATCH 022/201] added tests --- lib/pleroma/emoji.ex | 3 + lib/pleroma/emoji/pack.ex | 123 +++++++++++++++++++------------------- lib/pleroma/utils.ex | 16 ++--- test/emoji/pack_test.exs | 93 ++++++++++++++++++++++++++++ test/fixtures/empty.zip | Bin 0 -> 22 bytes test/utils_test.exs | 15 +++++ 6 files changed, 182 insertions(+), 68 deletions(-) create mode 100644 test/emoji/pack_test.exs create mode 100644 test/fixtures/empty.zip create mode 100644 test/utils_test.exs diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex index f6016d73f..04936155b 100644 --- a/lib/pleroma/emoji.ex +++ b/lib/pleroma/emoji.ex @@ -56,6 +56,9 @@ def get(name) do end end + @spec exist?(String.t()) :: boolean() + def exist?(name), do: not is_nil(get(name)) + @doc "Returns all the emojos!!" @spec get_all() :: list({String.t(), String.t(), String.t()}) def get_all do diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex index 03aed33bb..dd79bdfab 100644 --- a/lib/pleroma/emoji/pack.ex +++ b/lib/pleroma/emoji/pack.ex @@ -65,71 +65,73 @@ def delete(name) do end end + @spec unpack_zip_emojies(list(tuple())) :: list(map()) + defp unpack_zip_emojies(zip_files) do + Enum.reduce(zip_files, [], fn + {_, path, s, _, _, _}, acc when elem(s, 2) == :regular -> + with( + filename <- Path.basename(path), + shortcode <- Path.basename(filename, Path.extname(filename)), + false <- Emoji.exist?(shortcode) + ) do + acc ++ [%{path: path, filename: path, shortcode: shortcode}] + else + _ -> acc + end + + _, acc -> + acc + end) + end + @spec add_file(String.t(), String.t(), Path.t(), Plug.Upload.t()) :: {:ok, t()} | {:error, File.posix() | atom()} def add_file(%Pack{} = pack, _, _, %Plug.Upload{content_type: "application/zip"} = file) do - with {:ok, zip_items} <- :zip.table(to_charlist(file.path)) do - emojies = - for {_, path, s, _, _, _} <- zip_items, elem(s, 2) == :regular do - filename = Path.basename(path) - shortcode = Path.basename(filename, Path.extname(filename)) + with {:ok, zip_files} <- :zip.table(to_charlist(file.path)), + [_ | _] = emojies <- unpack_zip_emojies(zip_files), + {:ok, tmp_dir} <- Pleroma.Utils.tmp_dir("emoji") do + try do + {:ok, _emoji_files} = + :zip.unzip( + to_charlist(file.path), + [{:file_list, Enum.map(emojies, & &1[:path])}, {:cwd, tmp_dir}] + ) - %{ - path: path, - filename: path, - shortcode: shortcode, - exist: not is_nil(Pleroma.Emoji.get(shortcode)) - } - end - |> Enum.group_by(& &1[:exist]) + {_, updated_pack} = + Enum.map_reduce(emojies, pack, fn item, emoji_pack -> + emoji_file = %Plug.Upload{ + filename: item[:filename], + path: Path.join(tmp_dir, item[:path]) + } - case Map.get(emojies, false, []) do - [_ | _] = new_emojies -> - {:ok, tmp_dir} = Pleroma.Utils.tmp_dir("emoji") - - try do - {:ok, _emoji_files} = - :zip.unzip( - to_charlist(file.path), - [ - {:file_list, Enum.map(new_emojies, & &1[:path])}, - {:cwd, tmp_dir} - ] + {:ok, updated_pack} = + do_add_file( + emoji_pack, + item[:shortcode], + to_string(item[:filename]), + emoji_file ) - {_, updated_pack} = - Enum.map_reduce(new_emojies, pack, fn item, emoji_pack -> - emoji_file = %Plug.Upload{ - filename: item[:filename], - path: Path.join(tmp_dir, item[:path]) - } + {item, updated_pack} + end) - {:ok, updated_pack} = - do_add_file( - emoji_pack, - item[:shortcode], - to_string(item[:filename]), - emoji_file - ) + Emoji.reload() - {item, updated_pack} - end) - - Emoji.reload() - - {:ok, updated_pack} - after - File.rm_rf(tmp_dir) - end - - _ -> - {:ok, pack} + {:ok, updated_pack} + after + File.rm_rf(tmp_dir) end + else + {:error, _} = error -> + error + + _ -> + {:ok, pack} end end - def add_file(%Pack{} = pack, shortcode, filename, file) do + def add_file(%Pack{} = pack, shortcode, filename, %Plug.Upload{} = file) do with :ok <- validate_not_empty([shortcode, filename]), :ok <- validate_emoji_not_exists(shortcode), {:ok, updated_pack} <- do_add_file(pack, shortcode, filename, file) do @@ -139,12 +141,10 @@ def add_file(%Pack{} = pack, shortcode, filename, file) do end defp do_add_file(pack, shortcode, filename, file) do - with :ok <- save_file(file, pack, filename), - {:ok, updated_pack} <- - pack - |> put_emoji(shortcode, filename) - |> save_pack() do - {:ok, updated_pack} + with :ok <- save_file(file, pack, filename) do + pack + |> put_emoji(shortcode, filename) + |> save_pack() end end @@ -312,9 +312,10 @@ defp validate_emoji_not_exists(shortcode, force \\ false) defp validate_emoji_not_exists(_shortcode, true), do: :ok defp validate_emoji_not_exists(shortcode, _) do - case Emoji.get(shortcode) do - nil -> :ok - _ -> {:error, :already_exists} + if Emoji.exist?(shortcode) do + {:error, :already_exists} + else + :ok end end @@ -466,7 +467,7 @@ defp save_file(%Plug.Upload{path: upload_path}, pack, filename) do defp put_emoji(pack, shortcode, filename) do files = Map.put(pack.files, shortcode, filename) - %{pack | files: files} + %{pack | files: files, files_count: length(Map.keys(files))} end defp delete_emoji(pack, shortcode) do diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex index fcb8c64c7..e95766223 100644 --- a/lib/pleroma/utils.ex +++ b/lib/pleroma/utils.ex @@ -28,14 +28,16 @@ def command_available?(command) do @doc "creates the uniq temporary directory" @spec tmp_dir(String.t()) :: {:ok, String.t()} | {:error, :file.posix()} def tmp_dir(prefix \\ "") do - sub_dir = [ - prefix, - Timex.to_unix(Timex.now()), - :os.getpid(), - String.downcase(Integer.to_string(:rand.uniform(0x100000000), 36)) - ] + sub_dir = + [ + prefix, + Timex.to_unix(Timex.now()), + :os.getpid(), + String.downcase(Integer.to_string(:rand.uniform(0x100000000), 36)) + ] + |> Enum.join("-") - tmp_dir = Path.join(System.tmp_dir!(), Enum.join(sub_dir, "-")) + tmp_dir = Path.join(System.tmp_dir!(), sub_dir) case File.mkdir(tmp_dir) do :ok -> {:ok, tmp_dir} diff --git a/test/emoji/pack_test.exs b/test/emoji/pack_test.exs new file mode 100644 index 000000000..3ec991f0f --- /dev/null +++ b/test/emoji/pack_test.exs @@ -0,0 +1,93 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Emoji.PackTest do + use ExUnit.Case, async: true + alias Pleroma.Emoji.Pack + + @emoji_path Path.join( + Pleroma.Config.get!([:instance, :static_dir]), + "emoji" + ) + + setup do + pack_path = Path.join(@emoji_path, "dump_pack") + File.mkdir(pack_path) + + File.write!(Path.join(pack_path, "pack.json"), """ + { + "files": { }, + "pack": { + "description": "Dump pack", "homepage": "https://pleroma.social", + "license": "Test license", "share-files": true + }} + """) + + {:ok, pack} = Pleroma.Emoji.Pack.load_pack("dump_pack") + + on_exit(fn -> + File.rm_rf!(pack_path) + end) + + {:ok, pack: pack} + end + + describe "add_file/4" do + test "add emojies from zip file", %{pack: pack} do + file = %Plug.Upload{ + content_type: "application/zip", + filename: "finland-emojis.zip", + path: Path.absname("test/fixtures/finland-emojis.zip") + } + + {:ok, updated_pack} = Pack.add_file(pack, nil, nil, file) + + assert updated_pack.files == %{ + "a_trusted_friend-128" => "128px/a_trusted_friend-128.png", + "auroraborealis" => "auroraborealis.png", + "baby_in_a_box" => "1000px/baby_in_a_box.png", + "bear" => "1000px/bear.png", + "bear-128" => "128px/bear-128.png" + } + + assert updated_pack.files_count == 5 + end + end + + test "returns error when zip file is bad", %{pack: pack} do + file = %Plug.Upload{ + content_type: "application/zip", + filename: "finland-emojis.zip", + path: Path.absname("test/instance_static/emoji/test_pack/blank.png") + } + + assert Pack.add_file(pack, nil, nil, file) == {:error, :einval} + end + + test "returns pack when zip file is empty", %{pack: pack} do + file = %Plug.Upload{ + content_type: "application/zip", + filename: "finland-emojis.zip", + path: Path.absname("test/fixtures/empty.zip") + } + + {:ok, updated_pack} = Pack.add_file(pack, nil, nil, file) + assert updated_pack == pack + end + + test "add emoji file", %{pack: pack} do + file = %Plug.Upload{ + filename: "blank.png", + path: "#{@emoji_path}/test_pack/blank.png" + } + + {:ok, updated_pack} = Pack.add_file(pack, "test_blank", "test_blank.png", file) + + assert updated_pack.files == %{ + "test_blank" => "test_blank.png" + } + + assert updated_pack.files_count == 1 + end +end diff --git a/test/fixtures/empty.zip b/test/fixtures/empty.zip new file mode 100644 index 0000000000000000000000000000000000000000..15cb0ecb3e219d1701294bfdf0fe3f5cb5d208e7 GIT binary patch literal 22 NcmWIWW@Tf*000g10H*)| literal 0 HcmV?d00001 diff --git a/test/utils_test.exs b/test/utils_test.exs new file mode 100644 index 000000000..3a730d545 --- /dev/null +++ b/test/utils_test.exs @@ -0,0 +1,15 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.UtilsTest do + use ExUnit.Case, async: true + + describe "tmp_dir/1" do + test "returns unique temporary directory" do + {:ok, path} = Pleroma.Utils.tmp_dir("emoji") + assert path =~ ~r/\/tmp\/emoji-(.*)-#{:os.getpid()}-(.*)/ + File.rm_rf(path) + end + end +end From b267b751d451508bd655142a4711776ea15484f4 Mon Sep 17 00:00:00 2001 From: Maksim Date: Tue, 25 Aug 2020 05:38:25 +0000 Subject: [PATCH 023/201] Apply 1 suggestion(s) to 1 file(s) --- lib/pleroma/emoji/pack.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex index dd79bdfab..930bbb422 100644 --- a/lib/pleroma/emoji/pack.ex +++ b/lib/pleroma/emoji/pack.ex @@ -74,7 +74,7 @@ defp unpack_zip_emojies(zip_files) do shortcode <- Path.basename(filename, Path.extname(filename)), false <- Emoji.exist?(shortcode) ) do - acc ++ [%{path: path, filename: path, shortcode: shortcode}] + [%{path: path, filename: path, shortcode: shortcode} | acc] else _ -> acc end From 899ea2da3e77ca64598e45eba986d5315b523120 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 25 Aug 2020 17:18:22 -0500 Subject: [PATCH 024/201] Switch to imagemagick, only support videos --- config/config.exs | 2 +- config/description.exs | 4 ++-- lib/pleroma/helpers/media_helper.ex | 13 ++++++------- .../web/media_proxy/media_proxy_controller.ex | 15 +++++---------- 4 files changed, 14 insertions(+), 20 deletions(-) diff --git a/config/config.exs b/config/config.exs index e1558e29e..972b96d2d 100644 --- a/config/config.exs +++ b/config/config.exs @@ -444,7 +444,7 @@ enabled: false, thumbnail_max_width: 600, thumbnail_max_height: 600, - quality: 2, + image_quality: 85, proxy_opts: [ head_request_max_read_duration: 5_000 ] diff --git a/config/description.exs b/config/description.exs index 0082cc84f..60f76be45 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1975,9 +1975,9 @@ description: "Max height of preview thumbnail." }, %{ - key: :quality, + key: :image_quality, type: :integer, - description: "Quality of the output. Ranges from 1 (max quality) to 31 (lowest quality)." + description: "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." }, %{ key: :proxy_opts, diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 89dd4204b..07e6dba5e 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,18 +7,17 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ - def ffmpeg_resize(uri_or_path, %{max_width: max_width, max_height: max_height} = options) do - quality = options[:quality] || 1 + def image_resize(url, %{max_width: max_width, max_height: max_height} = options) do + quality = options[:quality] || 85 cmd = ~s""" - ffmpeg -i #{uri_or_path} -f lavfi -i color=c=white \ - -filter_complex "[0:v] scale='min(#{max_width},iw)':'min(#{max_height},ih)': \ - force_original_aspect_ratio=decrease [scaled]; \ - [1][scaled] scale2ref [bg][img]; [bg] setsar=1 [bg]; [bg][img] overlay=shortest=1" \ - -loglevel quiet -f image2 -vcodec mjpeg -frames:v 1 -q:v #{quality} pipe:1 + convert - -resize '#{max_width}x#{max_height}>' -quality #{quality} - """ pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) + {:ok, env} = url |> Pleroma.Web.MediaProxy.url() |> Pleroma.HTTP.get() + image = env.body + Port.command(pid, image) loop_recv(pid) end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 1c51aa5e3..b925973ba 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -66,25 +66,20 @@ defp handle_preview(conn, url) do end defp handle_preview("image/" <> _ = _content_type, conn, url) do - handle_image_or_video_preview(conn, url) - end - - defp handle_preview("video/" <> _ = _content_type, conn, url) do - handle_image_or_video_preview(conn, url) + handle_image_preview(conn, url) end defp handle_preview(content_type, conn, _url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end - defp handle_image_or_video_preview(%{params: params} = conn, url) do - quality = Config.get!([:media_preview_proxy, :quality]) + defp handle_image_preview(%{params: params} = conn, url) do + quality = Config.get!([:media_preview_proxy, :image_quality]) with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), - media_proxy_url <- MediaProxy.url(url), {:ok, thumbnail_binary} <- - MediaHelper.ffmpeg_resize( - media_proxy_url, + MediaHelper.image_resize( + url, %{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality} ) do conn From ddbddc08fc9fe5458edc983c81a77671da34a71f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 25 Aug 2020 17:31:55 -0500 Subject: [PATCH 025/201] Redirects for videos right now --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index b925973ba..6abbf9e23 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -69,6 +69,12 @@ defp handle_preview("image/" <> _ = _content_type, conn, url) do handle_image_preview(conn, url) end + defp handle_preview("video/" <> _ = _content_type, conn, url) do + mediaproxy_url = url |> MediaProxy.url() + + redirect(conn, external: mediaproxy_url) + end + defp handle_preview(content_type, conn, _url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end From afa03ca8e2cffc85628beb5f9a70401d984ab216 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 25 Aug 2020 17:36:53 -0500 Subject: [PATCH 026/201] Allow both stdin and stdout --- lib/pleroma/helpers/media_helper.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 07e6dba5e..5fe135584 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -14,7 +14,7 @@ def image_resize(url, %{max_width: max_width, max_height: max_height} = options) convert - -resize '#{max_width}x#{max_height}>' -quality #{quality} - """ - pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) + pid = Port.open({:spawn, cmd}, [:use_stdio, :stream, :exit_status, :binary]) {:ok, env} = url |> Pleroma.Web.MediaProxy.url() |> Pleroma.HTTP.get() image = env.body Port.command(pid, image) From a136e7e9b590e3f23e472bf27c7c6a81d8d7792b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 25 Aug 2020 18:10:27 -0500 Subject: [PATCH 027/201] Try specifying fd0, force jpg out --- lib/pleroma/helpers/media_helper.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 5fe135584..01f42d9b0 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -11,7 +11,7 @@ def image_resize(url, %{max_width: max_width, max_height: max_height} = options) quality = options[:quality] || 85 cmd = ~s""" - convert - -resize '#{max_width}x#{max_height}>' -quality #{quality} - + convert fd:0 -resize '#{max_width}x#{max_height}>' -quality #{quality} jpg:- """ pid = Port.open({:spawn, cmd}, [:use_stdio, :stream, :exit_status, :binary]) From bc94f0c6da2405e2f1cdae89696970728b6e987f Mon Sep 17 00:00:00 2001 From: href Date: Wed, 26 Aug 2020 16:12:34 +0200 Subject: [PATCH 028/201] Use mkfifo to feed ImageMagick --- lib/pleroma/helpers/media_helper.ex | 70 ++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 01f42d9b0..a43352ae0 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,18 +7,66 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ - def image_resize(url, %{max_width: max_width, max_height: max_height} = options) do + @tmp_base "/tmp/pleroma-media_preview-pipe" + + def image_resize(url, options) do + with executable when is_binary(executable) <- System.find_executable("convert"), + {:ok, args} <- prepare_resize_args(options), + url = Pleroma.Web.MediaProxy.url(url), + {:ok, env} <- Pleroma.HTTP.get(url), + {:ok, fifo_path} <- mkfifo() + do + run_fifo(fifo_path, env, executable, args) + else + nil -> {:error, {:convert, :command_not_found}} + {:error, _} = error -> error + end + end + + defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = options) do quality = options[:quality] || 85 + resize = Enum.join([max_width, "x", max_height, ">"]) + args = [ + "-auto-orient", # Support for EXIF rotation + "-resize", resize, + "-quality", to_string(quality) + ] + {:ok, args} + end - cmd = ~s""" - convert fd:0 -resize '#{max_width}x#{max_height}>' -quality #{quality} jpg:- - """ + defp prepare_resize_args(_), do: {:error, :missing_options} - pid = Port.open({:spawn, cmd}, [:use_stdio, :stream, :exit_status, :binary]) - {:ok, env} = url |> Pleroma.Web.MediaProxy.url() |> Pleroma.HTTP.get() - image = env.body - Port.command(pid, image) + defp run_fifo(fifo_path, env, executable, args) do + args = List.flatten([fifo_path, args, "jpg:fd:1"]) + pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) + fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) + true = Port.command(fifo, env.body) + :erlang.port_close(fifo) loop_recv(pid) + after + File.rm(fifo_path) + end + + defp mkfifo() do + path = "#{@tmp_base}#{to_charlist(:erlang.phash2(self()))}" + case System.cmd("mkfifo", [path]) do + {_, 0} -> + spawn(fifo_guard(path)) + {:ok, path} + {_, err} -> + {:error, {:fifo_failed, err}} + end + end + + defp fifo_guard(path) do + pid = self() + fn() -> + ref = Process.monitor(pid) + receive do + {:DOWN, ^ref, :process, ^pid, _} -> + File.rm(path) + end + end end defp loop_recv(pid) do @@ -29,12 +77,14 @@ defp loop_recv(pid, acc) do receive do {^pid, {:data, data}} -> loop_recv(pid, acc <> data) - {^pid, {:exit_status, 0}} -> {:ok, acc} - {^pid, {:exit_status, status}} -> {:error, status} + after + 5000 -> + :erlang.port_close(pid) + {:error, :timeout} end end end From d4d1192341868d978e19777c17be85e331367264 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 26 Aug 2020 14:28:25 +0000 Subject: [PATCH 029/201] Remove auto-orient; don't use it on previews, only originals --- lib/pleroma/helpers/media_helper.ex | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index a43352ae0..db0c4b0cf 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -27,7 +27,6 @@ defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = optio quality = options[:quality] || 85 resize = Enum.join([max_width, "x", max_height, ">"]) args = [ - "-auto-orient", # Support for EXIF rotation "-resize", resize, "-quality", to_string(quality) ] From 2c95533ead56217ec27e09e0ead0050e110dff22 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 26 Aug 2020 15:37:45 +0000 Subject: [PATCH 030/201] Change method of convert using stdout, make progressive jpegs --- lib/pleroma/helpers/media_helper.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index db0c4b0cf..3256802a0 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -27,6 +27,7 @@ defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = optio quality = options[:quality] || 85 resize = Enum.join([max_width, "x", max_height, ">"]) args = [ + "-interlace", "Plane", "-resize", resize, "-quality", to_string(quality) ] @@ -36,7 +37,7 @@ defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = optio defp prepare_resize_args(_), do: {:error, :missing_options} defp run_fifo(fifo_path, env, executable, args) do - args = List.flatten([fifo_path, args, "jpg:fd:1"]) + args = List.flatten([fifo_path, args, "jpg:-"]) pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) true = Port.command(fifo, env.body) From eead2276e79f29c4d0e10d23eb7524a9ee5f5045 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 26 Aug 2020 16:18:11 -0500 Subject: [PATCH 031/201] Ensure GIFs are redirected to the original or they become static. --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 6abbf9e23..d465ce8d1 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -65,6 +65,12 @@ defp handle_preview(conn, url) do end end + defp handle_preview("image/gif" = _content_type, conn, url) do + mediaproxy_url = url |> MediaProxy.url() + + redirect(conn, external: mediaproxy_url) + end + defp handle_preview("image/" <> _ = _content_type, conn, url) do handle_image_preview(conn, url) end From 9567b96c7927be433eac4f023051adc5cbd6610c Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 26 Aug 2020 16:40:13 -0500 Subject: [PATCH 032/201] Rename to make it obvious this is for images not videos --- lib/pleroma/helpers/media_helper.ex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 3256802a0..fe11dd460 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -11,7 +11,7 @@ defmodule Pleroma.Helpers.MediaHelper do def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), - {:ok, args} <- prepare_resize_args(options), + {:ok, args} <- prepare_image_resize_args(options), url = Pleroma.Web.MediaProxy.url(url), {:ok, env} <- Pleroma.HTTP.get(url), {:ok, fifo_path} <- mkfifo() @@ -23,7 +23,7 @@ def image_resize(url, options) do end end - defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = options) do + defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = options) do quality = options[:quality] || 85 resize = Enum.join([max_width, "x", max_height, ">"]) args = [ @@ -34,7 +34,7 @@ defp prepare_resize_args(%{max_width: max_width, max_height: max_height} = optio {:ok, args} end - defp prepare_resize_args(_), do: {:error, :missing_options} + defp prepare_image_resize_args(_), do: {:error, :missing_options} defp run_fifo(fifo_path, env, executable, args) do args = List.flatten([fifo_path, args, "jpg:-"]) From 697bea04731614bcd2e1e10f0564863dc49a49fa Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 26 Aug 2020 17:43:25 -0500 Subject: [PATCH 033/201] Move arg for images to the list so we can reuse these fifo functions for videos --- lib/pleroma/helpers/media_helper.ex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index fe11dd460..0299b16ae 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -29,7 +29,8 @@ defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = args = [ "-interlace", "Plane", "-resize", resize, - "-quality", to_string(quality) + "-quality", to_string(quality), + "jpg:-" ] {:ok, args} end @@ -37,7 +38,7 @@ defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = defp prepare_image_resize_args(_), do: {:error, :missing_options} defp run_fifo(fifo_path, env, executable, args) do - args = List.flatten([fifo_path, args, "jpg:-"]) + args = List.flatten([fifo_path, args]) pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) true = Port.command(fifo, env.body) From 157ecf402230c0b786f5765dd8b709d45c45974a Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 11:46:56 -0500 Subject: [PATCH 034/201] Follow redirects. I think we should be using some global adapter options here, though. --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index d465ce8d1..736b7db56 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -50,7 +50,9 @@ def preview(conn, %{"sig" => sig64, "url" => url64}) do defp handle_preview(conn, url) do with {:ok, %{status: status} = head_response} when status in 200..299 <- - Tesla.head(url, opts: [adapter: [timeout: preview_head_request_timeout()]]) do + Tesla.head(url, + opts: [adapter: [timeout: preview_head_request_timeout(), follow_redirect: true]] + ) do content_type = Tesla.get_header(head_response, "content-type") handle_preview(content_type, conn, url) else From ef9d12fcc500d7429bee0d6ccffe3596434aee52 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 12:31:55 -0500 Subject: [PATCH 035/201] Attempt at supporting video thumbnails via ffmpeg --- lib/pleroma/helpers/media_helper.ex | 19 +++++++++++++++++++ .../web/media_proxy/media_proxy_controller.ex | 17 ++++++++++++++--- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 0299b16ae..7e1af8bac 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -37,6 +37,25 @@ defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = defp prepare_image_resize_args(_), do: {:error, :missing_options} + def video_framegrab(url) do + with executable when is_binary(executable) <- System.find_executable("ffmpeg"), + args = [ + "-i", "-", + "-vframes", "1", + "-f", "mjpeg", + "-loglevel", "error", + "-" + ], + url = Pleroma.Web.MediaProxy.url(url), + {:ok, env} <- Pleroma.HTTP.get(url), + {:ok, fifo_path} <- mkfifo() do + run_fifo(fifo_path, env, executable, args) + else + nil -> {:error, {:ffmpeg, :command_not_found}} + {:error, _} = error -> error + end + end + defp run_fifo(fifo_path, env, executable, args) do args = List.flatten([fifo_path, args]) pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 736b7db56..7ac1a97e2 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -78,9 +78,7 @@ defp handle_preview("image/" <> _ = _content_type, conn, url) do end defp handle_preview("video/" <> _ = _content_type, conn, url) do - mediaproxy_url = url |> MediaProxy.url() - - redirect(conn, external: mediaproxy_url) + handle_video_preview(conn, url) end defp handle_preview(content_type, conn, _url) do @@ -106,6 +104,19 @@ defp handle_image_preview(%{params: params} = conn, url) do end end + defp handle_video_preview(conn, url) do + with {:ok, thumbnail_binary} <- + MediaHelper.video_framegrab(url) do + conn + |> put_resp_header("content-type", "image/jpeg") + |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") + |> send_resp(200, thumbnail_binary) + else + _ -> + send_resp(conn, :failed_dependency, "Can't handle preview.") + end + end + defp thumbnail_max_dimensions(params) do config = Config.get([:media_preview_proxy], []) From f1218a2b4e16178c8c1285157f7cd995dc950e3e Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 12:47:29 -0500 Subject: [PATCH 036/201] ffmpeg needs input from fifo path, not stdin --- lib/pleroma/helpers/media_helper.ex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 7e1af8bac..7c2bfbc53 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -39,16 +39,16 @@ defp prepare_image_resize_args(_), do: {:error, :missing_options} def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), + url = Pleroma.Web.MediaProxy.url(url), + {:ok, env} <- Pleroma.HTTP.get(url), + {:ok, fifo_path} <- mkfifo(), args = [ - "-i", "-", + "-i", fifo_path, "-vframes", "1", "-f", "mjpeg", "-loglevel", "error", "-" - ], - url = Pleroma.Web.MediaProxy.url(url), - {:ok, env} <- Pleroma.HTTP.get(url), - {:ok, fifo_path} <- mkfifo() do + ] do run_fifo(fifo_path, env, executable, args) else nil -> {:error, {:ffmpeg, :command_not_found}} @@ -57,7 +57,12 @@ def video_framegrab(url) do end defp run_fifo(fifo_path, env, executable, args) do - args = List.flatten([fifo_path, args]) + args = + if _executable = System.find_executable("convert") do + List.flatten([fifo_path, args]) + else + args + end pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) true = Port.command(fifo, env.body) From dd1de994d57e3d9c99bb4e4c7019c696b5153f50 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 13:10:40 -0500 Subject: [PATCH 037/201] Try to trick ffmpeg into working with this named pipe --- lib/pleroma/helpers/media_helper.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 7c2bfbc53..385a4df81 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -43,11 +43,12 @@ def video_framegrab(url) do {:ok, env} <- Pleroma.HTTP.get(url), {:ok, fifo_path} <- mkfifo(), args = [ + "-y", "-i", fifo_path, "-vframes", "1", "-f", "mjpeg", "-loglevel", "error", - "-" + "pipe:" ] do run_fifo(fifo_path, env, executable, args) else From 3a5231ec8fd0583d7f4bf05378d8bb81096c4f40 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 16:33:37 -0500 Subject: [PATCH 038/201] Keep args construction within video/image scopes instead of mangling down in fifo town --- lib/pleroma/helpers/media_helper.ex | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 385a4df81..b42612ccb 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -16,6 +16,7 @@ def image_resize(url, options) do {:ok, env} <- Pleroma.HTTP.get(url), {:ok, fifo_path} <- mkfifo() do + args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) else nil -> {:error, {:convert, :command_not_found}} @@ -58,12 +59,6 @@ def video_framegrab(url) do end defp run_fifo(fifo_path, env, executable, args) do - args = - if _executable = System.find_executable("convert") do - List.flatten([fifo_path, args]) - else - args - end pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) true = Port.command(fifo, env.body) From 67c79394e81cf9f5404afad29a397acf32dece33 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 17:15:23 -0500 Subject: [PATCH 039/201] Support static avatars and header images with Mediaproxy Preview --- lib/pleroma/web/mastodon_api/views/account_view.ex | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index 864c0417f..eef45b35d 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -181,8 +181,10 @@ defp do_render("show.json", %{user: user} = opts) do user = User.sanitize_html(user, User.html_filter_policy(opts[:for])) display_name = user.name || user.nickname - image = User.avatar_url(user) |> MediaProxy.url() + avatar = User.avatar_url(user) |> MediaProxy.url() + avatar_static = User.avatar_url(user) |> MediaProxy.preview_url() header = User.banner_url(user) |> MediaProxy.url() + header_static = User.banner_url(user) |> MediaProxy.preview_url() following_count = if !user.hide_follows_count or !user.hide_follows or opts[:for] == user do @@ -247,10 +249,10 @@ defp do_render("show.json", %{user: user} = opts) do statuses_count: user.note_count, note: user.bio || "", url: user.uri || user.ap_id, - avatar: image, - avatar_static: image, + avatar: avatar, + avatar_static: avatar_static, header: header, - header_static: header, + header_static: header_static, emojis: emojis, fields: user.fields, bot: bot, From 5b4d483f522f470b9d2cdb7f43d98dde427a1241 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 27 Aug 2020 17:28:21 -0500 Subject: [PATCH 040/201] Add a note about the avatars and banners situation --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 7ac1a97e2..411dc95d0 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -67,6 +67,9 @@ defp handle_preview(conn, url) do end end + # TODO: find a workaround so avatar_static and banner_static can work. + # Those only permit GIFs for animation, so we have to permit a way to + # allow those to get real static variants. defp handle_preview("image/gif" = _content_type, conn, url) do mediaproxy_url = url |> MediaProxy.url() From dfceb03cf47374fdeab60784476b2e266208a4bb Mon Sep 17 00:00:00 2001 From: href Date: Fri, 28 Aug 2020 21:14:28 +0200 Subject: [PATCH 041/201] Rewrite MP4/MOV binaries to be faststart In some cases, MP4/MOV files can have the data _before_ the meta-data. Thus, ffmpeg (and all similar tools) cannot really process the input if it's given over stdin/streaming/pipes. BUT I REALLY DON'T WANT TO MAKE TEMPORARY FILES so here we go, an implementation of qtfaststart in elixir. --- lib/pleroma/helpers/media_helper.ex | 59 ++++++++---- lib/pleroma/helpers/qt_fast_start.ex | 131 +++++++++++++++++++++++++++ 2 files changed, 172 insertions(+), 18 deletions(-) create mode 100644 lib/pleroma/helpers/qt_fast_start.ex diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index b42612ccb..5ac75b326 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -14,8 +14,7 @@ def image_resize(url, options) do {:ok, args} <- prepare_image_resize_args(options), url = Pleroma.Web.MediaProxy.url(url), {:ok, env} <- Pleroma.HTTP.get(url), - {:ok, fifo_path} <- mkfifo() - do + {:ok, fifo_path} <- mkfifo() do args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) else @@ -27,12 +26,17 @@ def image_resize(url, options) do defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = options) do quality = options[:quality] || 85 resize = Enum.join([max_width, "x", max_height, ">"]) + args = [ - "-interlace", "Plane", - "-resize", resize, - "-quality", to_string(quality), - "jpg:-" + "-interlace", + "Plane", + "-resize", + resize, + "-quality", + to_string(quality), + "jpg:-" ] + {:ok, args} end @@ -45,11 +49,15 @@ def video_framegrab(url) do {:ok, fifo_path} <- mkfifo(), args = [ "-y", - "-i", fifo_path, - "-vframes", "1", - "-f", "mjpeg", - "-loglevel", "error", - "pipe:" + "-i", + fifo_path, + "-vframes", + "1", + "-f", + "mjpeg", + "-loglevel", + "error", + "-" ] do run_fifo(fifo_path, env, executable, args) else @@ -59,9 +67,18 @@ def video_framegrab(url) do end defp run_fifo(fifo_path, env, executable, args) do - pid = Port.open({:spawn_executable, executable}, [:use_stdio, :stream, :exit_status, :binary, args: args]) + pid = + Port.open({:spawn_executable, executable}, [ + :use_stdio, + :stream, + :exit_status, + :binary, + args: args + ]) + fifo = Port.open(to_charlist(fifo_path), [:eof, :binary, :stream, :out]) - true = Port.command(fifo, env.body) + fix = Pleroma.Helpers.QtFastStart.fix(env.body) + true = Port.command(fifo, fix) :erlang.port_close(fifo) loop_recv(pid) after @@ -70,10 +87,12 @@ defp run_fifo(fifo_path, env, executable, args) do defp mkfifo() do path = "#{@tmp_base}#{to_charlist(:erlang.phash2(self()))}" + case System.cmd("mkfifo", [path]) do {_, 0} -> spawn(fifo_guard(path)) {:ok, path} + {_, err} -> {:error, {:fifo_failed, err}} end @@ -81,8 +100,10 @@ defp mkfifo() do defp fifo_guard(path) do pid = self() - fn() -> + + fn -> ref = Process.monitor(pid) + receive do {:DOWN, ^ref, :process, ^pid, _} -> File.rm(path) @@ -98,14 +119,16 @@ defp loop_recv(pid, acc) do receive do {^pid, {:data, data}} -> loop_recv(pid, acc <> data) + {^pid, {:exit_status, 0}} -> {:ok, acc} + {^pid, {:exit_status, status}} -> {:error, status} - after - 5000 -> - :erlang.port_close(pid) - {:error, :timeout} + after + 5000 -> + :erlang.port_close(pid) + {:error, :timeout} end end end diff --git a/lib/pleroma/helpers/qt_fast_start.ex b/lib/pleroma/helpers/qt_fast_start.ex new file mode 100644 index 000000000..694b583b9 --- /dev/null +++ b/lib/pleroma/helpers/qt_fast_start.ex @@ -0,0 +1,131 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Helpers.QtFastStart do + @moduledoc """ + (WIP) Converts a "slow start" (data before metadatas) mov/mp4 file to a "fast start" one (metadatas before data). + """ + + # TODO: Cleanup and optimizations + # Inspirations: https://www.ffmpeg.org/doxygen/3.4/qt-faststart_8c_source.html + # https://github.com/danielgtaylor/qtfaststart/blob/master/qtfaststart/processor.py + # ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 + # Paracetamol + + def fix(binary = <<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70, _::binary>>) do + index = fix(binary, binary, 0, []) + + case index do + [{"ftyp", _, _, _, _}, {"mdat", _, _, _, _} | _] -> faststart(index) + [{"ftyp", _, _, _, _}, {"free", _, _, _, _}, {"mdat", _, _, _, _} | _] -> faststart(index) + _ -> binary + end + end + + def fix(binary) do + binary + end + + defp fix(<<>>, _bin, _pos, acc) do + :lists.reverse(acc) + end + + defp fix( + <>, + bin, + pos, + acc + ) do + if fourcc == "mdat" && size == 0 do + # mdat with 0 size means "seek to the end" -- also, in that case the file is probably OK. + acc = [ + {fourcc, pos, byte_size(bin) - pos, byte_size(bin) - pos, + <>} + | acc + ] + + fix(<<>>, bin, byte_size(bin), acc) + else + full_size = size - 8 + <> = rest + + acc = [ + {fourcc, pos, pos + size, size, + <>} + | acc + ] + + fix(rest, bin, pos + size, acc) + end + end + + defp faststart(index) do + {{_ftyp, _, _, _, ftyp}, index} = List.keytake(index, "ftyp", 0) + + # Skip re-writing the free fourcc as it's kind of useless. Why stream useless bytes when you can do without? + {free_size, index} = + case List.keytake(index, "free", 0) do + {{_, _, _, size, _}, index} -> {size, index} + _ -> {0, index} + end + + {{_moov, _, _, moov_size, moov}, index} = List.keytake(index, "moov", 0) + offset = -free_size + moov_size + rest = for {_, _, _, _, data} <- index, do: data, into: <<>> + <> = moov + new_moov = fix_moov(moov_data, offset) + <> + end + + defp fix_moov(moov, offset) do + fix_moov(moov, offset, <<>>) + end + + defp fix_moov(<<>>, _, acc), do: acc + + defp fix_moov( + <>, + offset, + acc + ) do + full_size = size - 8 + <> = rest + + data = + cond do + fourcc in ["trak", "mdia", "minf", "stbl"] -> + # Theses contains sto or co64 part + <>)::binary>> + + fourcc in ["stco", "co64"] -> + # fix the damn thing + <> = data + + entry_size = + case fourcc do + "stco" -> 4 + "co64" -> 8 + end + + {_, result} = + Enum.reduce(1..count, {rest, <<>>}, fn _, + {<>, acc} -> + {rest, <>} + end) + + <> + + true -> + <> + end + + acc = <> + fix_moov(rest, offset, acc) + end +end From 24d522c3b366b54b23bebaf07371145d50820d4a Mon Sep 17 00:00:00 2001 From: href Date: Sat, 29 Aug 2020 13:05:23 +0200 Subject: [PATCH 042/201] QtFastStart: optimize ~4-6x faster ~3~4x memory usage reduction (now mostly adds what we are rewriting in the metadatas) --- lib/pleroma/helpers/qt_fast_start.ex | 109 +++++++++++++-------------- 1 file changed, 54 insertions(+), 55 deletions(-) diff --git a/lib/pleroma/helpers/qt_fast_start.ex b/lib/pleroma/helpers/qt_fast_start.ex index 694b583b9..8cba06e54 100644 --- a/lib/pleroma/helpers/qt_fast_start.ex +++ b/lib/pleroma/helpers/qt_fast_start.ex @@ -13,10 +13,11 @@ defmodule Pleroma.Helpers.QtFastStart do # ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 # Paracetamol - def fix(binary = <<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70, _::binary>>) do - index = fix(binary, binary, 0, []) + def fix(binary = <<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70, _::bits>>) do + index = fix(binary, 0, nil, nil, []) case index do + :abort -> binary [{"ftyp", _, _, _, _}, {"mdat", _, _, _, _} | _] -> faststart(index) [{"ftyp", _, _, _, _}, {"free", _, _, _, _}, {"mdat", _, _, _, _} | _] -> faststart(index) _ -> binary @@ -27,37 +28,32 @@ def fix(binary) do binary end - defp fix(<<>>, _bin, _pos, acc) do - :lists.reverse(acc) + # MOOV have been seen before MDAT- abort + defp fix(<<_::bits>>, _, true, false, _) do + :abort end defp fix( - <>, - bin, + <>, pos, + got_moov, + got_mdat, acc ) do - if fourcc == "mdat" && size == 0 do - # mdat with 0 size means "seek to the end" -- also, in that case the file is probably OK. - acc = [ - {fourcc, pos, byte_size(bin) - pos, byte_size(bin) - pos, - <>} - | acc - ] + full_size = (size - 8) * 8 + <> = rest - fix(<<>>, bin, byte_size(bin), acc) - else - full_size = size - 8 - <> = rest + acc = [ + {fourcc, pos, pos + size, size, + <>} + | acc + ] - acc = [ - {fourcc, pos, pos + size, size, - <>} - | acc - ] + fix(rest, pos + size, got_moov || fourcc == "moov", got_mdat || fourcc == "mdat", acc) + end - fix(rest, bin, pos + size, acc) - end + defp fix(<<>>, _pos, _, _, acc) do + :lists.reverse(acc) end defp faststart(index) do @@ -72,60 +68,63 @@ defp faststart(index) do {{_moov, _, _, moov_size, moov}, index} = List.keytake(index, "moov", 0) offset = -free_size + moov_size - rest = for {_, _, _, _, data} <- index, do: data, into: <<>> - <> = moov - new_moov = fix_moov(moov_data, offset) - <> + rest = for {_, _, _, _, data} <- index, do: data, into: [] + <> = moov + [ftyp, moov_head, fix_moov(moov_data, offset, []), rest] end - defp fix_moov(moov, offset) do - fix_moov(moov, offset, <<>>) - end - - defp fix_moov(<<>>, _, acc), do: acc - defp fix_moov( - <>, + <>, offset, acc ) do - full_size = size - 8 - <> = rest + full_size = (size - 8) * 8 + <> = rest data = cond do fourcc in ["trak", "mdia", "minf", "stbl"] -> # Theses contains sto or co64 part - <>)::binary>> + [<>, fix_moov(data, offset, [])] fourcc in ["stco", "co64"] -> # fix the damn thing - <> = data + <> = data entry_size = case fourcc do - "stco" -> 4 - "co64" -> 8 + "stco" -> 32 + "co64" -> 64 end - {_, result} = - Enum.reduce(1..count, {rest, <<>>}, fn _, - {<>, acc} -> - {rest, <>} - end) - - <> + [ + <>, + rewrite_entries(entry_size, offset, rest, []) + ] true -> - <> + [<>, data] end - acc = <> + acc = [acc | data] fix_moov(rest, offset, acc) end + + defp fix_moov(<<>>, _, acc), do: acc + + for size <- [32, 64] do + defp rewrite_entries( + unquote(size), + offset, + <>, + acc + ) do + rewrite_entries(unquote(size), offset, rest, [ + acc | <> + ]) + end + end + + defp rewrite_entries(_, _, <<>>, acc), do: acc end From 2d2af75777ae468fb08a2b09dc5af4636106a04b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sun, 30 Aug 2020 09:17:24 -0500 Subject: [PATCH 043/201] Support PNG previews to preserve alpha channels --- lib/pleroma/helpers/media_helper.ex | 17 ++++++++++ .../web/media_proxy/media_proxy_controller.ex | 32 +++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 5ac75b326..d8a6db4e1 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -23,6 +23,23 @@ def image_resize(url, options) do end end + defp prepare_image_resize_args( + %{max_width: max_width, max_height: max_height, format: "png"} = options + ) do + quality = options[:quality] || 85 + resize = Enum.join([max_width, "x", max_height, ">"]) + + args = [ + "-resize", + resize, + "-quality", + to_string(quality), + "png:-" + ] + + {:ok, args} + end + defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = options) do quality = options[:quality] || 85 resize = Enum.join([max_width, "x", max_height, ">"]) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 411dc95d0..94fae6cac 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -76,8 +76,12 @@ defp handle_preview("image/gif" = _content_type, conn, url) do redirect(conn, external: mediaproxy_url) end + defp handle_preview("image/png" <> _ = _content_type, conn, url) do + handle_png_preview(conn, url) + end + defp handle_preview("image/" <> _ = _content_type, conn, url) do - handle_image_preview(conn, url) + handle_jpeg_preview(conn, url) end defp handle_preview("video/" <> _ = _content_type, conn, url) do @@ -88,7 +92,31 @@ defp handle_preview(content_type, conn, _url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end - defp handle_image_preview(%{params: params} = conn, url) do + defp handle_png_preview(%{params: params} = conn, url) do + quality = Config.get!([:media_preview_proxy, :image_quality]) + + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), + {:ok, thumbnail_binary} <- + MediaHelper.image_resize( + url, + %{ + max_width: thumbnail_max_width, + max_height: thumbnail_max_height, + quality: quality, + format: "png" + } + ) do + conn + |> put_resp_header("content-type", "image/png") + |> put_resp_header("content-disposition", "inline; filename=\"preview.png\"") + |> send_resp(200, thumbnail_binary) + else + _ -> + send_resp(conn, :failed_dependency, "Can't handle preview.") + end + end + + defp handle_jpeg_preview(%{params: params} = conn, url) do quality = Config.get!([:media_preview_proxy, :image_quality]) with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), From 4ef210a587113313cd6887b7499832d0c0798f7f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sun, 30 Aug 2020 09:32:22 -0500 Subject: [PATCH 044/201] Credo --- lib/pleroma/helpers/media_helper.ex | 2 +- lib/pleroma/helpers/qt_fast_start.ex | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index d8a6db4e1..9bd815c26 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -102,7 +102,7 @@ defp run_fifo(fifo_path, env, executable, args) do File.rm(fifo_path) end - defp mkfifo() do + defp mkfifo do path = "#{@tmp_base}#{to_charlist(:erlang.phash2(self()))}" case System.cmd("mkfifo", [path]) do diff --git a/lib/pleroma/helpers/qt_fast_start.ex b/lib/pleroma/helpers/qt_fast_start.ex index 8cba06e54..bb93224b5 100644 --- a/lib/pleroma/helpers/qt_fast_start.ex +++ b/lib/pleroma/helpers/qt_fast_start.ex @@ -13,7 +13,7 @@ defmodule Pleroma.Helpers.QtFastStart do # ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 # Paracetamol - def fix(binary = <<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70, _::bits>>) do + def fix(<<0x00, 0x00, 0x00, _, 0x66, 0x74, 0x79, 0x70, _::bits>> = binary) do index = fix(binary, 0, nil, nil, []) case index do @@ -59,7 +59,8 @@ defp fix(<<>>, _pos, _, _, acc) do defp faststart(index) do {{_ftyp, _, _, _, ftyp}, index} = List.keytake(index, "ftyp", 0) - # Skip re-writing the free fourcc as it's kind of useless. Why stream useless bytes when you can do without? + # Skip re-writing the free fourcc as it's kind of useless. + # Why stream useless bytes when you can do without? {free_size, index} = case List.keytake(index, "free", 0) do {{_, _, _, size, _}, index} -> {size, index} From 0a839d51a7adb034d6514ea647d90546c829813d Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Mon, 31 Aug 2020 13:08:50 +0300 Subject: [PATCH 045/201] [#2497] Added Cache-Control response header for media proxy preview endpoint. --- .../web/media_proxy/media_proxy_controller.ex | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 94fae6cac..2afcd861a 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -107,8 +107,7 @@ defp handle_png_preview(%{params: params} = conn, url) do } ) do conn - |> put_resp_header("content-type", "image/png") - |> put_resp_header("content-disposition", "inline; filename=\"preview.png\"") + |> put_preview_response_headers() |> send_resp(200, thumbnail_binary) else _ -> @@ -126,8 +125,7 @@ defp handle_jpeg_preview(%{params: params} = conn, url) do %{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality} ) do conn - |> put_resp_header("content-type", "image/jpeg") - |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") + |> put_preview_response_headers() |> send_resp(200, thumbnail_binary) else _ -> @@ -139,8 +137,7 @@ defp handle_video_preview(conn, url) do with {:ok, thumbnail_binary} <- MediaHelper.video_framegrab(url) do conn - |> put_resp_header("content-type", "image/jpeg") - |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") + |> put_preview_response_headers() |> send_resp(200, thumbnail_binary) else _ -> @@ -148,6 +145,13 @@ defp handle_video_preview(conn, url) do end end + defp put_preview_response_headers(conn) do + conn + |> put_resp_header("content-type", "image/jpeg") + |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") + |> put_resp_header("cache-control", "max-age=0, private, must-revalidate") + end + defp thumbnail_max_dimensions(params) do config = Config.get([:media_preview_proxy], []) From 6ce28c409137972ee9b105b9d7ab4a0fd2a0d08b Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Tue, 1 Sep 2020 21:21:58 +0300 Subject: [PATCH 046/201] [#2497] Fix for png media proxy preview response headers (content-type & content-disposition). --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 2afcd861a..961c73666 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -67,7 +67,7 @@ defp handle_preview(conn, url) do end end - # TODO: find a workaround so avatar_static and banner_static can work. + # TODO: find a workaround so avatar_static and header_static can work. # Those only permit GIFs for animation, so we have to permit a way to # allow those to get real static variants. defp handle_preview("image/gif" = _content_type, conn, url) do @@ -107,7 +107,7 @@ defp handle_png_preview(%{params: params} = conn, url) do } ) do conn - |> put_preview_response_headers() + |> put_preview_response_headers("image/png", "preview.png") |> send_resp(200, thumbnail_binary) else _ -> @@ -145,10 +145,10 @@ defp handle_video_preview(conn, url) do end end - defp put_preview_response_headers(conn) do + defp put_preview_response_headers(conn, content_type \\ "image/jpeg", filename \\ "preview.jpg") do conn - |> put_resp_header("content-type", "image/jpeg") - |> put_resp_header("content-disposition", "inline; filename=\"preview.jpg\"") + |> put_resp_header("content-type", content_type) + |> put_resp_header("content-disposition", "inline; filename=\"#{filename}\"") |> put_resp_header("cache-control", "max-age=0, private, must-revalidate") end From 60c925380da644866836fa4a275f4d57eaaada04 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 3 Sep 2020 20:13:29 +0300 Subject: [PATCH 047/201] [#2497] Added support for enforcing output format for media proxy preview, used for avatar_static & header_static (AccountView). --- lib/pleroma/helpers/uri_helper.ex | 1 + .../web/mastodon_api/views/account_view.ex | 4 ++-- lib/pleroma/web/media_proxy/media_proxy.ex | 15 +++++++++------ .../web/media_proxy/media_proxy_controller.ex | 11 ++++++++--- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/lib/pleroma/helpers/uri_helper.ex b/lib/pleroma/helpers/uri_helper.ex index 6d205a636..9c9e53447 100644 --- a/lib/pleroma/helpers/uri_helper.ex +++ b/lib/pleroma/helpers/uri_helper.ex @@ -15,6 +15,7 @@ def append_uri_params(uri, appended_params) do uri |> Map.put(:query, URI.encode_query(updated_params)) |> URI.to_string() + |> String.replace_suffix("?", "") end def maybe_add_base("/" <> uri, base), do: Path.join([base, uri]) diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index 7eb4e86fe..a811f81c2 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -182,9 +182,9 @@ defp do_render("show.json", %{user: user} = opts) do display_name = user.name || user.nickname avatar = User.avatar_url(user) |> MediaProxy.url() - avatar_static = User.avatar_url(user) |> MediaProxy.preview_url() + avatar_static = User.avatar_url(user) |> MediaProxy.preview_url(output_format: "jpeg") header = User.banner_url(user) |> MediaProxy.url() - header_static = User.banner_url(user) |> MediaProxy.preview_url() + header_static = User.banner_url(user) |> MediaProxy.preview_url(output_format: "jpeg") following_count = if !user.hide_follows_count or !user.hide_follows or opts[:for] == user do diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index 6695d49ce..4cbe1cf89 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -4,6 +4,7 @@ defmodule Pleroma.Web.MediaProxy do alias Pleroma.Config + alias Pleroma.Helpers.UriHelper alias Pleroma.Upload alias Pleroma.Web alias Pleroma.Web.MediaProxy.Invalidation @@ -58,9 +59,9 @@ def url_proxiable?(url) do # Note: routing all URLs to preview handler (even local and whitelisted). # Preview handler will call url/1 on decoded URLs, and applicable ones will detour media proxy. - def preview_url(url) do + def preview_url(url, preview_params \\ []) do if preview_enabled?() do - encode_preview_url(url) + encode_preview_url(url, preview_params) else url end @@ -116,10 +117,10 @@ def encode_url(url) do build_url(sig64, base64, filename(url)) end - def encode_preview_url(url) do + def encode_preview_url(url, preview_params \\ []) do {base64, sig64} = base64_sig64(url) - build_preview_url(sig64, base64, filename(url)) + build_preview_url(sig64, base64, filename(url), preview_params) end def decode_url(sig, url) do @@ -155,8 +156,10 @@ def build_url(sig_base64, url_base64, filename \\ nil) do proxy_url("proxy", sig_base64, url_base64, filename) end - def build_preview_url(sig_base64, url_base64, filename \\ nil) do - proxy_url("proxy/preview", sig_base64, url_base64, filename) + def build_preview_url(sig_base64, url_base64, filename \\ nil, preview_params \\ []) do + uri = proxy_url("proxy/preview", sig_base64, url_base64, filename) + + UriHelper.append_uri_params(uri, preview_params) end def verify_request_path_and_url( diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 961c73666..9dc76e928 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -67,9 +67,14 @@ defp handle_preview(conn, url) do end end - # TODO: find a workaround so avatar_static and header_static can work. - # Those only permit GIFs for animation, so we have to permit a way to - # allow those to get real static variants. + defp handle_preview( + "image/" <> _ = _content_type, + %{params: %{"output_format" => "jpeg"}} = conn, + url + ) do + handle_jpeg_preview(conn, url) + end + defp handle_preview("image/gif" = _content_type, conn, url) do mediaproxy_url = url |> MediaProxy.url() From 6141eb94ab034b5141a5c60b2814fb45b829c1ac Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 3 Sep 2020 12:40:42 -0500 Subject: [PATCH 048/201] Fetch preview requests through the MediaProxy. Separate connection options are not needed. Use a separate pool for preview requests --- config/config.exs | 10 +++++---- config/description.exs | 21 ------------------- .../web/media_proxy/media_proxy_controller.ex | 17 ++------------- 3 files changed, 8 insertions(+), 40 deletions(-) diff --git a/config/config.exs b/config/config.exs index 317ef84a9..d691753bd 100644 --- a/config/config.exs +++ b/config/config.exs @@ -445,10 +445,7 @@ enabled: false, thumbnail_max_width: 600, thumbnail_max_height: 600, - image_quality: 85, - proxy_opts: [ - head_request_max_read_duration: 5_000 - ] + image_quality: 85 config :pleroma, :chat, enabled: true @@ -761,6 +758,11 @@ max_waiting: 10, timeout: 10_000 ], + preview: [ + size: 50, + max_waiting: 10, + timeout: 10_000 + ], upload: [ size: 25, max_waiting: 5, diff --git a/config/description.exs b/config/description.exs index 868b89d29..73333d6e6 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1978,27 +1978,6 @@ key: :image_quality, type: :integer, description: "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." - }, - %{ - key: :proxy_opts, - type: :keyword, - description: "Media proxy options", - suggestions: [ - head_request_max_read_duration: 5_000 - ], - children: [ - %{ - key: :head_request_max_read_duration, - type: :integer, - description: "Timeout (in milliseconds) of HEAD request to remote URI." - } - ] - }, - %{ - key: :whitelist, - type: {:list, :string}, - description: "List of hosts with scheme to bypass the mediaproxy", - suggestions: ["http://example.com"] } ] }, diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 961c73666..b1f00fa0c 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -33,8 +33,7 @@ def remote(conn, %{"sig" => sig64, "url" => url64}) do def preview(conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.preview_enabled?()}, - {:ok, url} <- MediaProxy.decode_url(sig64, url64), - :ok <- MediaProxy.verify_request_path_and_url(conn, url) do + {:ok, url} <- MediaProxy.decode_url(sig64, url64) do handle_preview(conn, url) else {:enabled, false} -> @@ -50,9 +49,7 @@ def preview(conn, %{"sig" => sig64, "url" => url64}) do defp handle_preview(conn, url) do with {:ok, %{status: status} = head_response} when status in 200..299 <- - Tesla.head(url, - opts: [adapter: [timeout: preview_head_request_timeout(), follow_redirect: true]] - ) do + Pleroma.HTTP.request("head", MediaProxy.url(url), [], [], [adapter: [pool: :preview]]) do content_type = Tesla.get_header(head_response, "content-type") handle_preview(content_type, conn, url) else @@ -172,17 +169,7 @@ defp thumbnail_max_dimensions(params) do {thumbnail_max_width, thumbnail_max_height} end - defp preview_head_request_timeout do - Keyword.get(media_preview_proxy_opts(), :head_request_max_read_duration) || - Keyword.get(media_proxy_opts(), :max_read_duration) || - ReverseProxy.max_read_duration_default() - end - defp media_proxy_opts do Config.get([:media_proxy, :proxy_opts], []) end - - defp media_preview_proxy_opts do - Config.get([:media_preview_proxy, :proxy_opts], []) - end end From b529616e110b3d487f1f2c462791ceabe8f1baf3 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 3 Sep 2020 15:08:12 -0500 Subject: [PATCH 049/201] Increase pool and timeout for preview so it catches slow media pool responses --- config/config.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/config.exs b/config/config.exs index d691753bd..b92d3ccbb 100644 --- a/config/config.exs +++ b/config/config.exs @@ -760,8 +760,8 @@ ], preview: [ size: 50, - max_waiting: 10, - timeout: 10_000 + max_waiting: 20, + timeout: 15_000 ], upload: [ size: 25, From f25b0e87f3dd73e02c954c5baab3c52becdd9c9e Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 3 Sep 2020 15:28:57 -0500 Subject: [PATCH 050/201] URL passed to helper is already MediaProxy Set :preview pool on the request --- lib/pleroma/helpers/media_helper.ex | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 9bd815c26..cfb091f82 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -12,8 +12,7 @@ defmodule Pleroma.Helpers.MediaHelper do def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), {:ok, args} <- prepare_image_resize_args(options), - url = Pleroma.Web.MediaProxy.url(url), - {:ok, env} <- Pleroma.HTTP.get(url), + {:ok, env} <- Pleroma.HTTP.get(url, [], [adapter: [pool: :preview]]), {:ok, fifo_path} <- mkfifo() do args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) @@ -61,8 +60,7 @@ defp prepare_image_resize_args(_), do: {:error, :missing_options} def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), - url = Pleroma.Web.MediaProxy.url(url), - {:ok, env} <- Pleroma.HTTP.get(url), + {:ok, env} <- Pleroma.HTTP.get(url, [], [adapter: [pool: :preview]]), {:ok, fifo_path} <- mkfifo(), args = [ "-y", From c3b02341bf4ab610e9425d6811dca057e9f811a4 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 5 Sep 2020 16:16:35 +0300 Subject: [PATCH 051/201] [#2497] Made media preview proxy fall back to media proxy instead of to source url. Adjusted tests. Refactoring. --- lib/pleroma/helpers/media_helper.ex | 6 ++- lib/pleroma/web/media_proxy/media_proxy.ex | 4 +- .../web/media_proxy/media_proxy_controller.ex | 50 ++++++++++--------- .../mastodon_api/views/account_view_test.exs | 33 ++++++------ 4 files changed, 51 insertions(+), 42 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index cfb091f82..bb93d4915 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -7,12 +7,14 @@ defmodule Pleroma.Helpers.MediaHelper do Handles common media-related operations. """ + alias Pleroma.HTTP + @tmp_base "/tmp/pleroma-media_preview-pipe" def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), {:ok, args} <- prepare_image_resize_args(options), - {:ok, env} <- Pleroma.HTTP.get(url, [], [adapter: [pool: :preview]]), + {:ok, env} <- HTTP.get(url, [], adapter: [pool: :preview]), {:ok, fifo_path} <- mkfifo() do args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) @@ -60,7 +62,7 @@ defp prepare_image_resize_args(_), do: {:error, :missing_options} def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), - {:ok, env} <- Pleroma.HTTP.get(url, [], [adapter: [pool: :preview]]), + {:ok, env} <- HTTP.get(url, [], adapter: [pool: :preview]), {:ok, fifo_path} <- mkfifo(), args = [ "-y", diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index 4cbe1cf89..80017cde1 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -57,13 +57,11 @@ def url_proxiable?(url) do end end - # Note: routing all URLs to preview handler (even local and whitelisted). - # Preview handler will call url/1 on decoded URLs, and applicable ones will detour media proxy. def preview_url(url, preview_params \\ []) do if preview_enabled?() do encode_preview_url(url, preview_params) else - url + url(url) end end diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 33daa1e05..469fbae59 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -48,10 +48,12 @@ def preview(conn, %{"sig" => sig64, "url" => url64}) do end defp handle_preview(conn, url) do + media_proxy_url = MediaProxy.url(url) + with {:ok, %{status: status} = head_response} when status in 200..299 <- - Pleroma.HTTP.request("head", MediaProxy.url(url), [], [], [adapter: [pool: :preview]]) do + Pleroma.HTTP.request("head", media_proxy_url, [], [], adapter: [pool: :preview]) do content_type = Tesla.get_header(head_response, "content-type") - handle_preview(content_type, conn, url) + handle_preview(content_type, conn, media_proxy_url) else {_, %{status: status}} -> send_resp(conn, :failed_dependency, "Can't fetch HTTP headers (HTTP #{status}).") @@ -67,40 +69,38 @@ defp handle_preview(conn, url) do defp handle_preview( "image/" <> _ = _content_type, %{params: %{"output_format" => "jpeg"}} = conn, - url + media_proxy_url ) do - handle_jpeg_preview(conn, url) + handle_jpeg_preview(conn, media_proxy_url) end - defp handle_preview("image/gif" = _content_type, conn, url) do - mediaproxy_url = url |> MediaProxy.url() - - redirect(conn, external: mediaproxy_url) + defp handle_preview("image/gif" = _content_type, conn, media_proxy_url) do + redirect(conn, external: media_proxy_url) end - defp handle_preview("image/png" <> _ = _content_type, conn, url) do - handle_png_preview(conn, url) + defp handle_preview("image/png" <> _ = _content_type, conn, media_proxy_url) do + handle_png_preview(conn, media_proxy_url) end - defp handle_preview("image/" <> _ = _content_type, conn, url) do - handle_jpeg_preview(conn, url) + defp handle_preview("image/" <> _ = _content_type, conn, media_proxy_url) do + handle_jpeg_preview(conn, media_proxy_url) end - defp handle_preview("video/" <> _ = _content_type, conn, url) do - handle_video_preview(conn, url) + defp handle_preview("video/" <> _ = _content_type, conn, media_proxy_url) do + handle_video_preview(conn, media_proxy_url) end - defp handle_preview(content_type, conn, _url) do + defp handle_preview(content_type, conn, _media_proxy_url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end - defp handle_png_preview(%{params: params} = conn, url) do + defp handle_png_preview(%{params: params} = conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), {:ok, thumbnail_binary} <- MediaHelper.image_resize( - url, + media_proxy_url, %{ max_width: thumbnail_max_width, max_height: thumbnail_max_height, @@ -109,7 +109,7 @@ defp handle_png_preview(%{params: params} = conn, url) do } ) do conn - |> put_preview_response_headers("image/png", "preview.png") + |> put_preview_response_headers(["image/png", "preview.png"]) |> send_resp(200, thumbnail_binary) else _ -> @@ -117,13 +117,13 @@ defp handle_png_preview(%{params: params} = conn, url) do end end - defp handle_jpeg_preview(%{params: params} = conn, url) do + defp handle_jpeg_preview(%{params: params} = conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), {:ok, thumbnail_binary} <- MediaHelper.image_resize( - url, + media_proxy_url, %{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality} ) do conn @@ -135,9 +135,9 @@ defp handle_jpeg_preview(%{params: params} = conn, url) do end end - defp handle_video_preview(conn, url) do + defp handle_video_preview(conn, media_proxy_url) do with {:ok, thumbnail_binary} <- - MediaHelper.video_framegrab(url) do + MediaHelper.video_framegrab(media_proxy_url) do conn |> put_preview_response_headers() |> send_resp(200, thumbnail_binary) @@ -147,10 +147,14 @@ defp handle_video_preview(conn, url) do end end - defp put_preview_response_headers(conn, content_type \\ "image/jpeg", filename \\ "preview.jpg") do + defp put_preview_response_headers( + conn, + [content_type, filename] = _content_info \\ ["image/jpeg", "preview.jpg"] + ) do conn |> put_resp_header("content-type", content_type) |> put_resp_header("content-disposition", "inline; filename=\"#{filename}\"") + # TODO: enable caching |> put_resp_header("cache-control", "max-age=0, private, must-revalidate") end diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 8f37efa3c..2f56d9c8f 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -541,8 +541,9 @@ test "shows non-zero when historical unapproved requests are present" do end end - test "uses mediaproxy urls when it's enabled" do + test "uses mediaproxy urls when it's enabled (regardless of media preview proxy state)" do clear_config([:media_proxy, :enabled], true) + clear_config([:media_preview_proxy, :enabled]) user = insert(:user, @@ -551,20 +552,24 @@ test "uses mediaproxy urls when it's enabled" do emoji: %{"joker_smile" => "https://evil.website/society.png"} ) - AccountView.render("show.json", %{user: user, skip_visibility_check: true}) - |> Enum.all?(fn - {key, url} when key in [:avatar, :avatar_static, :header, :header_static] -> - String.starts_with?(url, Pleroma.Web.base_url()) + with media_preview_enabled <- [false, true] do + Config.put([:media_preview_proxy, :enabled], media_preview_enabled) - {:emojis, emojis} -> - Enum.all?(emojis, fn %{url: url, static_url: static_url} -> - String.starts_with?(url, Pleroma.Web.base_url()) && - String.starts_with?(static_url, Pleroma.Web.base_url()) - end) + AccountView.render("show.json", %{user: user, skip_visibility_check: true}) + |> Enum.all?(fn + {key, url} when key in [:avatar, :avatar_static, :header, :header_static] -> + String.starts_with?(url, Pleroma.Web.base_url()) - _ -> - true - end) - |> assert() + {:emojis, emojis} -> + Enum.all?(emojis, fn %{url: url, static_url: static_url} -> + String.starts_with?(url, Pleroma.Web.base_url()) && + String.starts_with?(static_url, Pleroma.Web.base_url()) + end) + + _ -> + true + end) + |> assert() + end end end From f170d471307ba0082b98351190b3d6b808bdfe1a Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 5 Sep 2020 20:19:09 +0300 Subject: [PATCH 052/201] [#2497] Adjusted media proxy preview invalidation. Allowed client-side caching for media preview. Adjusted prewarmer to fetch only proxiable URIs. Removed :preview pool in favor of existing :media one. Misc. refactoring. --- config/config.exs | 5 ---- lib/pleroma/helpers/media_helper.ex | 4 +-- lib/pleroma/reverse_proxy/reverse_proxy.ex | 1 + .../mrf/media_proxy_warming_policy.ex | 27 +++++++++++-------- lib/pleroma/web/media_proxy/invalidation.ex | 4 ++- lib/pleroma/web/media_proxy/media_proxy.ex | 20 +++++++------- .../web/media_proxy/media_proxy_controller.ex | 5 ++-- 7 files changed, 34 insertions(+), 32 deletions(-) diff --git a/config/config.exs b/config/config.exs index b92d3ccbb..e5b7e18df 100644 --- a/config/config.exs +++ b/config/config.exs @@ -754,11 +754,6 @@ timeout: 10_000 ], media: [ - size: 50, - max_waiting: 10, - timeout: 10_000 - ], - preview: [ size: 50, max_waiting: 20, timeout: 15_000 diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index bb93d4915..a1205e10d 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -14,7 +14,7 @@ defmodule Pleroma.Helpers.MediaHelper do def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), {:ok, args} <- prepare_image_resize_args(options), - {:ok, env} <- HTTP.get(url, [], adapter: [pool: :preview]), + {:ok, env} <- HTTP.get(url, [], adapter: [pool: :media]), {:ok, fifo_path} <- mkfifo() do args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) @@ -62,7 +62,7 @@ defp prepare_image_resize_args(_), do: {:error, :missing_options} def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), - {:ok, env} <- HTTP.get(url, [], adapter: [pool: :preview]), + {:ok, env} <- HTTP.get(url, [], adapter: [pool: :media]), {:ok, fifo_path} <- mkfifo(), args = [ "-y", diff --git a/lib/pleroma/reverse_proxy/reverse_proxy.ex b/lib/pleroma/reverse_proxy/reverse_proxy.ex index 35637e934..8ae1157df 100644 --- a/lib/pleroma/reverse_proxy/reverse_proxy.ex +++ b/lib/pleroma/reverse_proxy/reverse_proxy.ex @@ -18,6 +18,7 @@ defmodule Pleroma.ReverseProxy do @methods ~w(GET HEAD) def max_read_duration_default, do: @max_read_duration + def default_cache_control_header, do: @default_cache_control_header @moduledoc """ A reverse proxy. diff --git a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex index 5d8bb72aa..1050b74ba 100644 --- a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex @@ -12,23 +12,28 @@ defmodule Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy do require Logger - @options [ + @adapter_options [ pool: :media ] def perform(:prefetch, url) do - Logger.debug("Prefetching #{inspect(url)}") + # Fetching only proxiable resources + if MediaProxy.enabled?() and MediaProxy.url_proxiable?(url) do + # If preview proxy is enabled, it'll also hit media proxy (so we're caching both requests) + prefetch_url = MediaProxy.preview_url(url) - opts = - if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do - Keyword.put(@options, :recv_timeout, 10_000) - else - @options - end + Logger.debug("Prefetching #{inspect(url)} as #{inspect(prefetch_url)}") - url - |> MediaProxy.preview_url() - |> HTTP.get([], adapter: opts) + HTTP.get(prefetch_url, [], adapter: adapter_options()) + end + end + + defp adapter_options do + if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do + Keyword.put(@adapter_options, :recv_timeout, 10_000) + else + @adapter_options + end end def perform(:preload, %{"object" => %{"attachment" => attachments}} = _message) do diff --git a/lib/pleroma/web/media_proxy/invalidation.ex b/lib/pleroma/web/media_proxy/invalidation.ex index 5808861e6..4f4340478 100644 --- a/lib/pleroma/web/media_proxy/invalidation.ex +++ b/lib/pleroma/web/media_proxy/invalidation.ex @@ -33,6 +33,8 @@ defp do_purge(urls) do def prepare_urls(urls) do urls |> List.wrap() - |> Enum.map(&MediaProxy.url/1) + |> Enum.map(fn url -> [MediaProxy.url(url), MediaProxy.preview_url(url)] end) + |> List.flatten() + |> Enum.uniq() end end diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index 80017cde1..ba553998b 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -41,20 +41,16 @@ def url(url) when is_nil(url) or url == "", do: nil def url("/" <> _ = url), do: url def url(url) do - if not enabled?() or not url_proxiable?(url) do - url - else + if enabled?() and url_proxiable?(url) do encode_url(url) + else + url end end @spec url_proxiable?(String.t()) :: boolean() def url_proxiable?(url) do - if local?(url) or whitelisted?(url) do - false - else - true - end + not local?(url) and not whitelisted?(url) end def preview_url(url, preview_params \\ []) do @@ -69,7 +65,7 @@ def enabled?, do: Config.get([:media_proxy, :enabled], false) # Note: media proxy must be enabled for media preview proxy in order to load all # non-local non-whitelisted URLs through it and be sure that body size constraint is preserved. - def preview_enabled?, do: enabled?() and Config.get([:media_preview_proxy, :enabled], false) + def preview_enabled?, do: enabled?() and !!Config.get([:media_preview_proxy, :enabled]) def local?(url), do: String.starts_with?(url, Pleroma.Web.base_url()) @@ -138,9 +134,13 @@ def filename(url_or_path) do if path = URI.parse(url_or_path).path, do: Path.basename(path) end + def base_url do + Config.get([:media_proxy, :base_url], Web.base_url()) + end + defp proxy_url(path, sig_base64, url_base64, filename) do [ - Config.get([:media_proxy, :base_url], Web.base_url()), + base_url(), path, sig_base64, url_base64, diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 469fbae59..89f4a23bd 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -51,7 +51,7 @@ defp handle_preview(conn, url) do media_proxy_url = MediaProxy.url(url) with {:ok, %{status: status} = head_response} when status in 200..299 <- - Pleroma.HTTP.request("head", media_proxy_url, [], [], adapter: [pool: :preview]) do + Pleroma.HTTP.request("head", media_proxy_url, [], [], adapter: [pool: :media]) do content_type = Tesla.get_header(head_response, "content-type") handle_preview(content_type, conn, media_proxy_url) else @@ -154,8 +154,7 @@ defp put_preview_response_headers( conn |> put_resp_header("content-type", content_type) |> put_resp_header("content-disposition", "inline; filename=\"#{filename}\"") - # TODO: enable caching - |> put_resp_header("cache-control", "max-age=0, private, must-revalidate") + |> put_resp_header("cache-control", ReverseProxy.default_cache_control_header()) end defp thumbnail_max_dimensions(params) do From 88a6ee4a5989036de5c1e82c6111291887597d98 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 5 Sep 2020 20:23:18 +0300 Subject: [PATCH 053/201] [#2497] Func defs grouping fix. --- .../mrf/media_proxy_warming_policy.ex | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex index 1050b74ba..6c63fe15c 100644 --- a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex @@ -16,6 +16,14 @@ defmodule Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy do pool: :media ] + defp adapter_options do + if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do + Keyword.put(@adapter_options, :recv_timeout, 10_000) + else + @adapter_options + end + end + def perform(:prefetch, url) do # Fetching only proxiable resources if MediaProxy.enabled?() and MediaProxy.url_proxiable?(url) do @@ -28,14 +36,6 @@ def perform(:prefetch, url) do end end - defp adapter_options do - if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do - Keyword.put(@adapter_options, :recv_timeout, 10_000) - else - @adapter_options - end - end - def perform(:preload, %{"object" => %{"attachment" => attachments}} = _message) do Enum.each(attachments, fn %{"url" => url} when is_list(url) -> From 759f8bc3ae49580319a4ecb12770e8581826c6d9 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sun, 6 Sep 2020 15:30:11 +0300 Subject: [PATCH 054/201] [#2497] Fixed MediaProxyWarmingPolicyTest. --- test/web/activity_pub/mrf/mediaproxy_warming_policy_test.exs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/web/activity_pub/mrf/mediaproxy_warming_policy_test.exs b/test/web/activity_pub/mrf/mediaproxy_warming_policy_test.exs index 313d59a66..1710c4d2a 100644 --- a/test/web/activity_pub/mrf/mediaproxy_warming_policy_test.exs +++ b/test/web/activity_pub/mrf/mediaproxy_warming_policy_test.exs @@ -22,6 +22,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicyTest do } } + setup do: clear_config([:media_proxy, :enabled], true) + test "it prefetches media proxy URIs" do with_mock HTTP, get: fn _, _, _ -> {:ok, []} end do MediaProxyWarmingPolicy.filter(@message) From 5ae56aafb2edc737f7e9fb36e00377815f028ce6 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Sun, 6 Sep 2020 21:42:51 +0300 Subject: [PATCH 055/201] added import mutes --- docs/API/pleroma_api.md | 17 ++ lib/pleroma/user.ex | 51 ----- lib/pleroma/user/import.ex | 91 ++++++++ .../controllers/user_import_controller.ex | 57 +++++ lib/pleroma/web/router.ex | 7 +- .../controllers/util_controller.ex | 35 --- lib/pleroma/workers/background_worker.ex | 11 +- test/user/import_test.exs | 78 +++++++ test/user_test.exs | 34 --- .../user_import_controller_test.exs | 205 ++++++++++++++++++ test/web/twitter_api/util_controller_test.exs | 164 -------------- 11 files changed, 461 insertions(+), 289 deletions(-) create mode 100644 lib/pleroma/user/import.ex create mode 100644 lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex create mode 100644 test/user/import_test.exs create mode 100644 test/web/pleroma_api/controllers/user_import_controller_test.exs diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 4e97d26c0..22f3ad7d6 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -44,6 +44,23 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi * Response: HTTP 200 on success, 500 on error * Note: Users that can't be followed are silently skipped. +## `/api/pleroma/blocks_import` +### Imports your blocks. +* Method: `POST` +* Authentication: required +* Params: + * `list`: STRING or FILE containing a whitespace-separated list of accounts to follow +* Response: HTTP 200 on success, 500 on error + +## `/api/pleroma/mutes_import` +### Imports your mutes. +* Method: `POST` +* Authentication: required +* Params: + * `list`: STRING or FILE containing a whitespace-separated list of accounts to follow +* Response: HTTP 200 on success, 500 on error + + ## `/api/pleroma/captcha` ### Get a new captcha * Method: `GET` diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 94c96de8d..be2ef0d1b 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1686,42 +1686,6 @@ def perform(:delete, %User{} = user) do def perform(:deactivate_async, user, status), do: deactivate(user, status) - @spec perform(atom(), User.t(), list()) :: list() | {:error, any()} - def perform(:blocks_import, %User{} = blocker, blocked_identifiers) - when is_list(blocked_identifiers) do - Enum.map( - blocked_identifiers, - fn blocked_identifier -> - with {:ok, %User{} = blocked} <- get_or_fetch(blocked_identifier), - {:ok, _block} <- CommonAPI.block(blocker, blocked) do - blocked - else - err -> - Logger.debug("blocks_import failed for #{blocked_identifier} with: #{inspect(err)}") - err - end - end - ) - end - - def perform(:follow_import, %User{} = follower, followed_identifiers) - when is_list(followed_identifiers) do - Enum.map( - followed_identifiers, - fn followed_identifier -> - with {:ok, %User{} = followed} <- get_or_fetch(followed_identifier), - {:ok, follower} <- maybe_direct_follow(follower, followed), - {:ok, _, _, _} <- CommonAPI.follow(follower, followed) do - followed - else - err -> - Logger.debug("follow_import failed for #{followed_identifier} with: #{inspect(err)}") - err - end - end - ) - end - @spec external_users_query() :: Ecto.Query.t() def external_users_query do User.Query.build(%{ @@ -1750,21 +1714,6 @@ def external_users(opts \\ []) do Repo.all(query) end - def blocks_import(%User{} = blocker, blocked_identifiers) when is_list(blocked_identifiers) do - BackgroundWorker.enqueue("blocks_import", %{ - "blocker_id" => blocker.id, - "blocked_identifiers" => blocked_identifiers - }) - end - - def follow_import(%User{} = follower, followed_identifiers) - when is_list(followed_identifiers) do - BackgroundWorker.enqueue("follow_import", %{ - "follower_id" => follower.id, - "followed_identifiers" => followed_identifiers - }) - end - def delete_notifications_from_user_activities(%User{ap_id: ap_id}) do Notification |> join(:inner, [n], activity in assoc(n, :activity)) diff --git a/lib/pleroma/user/import.ex b/lib/pleroma/user/import.ex new file mode 100644 index 000000000..de27bdc4c --- /dev/null +++ b/lib/pleroma/user/import.ex @@ -0,0 +1,91 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.User.Import do + use Ecto.Schema + + alias Pleroma.User + alias Pleroma.Web.CommonAPI + alias Pleroma.Workers.BackgroundWorker + + require Logger + + @spec perform(atom(), User.t(), list()) :: :ok | list() | {:error, any()} + def perform(:mutes_import, %User{} = user, [_ | _] = identifiers) do + Enum.map( + identifiers, + fn identifier -> + with {:ok, %User{} = muted_user} <- User.get_or_fetch(identifier), + {:ok, _} <- User.mute(user, muted_user) do + muted_user + else + error -> handle_error(:mutes_import, identifier, error) + end + end + ) + end + + def perform(:blocks_import, %User{} = blocker, [_ | _] = identifiers) do + Enum.map( + identifiers, + fn identifier -> + with {:ok, %User{} = blocked} <- User.get_or_fetch(identifier), + {:ok, _block} <- CommonAPI.block(blocker, blocked) do + blocked + else + error -> handle_error(:blocks_import, identifier, error) + end + end + ) + end + + def perform(:follow_import, %User{} = follower, [_ | _] = identifiers) do + Enum.map( + identifiers, + fn identifier -> + with {:ok, %User{} = followed} <- User.get_or_fetch(identifier), + {:ok, follower} <- User.maybe_direct_follow(follower, followed), + {:ok, _, _, _} <- CommonAPI.follow(follower, followed) do + followed + else + error -> handle_error(:follow_import, identifier, error) + end + end + ) + end + + def perform(_, _, _), do: :ok + + defp handle_error(op, user_id, error) do + Logger.debug("#{op} failed for #{user_id} with: #{inspect(error)}") + error + end + + def blocks_import(%User{} = blocker, [_ | _] = identifiers) do + BackgroundWorker.enqueue( + "blocks_import", + %{ + "blocker_id" => blocker.id, + "blocked_identifiers" => identifiers + } + ) + end + + def follow_import(%User{} = follower, [_ | _] = identifiers) do + BackgroundWorker.enqueue( + "follow_import", + %{ + "follower_id" => follower.id, + "followed_identifiers" => identifiers + } + ) + end + + def mutes_import(%User{} = user, [_ | _] = identifiers) do + BackgroundWorker.enqueue( + "mutes_import", + %{"user_id" => user.id, "identifiers" => identifiers} + ) + end +end diff --git a/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex b/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex new file mode 100644 index 000000000..df6a0f131 --- /dev/null +++ b/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex @@ -0,0 +1,57 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaAPI.UserImportController do + use Pleroma.Web, :controller + + require Logger + + alias Pleroma.Plugs.OAuthScopesPlug + alias Pleroma.User + + plug(OAuthScopesPlug, %{scopes: ["follow", "write:follows"]} when action == :follow) + plug(OAuthScopesPlug, %{scopes: ["follow", "write:blocks"]} when action == :blocks) + plug(OAuthScopesPlug, %{scopes: ["follow", "write:mutes"]} when action == :mutes) + + def follow(conn, %{"list" => %Plug.Upload{path: path}}) do + follow(conn, %{"list" => File.read!(path)}) + end + + def follow(%{assigns: %{user: follower}} = conn, %{"list" => list}) do + identifiers = + list + |> String.split("\n") + |> Enum.map(&(&1 |> String.split(",") |> List.first())) + |> List.delete("Account address") + |> Enum.map(&(&1 |> String.trim() |> String.trim_leading("@"))) + |> Enum.reject(&(&1 == "")) + + User.Import.follow_import(follower, identifiers) + json(conn, "job started") + end + + def blocks(conn, %{"list" => %Plug.Upload{path: path}}) do + blocks(conn, %{"list" => File.read!(path)}) + end + + def blocks(%{assigns: %{user: blocker}} = conn, %{"list" => list}) do + User.Import.blocks_import(blocker, prepare_user_identifiers(list)) + json(conn, "job started") + end + + def mutes(conn, %{"list" => %Plug.Upload{path: path}}) do + mutes(conn, %{"list" => File.read!(path)}) + end + + def mutes(%{assigns: %{user: user}} = conn, %{"list" => list}) do + User.Import.mutes_import(user, prepare_user_identifiers(list)) + json(conn, "job started") + end + + defp prepare_user_identifiers(list) do + list + |> String.split() + |> Enum.map(&String.trim_leading(&1, "@")) + end +end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index c6433cc53..f69b1545f 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -260,14 +260,15 @@ defmodule Pleroma.Web.Router do post("/delete_account", UtilController, :delete_account) put("/notification_settings", UtilController, :update_notificaton_settings) post("/disable_account", UtilController, :disable_account) - - post("/blocks_import", UtilController, :blocks_import) - post("/follow_import", UtilController, :follow_import) end scope "/api/pleroma", Pleroma.Web.PleromaAPI do pipe_through(:authenticated_api) + post("/mutes_import", UserImportController, :mutes) + post("/blocks_import", UserImportController, :blocks) + post("/follow_import", UserImportController, :follow) + get("/accounts/mfa", TwoFactorAuthenticationController, :settings) get("/accounts/mfa/backup_codes", TwoFactorAuthenticationController, :backup_codes) get("/accounts/mfa/setup/:method", TwoFactorAuthenticationController, :setup) diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex index f02c4075c..70b0fbd54 100644 --- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex @@ -18,14 +18,6 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do plug(Pleroma.Web.FederatingPlug when action == :remote_subscribe) - plug( - OAuthScopesPlug, - %{scopes: ["follow", "write:follows"]} - when action == :follow_import - ) - - plug(OAuthScopesPlug, %{scopes: ["follow", "write:blocks"]} when action == :blocks_import) - plug( OAuthScopesPlug, %{scopes: ["write:accounts"]} @@ -104,33 +96,6 @@ def update_notificaton_settings(%{assigns: %{user: user}} = conn, params) do end end - def follow_import(conn, %{"list" => %Plug.Upload{} = listfile}) do - follow_import(conn, %{"list" => File.read!(listfile.path)}) - end - - def follow_import(%{assigns: %{user: follower}} = conn, %{"list" => list}) do - followed_identifiers = - list - |> String.split("\n") - |> Enum.map(&(&1 |> String.split(",") |> List.first())) - |> List.delete("Account address") - |> Enum.map(&(&1 |> String.trim() |> String.trim_leading("@"))) - |> Enum.reject(&(&1 == "")) - - User.follow_import(follower, followed_identifiers) - json(conn, "job started") - end - - def blocks_import(conn, %{"list" => %Plug.Upload{} = listfile}) do - blocks_import(conn, %{"list" => File.read!(listfile.path)}) - end - - def blocks_import(%{assigns: %{user: blocker}} = conn, %{"list" => list}) do - blocked_identifiers = list |> String.split() |> Enum.map(&String.trim_leading(&1, "@")) - User.blocks_import(blocker, blocked_identifiers) - json(conn, "job started") - end - def change_password(%{assigns: %{user: user}} = conn, params) do case CommonAPI.Utils.confirm_current_password(user, params["password"]) do {:ok, user} -> diff --git a/lib/pleroma/workers/background_worker.ex b/lib/pleroma/workers/background_worker.ex index cec5a7462..f9c767ee0 100644 --- a/lib/pleroma/workers/background_worker.ex +++ b/lib/pleroma/workers/background_worker.ex @@ -34,7 +34,7 @@ def perform(%Job{ } }) do blocker = User.get_cached_by_id(blocker_id) - {:ok, User.perform(:blocks_import, blocker, blocked_identifiers)} + {:ok, User.Import.perform(:blocks_import, blocker, blocked_identifiers)} end def perform(%Job{ @@ -45,7 +45,14 @@ def perform(%Job{ } }) do follower = User.get_cached_by_id(follower_id) - {:ok, User.perform(:follow_import, follower, followed_identifiers)} + {:ok, User.Import.perform(:follow_import, follower, followed_identifiers)} + end + + def perform(%Job{ + args: %{"op" => "mutes_import", "user_id" => user_id, "identifiers" => identifiers} + }) do + user = User.get_cached_by_id(user_id) + {:ok, User.Import.perform(:mutes_import, user, identifiers)} end def perform(%Job{args: %{"op" => "media_proxy_preload", "message" => message}}) do diff --git a/test/user/import_test.exs b/test/user/import_test.exs new file mode 100644 index 000000000..476b22678 --- /dev/null +++ b/test/user/import_test.exs @@ -0,0 +1,78 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.User.ImportTest do + + alias Pleroma.Repo + alias Pleroma.Tests.ObanHelpers + alias Pleroma.User + + use Pleroma.DataCase + use Oban.Testing, repo: Pleroma.Repo + + import Pleroma.Factory + + setup_all do + Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) + :ok + end + + describe "follow_import" do + test "it imports user followings from list" do + [user1, user2, user3] = insert_list(3, :user) + + identifiers = [ + user2.ap_id, + user3.nickname + ] + + {:ok, job} = User.Import.follow_import(user1, identifiers) + + assert {:ok, result} = ObanHelpers.perform(job) + assert is_list(result) + assert result == [user2, user3] + assert User.following?(user1, user2) + assert User.following?(user1, user3) + end + end + + + describe "blocks_import" do + test "it imports user blocks from list" do + [user1, user2, user3] = insert_list(3, :user) + + identifiers = [ + user2.ap_id, + user3.nickname + ] + + {:ok, job} = User.Import.blocks_import(user1, identifiers) + + assert {:ok, result} = ObanHelpers.perform(job) + assert is_list(result) + assert result == [user2, user3] + assert User.blocks?(user1, user2) + assert User.blocks?(user1, user3) + end + end + + describe "mutes_import" do + test "it imports user mutes from list" do + [user1, user2, user3] = insert_list(3, :user) + + identifiers = [ + user2.ap_id, + user3.nickname + ] + + {:ok, job} = User.Import.mutes_import(user1, identifiers) + + assert {:ok, result} = ObanHelpers.perform(job) + assert is_list(result) + assert result == [user2, user3] + assert User.mutes?(user1, user2) + assert User.mutes?(user1, user3) + end + end +end diff --git a/test/user_test.exs b/test/user_test.exs index 50f72549e..13ac633b8 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -932,23 +932,6 @@ test "it sets the follower_count property" do end end - describe "follow_import" do - test "it imports user followings from list" do - [user1, user2, user3] = insert_list(3, :user) - - identifiers = [ - user2.ap_id, - user3.nickname - ] - - {:ok, job} = User.follow_import(user1, identifiers) - - assert {:ok, result} = ObanHelpers.perform(job) - assert is_list(result) - assert result == [user2, user3] - end - end - describe "mutes" do test "it mutes people" do user = insert(:user) @@ -1155,23 +1138,6 @@ test "follows take precedence over domain blocks" do end end - describe "blocks_import" do - test "it imports user blocks from list" do - [user1, user2, user3] = insert_list(3, :user) - - identifiers = [ - user2.ap_id, - user3.nickname - ] - - {:ok, job} = User.blocks_import(user1, identifiers) - - assert {:ok, result} = ObanHelpers.perform(job) - assert is_list(result) - assert result == [user2, user3] - end - end - describe "get_recipients_from_activity" do test "works for announces" do actor = insert(:user) diff --git a/test/web/pleroma_api/controllers/user_import_controller_test.exs b/test/web/pleroma_api/controllers/user_import_controller_test.exs new file mode 100644 index 000000000..d1a8a46fc --- /dev/null +++ b/test/web/pleroma_api/controllers/user_import_controller_test.exs @@ -0,0 +1,205 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.PleromaAPI.UserImportControllerTest do + use Pleroma.Web.ConnCase + use Oban.Testing, repo: Pleroma.Repo + + alias Pleroma.Config + alias Pleroma.Tests.ObanHelpers + + import Pleroma.Factory + import Mock + + setup do + Tesla.Mock.mock(fn env -> apply(HttpRequestMock, :request, [env]) end) + :ok + end + + describe "POST /api/pleroma/follow_import" do + setup do: oauth_access(["follow"]) + + test "it returns HTTP 200", %{conn: conn} do + user2 = insert(:user) + + assert "job started" == conn + |> post("/api/pleroma/follow_import", %{"list" => "#{user2.ap_id}"}) + |> json_response(:ok) + end + + test "it imports follow lists from file", %{conn: conn} do + user2 = insert(:user) + + with_mocks([ + {File, [], + read!: fn "follow_list.txt" -> + "Account address,Show boosts\n#{user2.ap_id},true" + end} + ]) do + assert "job started" == conn + |> post("/api/pleroma/follow_import", %{"list" => %Plug.Upload{path: "follow_list.txt"}}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == [user2] + end + end + + test "it imports new-style mastodon follow lists", %{conn: conn} do + user2 = insert(:user) + + response = conn + |> post("/api/pleroma/follow_import", %{ + "list" => "Account address,Show boosts\n#{user2.ap_id},true"} + ) + |> json_response(:ok) + + assert response == "job started" + end + + test "requires 'follow' or 'write:follows' permissions" do + token1 = insert(:oauth_token, scopes: ["read", "write"]) + token2 = insert(:oauth_token, scopes: ["follow"]) + token3 = insert(:oauth_token, scopes: ["something"]) + another_user = insert(:user) + + for token <- [token1, token2, token3] do + conn = + build_conn() + |> put_req_header("authorization", "Bearer #{token.token}") + |> post("/api/pleroma/follow_import", %{"list" => "#{another_user.ap_id}"}) + + if token == token3 do + assert %{"error" => "Insufficient permissions: follow | write:follows."} == + json_response(conn, 403) + else + assert json_response(conn, 200) + end + end + end + + test "it imports follows with different nickname variations", %{conn: conn} do + users = [user2, user3, user4, user5, user6] = insert_list(5, :user) + + identifiers = + [ + user2.ap_id, + user3.nickname, + " ", + "@" <> user4.nickname, + user5.nickname <> "@localhost", + "@" <> user6.nickname <> "@localhost" + ] + |> Enum.join("\n") + + assert "job started" == conn + |> post("/api/pleroma/follow_import", %{"list" => identifiers}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == users + end + end + + describe "POST /api/pleroma/blocks_import" do + # Note: "follow" or "write:blocks" permission is required + setup do: oauth_access(["write:blocks"]) + + test "it returns HTTP 200", %{conn: conn} do + user2 = insert(:user) + + assert "job started" == conn + |> post("/api/pleroma/blocks_import", %{"list" => "#{user2.ap_id}"}) + |> json_response(:ok) + end + + test "it imports blocks users from file", %{conn: conn} do + users = [user2, user3] = insert_list(2, :user) + + with_mocks([ + {File, [], read!: fn "blocks_list.txt" -> "#{user2.ap_id} #{user3.ap_id}" end} + ]) do + + assert "job started" == conn + |> post("/api/pleroma/blocks_import", %{"list" => %Plug.Upload{path: "blocks_list.txt"}}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == users + end + end + + test "it imports blocks with different nickname variations", %{conn: conn} do + users = [user2, user3, user4, user5, user6] = insert_list(5, :user) + + identifiers = + [ + user2.ap_id, + user3.nickname, + "@" <> user4.nickname, + user5.nickname <> "@localhost", + "@" <> user6.nickname <> "@localhost" + ] + |> Enum.join(" ") + + assert "job started" == conn + |> post("/api/pleroma/blocks_import", %{"list" => identifiers}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == users + end + end + + describe "POST /api/pleroma/mutes_import" do + # Note: "follow" or "write:mutes" permission is required + setup do: oauth_access(["write:mutes"]) + + test "it returns HTTP 200", %{user: user, conn: conn} do + user2 = insert(:user) + + assert "job started" == conn + |> post("/api/pleroma/mutes_import", %{"list" => "#{user2.ap_id}"}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == [user2] + assert Pleroma.User.mutes?(user, user2) + end + + + test "it imports mutes users from file", %{user: user, conn: conn} do + users = [user2, user3] = insert_list(2, :user) + + with_mocks([ + {File, [], read!: fn "mutes_list.txt" -> "#{user2.ap_id} #{user3.ap_id}" end} + ]) do + assert "job started" == conn + |> post("/api/pleroma/mutes_import", %{"list" => %Plug.Upload{path: "mutes_list.txt"}}) + |> json_response(:ok) + + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == users + assert Enum.all?(users, &Pleroma.User.mutes?(user, &1)) + end + end + + test "it imports mutes with different nickname variations", %{user: user, conn: conn} do + users = [user2, user3, user4, user5, user6] = insert_list(5, :user) + + identifiers = [ + user2.ap_id, user3.nickname, "@" <> user4.nickname, + user5.nickname <> "@localhost", "@" <> user6.nickname <> "@localhost" + ] + |> Enum.join(" ") + + assert "job started" == conn + |> post("/api/pleroma/mutes_import", %{"list" => identifiers}) + |> json_response(:ok) + assert [{:ok, job_result}] = ObanHelpers.perform_all() + assert job_result == users + assert Enum.all?(users, &Pleroma.User.mutes?(user, &1)) + end + end +end diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index d164127ee..60f2fb052 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -21,170 +21,6 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do setup do: clear_config([:instance]) setup do: clear_config([:frontend_configurations, :pleroma_fe]) - describe "POST /api/pleroma/follow_import" do - setup do: oauth_access(["follow"]) - - test "it returns HTTP 200", %{conn: conn} do - user2 = insert(:user) - - response = - conn - |> post("/api/pleroma/follow_import", %{"list" => "#{user2.ap_id}"}) - |> json_response(:ok) - - assert response == "job started" - end - - test "it imports follow lists from file", %{user: user1, conn: conn} do - user2 = insert(:user) - - with_mocks([ - {File, [], - read!: fn "follow_list.txt" -> - "Account address,Show boosts\n#{user2.ap_id},true" - end} - ]) do - response = - conn - |> post("/api/pleroma/follow_import", %{"list" => %Plug.Upload{path: "follow_list.txt"}}) - |> json_response(:ok) - - assert response == "job started" - - assert ObanHelpers.member?( - %{ - "op" => "follow_import", - "follower_id" => user1.id, - "followed_identifiers" => [user2.ap_id] - }, - all_enqueued(worker: Pleroma.Workers.BackgroundWorker) - ) - end - end - - test "it imports new-style mastodon follow lists", %{conn: conn} do - user2 = insert(:user) - - response = - conn - |> post("/api/pleroma/follow_import", %{ - "list" => "Account address,Show boosts\n#{user2.ap_id},true" - }) - |> json_response(:ok) - - assert response == "job started" - end - - test "requires 'follow' or 'write:follows' permissions" do - token1 = insert(:oauth_token, scopes: ["read", "write"]) - token2 = insert(:oauth_token, scopes: ["follow"]) - token3 = insert(:oauth_token, scopes: ["something"]) - another_user = insert(:user) - - for token <- [token1, token2, token3] do - conn = - build_conn() - |> put_req_header("authorization", "Bearer #{token.token}") - |> post("/api/pleroma/follow_import", %{"list" => "#{another_user.ap_id}"}) - - if token == token3 do - assert %{"error" => "Insufficient permissions: follow | write:follows."} == - json_response(conn, 403) - else - assert json_response(conn, 200) - end - end - end - - test "it imports follows with different nickname variations", %{conn: conn} do - [user2, user3, user4, user5, user6] = insert_list(5, :user) - - identifiers = - [ - user2.ap_id, - user3.nickname, - " ", - "@" <> user4.nickname, - user5.nickname <> "@localhost", - "@" <> user6.nickname <> "@localhost" - ] - |> Enum.join("\n") - - response = - conn - |> post("/api/pleroma/follow_import", %{"list" => identifiers}) - |> json_response(:ok) - - assert response == "job started" - assert [{:ok, job_result}] = ObanHelpers.perform_all() - assert job_result == [user2, user3, user4, user5, user6] - end - end - - describe "POST /api/pleroma/blocks_import" do - # Note: "follow" or "write:blocks" permission is required - setup do: oauth_access(["write:blocks"]) - - test "it returns HTTP 200", %{conn: conn} do - user2 = insert(:user) - - response = - conn - |> post("/api/pleroma/blocks_import", %{"list" => "#{user2.ap_id}"}) - |> json_response(:ok) - - assert response == "job started" - end - - test "it imports blocks users from file", %{user: user1, conn: conn} do - user2 = insert(:user) - user3 = insert(:user) - - with_mocks([ - {File, [], read!: fn "blocks_list.txt" -> "#{user2.ap_id} #{user3.ap_id}" end} - ]) do - response = - conn - |> post("/api/pleroma/blocks_import", %{"list" => %Plug.Upload{path: "blocks_list.txt"}}) - |> json_response(:ok) - - assert response == "job started" - - assert ObanHelpers.member?( - %{ - "op" => "blocks_import", - "blocker_id" => user1.id, - "blocked_identifiers" => [user2.ap_id, user3.ap_id] - }, - all_enqueued(worker: Pleroma.Workers.BackgroundWorker) - ) - end - end - - test "it imports blocks with different nickname variations", %{conn: conn} do - [user2, user3, user4, user5, user6] = insert_list(5, :user) - - identifiers = - [ - user2.ap_id, - user3.nickname, - "@" <> user4.nickname, - user5.nickname <> "@localhost", - "@" <> user6.nickname <> "@localhost" - ] - |> Enum.join(" ") - - response = - conn - |> post("/api/pleroma/blocks_import", %{"list" => identifiers}) - |> json_response(:ok) - - assert response == "job started" - assert [{:ok, job_result}] = ObanHelpers.perform_all() - assert job_result == [user2, user3, user4, user5, user6] - end - end - describe "PUT /api/pleroma/notification_settings" do setup do: oauth_access(["write:accounts"]) From 917d325972e3aeb367583c61aaa109d62fcba837 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Mon, 7 Sep 2020 07:17:30 +0300 Subject: [PATCH 056/201] added api spec --- docs/API/pleroma_api.md | 4 +- .../operations/user_import_operation.ex | 80 +++++++++++++ .../controllers/user_import_controller.ex | 22 ++-- test/user/import_test.exs | 2 - .../user_import_controller_test.exs | 108 +++++++++++------- 5 files changed, 164 insertions(+), 52 deletions(-) create mode 100644 lib/pleroma/web/api_spec/operations/user_import_operation.ex diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 22f3ad7d6..567ad5732 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -49,7 +49,7 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi * Method: `POST` * Authentication: required * Params: - * `list`: STRING or FILE containing a whitespace-separated list of accounts to follow + * `list`: STRING or FILE containing a whitespace-separated list of accounts to block * Response: HTTP 200 on success, 500 on error ## `/api/pleroma/mutes_import` @@ -57,7 +57,7 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi * Method: `POST` * Authentication: required * Params: - * `list`: STRING or FILE containing a whitespace-separated list of accounts to follow + * `list`: STRING or FILE containing a whitespace-separated list of accounts to mute * Response: HTTP 200 on success, 500 on error diff --git a/lib/pleroma/web/api_spec/operations/user_import_operation.ex b/lib/pleroma/web/api_spec/operations/user_import_operation.ex new file mode 100644 index 000000000..a50314fb7 --- /dev/null +++ b/lib/pleroma/web/api_spec/operations/user_import_operation.ex @@ -0,0 +1,80 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.UserImportOperation do + alias OpenApiSpex.Operation + alias OpenApiSpex.Schema + alias Pleroma.Web.ApiSpec.Schemas.ApiError + + import Pleroma.Web.ApiSpec.Helpers + + @spec open_api_operation(atom) :: Operation.t() + def open_api_operation(action) do + operation = String.to_existing_atom("#{action}_operation") + apply(__MODULE__, operation, []) + end + + def follow_operation do + %Operation{ + tags: ["follow_import"], + summary: "Imports your follows.", + operationId: "UserImportController.follow", + requestBody: request_body("Parameters", import_request(), required: true), + responses: %{ + 200 => ok_response(), + 500 => Operation.response("Error", "application/json", ApiError) + }, + security: [%{"oAuth" => ["write:follow"]}] + } + end + + def blocks_operation do + %Operation{ + tags: ["blocks_import"], + summary: "Imports your blocks.", + operationId: "UserImportController.blocks", + requestBody: request_body("Parameters", import_request(), required: true), + responses: %{ + 200 => ok_response(), + 500 => Operation.response("Error", "application/json", ApiError) + }, + security: [%{"oAuth" => ["write:blocks"]}] + } + end + + def mutes_operation do + %Operation{ + tags: ["mutes_import"], + summary: "Imports your mutes.", + operationId: "UserImportController.mutes", + requestBody: request_body("Parameters", import_request(), required: true), + responses: %{ + 200 => ok_response(), + 500 => Operation.response("Error", "application/json", ApiError) + }, + security: [%{"oAuth" => ["write:mutes"]}] + } + end + + defp import_request do + %Schema{ + type: :object, + required: [:list], + properties: %{ + list: %Schema{ + description: + "STRING or FILE containing a whitespace-separated list of accounts to import.", + anyOf: [ + %Schema{type: :string, format: :binary}, + %Schema{type: :string} + ] + } + } + } + end + + defp ok_response do + Operation.response("Ok", "application/json", %Schema{type: :string, example: "ok"}) + end +end diff --git a/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex b/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex index df6a0f131..f10c45750 100644 --- a/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex @@ -9,16 +9,20 @@ defmodule Pleroma.Web.PleromaAPI.UserImportController do alias Pleroma.Plugs.OAuthScopesPlug alias Pleroma.User + alias Pleroma.Web.ApiSpec plug(OAuthScopesPlug, %{scopes: ["follow", "write:follows"]} when action == :follow) plug(OAuthScopesPlug, %{scopes: ["follow", "write:blocks"]} when action == :blocks) plug(OAuthScopesPlug, %{scopes: ["follow", "write:mutes"]} when action == :mutes) - def follow(conn, %{"list" => %Plug.Upload{path: path}}) do - follow(conn, %{"list" => File.read!(path)}) + plug(OpenApiSpex.Plug.CastAndValidate) + defdelegate open_api_operation(action), to: ApiSpec.UserImportOperation + + def follow(%{body_params: %{list: %Plug.Upload{path: path}}} = conn, _) do + follow(%Plug.Conn{conn | body_params: %{list: File.read!(path)}}, %{}) end - def follow(%{assigns: %{user: follower}} = conn, %{"list" => list}) do + def follow(%{assigns: %{user: follower}, body_params: %{list: list}} = conn, _) do identifiers = list |> String.split("\n") @@ -31,20 +35,20 @@ def follow(%{assigns: %{user: follower}} = conn, %{"list" => list}) do json(conn, "job started") end - def blocks(conn, %{"list" => %Plug.Upload{path: path}}) do - blocks(conn, %{"list" => File.read!(path)}) + def blocks(%{body_params: %{list: %Plug.Upload{path: path}}} = conn, _) do + blocks(%Plug.Conn{conn | body_params: %{list: File.read!(path)}}, %{}) end - def blocks(%{assigns: %{user: blocker}} = conn, %{"list" => list}) do + def blocks(%{assigns: %{user: blocker}, body_params: %{list: list}} = conn, _) do User.Import.blocks_import(blocker, prepare_user_identifiers(list)) json(conn, "job started") end - def mutes(conn, %{"list" => %Plug.Upload{path: path}}) do - mutes(conn, %{"list" => File.read!(path)}) + def mutes(%{body_params: %{list: %Plug.Upload{path: path}}} = conn, _) do + mutes(%Plug.Conn{conn | body_params: %{list: File.read!(path)}}, %{}) end - def mutes(%{assigns: %{user: user}} = conn, %{"list" => list}) do + def mutes(%{assigns: %{user: user}, body_params: %{list: list}} = conn, _) do User.Import.mutes_import(user, prepare_user_identifiers(list)) json(conn, "job started") end diff --git a/test/user/import_test.exs b/test/user/import_test.exs index 476b22678..e404deeb5 100644 --- a/test/user/import_test.exs +++ b/test/user/import_test.exs @@ -3,7 +3,6 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.User.ImportTest do - alias Pleroma.Repo alias Pleroma.Tests.ObanHelpers alias Pleroma.User @@ -37,7 +36,6 @@ test "it imports user followings from list" do end end - describe "blocks_import" do test "it imports user blocks from list" do [user1, user2, user3] = insert_list(3, :user) diff --git a/test/web/pleroma_api/controllers/user_import_controller_test.exs b/test/web/pleroma_api/controllers/user_import_controller_test.exs index d1a8a46fc..433c97e81 100644 --- a/test/web/pleroma_api/controllers/user_import_controller_test.exs +++ b/test/web/pleroma_api/controllers/user_import_controller_test.exs @@ -23,9 +23,11 @@ defmodule Pleroma.Web.PleromaAPI.UserImportControllerTest do test "it returns HTTP 200", %{conn: conn} do user2 = insert(:user) - assert "job started" == conn - |> post("/api/pleroma/follow_import", %{"list" => "#{user2.ap_id}"}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/follow_import", %{"list" => "#{user2.ap_id}"}) + |> json_response_and_validate_schema(200) end test "it imports follow lists from file", %{conn: conn} do @@ -37,9 +39,13 @@ test "it imports follow lists from file", %{conn: conn} do "Account address,Show boosts\n#{user2.ap_id},true" end} ]) do - assert "job started" == conn - |> post("/api/pleroma/follow_import", %{"list" => %Plug.Upload{path: "follow_list.txt"}}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/follow_import", %{ + "list" => %Plug.Upload{path: "follow_list.txt"} + }) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == [user2] @@ -49,11 +55,13 @@ test "it imports follow lists from file", %{conn: conn} do test "it imports new-style mastodon follow lists", %{conn: conn} do user2 = insert(:user) - response = conn - |> post("/api/pleroma/follow_import", %{ - "list" => "Account address,Show boosts\n#{user2.ap_id},true"} - ) - |> json_response(:ok) + response = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/follow_import", %{ + "list" => "Account address,Show boosts\n#{user2.ap_id},true" + }) + |> json_response_and_validate_schema(200) assert response == "job started" end @@ -68,6 +76,7 @@ test "requires 'follow' or 'write:follows' permissions" do conn = build_conn() |> put_req_header("authorization", "Bearer #{token.token}") + |> put_req_header("content-type", "application/json") |> post("/api/pleroma/follow_import", %{"list" => "#{another_user.ap_id}"}) if token == token3 do @@ -93,9 +102,11 @@ test "it imports follows with different nickname variations", %{conn: conn} do ] |> Enum.join("\n") - assert "job started" == conn - |> post("/api/pleroma/follow_import", %{"list" => identifiers}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/follow_import", %{"list" => identifiers}) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == users @@ -109,9 +120,11 @@ test "it imports follows with different nickname variations", %{conn: conn} do test "it returns HTTP 200", %{conn: conn} do user2 = insert(:user) - assert "job started" == conn - |> post("/api/pleroma/blocks_import", %{"list" => "#{user2.ap_id}"}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/blocks_import", %{"list" => "#{user2.ap_id}"}) + |> json_response_and_validate_schema(200) end test "it imports blocks users from file", %{conn: conn} do @@ -120,10 +133,13 @@ test "it imports blocks users from file", %{conn: conn} do with_mocks([ {File, [], read!: fn "blocks_list.txt" -> "#{user2.ap_id} #{user3.ap_id}" end} ]) do - - assert "job started" == conn - |> post("/api/pleroma/blocks_import", %{"list" => %Plug.Upload{path: "blocks_list.txt"}}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/blocks_import", %{ + "list" => %Plug.Upload{path: "blocks_list.txt"} + }) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == users @@ -143,9 +159,11 @@ test "it imports blocks with different nickname variations", %{conn: conn} do ] |> Enum.join(" ") - assert "job started" == conn - |> post("/api/pleroma/blocks_import", %{"list" => identifiers}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/blocks_import", %{"list" => identifiers}) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == users @@ -159,25 +177,30 @@ test "it imports blocks with different nickname variations", %{conn: conn} do test "it returns HTTP 200", %{user: user, conn: conn} do user2 = insert(:user) - assert "job started" == conn - |> post("/api/pleroma/mutes_import", %{"list" => "#{user2.ap_id}"}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/mutes_import", %{"list" => "#{user2.ap_id}"}) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == [user2] assert Pleroma.User.mutes?(user, user2) end - test "it imports mutes users from file", %{user: user, conn: conn} do users = [user2, user3] = insert_list(2, :user) with_mocks([ {File, [], read!: fn "mutes_list.txt" -> "#{user2.ap_id} #{user3.ap_id}" end} ]) do - assert "job started" == conn - |> post("/api/pleroma/mutes_import", %{"list" => %Plug.Upload{path: "mutes_list.txt"}}) - |> json_response(:ok) + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/mutes_import", %{ + "list" => %Plug.Upload{path: "mutes_list.txt"} + }) + |> json_response_and_validate_schema(200) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == users @@ -188,15 +211,22 @@ test "it imports mutes users from file", %{user: user, conn: conn} do test "it imports mutes with different nickname variations", %{user: user, conn: conn} do users = [user2, user3, user4, user5, user6] = insert_list(5, :user) - identifiers = [ - user2.ap_id, user3.nickname, "@" <> user4.nickname, - user5.nickname <> "@localhost", "@" <> user6.nickname <> "@localhost" - ] - |> Enum.join(" ") + identifiers = + [ + user2.ap_id, + user3.nickname, + "@" <> user4.nickname, + user5.nickname <> "@localhost", + "@" <> user6.nickname <> "@localhost" + ] + |> Enum.join(" ") + + assert "job started" == + conn + |> put_req_header("content-type", "application/json") + |> post("/api/pleroma/mutes_import", %{"list" => identifiers}) + |> json_response_and_validate_schema(200) - assert "job started" == conn - |> post("/api/pleroma/mutes_import", %{"list" => identifiers}) - |> json_response(:ok) assert [{:ok, job_result}] = ObanHelpers.perform_all() assert job_result == users assert Enum.all?(users, &Pleroma.User.mutes?(user, &1)) From ee0e05f9301e149c769f36bfd0fc8527ec7b6326 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Tue, 8 Sep 2020 10:43:57 +0200 Subject: [PATCH 057/201] Drop unused "inReplyToAtomUri" in objects --- lib/pleroma/web/activity_pub/transmogrifier.ex | 4 +--- test/web/activity_pub/transmogrifier_test.exs | 14 ++++---------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 0831efadc..af4384213 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -168,7 +168,6 @@ def fix_in_reply_to(object, options \\ []) def fix_in_reply_to(%{"inReplyTo" => in_reply_to} = object, options) when not is_nil(in_reply_to) do in_reply_to_id = prepare_in_reply_to(in_reply_to) - object = Map.put(object, "inReplyToAtomUri", in_reply_to_id) depth = (options[:depth] || 0) + 1 if Federator.allowed_thread_distance?(depth) do @@ -176,9 +175,8 @@ def fix_in_reply_to(%{"inReplyTo" => in_reply_to} = object, options) %Activity{} <- Activity.get_create_by_object_ap_id(replied_object.data["id"]) do object |> Map.put("inReplyTo", replied_object.data["id"]) - |> Map.put("inReplyToAtomUri", object["inReplyToAtomUri"] || in_reply_to_id) |> Map.put("context", replied_object.data["context"] || object["conversation"]) - |> Map.drop(["conversation"]) + |> Map.drop(["conversation", "inReplyToAtomUri"]) else e -> Logger.warn("Couldn't fetch #{inspect(in_reply_to_id)}, error: #{inspect(e)}") diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 3fa41b0c7..6e096e9ec 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -116,7 +116,8 @@ test "it fetches reply-to activities if we don't have them" do "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" ) - assert returned_object.data["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873" + assert returned_object.data["inReplyTo"] == + "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" end test "it does not fetch reply-to activities beyond max replies depth limit" do @@ -140,8 +141,7 @@ test "it does not fetch reply-to activities beyond max replies depth limit" do "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" ) - assert returned_object.data["inReplyToAtomUri"] == - "https://shitposter.club/notice/2827873" + assert returned_object.data["inReplyTo"] == "https://shitposter.club/notice/2827873" end end @@ -1072,7 +1072,7 @@ test "returns not modified object when hasn't containts inReplyTo field", %{data assert Transmogrifier.fix_in_reply_to(data) == data end - test "returns object with inReplyToAtomUri when denied incoming reply", %{data: data} do + test "returns object with inReplyTo when denied incoming reply", %{data: data} do Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 0) object_with_reply = @@ -1080,26 +1080,22 @@ test "returns object with inReplyToAtomUri when denied incoming reply", %{data: modified_object = Transmogrifier.fix_in_reply_to(object_with_reply) assert modified_object["inReplyTo"] == "https://shitposter.club/notice/2827873" - assert modified_object["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873" object_with_reply = Map.put(data["object"], "inReplyTo", %{"id" => "https://shitposter.club/notice/2827873"}) modified_object = Transmogrifier.fix_in_reply_to(object_with_reply) assert modified_object["inReplyTo"] == %{"id" => "https://shitposter.club/notice/2827873"} - assert modified_object["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873" object_with_reply = Map.put(data["object"], "inReplyTo", ["https://shitposter.club/notice/2827873"]) modified_object = Transmogrifier.fix_in_reply_to(object_with_reply) assert modified_object["inReplyTo"] == ["https://shitposter.club/notice/2827873"] - assert modified_object["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873" object_with_reply = Map.put(data["object"], "inReplyTo", []) modified_object = Transmogrifier.fix_in_reply_to(object_with_reply) assert modified_object["inReplyTo"] == [] - assert modified_object["inReplyToAtomUri"] == "" end @tag capture_log: true @@ -1117,8 +1113,6 @@ test "returns modified object when allowed incoming reply", %{data: data} do assert modified_object["inReplyTo"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" - assert modified_object["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873" - assert modified_object["context"] == "tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26" end From 921f926e96fd07131d4b79f5a29caed17ae2cc56 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Tue, 8 Sep 2020 09:13:11 +0200 Subject: [PATCH 058/201] Remove OStatus in testsuite --- lib/pleroma/object/containment.ex | 7 - test/fixtures/23211.atom | 508 ------------- test/fixtures/cw_retweet.xml | 68 -- test/fixtures/delete.xml | 39 - test/fixtures/dm.xml | 27 - test/fixtures/favorite.xml | 65 -- test/fixtures/favorite_with_local_note.xml | 64 -- test/fixtures/follow.xml | 68 -- test/fixtures/incoming_note_activity.xml | 42 - .../incoming_note_activity_answer.xml | 42 - test/fixtures/incoming_reply_mastodon.xml | 29 - .../incoming_websub_gnusocial_attachments.xml | 59 -- test/fixtures/lambadalambda.atom | 479 ------------ test/fixtures/mastodon-note-cw.xml | 39 - test/fixtures/mastodon-note-unlisted.xml | 38 - test/fixtures/mastodon-problematic.xml | 72 -- test/fixtures/mastodon_conversation.xml | 30 - test/fixtures/nil_mention_entry.xml | 52 -- test/fixtures/ostatus_incoming_post.xml | 57 -- test/fixtures/ostatus_incoming_post_tag.xml | 59 -- test/fixtures/ostatus_incoming_reply.xml | 60 -- test/fixtures/share-gs-local.xml | 99 --- test/fixtures/share-gs.xml | 99 --- test/fixtures/share.xml | 54 -- test/fixtures/tesla_mock/7369654.atom | 44 -- test/fixtures/tesla_mock/atarifrosch_feed.xml | 473 ------------ test/fixtures/tesla_mock/emelie.atom | 306 -------- ....php_api_statuses_user_timeline_1.atom.xml | 460 ----------- .../https___mamot.fr_users_Skruyb.atom | 342 --------- ...__mastodon.social_users_lambadalambda.atom | 464 ----------- .../https___pawoo.net_users_pekorino.atom | 231 ------ ...leroma.soykaf.com_users_lain_feed.atom.xml | 1 - ...er.club_api_statuses_show_2827873.atom.xml | 54 -- ...club_api_statuses_user_timeline_1.atom.xml | 454 ----------- ...ttps___shitposter.club_notice_2827873.json | 1 - ..._api_statuses_user_timeline_23211.atom.xml | 591 -------------- ..._api_statuses_user_timeline_29191.atom.xml | 719 ------------------ test/fixtures/tesla_mock/sakamoto.atom | 1 - .../tesla_mock/sakamoto_eal_feed.atom | 1 - .../tesla_mock/shp@pleroma.soykaf.com.feed | 1 - test/fixtures/tesla_mock/spc_5381.atom | 438 ----------- test/fixtures/unfollow.xml | 68 -- test/support/http_request_mock.ex | 174 ----- test/web/activity_pub/transmogrifier_test.exs | 16 +- .../controllers/search_controller_test.exs | 12 +- 45 files changed, 15 insertions(+), 6992 deletions(-) delete mode 100644 test/fixtures/23211.atom delete mode 100644 test/fixtures/cw_retweet.xml delete mode 100644 test/fixtures/delete.xml delete mode 100644 test/fixtures/dm.xml delete mode 100644 test/fixtures/favorite.xml delete mode 100644 test/fixtures/favorite_with_local_note.xml delete mode 100644 test/fixtures/follow.xml delete mode 100644 test/fixtures/incoming_note_activity.xml delete mode 100644 test/fixtures/incoming_note_activity_answer.xml delete mode 100644 test/fixtures/incoming_reply_mastodon.xml delete mode 100644 test/fixtures/incoming_websub_gnusocial_attachments.xml delete mode 100644 test/fixtures/lambadalambda.atom delete mode 100644 test/fixtures/mastodon-note-cw.xml delete mode 100644 test/fixtures/mastodon-note-unlisted.xml delete mode 100644 test/fixtures/mastodon-problematic.xml delete mode 100644 test/fixtures/mastodon_conversation.xml delete mode 100644 test/fixtures/nil_mention_entry.xml delete mode 100644 test/fixtures/ostatus_incoming_post.xml delete mode 100644 test/fixtures/ostatus_incoming_post_tag.xml delete mode 100644 test/fixtures/ostatus_incoming_reply.xml delete mode 100644 test/fixtures/share-gs-local.xml delete mode 100644 test/fixtures/share-gs.xml delete mode 100644 test/fixtures/share.xml delete mode 100644 test/fixtures/tesla_mock/7369654.atom delete mode 100644 test/fixtures/tesla_mock/atarifrosch_feed.xml delete mode 100644 test/fixtures/tesla_mock/emelie.atom delete mode 100644 test/fixtures/tesla_mock/http__gs.example.org_index.php_api_statuses_user_timeline_1.atom.xml delete mode 100644 test/fixtures/tesla_mock/https___mamot.fr_users_Skruyb.atom delete mode 100644 test/fixtures/tesla_mock/https___mastodon.social_users_lambadalambda.atom delete mode 100644 test/fixtures/tesla_mock/https___pawoo.net_users_pekorino.atom delete mode 100644 test/fixtures/tesla_mock/https___pleroma.soykaf.com_users_lain_feed.atom.xml delete mode 100644 test/fixtures/tesla_mock/https___shitposter.club_api_statuses_show_2827873.atom.xml delete mode 100644 test/fixtures/tesla_mock/https___shitposter.club_api_statuses_user_timeline_1.atom.xml delete mode 100644 test/fixtures/tesla_mock/https___shitposter.club_notice_2827873.json delete mode 100644 test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_23211.atom.xml delete mode 100644 test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_29191.atom.xml delete mode 100644 test/fixtures/tesla_mock/sakamoto.atom delete mode 100644 test/fixtures/tesla_mock/sakamoto_eal_feed.atom delete mode 100644 test/fixtures/tesla_mock/shp@pleroma.soykaf.com.feed delete mode 100644 test/fixtures/tesla_mock/spc_5381.atom delete mode 100644 test/fixtures/unfollow.xml diff --git a/lib/pleroma/object/containment.ex b/lib/pleroma/object/containment.ex index bc88e8a0c..29cb3d672 100644 --- a/lib/pleroma/object/containment.ex +++ b/lib/pleroma/object/containment.ex @@ -44,13 +44,6 @@ def get_object(_) do nil end - # TODO: We explicitly allow 'tag' URIs through, due to references to legacy OStatus - # objects being present in the test suite environment. Once these objects are - # removed, please also remove this. - if Mix.env() == :test do - defp compare_uris(_, %URI{scheme: "tag"}), do: :ok - end - defp compare_uris(%URI{host: host} = _id_uri, %URI{host: host} = _other_uri), do: :ok defp compare_uris(_id_uri, _other_uri), do: :error diff --git a/test/fixtures/23211.atom b/test/fixtures/23211.atom deleted file mode 100644 index d5d111baa..000000000 --- a/test/fixtures/23211.atom +++ /dev/null @@ -1,508 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-02T14:59:30+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda -

Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2015260:2017-05-02T14:45:47+00:00 - Favorite - lambadalambda favorited something by godemperorofdune: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> It's because your instance decided to be trap! lol.</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T14:45:47+00:00 - 2017-05-02T14:45:47+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:pawoo.net,2017-05-02:objectId=7397439:objectType=Status - New comment by godemperorofdune - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> It's because your instance decided to be trap! lol.</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=136e244b26cdf1e9 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-02:noticeId=2015221:objectType=note - New note by lambadalambda - Some script thinks I'm a mastodon server.<br /> <br /> [info] GET /api/v1/timelines/public<br /> [debug] Processing with Fallback.RedirectController.redirector/2<br /> Parameters: %{&quot;limit&quot; =&gt; &quot;40&quot;, &quot;path&quot; =&gt; [&quot;api&quot;, &quot;v1&quot;, &quot;timelines&quot;, &quot;public&quot;]}<br /> Pipelines: [] - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T14:40:50+00:00 - 2017-05-02T14:40:50+00:00 - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=136e244b26cdf1e9 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-02:noticeId=2014759:objectType=comment - New comment by lambadalambda - @<a href="https://mstdn.io/users/mattskala" class="h-card u-url p-nickname mention" title="Matthew Skala">mattskala</a> You and @<a href="https://mastodon.social/users/kevinmarks" class="h-card u-url p-nickname mention" title="Kevin Marks">kevinmarks</a> are not wrong, but my comment was a suggestion to users and admins: Don't use big instances, don't run big instances. Also, it's a secondary advice to devs: Don't add features that encourage big instances. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T14:11:54+00:00 - 2017-05-02T14:11:54+00:00 - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=58e32e013ab6487d - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-02:noticeId=2014684:objectType=comment - New comment by lambadalambda - @<a href="https://mastodon.social/users/Ronkjeffries" class="h-card u-url p-nickname mention" title="Ron K Jeffries social">ronkjeffries</a> @<a href="https://xoxo.zone/users/KevinMarks" class="h-card u-url p-nickname mention" title="Kevin Marks ">kevinmarks</a> Usually people who run their own private instance just look at the timelines of other servers, follow a seed population and then go from there. This is of course hard on Mastodon, because it doesn't have a publicly visible timeline. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T14:07:00+00:00 - 2017-05-02T14:07:00+00:00 - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=58e32e013ab6487d - - - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2014584:2017-05-02T14:05:32+00:00 - Favorite - lambadalambda favorited something by mattskala: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> It's reasonable to expect that instance sizes will obey a power-law distribution because that's what such things in nature nearly always do. If so, there'll necessarily be a few instances much larger than the others; even if most are small, the network both socially and technically has to be able to deal with the existence of the few large ones.</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T14:05:32+00:00 - 2017-05-02T14:05:32+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:mstdn.io,2017-05-02:objectId=1316931:objectType=Status - New comment by mattskala - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> It's reasonable to expect that instance sizes will obey a power-law distribution because that's what such things in nature nearly always do. If so, there'll necessarily be a few instances much larger than the others; even if most are small, the network both socially and technically has to be able to deal with the existence of the few large ones.</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=58e32e013ab6487d - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2013568:2017-05-02T14:05:29+00:00 - Favorite - lambadalambda favorited something by kevinmarks: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> except instance populations will be power law distributed, and the problems for the tummlers are worse at scale</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T14:05:29+00:00 - 2017-05-02T14:05:29+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:xoxo.zone,2017-05-02:objectId=89478:objectType=Status - New comment by kevinmarks - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> except instance populations will be power law distributed, and the problems for the tummlers are worse at scale</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=58e32e013ab6487d - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2014060:2017-05-02T13:34:32+00:00 - Favorite - lambadalambda favorited something by gcarregues: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> Oh purée ! Ma vie en images !</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T13:34:32+00:00 - 2017-05-02T13:34:32+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:mastodon.etalab.gouv.fr,2017-05-02:objectId=55287:objectType=Status - New comment by gcarregues - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> Oh purée ! Ma vie en images !</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:note:2013573:2017-05-02T13:03:33+00:00 - Favorite - lambadalambda favorited something by phildobangnz: also @<a href="https://sealion.club/user/579" class="h-card mention" title="Sim Bot">sim</a> reminder you are awesome; don't even trip- u kewler than Tutankhamen's cucumber, fam. Okay, good night. - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T13:03:33+00:00 - 2017-05-02T13:03:33+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:sealion.club,2017-05-02:noticeId=3060818:objectType=note - New note by phildobangnz - also @<a href="https://sealion.club/user/579" class="h-card mention" title="Sim Bot">sim</a> reminder you are awesome; don't even trip- u kewler than Tutankhamen's cucumber, fam. Okay, good night. - - - - - - - https://sealion.club/conversation/1633267 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-02:noticeId=2013586:objectType=comment - New comment by lambadalambda - @<a href="https://xoxo.zone/users/KevinMarks" class="h-card u-url p-nickname mention" title="Kevin Marks ">kevinmarks</a> People can stay in their giant unmoderatable instances with meaningless public and federated timelines and experience constant federation drama if they want. I'll stay here with my 5 friends. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T12:54:59+00:00 - 2017-05-02T12:54:59+00:00 - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=58e32e013ab6487d - - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:note:2013486:2017-05-02T12:46:48+00:00 - Favorite - lambadalambda favorited something by fortune: There once was a dentist named Stone<br /> Who saw all his patients alone.<br /> In a fit of depravity<br /> He filled the wrong cavity,<br /> And my, how his practice has grown! - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:46:48+00:00 - 2017-05-02T12:46:48+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gs.kawa-kun.com,2017-05-02:noticeId=1655658:objectType=note - New note by fortune - There once was a dentist named Stone<br /> Who saw all his patients alone.<br /> In a fit of depravity<br /> He filled the wrong cavity,<br /> And my, how his practice has grown! - - - - - - - https://gs.kawa-kun.com/conversation/714072 - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:note:2013365:2017-05-02T12:37:55+00:00 - Favorite - lambadalambda favorited something by xj9: <p>&gt; rollerblading to work</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:37:55+00:00 - 2017-05-02T12:37:55+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:sunshinegardens.org,2017-05-02:objectId=61020:objectType=Status - New note by xj9 - <p>&gt; rollerblading to work</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=5a0e98612f634218 - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2013259:2017-05-02T12:29:03+00:00 - Favorite - lambadalambda favorited something by cereal: @<a href="https://gs.smuglo.li/user/28250" class="h-card mention" title="Bricky">thatbrickster</a> @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> But why? - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:29:03+00:00 - 2017-05-02T12:29:03+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:sealion.club,2017-05-02:noticeId=3059985:objectType=comment - New comment by cereal - @<a href="https://gs.smuglo.li/user/28250" class="h-card mention" title="Bricky">thatbrickster</a> @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> But why? - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2013227:2017-05-02T12:24:27+00:00 - Favorite - lambadalambda favorited something by thatbrickster: @<a href="https://social.heldscal.la/user/23211" class="h-card u-url p-nickname mention" title="Constance Variable">lambadalambda</a> install gentoo - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:24:27+00:00 - 2017-05-02T12:24:27+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:gs.smuglo.li,2017-05-02:noticeId=2144296:objectType=comment - New comment by thatbrickster - @<a href="https://social.heldscal.la/user/23211" class="h-card u-url p-nickname mention" title="Constance Variable">lambadalambda</a> install gentoo - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2013213:2017-05-02T12:22:53+00:00 - Favorite - lambadalambda favorited something by dwmatiz: @<a href="https://social.heldscal.la/user/23211" class="h-card mention">lambadalambda</a> *unzips dick* - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:22:53+00:00 - 2017-05-02T12:22:53+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:sealion.club,2017-05-02:noticeId=3059800:objectType=comment - New comment by dwmatiz - @<a href="https://social.heldscal.la/user/23211" class="h-card mention">lambadalambda</a> *unzips dick* - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2013199:2017-05-02T12:22:03+00:00 - Favorite - lambadalambda favorited something by shpuld: @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> get #<span class="tag"><a href="https://shitposter.club/tag/cofe" rel="tag">cofe</a></span> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:22:03+00:00 - 2017-05-02T12:22:03+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-02:noticeId=2783524:objectType=comment - New comment by shpuld - @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> get #<span class="tag"><a href="https://shitposter.club/tag/cofe" rel="tag">cofe</a></span> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-02:noticeId=2013185:objectType=note - New note by lambadalambda - What now? <a href="https://social.heldscal.la/file/e4822d95de677757ff50d49672a4046c83218b76c04a0ad5e5f1f0a9a9eb1a74.gif" title="https://social.heldscal.la/file/e4822d95de677757ff50d49672a4046c83218b76c04a0ad5e5f1f0a9a9eb1a74.gif" rel="nofollow external noreferrer" class="attachment" id="attachment-422572">https://social.heldscal.la/attachment/422572</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T12:21:04+00:00 - 2017-05-02T12:21:04+00:00 - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2c27c27df8ec4dcc - - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:note:2012929:2017-05-02T12:01:25+00:00 - Favorite - lambadalambda favorited something by drkmttr: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> I checked out No Agenda because I saw you mention it several time. Sadly, I wasn't impressed. I'm all about varying perspectives but Adam and John basically just sound like resentful curmudgeons. It seems like their shtick is basically playing devil's advocate to everything to arouse some discontent. Just my two cents. 😉</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T12:01:25+00:00 - 2017-05-02T12:01:25+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:mstdn.io,2017-05-02:objectId=1310093:objectType=Status - New note by drkmttr - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> I checked out No Agenda because I saw you mention it several time. Sadly, I wasn't impressed. I'm all about varying perspectives but Adam and John basically just sound like resentful curmudgeons. It seems like their shtick is basically playing devil's advocate to everything to arouse some discontent. Just my two cents. 😉</p> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=2f329b4eb20e83e2 - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2012336:2017-05-02T11:06:42+00:00 - Favorite - lambadalambda favorited something by clacke: @<a href="https://mastodon.org.uk/users/dick_turpin" class="h-card u-url p-nickname mention" title="dick_turpin">dickturpin</a> @<a href="http://quitter.se/user/113503" class="h-card u-url p-nickname mention" title="Luke">luke</a> Oh no, I miss being irritated by you, it helps me understand myself and others. Also it builds character. :-)<br /> <br /> So if this is not federation because you can't follow all of online mankind, what should we call it? Proto-federated? Pre-federated?<br /> <br /> The term has been used decades ago for just one Microsoft Active Directory domain cross-certifying the root of another, by mutual agreement. I don't see how it's any less relevant to opportunistic federation between open servers on an open internet.<br /> <br /> I'm not saying we should be satisfied, I'm just saying that "federate" is a useful word and to build a big system we need to start with a small one. And focus on the things we *can* change, like helping the OStatus network grow and making the tools more useful.<br /> <br /> Saying that the network's ideals have failed because other networks aren't joining is doing neither of that. - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T11:06:42+00:00 - 2017-05-02T11:06:42+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-02:noticeId=2012336:objectType=comment - New comment by clacke - @<a href="https://mastodon.org.uk/users/dick_turpin" class="h-card u-url p-nickname mention" title="dick_turpin">dickturpin</a> @<a href="http://quitter.se/user/113503" class="h-card u-url p-nickname mention" title="Luke">luke</a> Oh no, I miss being irritated by you, it helps me understand myself and others. Also it builds character. :-)<br /> <br /> So if this is not federation because you can't follow all of online mankind, what should we call it? Proto-federated? Pre-federated?<br /> <br /> The term has been used decades ago for just one Microsoft Active Directory domain cross-certifying the root of another, by mutual agreement. I don't see how it's any less relevant to opportunistic federation between open servers on an open internet.<br /> <br /> I'm not saying we should be satisfied, I'm just saying that &quot;federate&quot; is a useful word and to build a big system we need to start with a small one. And focus on the things we *can* change, like helping the OStatus network grow and making the tools more useful.<br /> <br /> Saying that the network's ideals have failed because other networks aren't joining is doing neither of that. - - - - - - - https://s.wefamlee.be/conversation/16478 - - - - - - - tag:social.heldscal.la,2017-05-02:fave:23211:comment:2011332:2017-05-02T10:37:40+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> <a href="https://www.youtube.com/watch?v=mKLizztikRk" title="https://www.youtube.com/watch?v=mKLizztikRk" class="attachment" rel="nofollow">https://www.youtube.com/watch?v=mKLizztikRk</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-02T10:37:40+00:00 - 2017-05-02T10:37:40+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-02:noticeId=2781833:objectType=comment - New comment by moonman - @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> <a href="https://www.youtube.com/watch?v=mKLizztikRk" title="https://www.youtube.com/watch?v=mKLizztikRk" class="attachment" rel="nofollow">https://www.youtube.com/watch?v=mKLizztikRk</a> - - - - - - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=11d8b8c27d9513ec - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-02:noticeId=2012145:objectType=comment - New comment by lambadalambda - @<a href="https://sealion.club/user/186" class="h-card u-url p-nickname mention" title="I'M CEREAL U GUISE">cereal</a> ? No, you don't even need the identity servers for federation. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T10:37:33+00:00 - 2017-05-02T10:37:33+00:00 - - - - https://sealion.club/conversation/1629037 - - - - - - - diff --git a/test/fixtures/cw_retweet.xml b/test/fixtures/cw_retweet.xml deleted file mode 100644 index c99a569d7..000000000 --- a/test/fixtures/cw_retweet.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - https://mastodon.social/users/lambadalambda.atom - Critical Value - - 2017-04-16T21:47:25Z - https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - - - - - - tag:mastodon.social,2017-05-11:objectId=5647963:objectType=Status - 2017-05-11T10:23:15Z - 2017-05-11T10:23:15Z - lambadalambda shared a status by Skruyb@mamot.fr - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:mamot.fr,2017-05-10:objectId=1294943:objectType=Status - 2017-05-10T17:31:44Z - 2017-05-10T17:31:45Z - New status by Skruyb@mamot.fr - - https://mamot.fr/users/Skruyb - http://activitystrea.ms/schema/1.0/person - https://mamot.fr/users/Skruyb - Skruyb - Skruyb@mamot.fr - <p>Fr and En.<br>Posts will disappear on a regular basis.</p> - - - - Skruyb - The 7th Son - Fr and En.Posts will disappear on a regular basis. - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - Hey. - <p><span class="h-card"><a href="https://mastodon.social/@lambadalambda">@<span>lambadalambda</span></a></span></p><p>Hey!!!</p> - - - public - - - - <p><span class="h-card"><a href="https://mastodon.social/@lambadalambda">@<span>lambadalambda</span></a></span></p><p>Hey!!!</p> - - public - - - - diff --git a/test/fixtures/delete.xml b/test/fixtures/delete.xml deleted file mode 100644 index 731e1c204..000000000 --- a/test/fixtures/delete.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - https://mastodon.sdf.org/users/snowdusk.atom - snowdusk - Amateur live performance DJ/radio DJ on SDF's underground Internet radio http://aNONradio.net (LIVE Sat Sun Mon Tue 23:00-24:00 UTC) - http://snowdusk.sdf.org - 2017-06-17T04:14:34Z - https://mastodon.sdf.org/system/accounts/avatars/000/000/002/original/405a7652d5f60449.jpg?1497672873 - - https://mastodon.sdf.org/users/snowdusk - http://activitystrea.ms/schema/1.0/person - https://mastodon.sdf.org/users/snowdusk - snowdusk - snowdusk@mastodon.sdf.org - <p>Amateur live performance DJ/radio DJ on SDF&apos;s underground Internet radio <a href="http://anonradio.net/" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">anonradio.net/</span><span class="invisible"></span></a> (LIVE Sat Sun Mon Tue 23:00-24:00 UTC) - <a href="http://snowdusk.sdf.org/" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">snowdusk.sdf.org/</span><span class="invisible"></span></a></p> - - - - snowdusk - snowdusk - Amateur live performance DJ/radio DJ on SDF's underground Internet radio http://aNONradio.net (LIVE Sat Sun Mon Tue 23:00-24:00 UTC) - http://snowdusk.sdf.org - public - - - - - - - - tag:mastodon.sdf.org,2017-06-10:objectId=310513:objectType=Status - 2017-06-10T22:02:31Z - 2017-06-10T22:02:31Z - snowdusk deleted status - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/delete - Deleted status - - - - diff --git a/test/fixtures/dm.xml b/test/fixtures/dm.xml deleted file mode 100644 index d0b8aa811..000000000 --- a/test/fixtures/dm.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - tag:mastodon.social,2017-06-30:objectId=11260427:objectType=Status - 2017-06-30T13:27:47Z - 2017-06-30T13:27:47Z - New status by lambadalambda - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - lambadalambda - Critical Value - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> Hey.</p> - - direct - - - - diff --git a/test/fixtures/favorite.xml b/test/fixtures/favorite.xml deleted file mode 100644 index c32b4a403..000000000 --- a/test/fixtures/favorite.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-05T09:12:53+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061643:2017-05-05T09:12:50+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:12:50+00:00 - 2017-05-05T09:12:50+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=55ead90125cd4bd4 - - - - - - diff --git a/test/fixtures/favorite_with_local_note.xml b/test/fixtures/favorite_with_local_note.xml deleted file mode 100644 index 3c955607d..000000000 --- a/test/fixtures/favorite_with_local_note.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-05T09:12:53+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061643:2017-05-05T09:12:50+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:12:50+00:00 - 2017-05-05T09:12:50+00:00 - - http://activitystrea.ms/schema/1.0/comment - localid - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=55ead90125cd4bd4 - - - - - - diff --git a/test/fixtures/follow.xml b/test/fixtures/follow.xml deleted file mode 100644 index d4e89954b..000000000 --- a/test/fixtures/follow.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-07T09:54:49+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-07:subscription:23211:person:44803:2017-05-07T09:54:48+00:00 - Constance Variable (lambadalambda@social.heldscal.la)'s status on Sunday, 07-May-2017 09:54:49 UTC - <a href="https://social.heldscal.la/lambadalambda">Constance Variable</a> started following <a href="https://pawoo.net/@pekorino">mono</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-05-07T09:54:49+00:00 - 2017-05-07T09:54:49+00:00 - - http://activitystrea.ms/schema/1.0/person - https://pawoo.net/users/pekorino - mono - http://shitposter.club/mono 孤独のグルメ - - - - - pekorino - mono - http://shitposter.club/mono 孤独のグルメ - - - tag:social.heldscal.la,2017-05-07:objectType=thread:nonce=6e80caf94e03029f - - - - - - diff --git a/test/fixtures/incoming_note_activity.xml b/test/fixtures/incoming_note_activity.xml deleted file mode 100644 index 21eda2d30..000000000 --- a/test/fixtures/incoming_note_activity.xml +++ /dev/null @@ -1,42 +0,0 @@ - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-23:noticeId=29:objectType=note - New note by lambda - @<a href="http://pleroma.example.org:4000/users/lain3" class="h-card mention">lain3</a> - - - - - http://activitystrea.ms/schema/1.0/post - 2017-04-23T14:51:03+00:00 - 2017-04-23T14:51:03+00:00 - - http://activitystrea.ms/schema/1.0/person - http://gs.example.org:4040/index.php/user/1 - lambda - - - - - lambda - lambda - - - - - tag:gs.example.org:4040,2017-04-23:objectType=thread:nonce=f09e22f58abd5c7b - - - - http://gs.example.org:4040/index.php/api/statuses/user_timeline/1.atom - lambda - - - - http://gs.example.org:4040/theme/neo-gnu/default-avatar-profile.png - 2017-04-23T14:51:03+00:00 - - - - - diff --git a/test/fixtures/incoming_note_activity_answer.xml b/test/fixtures/incoming_note_activity_answer.xml deleted file mode 100644 index b1244faa6..000000000 --- a/test/fixtures/incoming_note_activity_answer.xml +++ /dev/null @@ -1,42 +0,0 @@ - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=55:objectType=note - New note by lambda - hey. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:16:13+00:00 - 2017-04-25T18:16:13+00:00 - - http://activitystrea.ms/schema/1.0/person - http://gs.example.org:4040/index.php/user/1 - lambda - - - - - lambda - lambda - - - - - - - http://pleroma.example.org:4000/contexts/8f6f45d4-8e4d-4e1a-a2de-09f27367d2d0 - - - - http://gs.example.org:4040/index.php/api/statuses/user_timeline/1.atom - lambda - - - - http://gs.example.org:4040/theme/neo-gnu/default-avatar-profile.png - 2017-04-25T18:16:13+00:00 - - - - - diff --git a/test/fixtures/incoming_reply_mastodon.xml b/test/fixtures/incoming_reply_mastodon.xml deleted file mode 100644 index 8ee1186cc..000000000 --- a/test/fixtures/incoming_reply_mastodon.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - tag:mastodon.social,2017-05-02:objectId=4901603:objectType=Status - 2017-05-02T18:33:06Z - 2017-05-02T18:33:06Z - New status by lambadalambda - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> hey</p> - - - public - - - - diff --git a/test/fixtures/incoming_websub_gnusocial_attachments.xml b/test/fixtures/incoming_websub_gnusocial_attachments.xml deleted file mode 100644 index 9d331ef32..000000000 --- a/test/fixtures/incoming_websub_gnusocial_attachments.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-02T20:29:35+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-02:noticeId=2020923:objectType=note - New note by lambadalambda - Okay gonna stream some cool games!! <a href="https://social.heldscal.la/file/7ed5ee508e6376a6e3dd581e17e7ed0b7b638147c7e86784bf83abc2641ee3d4.gif" title="https://social.heldscal.la/file/7ed5ee508e6376a6e3dd581e17e7ed0b7b638147c7e86784bf83abc2641ee3d4.gif" rel="nofollow external noreferrer" class="attachment" id="attachment-423842">https://social.heldscal.la/attachment/423842</a> <a href="https://social.heldscal.la/file/4c209099cadfc5afd3e27a334aa0db96b3a7510dde1603305d68a2707e59a11f.png" title="https://social.heldscal.la/file/4c209099cadfc5afd3e27a334aa0db96b3a7510dde1603305d68a2707e59a11f.png" rel="nofollow external noreferrer" class="attachment" id="attachment-423843">https://social.heldscal.la/attachment/423843</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-02T20:29:35+00:00 - 2017-05-02T20:29:35+00:00 - - tag:social.heldscal.la,2017-05-02:objectType=thread:nonce=26c7afdcbcf4ebd4 - - - - - - - - diff --git a/test/fixtures/lambadalambda.atom b/test/fixtures/lambadalambda.atom deleted file mode 100644 index 964a416f7..000000000 --- a/test/fixtures/lambadalambda.atom +++ /dev/null @@ -1,479 +0,0 @@ - - - https://mastodon.social/users/lambadalambda.atom - Critical Value - - 2017-04-16T21:47:25Z - https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif?1492379244 - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - a cool dude. - - - - lambadalambda - Critical Value - public - - - - - - - - tag:mastodon.social,2017-04-07:objectId=1874242:objectType=Status - 2017-04-07T11:02:56Z - 2017-04-07T11:02:56Z - lambadalambda shared a status by 0xroy@social.wxcafe.net - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.wxcafe.net,2017-04-07:objectId=72554:objectType=Status - 2017-04-07T11:01:59Z - 2017-04-07T11:02:00Z - New status by 0xroy@social.wxcafe.net - - https://social.wxcafe.net/users/0xroy - http://activitystrea.ms/schema/1.0/person - https://social.wxcafe.net/users/0xroy - 0xroy - 0xroy@social.wxcafe.net - ta caution weeb | discussions privées : <a href="https://💌.0xroy.me" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">💌.0xroy.me</span><span class="invisible"></span></a> - - - - 0xroy - 「R O Y 🍵 B O S」 - ta caution weeb | discussions privées : <a href="https://%F0%9F%92%8C.0xroy.me" rel="nofollow noopener"><span class="invisible">https://</span><span class="">💌.0xroy.me</span><span class="invisible"></span></a> - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>someone pls eli5 matrix (protocol) and riot</p> - - public - - - <p>someone pls eli5 matrix (protocol) and riot</p> - - public - - - - - tag:mastodon.social,2017-04-06:objectId=1768247:objectType=Status - 2017-04-06T11:10:19Z - 2017-04-06T11:10:19Z - lambadalambda shared a status by areyoutoo@mastodon.xyz - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:mastodon.xyz,2017-04-05:objectId=133327:objectType=Status - 2017-04-05T17:36:41Z - 2017-04-05T18:12:14Z - New status by areyoutoo@mastodon.xyz - - https://mastodon.xyz/users/areyoutoo - http://activitystrea.ms/schema/1.0/person - https://mastodon.xyz/users/areyoutoo - areyoutoo - areyoutoo@mastodon.xyz - devops | retired gamedev | always boost puppy pics - - - - areyoutoo - Raw Butter - devops | retired gamedev | always boost puppy pics - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Some UX thoughts for <a href="https://mastodon.xyz/tags/mastodev" class="mention hashtag">#<span>mastodev</span></a>:</p><p>- Would be nice if I could work on multiple draft toots? Clicking to reply to someone seems to erase any draft I had been working on.</p><p>- Kinda risky to click on the Federated Timeline if it loads new toots and scrolls 10ms before I click on something.</p><p>I probably don't know enough web frontend to help, but it might be fun to try.</p> - - - public - - - <p>Some UX thoughts for <a href="https://mastodon.xyz/tags/mastodev" class="mention hashtag">#<span>mastodev</span></a>:</p><p>- Would be nice if I could work on multiple draft toots? Clicking to reply to someone seems to erase any draft I had been working on.</p><p>- Kinda risky to click on the Federated Timeline if it loads new toots and scrolls 10ms before I click on something.</p><p>I probably don't know enough web frontend to help, but it might be fun to try.</p> - - public - - - - - tag:mastodon.social,2017-04-06:objectId=1764509:objectType=Status - 2017-04-06T10:15:38Z - 2017-04-06T10:15:38Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - This is a test for cw federation - <p>This is a test for cw federation body text.</p> - - public - - - - - tag:mastodon.social,2017-04-05:objectId=1645208:objectType=Status - 2017-04-05T07:14:53Z - 2017-04-05T07:14:53Z - lambadalambda shared a status by lambadalambda@social.heldscal.la - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.heldscal.la,2017-04-05:noticeId=1502088:objectType=note - 2017-04-05T06:12:09Z - 2017-04-05T07:12:47Z - New status by lambadalambda@social.heldscal.la - - https://social.heldscal.la/user/23211 - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - lambadalambda@social.heldscal.la - Call me Deacon Blues. - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Federation 101: <a href="https://www.youtube.com/watch?v=t1lYU5CA40o" rel="nofollow external noreferrer" class="attachment thumbnail">https://www.youtube.com/watch?v=t1lYU5CA40o</a> - - public - - - Federation 101: <a href="https://www.youtube.com/watch?v=t1lYU5CA40o" rel="nofollow external noreferrer" class="attachment thumbnail">https://www.youtube.com/watch?v=t1lYU5CA40o</a> - - public - - - - - tag:mastodon.social,2017-04-05:objectId=1641750:objectType=Status - 2017-04-05T05:44:48Z - 2017-04-05T05:44:48Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> just a test.</p> - - - public - - - - - tag:mastodon.social,2017-04-04:objectId=1540149:objectType=Status - 2017-04-04T06:31:09Z - 2017-04-04T06:31:09Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Looks like you still can&apos;t delete your account here (PRIVACY!), but I won&apos;t be posting here anymore, my main account is <span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span></p> - - - public - - - - - tag:mastodon.social,2017-04-04:objectId=1539608:objectType=Status - 2017-04-04T06:18:16Z - 2017-04-04T06:18:16Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@ghostbar" class="u-url mention">@<span>ghostbar</span></a></span> Remember to rewrite it in Rust once you&apos;re done.</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1504813:objectType=Status - 2017-04-03T18:01:20Z - 2017-04-03T18:01:20Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.xyz/@Azurolu" class="u-url mention">@<span>Azurolu</span></a></span> You mean gs.smuglo.li?</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1504805:objectType=Status - 2017-04-03T18:01:05Z - 2017-04-03T18:01:05Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>There&apos;s nothing wrong with having several alt accounts all across the fediverse. Try out another mastodon instance (<a href="https://icosahedron.website" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">icosahedron.website</span><span class="invisible"></span></a>) or a GNU Social instance (like <a href="https://shitposter.club" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">shitposter.club</span><span class="invisible"></span></a> or <a href="https://freezepeach.xyz" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">freezepeach.xyz</span><span class="invisible"></span></a>), or friendica. They are all on the same network, so you can still follow all your friends!</p> - - public - - - - - tag:mastodon.social,2017-04-03:objectId=1503965:objectType=Status - 2017-04-03T17:31:30Z - 2017-04-03T17:31:30Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@20Hz" class="u-url mention">@<span>20Hz</span></a></span> you could also try out a GS instance, which are on the same network :)</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1503955:objectType=Status - 2017-04-03T17:31:08Z - 2017-04-03T17:31:08Z - lambadalambda shared a status by shpuld@shitposter.club - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:shitposter.club,2017-04-03:noticeId=2251717:objectType=note - 2017-04-03T17:06:43Z - 2017-04-03T17:12:06Z - New status by shpuld@shitposter.club - - https://shitposter.club/user/5381 - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/5381 - shpuld - shpuld@shitposter.club - - - - - shpuld - shp - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - reposting the classic <a href="https://shitposter.club/file/89c5fe483526caf3a46cfc5cdd4ae68061054350e767397731af658d54786e31.jpg" class="attachment" rel="nofollow external">https://shitposter.club/attachment/219846</a> - - - public - - - reposting the classic <a href="https://shitposter.club/file/89c5fe483526caf3a46cfc5cdd4ae68061054350e767397731af658d54786e31.jpg" class="attachment" rel="nofollow external">https://shitposter.club/attachment/219846</a> - - public - - - - - tag:mastodon.social,2017-04-03:objectId=1503929:objectType=Status - 2017-04-03T17:30:43Z - 2017-04-03T17:30:43Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@ghostbar" class="u-url mention">@<span>ghostbar</span></a></span> Normally you shouldn&apos;t be running tens of thousands of users on one instance... That&apos;s one of the reasons for federation.</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1477255:objectType=Status - 2017-04-03T08:24:39Z - 2017-04-03T08:24:39Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@dot_tiff" class="u-url mention">@<span>dot_tiff</span></a></span> it&apos;s the vaporwave mode.</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1476210:objectType=Status - 2017-04-03T07:45:42Z - 2017-04-03T07:45:42Z - lambadalambda shared a status by lambadalambda@social.heldscal.la - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.heldscal.la,2017-04-03:noticeId=1475727:objectType=note - 2017-04-03T07:44:43Z - 2017-04-03T07:44:48Z - New status by lambadalambda@social.heldscal.la - - https://social.heldscal.la/user/23211 - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - lambadalambda@social.heldscal.la - Call me Deacon Blues. - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Here's a song by the original anti-idol, Togawa Jun: <a href="https://www.youtube.com/watch?v=kNI_NK2YY-s" rel="nofollow external noreferrer" class="attachment">https://www.youtube.com/watch?v=kNI_NK2YY-s</a> - - public - - - Here's a song by the original anti-idol, Togawa Jun: <a href="https://www.youtube.com/watch?v=kNI_NK2YY-s" rel="nofollow external noreferrer" class="attachment">https://www.youtube.com/watch?v=kNI_NK2YY-s</a> - - public - - - - - tag:mastodon.social,2017-04-03:objectId=1476047:objectType=Status - 2017-04-03T07:39:14Z - 2017-04-03T07:39:14Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@amrrr" class="u-url mention">@<span>amrrr</span></a></span> tumblr/10, but pretty good!</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1475949:objectType=Status - 2017-04-03T07:35:45Z - 2017-04-03T07:35:45Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@Shookaite" class="u-url mention">@<span>Shookaite</span></a></span> Oh, you mean like userstyles?</p> - - - public - - - - - - tag:mastodon.social,2017-04-03:objectId=1475581:objectType=Status - 2017-04-03T07:20:03Z - 2017-04-03T07:20:03Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@Shookaite" class="u-url mention">@<span>Shookaite</span></a></span> Would be nice if someone helped port Pleroma to Mastodon, that has a theme switcher (click on the cog in the upper right): <a href="https://pleroma.heldscal.la/main/all" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">pleroma.heldscal.la/main/all</span><span class="invisible"></span></a></p> - - - public - - - - - - tag:mastodon.social,2017-04-02:objectId=1457325:objectType=Status - 2017-04-02T21:57:43Z - 2017-04-02T21:57:43Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@rhosyn" class="u-url mention">@<span>rhosyn</span></a></span> <span class="h-card"><a href="https://mastodon.social/@Meaningness" class="u-url mention">@<span>Meaningness</span></a></span> you could take a look at those listed at social.guhnoo.org</p> - - - - public - - - - - - tag:mastodon.social,2017-04-02:objectId=1447926:objectType=Status - 2017-04-02T18:31:52Z - 2017-04-02T18:31:52Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>My main account is <span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> , btw.</p> - - - public - - - - - tag:mastodon.social,2017-04-02:objectId=1447878:objectType=Status - 2017-04-02T18:30:37Z - 2017-04-02T18:30:37Z - lambadalambda shared a status by Firstaide@awoo.space - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:awoo.space,2017-04-02:objectId=135324:objectType=Status - 2017-04-02T18:29:32Z - 2017-04-02T18:29:32Z - New status by Firstaide@awoo.space - - https://awoo.space/users/Firstaide - http://activitystrea.ms/schema/1.0/person - https://awoo.space/users/Firstaide - Firstaide - Firstaide@awoo.space - A smol awoo account, for a smol autistic 💙 -They/them please! -NB/white/ace - - - - Firstaide - Miff🚑✨ - A smol awoo account, for a smol autistic 💙 -They/them please! -NB/white/ace - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><a href="https://mastodon.social/users/lambadalambda" class="h-card u-url p-nickname mention">@<span>lambadalambda</span></a> yeah, I think that's p much the big issue here? <br>When I first heard of Masto, I thought it was just like twitter at first, I had no idea federation was even a thing?, and I actually joined p early on? :-o </p><p>idk I think more stuff needs to be done about federation promotion, but honestly its gotta come from the get go when people get here to make an account I feel :-o</p> - - - public - - - - <p><a href="https://mastodon.social/users/lambadalambda" class="h-card u-url p-nickname mention">@<span>lambadalambda</span></a> yeah, I think that's p much the big issue here? <br>When I first heard of Masto, I thought it was just like twitter at first, I had no idea federation was even a thing?, and I actually joined p early on? :-o </p><p>idk I think more stuff needs to be done about federation promotion, but honestly its gotta come from the get go when people get here to make an account I feel :-o</p> - - public - - - - diff --git a/test/fixtures/mastodon-note-cw.xml b/test/fixtures/mastodon-note-cw.xml deleted file mode 100644 index 02f49dd61..000000000 --- a/test/fixtures/mastodon-note-cw.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - https://mastodon.social/users/lambadalambda.atom - Critical Value - - 2017-04-16T21:47:25Z - https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - - - - - - tag:mastodon.social,2017-05-10:objectId=5551985:objectType=Status - 2017-05-10T12:21:36Z - 2017-05-10T12:21:36Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - technologic - <p>test</p> - - public - - - - diff --git a/test/fixtures/mastodon-note-unlisted.xml b/test/fixtures/mastodon-note-unlisted.xml deleted file mode 100644 index d21017b80..000000000 --- a/test/fixtures/mastodon-note-unlisted.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - https://mastodon.social/users/lambadalambda.atom - Critical Value - - 2017-04-16T21:47:25Z - https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - - - - - - tag:mastodon.social,2017-05-10:objectId=5551985:objectType=Status - 2017-05-10T12:21:36Z - 2017-05-10T12:21:36Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - technologic - <p>test</p> - unlisted - - - - diff --git a/test/fixtures/mastodon-problematic.xml b/test/fixtures/mastodon-problematic.xml deleted file mode 100644 index a39e72759..000000000 --- a/test/fixtures/mastodon-problematic.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - https://icosahedron.website/users/shel.atom - shel🍖‼️ - Gay jackal dog, poet, future librarian. - -http://datapup.info -avatar: @puppytube@twitter.com - 2017-05-02T23:26:01Z - https://icosahedron.website/system/accounts/avatars/000/001/207/original/b1e07b09ae1cc787.png?1493767561 - - https://icosahedron.website/users/shel - http://activitystrea.ms/schema/1.0/person - https://icosahedron.website/users/shel - shel - shel@icosahedron.website - <p>Gay jackal dog, poet, future librarian. </p><p><a href="http://datapup.info/" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">datapup.info/</span><span class="invisible"></span></a><br />avatar: @puppytube@twitter.com</p> - - - - shel - shel🍖‼️ - Gay jackal dog, poet, future librarian. - -http://datapup.info -avatar: @puppytube@twitter.com - public - - - - - - - tag:icosahedron.website,2017-05-10:objectId=1414013:objectType=Status - 2017-05-10T17:16:24Z - 2017-05-10T17:16:24Z - shel shared a status by instance_names@cybre.space - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:cybre.space,2017-05-10:objectId=946671:objectType=Status - 2017-05-10T17:15:51Z - 2017-05-10T17:15:52Z - New status by instance_names@cybre.space - - https://cybre.space/users/instance_names - http://activitystrea.ms/schema/1.0/person - https://cybre.space/users/instance_names - instance_names - instance_names@cybre.space - <p>name ideas for your new mastodon instance. made by <span class="h-card"><a href="https://witches.town/@lycaon">@<span>lycaon</span></a></span> source available at <a href="https://github.com/LycaonIsAWolf/instance_names"><span class="invisible">https://</span><span class="ellipsis">github.com/LycaonIsAWolf/insta</span><span class="invisible">nce_names</span></a></p> - - - - instance_names - instance names - name ideas for your new mastodon instance. made by @lycaon source available at https://github.com/LycaonIsAWolf/instance_names - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>dildo.codes</p> - unlisted - - - <p>dildo.codes</p> - - public - - - - diff --git a/test/fixtures/mastodon_conversation.xml b/test/fixtures/mastodon_conversation.xml deleted file mode 100644 index 8faab2304..000000000 --- a/test/fixtures/mastodon_conversation.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - tag:mastodon.social,2017-08-28:objectId=16402826:objectType=Status - 2017-08-28T17:58:55Z - 2017-08-28T17:58:55Z - New status by lambadalambda - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>test. <a href="https://mastodon.social/media/XCp0OHGPON9kWZwhjaI" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/XCp0OHGP</span><span class="invisible">ON9kWZwhjaI</span></a></p> - - - public - - - - diff --git a/test/fixtures/nil_mention_entry.xml b/test/fixtures/nil_mention_entry.xml deleted file mode 100644 index e13024cb3..000000000 --- a/test/fixtures/nil_mention_entry.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - GNU social - https://social.stopwatchingus-heidelberg.de/api/statuses/user_timeline/18330.atom - atarifrosch timeline - Updates from atarifrosch on social.stopwatchingus-heidelberg.de! - https://social.stopwatchingus-heidelberg.de/avatar/18330-96-20150628163706.png - 2017-08-24T11:36:49+02:00 - - http://activitystrea.ms/schema/1.0/person - https://social.stopwatchingus-heidelberg.de/user/18330 - atarifrosch - Nerd, Pirat, Debian user, CAcert assurer, Geocacher, Freifunker. Autismus/Depression, agender. GnuPG Key-ID: 0xBCF81ADE - - - - - - atarifrosch - Atari-Frosch - Nerd, Pirat, Debian user, CAcert assurer, Geocacher, Freifunker. Autismus/Depression, agender. GnuPG Key-ID: 0xBCF81ADE - - Düsseldorf, NRW, Germany - - - homepage - https://www.atari-frosch.de/ - true - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978072:objectType=note - New note by atarifrosch - 2017-08-22 Bundesverfassungsgericht: Erfolgreiche Verfassungsbeschwerde gegen die Versagung vorläufiger Leistungen für Kosten der Unterkunft und Heizung – <a href="https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html" title="https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html" class="attachment" id="attachment-450768" rel="nofollow external">https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html</a> !<a href="http://quitter.se/group/2184/id" class="h-card group" title="HartzIV (hartziv)">hartziv</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-08-22T12:00:21+00:00 - 2017-08-22T12:00:21+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978072:objectType=thread:crc32=28a35f44 - - - - - - - - diff --git a/test/fixtures/ostatus_incoming_post.xml b/test/fixtures/ostatus_incoming_post.xml deleted file mode 100644 index 7967e1b32..000000000 --- a/test/fixtures/ostatus_incoming_post.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-04-29T18:25:38+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-04-29:noticeId=1967725:objectType=note - New note by lambadalambda - Will it blend? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T18:25:38+00:00 - 2017-04-29T18:25:38+00:00 - - tag:social.heldscal.la,2017-04-29:objectType=thread:nonce=3f3a9dd83acc4e35 - - - - - - diff --git a/test/fixtures/ostatus_incoming_post_tag.xml b/test/fixtures/ostatus_incoming_post_tag.xml deleted file mode 100644 index 0f99c4126..000000000 --- a/test/fixtures/ostatus_incoming_post_tag.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-04-29T18:25:38+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-04-29:noticeId=1967725:objectType=note - New note by lambadalambda - Will it blend? - - - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T18:25:38+00:00 - 2017-04-29T18:25:38+00:00 - - tag:social.heldscal.la,2017-04-29:objectType=thread:nonce=3f3a9dd83acc4e35 - - - - - - diff --git a/test/fixtures/ostatus_incoming_reply.xml b/test/fixtures/ostatus_incoming_reply.xml deleted file mode 100644 index 83a427a68..000000000 --- a/test/fixtures/ostatus_incoming_reply.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-04-30T09:30:32+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-04-30:noticeId=1978790:objectType=comment - New comment by lambadalambda - @<a href="https://gs.archae.me/user/4687" class="h-card u-url p-nickname mention" title="shpbot">shpbot</a> why not indeed. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-30T09:30:32+00:00 - 2017-04-30T09:30:32+00:00 - - - - https://gs.archae.me/conversation/327120 - - - - - - - diff --git a/test/fixtures/share-gs-local.xml b/test/fixtures/share-gs-local.xml deleted file mode 100644 index 9d52eab7b..000000000 --- a/test/fixtures/share-gs-local.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-03T08:05:41+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-03:noticeId=2028428:objectType=note - lambadalambda repeated a notice by lain - RT @<a href="https://pleroma.soykaf.com/users/lain" class="h-card u-url p-nickname mention" title="Lain Iwakura">lain</a> Added returning the entries as xml... let's see if the mastodon hammering stops now. - - http://activitystrea.ms/schema/1.0/share - 2017-05-03T08:05:41+00:00 - 2017-05-03T08:05:41+00:00 - - http://activitystrea.ms/schema/1.0/activity - LOCAL_ID - - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - http://activitystrea.ms/schema/1.0/post - 2017-05-03T08:04:44+00:00 - 2017-05-03T08:04:44+00:00 - - http://activitystrea.ms/schema/1.0/person - LOCAL_USER - lain - Test account - - - - - - lain - Lain Iwakura - Test account - - - - http://activitystrea.ms/schema/1.0/note - https://pleroma.soykaf.com/objects/4c1bda26-902e-4525-9fcd-b9fd44925193 - New note by lain - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - - - - https://pleroma.soykaf.com/contexts/ede39a2b-7cf3-4fa4-8ccd-cb97431bcc22 - - - https://pleroma.soykaf.com/users/lain/feed.atom - Lain Iwakura - - - https://social.heldscal.la/avatar/43188-96-20170429172422.jpeg - 2017-05-03T08:04:44+00:00 - - - - https://pleroma.soykaf.com/contexts/ede39a2b-7cf3-4fa4-8ccd-cb97431bcc22 - - - - - - diff --git a/test/fixtures/share-gs.xml b/test/fixtures/share-gs.xml deleted file mode 100644 index ab5e488bd..000000000 --- a/test/fixtures/share-gs.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-03T08:05:41+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-03:noticeId=2028428:objectType=note - lambadalambda repeated a notice by lain - RT @<a href="https://pleroma.soykaf.com/users/lain" class="h-card u-url p-nickname mention" title="Lain Iwakura">lain</a> Added returning the entries as xml... let's see if the mastodon hammering stops now. - - http://activitystrea.ms/schema/1.0/share - 2017-05-03T08:05:41+00:00 - 2017-05-03T08:05:41+00:00 - - http://activitystrea.ms/schema/1.0/activity - https://pleroma.soykaf.com/objects/4c1bda26-902e-4525-9fcd-b9fd44925193 - - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - http://activitystrea.ms/schema/1.0/post - 2017-05-03T08:04:44+00:00 - 2017-05-03T08:04:44+00:00 - - http://activitystrea.ms/schema/1.0/person - https://pleroma.soykaf.com/users/lain - lain - Test account - - - - - - lain - Lain Iwakura - Test account - - - - http://activitystrea.ms/schema/1.0/note - https://pleroma.soykaf.com/objects/4c1bda26-902e-4525-9fcd-b9fd44925193 - New note by lain - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - - - - https://pleroma.soykaf.com/contexts/ede39a2b-7cf3-4fa4-8ccd-cb97431bcc22 - - - https://pleroma.soykaf.com/users/lain/feed.atom - Lain Iwakura - - - https://social.heldscal.la/avatar/43188-96-20170429172422.jpeg - 2017-05-03T08:04:44+00:00 - - - - https://pleroma.soykaf.com/contexts/ede39a2b-7cf3-4fa4-8ccd-cb97431bcc22 - - - - - - diff --git a/test/fixtures/share.xml b/test/fixtures/share.xml deleted file mode 100644 index e07b88680..000000000 --- a/test/fixtures/share.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - tag:mastodon.social,2017-05-03:objectId=4934452:objectType=Status - 2017-05-03T08:21:09Z - 2017-05-03T08:21:09Z - lambadalambda shared a status by lain@pleroma.soykaf.com - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://pleroma.soykaf.com/objects/4c1bda26-902e-4525-9fcd-b9fd44925193 - 2017-05-03T08:04:44Z - 2017-05-03T08:05:52Z - New status by lain@pleroma.soykaf.com - - https://pleroma.soykaf.com/users/lain - http://activitystrea.ms/schema/1.0/person - https://pleroma.soykaf.com/users/lain - lain - lain@pleroma.soykaf.com - Test account - - - - lain - Lain Iwakura - Test account - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - public - - - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - public - - - diff --git a/test/fixtures/tesla_mock/7369654.atom b/test/fixtures/tesla_mock/7369654.atom deleted file mode 100644 index 74fd9ce6b..000000000 --- a/test/fixtures/tesla_mock/7369654.atom +++ /dev/null @@ -1,44 +0,0 @@ - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-22:noticeId=7369654:objectType=comment - New comment by shpuld - @<a href="https://testing.pleroma.lol/users/lain" class="h-card mention" title="Rael Electric Razor">lain</a> me far right - - - http://activitystrea.ms/schema/1.0/post - 2018-02-22T09:20:12+00:00 - 2018-02-22T09:20:12+00:00 - - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/5381 - shpuld - - - - - - shpuld - shp - - - - - - - tag:shitposter.club,2018-02-22:objectType=thread:nonce=e5a7c72d60a9c0e4 - - - - https://shitposter.club/api/statuses/user_timeline/5381.atom - shp - - - - https://shitposter.club/avatar/5381-96-20171230093854.png - 2018-02-23T13:30:15+00:00 - - - - - diff --git a/test/fixtures/tesla_mock/atarifrosch_feed.xml b/test/fixtures/tesla_mock/atarifrosch_feed.xml deleted file mode 100644 index e00df782e..000000000 --- a/test/fixtures/tesla_mock/atarifrosch_feed.xml +++ /dev/null @@ -1,473 +0,0 @@ - - - GNU social - https://social.stopwatchingus-heidelberg.de/api/statuses/user_timeline/18330.atom - atarifrosch-Zeitleiste - Aktualisierungen von atarifrosch auf social.stopwatchingus-heidelberg.de! - https://social.stopwatchingus-heidelberg.de/avatar/18330-96-20150628163706.png - 2017-08-24T12:06:55+02:00 - - http://activitystrea.ms/schema/1.0/person - https://social.stopwatchingus-heidelberg.de/user/18330 - atarifrosch - Nerd, Pirat, Debian user, CAcert assurer, Geocacher, Freifunker. Autismus/Depression, agender. GnuPG Key-ID: 0xBCF81ADE - - - - - - atarifrosch - Atari-Frosch - Nerd, Pirat, Debian user, CAcert assurer, Geocacher, Freifunker. Autismus/Depression, agender. GnuPG Key-ID: 0xBCF81ADE - - Düsseldorf, NRW, Germany - - - homepage - https://www.atari-frosch.de/ - true - - - - - - - - - - - - - - tag:social.stopwatchingus-heidelberg.de,2017-08-24:noticeId=978735:objectType=note - atarifrosch repeated a notice by hoergen - RT @<a href="https://social.hoergen.org/hoergen" class="h-card mention" title="hoergen">hoergen</a> Das falsche Bild der Tagesschau &quot;Auffallend &quot;erfolgreich&quot; - Andrea Nahles und Manuela Schwesig&quot; #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/geringverdiener" rel="tag">Geringverdiener</a></span> #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/mindestlohn" rel="tag">Mindestlohn</a></span> #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/mannxismus" rel="tag">mannxismus</a></span> #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/erwerbsminderungsrente" rel="tag">Erwerbsminderungsrente</a></span> #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/arbeitnehmerflexibilisierung" rel="tag">ArbeitnehmerFlexibilisierung</a></span> #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/altersarmut" rel="tag">AltersArmut</a></span> ..... <a href="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" title="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" class="attachment" id="attachment-450858" rel="nofollow external">http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html</a> - https://social.stopwatchingus-heidelberg.de/notice/978735 - http://activitystrea.ms/schema/1.0/share - 2017-08-24T09:18:25+00:00 - 2017-08-24T09:18:25+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:social.hoergen.org,2017-08-24:noticeId=222320:objectType=note - - Das falsche Bild der Tagesschau <br /> &quot;Auffallend &quot;erfolgreich&quot; - Andrea Nahles und Manuela Schwesig&quot; #<span class="tag"><a href="https://social.hoergen.org/tag/geringverdiener" rel="tag">Geringverdiener</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/mindestlohn" rel="tag">Mindestlohn</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/mannxismus" rel="tag">mannxismus</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/erwerbsminderungsrente" rel="tag">Erwerbsminderungsrente</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/arbeitnehmerflexibilisierung" rel="tag">ArbeitnehmerFlexibilisierung</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/altersarmut" rel="tag">AltersArmut</a></span> ..... <br /> <br /> <a href="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" title="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" rel="nofollow external noreferrer" class="attachment">http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html</a> - https://social.hoergen.org/notice/222320 - http://activitystrea.ms/schema/1.0/post - 2017-08-24T07:36:31+00:00 - 2017-08-24T07:36:31+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.hoergen.org/user/2 - hoergen - aka Andi Memyself #humanist #nerd Menschen liebhabender Misanthrop und auch sonst sehr vielseitig interessiert. - - - - - - hoergen - hoergen - aka Andi Memyself #humanist #nerd Menschen liebhabender Misanthrop und auch sonst sehr vielseitig interessiert. - - Berlin - - - homepage - https://hyperblog.de/hoergen/ - true - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.hoergen.org,2017-08-24:noticeId=222320:objectType=note - New note by hoergen - Das falsche Bild der Tagesschau <br /> &quot;Auffallend &quot;erfolgreich&quot; - Andrea Nahles und Manuela Schwesig&quot; #<span class="tag"><a href="https://social.hoergen.org/tag/geringverdiener" rel="tag">Geringverdiener</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/mindestlohn" rel="tag">Mindestlohn</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/mannxismus" rel="tag">mannxismus</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/erwerbsminderungsrente" rel="tag">Erwerbsminderungsrente</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/arbeitnehmerflexibilisierung" rel="tag">ArbeitnehmerFlexibilisierung</a></span> #<span class="tag"><a href="https://social.hoergen.org/tag/altersarmut" rel="tag">AltersArmut</a></span> ..... <br /> <br /> <a href="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" title="http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html" rel="nofollow external noreferrer" class="attachment">http://www.tagesschau.de/inland/btw17/bilanz-schwesig-nahles-101.html</a> - - - - - https://social.hoergen.org/conversation/98616 - - - - - - - - - https://social.hoergen.org/api/statuses/user_timeline/2.atom - hoergen - - - https://social.stopwatchingus-heidelberg.de/avatar/54316-original-20170824072526.jpeg - 2017-08-24T09:48:30+00:00 - - - - https://social.hoergen.org/conversation/98616 - - - - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.stopwatchingus-heidelberg.de,2017-08-24:noticeId=978734:objectType=comment - New comment by atarifrosch - Jo, die Anzahl der Hartz-IV-Sanktionen nennt sie genausowenig wie die Anzahl der Menschen, die von den Repressionsbehörden in Obdachlosigkeit und Suizid getrieben wurden. Das würde die Erfolgszahlen dann doch ein wenig trüben, nech? - - - http://activitystrea.ms/schema/1.0/post - 2017-08-24T09:18:13+00:00 - 2017-08-24T09:18:13+00:00 - - - - https://social.hoergen.org/conversation/98616 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-24:noticeId=978732:objectType=note - New note by atarifrosch - Moin-quak. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-24T09:09:39+00:00 - 2017-08-24T09:09:39+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-24:noticeId=978732:objectType=thread:crc32=2f92b7b6 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978594:objectType=note - New note by atarifrosch - n8-quak! - - - http://activitystrea.ms/schema/1.0/post - 2017-08-23T21:39:54+00:00 - 2017-08-23T21:39:54+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978594:objectType=thread:crc32=9bdb0ac9 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978503:objectType=note - New note by atarifrosch - 2017-08-16 Michal Špaček: Post a boarding pass on Facebook, get your account stolen – Post a boarding pass on Facebook, get your account stolen (gilt übrinx nicht nur für Facebook) - - - http://activitystrea.ms/schema/1.0/post - 2017-08-23T15:14:29+00:00 - 2017-08-23T15:14:29+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978503:objectType=thread:crc32=3de05c3a - - - - - - - tag:social.stopwatchingus-heidelberg.de,2017-08-23:fave:18330:activity:978458:2017-08-23T15:18:19+02:00 - Favorite - atarifrosch favorited something by einebiene: Haha, große Überraschung. <a href="http://www.sueddeutsche.de/wirtschaft/abgasaffaere-software-updates-fuer-dieselautos-helfen-kaum-1.3637636" title="http://www.sueddeutsche.de/wirtschaft/abgasaffaere-software-updates-fuer-dieselautos-helfen-kaum-1.3637636" rel="nofollow noreferrer" class="attachment">https://quitter.is/url/1122672</a><br /> Was ich an all diesen Artikeln schade finde, ist, daß immer nur auf den Umstieg von Auto zu anderem Auto gesprochen wird. Öffis werden nicht erwähnt, Carsharing nicht, radeln nicht, und in der Stadt wäre ne Vespa auch deutlich besser als ein SUV. - http://activitystrea.ms/schema/1.0/favorite - 2017-08-23T13:18:19+00:00 - 2017-08-23T13:18:19+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:quitter.is,2017-08-23:noticeId=4032910:objectType=note - New note by einebiene - Haha, große Überraschung. <a href="http://www.sueddeutsche.de/wirtschaft/abgasaffaere-software-updates-fuer-dieselautos-helfen-kaum-1.3637636" title="http://www.sueddeutsche.de/wirtschaft/abgasaffaere-software-updates-fuer-dieselautos-helfen-kaum-1.3637636" rel="nofollow noreferrer" class="attachment">https://quitter.is/url/1122672</a><br /> Was ich an all diesen Artikeln schade finde, ist, daß immer nur auf den Umstieg von Auto zu anderem Auto gesprochen wird. Öffis werden nicht erwähnt, Carsharing nicht, radeln nicht, und in der Stadt wäre ne Vespa auch deutlich besser als ein SUV. - - - - - - - https://quitter.is/conversation/2535246 - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978402:objectType=note - New note by atarifrosch - moin-quak - - - http://activitystrea.ms/schema/1.0/post - 2017-08-23T10:57:26+00:00 - 2017-08-23T10:57:26+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-23:noticeId=978402:objectType=thread:crc32=7050c397 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978164:objectType=note - New note by atarifrosch - n8-quak - - - http://activitystrea.ms/schema/1.0/post - 2017-08-22T19:54:30+00:00 - 2017-08-22T19:54:30+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978164:objectType=thread:crc32=b0a209c7 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978072:objectType=note - New note by atarifrosch - 2017-08-22 Bundesverfassungsgericht: Erfolgreiche Verfassungsbeschwerde gegen die Versagung vorläufiger Leistungen für Kosten der Unterkunft und Heizung – <a href="https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html" title="https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html" class="attachment" id="attachment-450768" rel="nofollow external">https://www.bundesverfassungsgericht.de/SharedDocs/Pressemitteilungen/DE/2017/bvg17-072.html</a> !<a href="http://quitter.se/group/2184/id" class="h-card group" title="HartzIV (hartziv)">hartziv</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-08-22T12:00:21+00:00 - 2017-08-22T12:00:21+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978072:objectType=thread:crc32=28a35f44 - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978042:objectType=note - New note by atarifrosch - moin-quak! - - - http://activitystrea.ms/schema/1.0/post - 2017-08-22T07:55:27+00:00 - 2017-08-22T07:55:27+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-22:noticeId=978042:objectType=thread:crc32=f070a9f7 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-21:noticeId=977914:objectType=note - New note by atarifrosch - So, morgen geht's weiter. n8-quak! - - - http://activitystrea.ms/schema/1.0/post - 2017-08-21T22:09:53+00:00 - 2017-08-21T22:09:53+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-21:noticeId=977914:objectType=thread:crc32=c0a9f7fa - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-21:noticeId=977710:objectType=note - New note by atarifrosch - moin-quak. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-21T08:58:26+00:00 - 2017-08-21T08:58:26+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-21:noticeId=977710:objectType=thread:crc32=60cfb466 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-20:noticeId=977526:objectType=note - New note by atarifrosch - Meine Augen meinen, für heute sei es genug. Nun denn. n8-quak. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-20T19:58:16+00:00 - 2017-08-20T19:58:16+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-20:noticeId=977526:objectType=thread:crc32=ce79634 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-20:noticeId=977369:objectType=note - New note by atarifrosch - [Blog] Im Netz aufgefischt #<span class="tag"><a href="https://social.stopwatchingus-heidelberg.de/tag/330" rel="tag">330</a></span> – <a href="https://blog.atari-frosch.de/2017/08/20/im-netz-aufgefischt-330/" title="https://blog.atari-frosch.de/2017/08/20/im-netz-aufgefischt-330/" class="attachment" id="attachment-450668" rel="nofollow external">https://blog.atari-frosch.de/2017/08/20/im-netz-aufgefischt-330/</a> (was ich diese Woche so gelesen habe) - - - http://activitystrea.ms/schema/1.0/post - 2017-08-20T09:14:07+00:00 - 2017-08-20T09:14:07+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-20:noticeId=977369:objectType=thread:crc32=2f800b86 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=977268:objectType=note - New note by atarifrosch - Fast ständig husten müssen ist echt anstrengend … naja, n8-quak. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-19T21:59:20+00:00 - 2017-08-19T21:59:20+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=977268:objectType=thread:crc32=deda767a - - - - - - - tag:social.stopwatchingus-heidelberg.de,2017-08-19:fave:18330:activity:977146:2017-08-19T21:39:26+02:00 - Favorite - atarifrosch favorited something by einebienezwo: Ich mach gerade Kompetenztraining.<br /> Ich trainiere die Kompetenz, eine halb aufgegessene Gummibärchentüte nicht ganz aufzuessen. - http://activitystrea.ms/schema/1.0/favorite - 2017-08-19T19:39:26+00:00 - 2017-08-19T19:39:26+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gnusocial.de,2017-08-19:noticeId=11011264:objectType=note - New note by einebienezwo - Ich mach gerade Kompetenztraining.<br /> Ich trainiere die Kompetenz, eine halb aufgegessene Gummibärchentüte nicht ganz aufzuessen. - - - - - - - https://gnusocial.de/conversation/9363945 - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=977242:objectType=comment - New comment by atarifrosch - Wir hatten hier schon Ordnungsdienst auf'm Radweg. Fotografisch dokumentiert (nicht von mir, Bekannter hatte es gesehen). Da hatte grad 'ne Pizzeria neu eröffnet … - - - http://activitystrea.ms/schema/1.0/post - 2017-08-19T19:38:53+00:00 - 2017-08-19T19:38:53+00:00 - - - - https://gnusocial.de/conversation/9363813 - - - - - - - - tag:social.stopwatchingus-heidelberg.de,2017-08-19:fave:18330:activity:977180:2017-08-19T21:37:36+02:00 - Favorite - atarifrosch favorited something by jcaktiv: BTW Hallo zusammen &lt;3, wo ich schon mal wieder hier bin - http://activitystrea.ms/schema/1.0/favorite - 2017-08-19T19:37:36+00:00 - 2017-08-19T19:37:36+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:quitter.se,2017-08-19:noticeId=17372467:objectType=note - New note by jcaktiv - BTW Hallo zusammen &lt;3, wo ich schon mal wieder hier bin - - - - - - - tag:quitter.se,2017-08-19:objectType=thread:nonce=46c1c433d88aaa9f - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=976985:objectType=comment - New comment by atarifrosch - Jo, oder einfach mal nachfragen, so als Realitätsabgleich. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-19T10:34:50+00:00 - 2017-08-19T10:34:50+00:00 - - - - https://gnusocial.de/conversation/9362516 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=976983:objectType=note - New note by atarifrosch - Schöne Alternative zu mit Werbung überladenen kommerziellen Anbietern: <a href="http://ifconfig.at/" title="http://ifconfig.at/" class="attachment" id="attachment-450636" rel="nofollow external">http://ifconfig.at/</a> – eigene IP, Hostname etc. abfragen, mit curl dann auch in Textform zur lokalen Weiterverarbeitung in Scripten etc. Leider (noch?) kein https. - - - http://activitystrea.ms/schema/1.0/post - 2017-08-19T10:33:04+00:00 - 2017-08-19T10:33:04+00:00 - - tag:social.stopwatchingus-heidelberg.de,2017-08-19:noticeId=976983:objectType=thread:crc32=4a3593c0 - - - - - - diff --git a/test/fixtures/tesla_mock/emelie.atom b/test/fixtures/tesla_mock/emelie.atom deleted file mode 100644 index ddaa1c6ca..000000000 --- a/test/fixtures/tesla_mock/emelie.atom +++ /dev/null @@ -1,306 +0,0 @@ - - - https://mastodon.social/users/emelie.atom - emelie 🎨 - 23 / #Sweden / #Artist / #Equestrian / #GameDev - -If I ain't spending time with my pets, I'm probably drawing. 🐴 🐱 🐰 - 2019-02-04T20:22:19Z - https://files.mastodon.social/accounts/avatars/000/015/657/original/e7163f98280da1a4.png - - https://mastodon.social/users/emelie - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/emelie - emelie - emelie@mastodon.social - <p>23 / <a href="https://mastodon.social/tags/sweden" class="mention hashtag" rel="tag">#<span>Sweden</span></a> / <a href="https://mastodon.social/tags/artist" class="mention hashtag" rel="tag">#<span>Artist</span></a> / <a href="https://mastodon.social/tags/equestrian" class="mention hashtag" rel="tag">#<span>Equestrian</span></a> / <a href="https://mastodon.social/tags/gamedev" class="mention hashtag" rel="tag">#<span>GameDev</span></a></p><p>If I ain&apos;t spending time with my pets, I&apos;m probably drawing. 🐴 🐱 🐰</p> - - - - emelie - emelie 🎨 - 23 / #Sweden / #Artist / #Equestrian / #GameDev - -If I ain't spending time with my pets, I'm probably drawing. 🐴 🐱 🐰 - public - - - - - - - https://mastodon.social/users/emelie/statuses/101850331907006641 - 2019-04-01T09:58:50Z - 2019-04-01T09:58:50Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>Me: I&apos;m going to make this vital change to my world building in the morning, no way I&apos;ll forget this, it&apos;s too big of a deal<br />Also me: forgets</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101849626603073336 - 2019-04-01T06:59:28Z - 2019-04-01T06:59:28Z - New status by emelie - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://mastodon.social/@Fergant" class="u-url mention">@<span>Fergant</span></a></span> Dom är i stort sett religiös skrift vid det här laget 👏👏</p><p>har dock bara läst svenska översättningen, kanske är dags att jag läser dom på engelska</p> - - - public - - - - - - - https://mastodon.social/users/emelie/statuses/101849580030237068 - 2019-04-01T06:47:37Z - 2019-04-01T06:47:37Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>What&apos;s you people&apos;s favourite fantasy books? Give me some hot tips 🌞</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101849550599949363 - 2019-04-01T06:40:08Z - 2019-04-01T06:40:08Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>Stick them legs out 💃 <a href="https://mastodon.social/tags/mastocats" class="mention hashtag" rel="tag">#<span>mastocats</span></a></p> - - - - public - - - - - - https://mastodon.social/users/emelie/statuses/101849191533152720 - 2019-04-01T05:08:49Z - 2019-04-01T05:08:49Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>long 🐱 <a href="https://mastodon.social/tags/mastocats" class="mention hashtag" rel="tag">#<span>mastocats</span></a></p> - - - - public - - - - - - https://mastodon.social/users/emelie/statuses/101849165031453009 - 2019-04-01T05:02:05Z - 2019-04-01T05:02:05Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>You gotta take whatever bellyrubbing opportunity you can get before she changes her mind 🦁 <a href="https://mastodon.social/tags/mastocats" class="mention hashtag" rel="tag">#<span>mastocats</span></a></p> - - - - public - - - - - - https://mastodon.social/users/emelie/statuses/101846512530748693 - 2019-03-31T17:47:31Z - 2019-03-31T17:47:31Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>Hello look at this boy having a decent haircut for once <a href="https://mastodon.social/tags/mastohorses" class="mention hashtag" rel="tag">#<span>mastohorses</span></a> <a href="https://mastodon.social/tags/equestrian" class="mention hashtag" rel="tag">#<span>equestrian</span></a></p> - - - - - public - - - - - - https://mastodon.social/users/emelie/statuses/101846181093805500 - 2019-03-31T16:23:14Z - 2019-03-31T16:23:14Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>Sorry did I disturb the who-is-the-longest-cat competition ? <a href="https://mastodon.social/tags/mastocats" class="mention hashtag" rel="tag">#<span>mastocats</span></a></p> - - - - public - - - - - - https://mastodon.social/users/emelie/statuses/101845897513133849 - 2019-03-31T15:11:07Z - 2019-03-31T15:11:07Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - more earthsea ramblings - <p>I&apos;m re-watching Tales from Earthsea for the first time since I read the books, and that Therru doesn&apos;t squash Cob like a spider, as Orm Embar did is a wasted opportunity tbh</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101841219051533307 - 2019-03-30T19:21:19Z - 2019-03-30T19:21:19Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>I gave my cats some mackerel and they ate it all in 0.3 seconds, and now they won&apos;t stop meowing for more, and I&apos;m tired plz shut up</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101839949762341381 - 2019-03-30T13:58:31Z - 2019-03-30T13:58:31Z - New status by emelie - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p>yet I&apos;m confused about this american dude with a gun, like the heck r ya doin in mah ghibli</p> - - public - - - - - - - https://mastodon.social/users/emelie/statuses/101839928677863590 - 2019-03-30T13:53:09Z - 2019-03-30T13:53:09Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>2 hours into Ni no Kuni 2 and I&apos;ve already sold my soul to this game</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101836329521599438 - 2019-03-29T22:37:51Z - 2019-03-29T22:37:51Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>Pippi Longstocking the original one-punch /man</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101835905282948341 - 2019-03-29T20:49:57Z - 2019-03-29T20:49:57Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>I&apos;ve had so much wine I thought I had a 3rd brother</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101835878059204660 - 2019-03-29T20:43:02Z - 2019-03-29T20:43:02Z - New status by emelie - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>ååååhhh booi</p> - - public - - - - - - https://mastodon.social/users/emelie/statuses/101835848050598939 - 2019-03-29T20:35:24Z - 2019-03-29T20:35:24Z - New status by emelie - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://thraeryn.net/@thraeryn" class="u-url mention">@<span>thraeryn</span></a></span> if I spent 1 hour and a half watching this monstrosity, I need to</p> - - - public - - - - - - - https://mastodon.social/users/emelie/statuses/101835823138262290 - 2019-03-29T20:29:04Z - 2019-03-29T20:29:04Z - New status by emelie - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - medical, fluids mention - <p><span class="h-card"><a href="https://icosahedron.website/@Trev" class="u-url mention">@<span>Trev</span></a></span> *hugs* ✨</p> - - - public - - - - - - diff --git a/test/fixtures/tesla_mock/http__gs.example.org_index.php_api_statuses_user_timeline_1.atom.xml b/test/fixtures/tesla_mock/http__gs.example.org_index.php_api_statuses_user_timeline_1.atom.xml deleted file mode 100644 index 490467708..000000000 --- a/test/fixtures/tesla_mock/http__gs.example.org_index.php_api_statuses_user_timeline_1.atom.xml +++ /dev/null @@ -1,460 +0,0 @@ - - - GNU social - http://gs.example.org/index.php/api/statuses/user_timeline/1.atom - lambda timeline - Updates from lambda on gs.example.org! - http://gs.example.org/theme/neo-gnu/default-avatar-profile.png - 2017-05-05T12:09:57+00:00 - - http://activitystrea.ms/schema/1.0/person - http://gs.example.org:4040/index.php/user/1 - lambda - - - - - lambda - lambda - - - - - - - - - - - - - tag:gs.example.org,2017-05-04:noticeId=84:objectType=note - lambda repeated a notice by lambda2 - RT @<a href="http://gs.example.org/index.php/user/7" class="h-card mention">lambda2</a> Hello! - - http://activitystrea.ms/schema/1.0/share - 2017-05-04T16:38:50+00:00 - 2017-05-04T16:38:50+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:gs.example.org,2017-05-01:noticeId=67:objectType=note - - Hello! - - http://activitystrea.ms/schema/1.0/post - 2017-05-01T08:41:04+00:00 - 2017-05-01T08:41:04+00:00 - - http://activitystrea.ms/schema/1.0/person - http://gs.example.org/index.php/user/7 - lambda2 - - - - - - lambda2 - lambda2 - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-05-01:noticeId=67:objectType=note - New note by lambda2 - Hello! - - - - - tag:gs.example.org,2017-05-01:objectType=thread:nonce=cffa792cb95fe417 - - - http://gs.example.org/index.php/api/statuses/user_timeline/7.atom - lambda2 - - - - http://gs.example.org/avatar/7-96-20170501084054.png - 2017-05-01T16:33:10+00:00 - - - - - - tag:gs.example.org,2017-05-01:objectType=thread:nonce=cffa792cb95fe417 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-30:noticeId=63:objectType=note - New note by lambda - what now? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-30T10:09:57+00:00 - 2017-04-30T10:09:57+00:00 - - - - tag:gs.example.org,2017-04-30:objectType=thread:nonce=1bbb60991ae9874b - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-30:noticeId=61:objectType=note - New note by lambda - @<a href="http://pleroma.example.org:4000/users/lain5" class="h-card mention">lain5</a> Hello! - - - http://activitystrea.ms/schema/1.0/post - 2017-04-30T10:07:26+00:00 - 2017-04-30T10:07:26+00:00 - - tag:gs.example.org,2017-04-30:objectType=thread:nonce=1bbb60991ae9874b - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-29:noticeId=59:objectType=note - New note by lambda - ey - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T17:04:59+00:00 - 2017-04-29T17:04:59+00:00 - - tag:gs.example.org,2017-04-29:objectType=thread:nonce=4cc42c2c61a0f4bd - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-29:noticeId=58:objectType=note - New note by lambda - Another one. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T17:02:47+00:00 - 2017-04-29T17:02:47+00:00 - - tag:gs.example.org,2017-04-29:objectType=thread:nonce=53e9b8f1d6d38d13 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-29:noticeId=57:objectType=note - New note by lambda - Let's see if this comes over. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T17:01:39+00:00 - 2017-04-29T17:01:39+00:00 - - tag:gs.example.org,2017-04-29:objectType=thread:nonce=238a7bd3ffc7c9cc - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org,2017-04-29:noticeId=56:objectType=note - New note by lambda - @<a href="http://pleroma.example.org:4000/users/lain5" class="h-card mention">lain5</a> Hey! - - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T16:38:13+00:00 - 2017-04-29T16:38:13+00:00 - - tag:gs.example.org,2017-04-29:objectType=thread:nonce=2629d3a398171b0f - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=55:objectType=note - New note by lambda - hey. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:16:13+00:00 - 2017-04-25T18:16:13+00:00 - - - - http://pleroma.example.org:4000/contexts/8f6f45d4-8e4d-4e1a-a2de-09f27367d2d0 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=53:objectType=note - New note by lambda - and this? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:14:34+00:00 - 2017-04-25T18:14:34+00:00 - - - - http://pleroma.example.org:4000/contexts/24779b0e-91ad-487e-81bd-6cf5bb437b09 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=52:objectType=note - New note by lambda - yeah it does :) - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:13:31+00:00 - 2017-04-25T18:13:31+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=e0dc24b1a93ab6b3 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=50:objectType=note - New note by lambda - @<a href="http://pleroma.example.org:4000/users/lain5" class="h-card mention">lain5</a> Let's try with one that originates here! - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:10:28+00:00 - 2017-04-25T18:10:28+00:00 - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=e0dc24b1a93ab6b3 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=48:objectType=note - New note by lambda - works? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:08:44+00:00 - 2017-04-25T18:08:44+00:00 - - - - http://pleroma.example.org:4000/contexts/24779b0e-91ad-487e-81bd-6cf5bb437b09 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=46:objectType=note - New note by lambda - Let's send you an answer. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:05:31+00:00 - 2017-04-25T18:05:31+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=73c7bcf6658f7ce3 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=44:objectType=note - New note by lambda - Hey. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T18:01:09+00:00 - 2017-04-25T18:01:09+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=6e7c8fc2823380b4 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=43:objectType=note - New note by lambda - What's coming to you? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T17:58:41+00:00 - 2017-04-25T17:58:41+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=6e7c8fc2823380b4 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=42:objectType=note - New note by lambda - Now this is podracing. - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T17:57:40+00:00 - 2017-04-25T17:57:40+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=6e7c8fc2823380b4 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=39:objectType=note - New note by lambda - Sure looks like it! - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T17:48:27+00:00 - 2017-04-25T17:48:27+00:00 - - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=4c6114a75bb4cea5 - - - - - - - - tag:gs.example.org:4040,2017-04-25:subscription:1:person:6:2017-04-25T17:47:47+00:00 - lambda (lambda)'s status on Tuesday, 25-Apr-2017 17:47:47 UTC - <a href="http://gs.example.org:4040/index.php/lambda">lambda</a> started following <a href="http://pleroma.example.org:4000/users/lain5">l</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-25T17:47:47+00:00 - 2017-04-25T17:47:47+00:00 - - http://activitystrea.ms/schema/1.0/person - http://pleroma.example.org:4000/users/lain5 - l - lambadalambda - - - - - - lain5 - l - lambadalambda - - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=119acad17515314c - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=36:objectType=note - New note by lambda - @<a href="http://pleroma.example.org:4000/users/lain5" class="h-card mention">lain5</a> Hey, how are you? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T17:46:22+00:00 - 2017-04-25T17:46:22+00:00 - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=9c5ec19a18191372 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.example.org:4040,2017-04-25:noticeId=35:objectType=note - New note by lambda - @lain5@pleroma.example.org does this not work? - - - http://activitystrea.ms/schema/1.0/post - 2017-04-25T17:42:31+00:00 - 2017-04-25T17:42:31+00:00 - - tag:gs.example.org:4040,2017-04-25:objectType=thread:nonce=fc841d7f52caa363 - - - - - - diff --git a/test/fixtures/tesla_mock/https___mamot.fr_users_Skruyb.atom b/test/fixtures/tesla_mock/https___mamot.fr_users_Skruyb.atom deleted file mode 100644 index b5f3d923b..000000000 --- a/test/fixtures/tesla_mock/https___mamot.fr_users_Skruyb.atom +++ /dev/null @@ -1,342 +0,0 @@ - - - https://mamot.fr/users/Skruyb.atom - The 7th Son - Fr and En. -Posts will disappear on a regular basis. - 2017-04-28T13:54:23Z - https://mamot.fr/system/accounts/avatars/000/026/213/original/d95dbcfc76f77f4c.jpg?1493230984 - - https://mamot.fr/users/Skruyb - http://activitystrea.ms/schema/1.0/person - https://mamot.fr/users/Skruyb - Skruyb - Skruyb@mamot.fr - <p>Fr and En.<br />Posts will disappear on a regular basis.</p> - - - - Skruyb - The 7th Son - Fr and En. -Posts will disappear on a regular basis. - public - - - - - - - - tag:mamot.fr,2017-05-10:objectId=1299665:objectType=Status - 2017-05-10T20:06:59Z - 2017-05-10T20:06:59Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pouets.ovh/@noName" class="u-url mention">@<span>noName</span></a></span></p><p>Pour comparer faut avoir tester... Ô wait!!! 😁</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1299185:objectType=Status - 2017-05-10T19:52:14Z - 2017-05-10T19:52:14Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://witches.town/@Dhveszak" class="u-url mention">@<span>Dhveszak</span></a></span></p><p>Toi!! Tu vises le ministère de la propagande avoue!!!!!!!</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1299019:objectType=Status - 2017-05-10T19:47:19Z - 2017-05-10T19:47:19Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Facebook s&apos;attaque aux sites internet &quot;trompeurs&quot;</p><p><a href="http://u.afp.com/4W4z" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">u.afp.com/4W4z</span><span class="invisible"></span></a></p><p>J&apos;attends de voir que Facebook s&apos;attaque à lui même... rien qu&apos;à lire leurs conditions générales d&apos;utilisation, le respect de la vie privée...</p><p>Charité bien ordonnée... Parfois l&apos;égoïsme aurait du bon.</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1298889:objectType=Status - 2017-05-10T19:43:18Z - 2017-05-10T19:43:18Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://octodon.social/@Balise" class="u-url mention">@<span>Balise</span></a></span></p><p>Fait comme moi, annonce que tu fais dans le flou artistique et que seuls des esprits éclairés pourront en percevoir la beauté et apprécier. Globalement après ça, tout le monde trouve les photos cool :-p</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1298728:objectType=Status - 2017-05-10T19:38:39Z - 2017-05-10T19:38:39Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@applecandy" class="u-url mention">@<span>applecandy</span></a></span></p><p>Lucky you!!!</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1298431:objectType=Status - 2017-05-10T19:26:32Z - 2017-05-10T19:26:32Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Est-ce que je suis le seul qui lorsqu&apos;il commence à compter les arbres sur le bord de la route n&apos;arrive pas à s&apos;arrêter de compter?</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1298224:objectType=Status - 2017-05-10T19:18:17Z - 2017-05-10T19:18:17Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Ca y est j&apos;ai une nouvelle passion. Mettre les bouchons qui trainent par terre dans le bons sens avec mon pied 🙌</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1297450:objectType=Status - 2017-05-10T18:53:37Z - 2017-05-10T18:53:37Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Ok. On est capable d&apos;envoyer des mecs dans l&apos;espace, avoir des voitures autonomes, des trucs intelligents de partout mais pas tous les bâtiments accessibles aux personnes à mobilité réduite, les émissions sur le services publics avec une personne faisant la traduction pour les sourds et malentendants de manière systématique...</p><p>J&apos;ai du louper un truc dans l&apos;ordre des priorités Oo</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1297292:objectType=Status - 2017-05-10T18:48:17Z - 2017-05-10T18:48:17Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>J&apos;ai comme envie de faire un truc mais je ne sais pas quoi mais pourtant c&apos;est comme si je ressentais l&apos;idée dans ma tête mais c&apos;est pas clair...</p><p>Fuck!!! J&apos;vais aller draguer Josiane à la compta ça va me changer les idées!!!</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1296598:objectType=Status - 2017-05-10T18:25:11Z - 2017-05-10T18:25:11Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@Smeablog" class="u-url mention">@<span>Smeablog</span></a></span></p><p>Pas faux MDR!!!!</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1296571:objectType=Status - 2017-05-10T18:24:13Z - 2017-05-10T18:24:13Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@Smeablog" class="u-url mention">@<span>Smeablog</span></a></span></p><p>Ca ne change pas la finalité malheureusement, ça ne m&apos;ouvre pas ce à quoi je veux accéder 😭</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1296475:objectType=Status - 2017-05-10T18:20:50Z - 2017-05-10T18:20:50Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Arrrgghhhhhhh!!!!</p><p>Quand t&apos;es sur le point de cliquer sur un lien dans le fil public global et que BOOM ça se met à jour... J&apos;ose même pas imaginer combien j&apos;ai ouvert de pages web sans le vouloir!!!</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1296426:objectType=Status - 2017-05-10T18:19:17Z - 2017-05-10T18:19:17Z - Skruyb shared a status by Isaluini@mastodon.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:mastodon.social,2017-05-10:objectId=5587049:objectType=Status - 2017-05-10T18:18:59Z - 2017-05-10T18:19:00Z - New status by Isaluini@mastodon.social - - https://mastodon.social/users/Isaluini - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/Isaluini - Isaluini - Isaluini@mastodon.social - <p>Adicciones: Escribir, diseñar, cine, café, humor negro, música y dibujar. | Jedi. Bueno, no. Algún día (?) | Gratitude.</p> - - - - Isaluini - Isa - Adicciones: Escribir, diseñar, cine, café, humor negro, música y dibujar. | Jedi. Bueno, no. Algún día (?) | Gratitude. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>♫ <br><a href="https://www.youtube.com/watch?v=pT68FS3YbQ4"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=pT68FS3YbQ</span><span class="invisible">4</span></a></p> - - public - - - <p>♫ <br><a href="https://www.youtube.com/watch?v=pT68FS3YbQ4"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=pT68FS3YbQ</span><span class="invisible">4</span></a></p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1295893:objectType=Status - 2017-05-10T18:01:51Z - 2017-05-10T18:01:51Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@Chat2Gouttieres" class="u-url mention">@<span>Chat2Gouttieres</span></a></span></p><p>Ah bah après faut savoir mettre à profit ce savoir ^^</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1295815:objectType=Status - 2017-05-10T18:00:02Z - 2017-05-10T18:00:02Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@Chat2Gouttieres" class="u-url mention">@<span>Chat2Gouttieres</span></a></span></p><p>Exactement. On a les jeux mais pas le pain encore.</p><p>Finalement on a rien inventé :-p</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1295778:objectType=Status - 2017-05-10T17:58:52Z - 2017-05-10T17:58:52Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@Chat2Gouttieres" class="u-url mention">@<span>Chat2Gouttieres</span></a></span></p><p>C&apos;est ça visiblement dans notre société dite moderne... &quot;Créer l&apos;illusion que&quot; Oo.</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1294943:objectType=Status - 2017-05-10T17:31:44Z - 2017-05-10T17:31:44Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - Hey. - <p><span class="h-card"><a href="https://mastodon.social/@lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span></p><p>Hey!!!</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1294914:objectType=Status - 2017-05-10T17:30:40Z - 2017-05-10T17:30:40Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mamot.fr/@EloClemTiti" class="u-url mention">@<span>EloClemTiti</span></a></span></p><p>J&apos;ai souvent cette impression en effet 😂</p> - - - public - - - - - - tag:mamot.fr,2017-05-10:objectId=1294148:objectType=Status - 2017-05-10T17:02:01Z - 2017-05-10T17:02:01Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Les gars, les boss veulent voir de l&apos;avancement!! Une idée?</p><p>On fait comme d&apos;habitude. On divise nos tâches en 25.000 tâches unitaires, on fout du vert au maximum et on crée l&apos;illusion que ça a bien avancé!</p><p>Deal!!</p><p>Bob, tu choisis quel vert on utilise<br />Alice, t&apos;es en charge de la typo<br />Moi, je m&apos;occupe qu&apos;on prend bien le dernier template ppt fournit par la comm interne.</p><p>Des winners qu&apos;on est!!!! Des WI-NNERS!!!</p> - - public - - - - - tag:mamot.fr,2017-05-10:objectId=1293995:objectType=Status - 2017-05-10T16:57:53Z - 2017-05-10T16:57:53Z - New status by Skruyb - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://mastodon.social/@SauceHair" class="u-url mention">@<span>SauceHair</span></a></span></p><p>Cool!!</p><p>Bon courage.</p> - - - public - - - - - diff --git a/test/fixtures/tesla_mock/https___mastodon.social_users_lambadalambda.atom b/test/fixtures/tesla_mock/https___mastodon.social_users_lambadalambda.atom deleted file mode 100644 index 4d732b109..000000000 --- a/test/fixtures/tesla_mock/https___mastodon.social_users_lambadalambda.atom +++ /dev/null @@ -1,464 +0,0 @@ - - - https://mastodon.social/users/lambadalambda.atom - Critical Value - - 2017-04-16T21:47:25Z - https://files.mastodon.social/accounts/avatars/000/000/264/original/1429214160519.gif - - https://mastodon.social/users/lambadalambda - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/lambadalambda - lambadalambda - lambadalambda@mastodon.social - - - - lambadalambda - Critical Value - public - - - - - - - - tag:mastodon.social,2017-05-04:objectId=4991300:objectType=Status - 2017-05-04T14:10:30Z - 2017-05-04T14:10:30Z - Delete - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/delete - - - - - tag:mastodon.social,2017-05-04:objectId=4980289:objectType=Status - 2017-05-04T07:43:23Z - 2017-05-04T07:43:23Z - Delete - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/delete - - - - - tag:mastodon.social,2017-05-03:objectId=4952899:objectType=Status - 2017-05-03T17:26:43Z - 2017-05-03T17:26:43Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> OK!!</p> - - - public - - - - - - tag:mastodon.social,2017-05-03:objectId=4952810:objectType=Status - 2017-05-03T17:24:34Z - 2017-05-03T17:24:34Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> yeah :)</p> - - - public - - - - - - tag:mastodon.social,2017-05-03:objectId=4950388:objectType=Status - 2017-05-03T16:22:00Z - 2017-05-03T16:22:00Z - lambadalambda shared a status by lambadalambda@social.heldscal.la - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.heldscal.la,2017-05-03:noticeId=2030733:objectType=note - 2017-05-03T12:29:20Z - 2017-05-03T12:29:31Z - New status by lambadalambda@social.heldscal.la - - https://social.heldscal.la/user/23211 - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - lambadalambda@social.heldscal.la - Call me Deacon Blues. - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Time for work. <a href="https://social.heldscal.la/file/953c117a1e7e4c763755d2ac29cf1aae08e025599f4a4cc11ddff4082c07f969.jpg">https://social.heldscal.la/attachment/120552</a> - - - public - - - Time for work. <a href="https://social.heldscal.la/file/953c117a1e7e4c763755d2ac29cf1aae08e025599f4a4cc11ddff4082c07f969.jpg">https://social.heldscal.la/attachment/120552</a> - - public - - - - - tag:mastodon.social,2017-05-03:objectId=4934452:objectType=Status - 2017-05-03T08:21:09Z - 2017-05-03T08:21:09Z - lambadalambda shared a status by lain@pleroma.soykaf.com - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://pleroma.soykaf.com/objects/4c1bda26-902e-4525-9fcd-b9fd44925193 - 2017-05-03T08:04:44Z - 2017-05-03T08:05:52Z - New status by lain@pleroma.soykaf.com - - https://pleroma.soykaf.com/users/lain - http://activitystrea.ms/schema/1.0/person - https://pleroma.soykaf.com/users/lain - lain - lain@pleroma.soykaf.com - Test account - - - - lain - Lain Iwakura - Test account - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - public - - - Added returning the entries as xml... let's see if the mastodon hammering stops now. - - public - - - - - tag:mastodon.social,2017-05-02:objectId=4905499:objectType=Status - 2017-05-02T19:34:21Z - 2017-05-02T19:34:21Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> yay!</p> - - - public - - - - - - tag:mastodon.social,2017-05-02:objectId=4905442:objectType=Status - 2017-05-02T19:33:33Z - 2017-05-02T19:33:33Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> so?</p> - - - public - - - - - - tag:mastodon.social,2017-05-02:objectId=4901603:objectType=Status - 2017-05-02T18:33:06Z - 2017-05-02T18:33:06Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> hey</p> - - - public - - - - - - tag:mastodon.social,2017-05-01:objectId=4836720:objectType=Status - 2017-05-01T18:52:16Z - 2017-05-01T18:52:16Z - lambadalambda shared a status by lain@pleroma.soykaf.com - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://pleroma.soykaf.com/objects/7b41bb51-9aba-436a-82d9-dd3f5aca98c9 - 2017-05-01T18:50:54Z - 2017-05-01T18:50:57Z - New status by lain@pleroma.soykaf.com - - https://pleroma.soykaf.com/users/lain - http://activitystrea.ms/schema/1.0/person - https://pleroma.soykaf.com/users/lain - lain - lain@pleroma.soykaf.com - Test account - - - - lain - Lain Iwakura - Test account - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <a href="https://mastodon.social/users/lambadalambda">@lambadalambda@mastodon.social</a> you're an all-star. - - - public - - - - <a href="https://mastodon.social/users/lambadalambda">@lambadalambda@mastodon.social</a> you're an all-star. - - public - - - - - tag:mastodon.social,2017-05-01:objectId=4836142:objectType=Status - 2017-05-01T18:38:47Z - 2017-05-01T18:38:47Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> Hey now!</p> - - - public - - - - - - tag:mastodon.social,2017-05-01:objectId=4836055:objectType=Status - 2017-05-01T18:37:04Z - 2017-05-01T18:37:04Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> hello</p> - - - public - - - - - - tag:mastodon.social,2017-05-01:objectId=4834850:objectType=Status - 2017-05-01T18:10:43Z - 2017-05-01T18:10:43Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> Hey!</p> - - - public - - - - - tag:mastodon.social,2017-04-29:objectId=4694455:objectType=Status - 2017-04-29T18:39:12Z - 2017-04-29T18:39:12Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>@lain@pleroma.soykaf.com What&apos;s up?</p> - - public - - - - - tag:mastodon.social,2017-04-29:objectId=4694384:objectType=Status - 2017-04-29T18:37:32Z - 2017-04-29T18:37:32Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://social.heldscal.la/lain" class="u-url mention">@<span>lain</span></a></span> Hey.</p> - - - public - - - - - tag:mastodon.social,2017-04-07:objectId=1874242:objectType=Status - 2017-04-07T11:02:56Z - 2017-04-07T11:02:56Z - lambadalambda shared a status by 0xroy@social.wxcafe.net - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.wxcafe.net,2017-04-07:objectId=72554:objectType=Status - 2017-04-07T11:01:59Z - 2017-04-07T11:02:00Z - New status by 0xroy@social.wxcafe.net - - https://social.wxcafe.net/users/0xroy - http://activitystrea.ms/schema/1.0/person - https://social.wxcafe.net/users/0xroy - 0xroy - 0xroy@social.wxcafe.net - ta caution weeb | discussions privées : <a href="https://%F0%9F%92%8C.0xroy.me"><span class="invisible">https://</span><span class="">💌.0xroy.me</span><span class="invisible"></span></a> - - - - 0xroy - 「R O Y 🍵 B O S」 - ta caution weeb | discussions privées : https://💌.0xroy.me - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>someone pls eli5 matrix (protocol) and riot</p> - - public - - - <p>someone pls eli5 matrix (protocol) and riot</p> - - public - - - - - tag:mastodon.social,2017-04-06:objectId=1768247:objectType=Status - 2017-04-06T11:10:19Z - 2017-04-06T11:10:19Z - lambadalambda shared a status by areyoutoo@mastodon.xyz - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:mastodon.xyz,2017-04-05:objectId=133327:objectType=Status - 2017-04-05T17:36:41Z - 2017-04-05T18:12:14Z - New status by areyoutoo@mastodon.xyz - - https://mastodon.xyz/users/areyoutoo - http://activitystrea.ms/schema/1.0/person - https://mastodon.xyz/users/areyoutoo - areyoutoo - areyoutoo@mastodon.xyz - devops | retired gamedev | always boost puppy pics - - - - areyoutoo - Raw Butter - devops | retired gamedev | always boost puppy pics - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Some UX thoughts for <a href="https://mastodon.xyz/tags/mastodev">#<span>mastodev</span></a>:</p><p>- Would be nice if I could work on multiple draft toots? Clicking to reply to someone seems to erase any draft I had been working on.</p><p>- Kinda risky to click on the Federated Timeline if it loads new toots and scrolls 10ms before I click on something.</p><p>I probably don't know enough web frontend to help, but it might be fun to try.</p> - - - public - - - <p>Some UX thoughts for <a href="https://mastodon.xyz/tags/mastodev">#<span>mastodev</span></a>:</p><p>- Would be nice if I could work on multiple draft toots? Clicking to reply to someone seems to erase any draft I had been working on.</p><p>- Kinda risky to click on the Federated Timeline if it loads new toots and scrolls 10ms before I click on something.</p><p>I probably don't know enough web frontend to help, but it might be fun to try.</p> - - public - - - - - tag:mastodon.social,2017-04-06:objectId=1764509:objectType=Status - 2017-04-06T10:15:38Z - 2017-04-06T10:15:38Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - This is a test for cw federation - <p>This is a test for cw federation body text.</p> - - public - - - - - tag:mastodon.social,2017-04-05:objectId=1645208:objectType=Status - 2017-04-05T07:14:53Z - 2017-04-05T07:14:53Z - lambadalambda shared a status by lambadalambda@social.heldscal.la - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - tag:social.heldscal.la,2017-04-05:noticeId=1502088:objectType=note - 2017-04-05T06:12:09Z - 2017-04-05T07:12:47Z - New status by lambadalambda@social.heldscal.la - - https://social.heldscal.la/user/23211 - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - lambadalambda@social.heldscal.la - Call me Deacon Blues. - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - Federation 101: <a href="https://www.youtube.com/watch?v=t1lYU5CA40o">https://www.youtube.com/watch?v=t1lYU5CA40o</a> - - public - - - Federation 101: <a href="https://www.youtube.com/watch?v=t1lYU5CA40o">https://www.youtube.com/watch?v=t1lYU5CA40o</a> - - public - - - - - tag:mastodon.social,2017-04-05:objectId=1641750:objectType=Status - 2017-04-05T05:44:48Z - 2017-04-05T05:44:48Z - New status by lambadalambda - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> just a test.</p> - - - public - - - - diff --git a/test/fixtures/tesla_mock/https___pawoo.net_users_pekorino.atom b/test/fixtures/tesla_mock/https___pawoo.net_users_pekorino.atom deleted file mode 100644 index 17d1956e8..000000000 --- a/test/fixtures/tesla_mock/https___pawoo.net_users_pekorino.atom +++ /dev/null @@ -1,231 +0,0 @@ - - - https://pawoo.net/users/pekorino.atom - モノエ - シアトル・米国 - -GNUsocial 英語版 -http://shitposter.club/mono - - - 2017-05-07T09:28:20Z - https://img.pawoo.net/accounts/avatars/000/128/378/original/e1fce04a36a1ad90.jpg - - https://pawoo.net/users/pekorino - http://activitystrea.ms/schema/1.0/person - https://pawoo.net/users/pekorino - pekorino - pekorino@pawoo.net - <p>シアトル・米国</p><p>GNUsocial 英語版<br /><a href="http://shitposter.club/mono" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">shitposter.club/mono</span><span class="invisible"></span></a> </p> - - - - pekorino - モノエ - シアトル・米国 - -GNUsocial 英語版 -http://shitposter.club/mono - - - public - - - - - - - tag:pawoo.net,2017-05-07:objectId=9319211:objectType=Status - 2017-05-07T09:56:35Z - 2017-05-07T09:56:35Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/moonman" class="u-url mention">@<span>moonman</span></a></span> <span class="h-card"><a href="https://shitposter.club/rw" class="u-url mention">@<span>rw</span></a></span> <span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> <span class="h-card"><a href="https://shitposter.club/mono" class="u-url mention">@<span>mono</span></a></span> </p><p>i have to wait for someone to respond to this before i can follow because i dont think this software has a direct follow by url option</p> - - - - - - public - - - - - - tag:pawoo.net,2017-05-07:objectId=9318595:objectType=Status - 2017-05-07T09:54:39Z - 2017-05-07T09:54:39Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/mono" class="u-url mention">@<span>mono</span></a></span> <span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> <span class="h-card"><a href="https://shitposter.club/rw" class="u-url mention">@<span>rw</span></a></span> <span class="h-card"><a href="https://shitposter.club/moonman" class="u-url mention">@<span>moonman</span></a></span> <br />please respond</p> - - - - - - public - - - - - - tag:pawoo.net,2017-05-07:objectId=9313978:objectType=Status - 2017-05-07T09:39:17Z - 2017-05-07T09:39:17Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/moonman" class="u-url mention">@<span>moonman</span></a></span> <br />mastodon is so slow. browser crashed twice trying to set avatar</p> - - - public - - - - - tag:pawoo.net,2017-05-07:objectId=9312691:objectType=Status - 2017-05-07T09:34:38Z - 2017-05-07T09:34:38Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/hardbass2k8" class="u-url mention">@<span>hardbass2k8</span></a></span> <a href="https://pawoo.net/media/mZJjLpbPU72GFEz2Svk" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pawoo.net/media/mZJjLpbPU72GFE</span><span class="invisible">z2Svk</span></a></p> - - - - public - - - - - - tag:pawoo.net,2017-05-07:objectId=9312379:objectType=Status - 2017-05-07T09:33:29Z - 2017-05-07T09:33:29Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/hardbass2k8" class="u-url mention">@<span>hardbass2k8</span></a></span> <a href="https://pawoo.net/media/nt5JHBEHyTN2bqzdcGU" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pawoo.net/media/nt5JHBEHyTN2bq</span><span class="invisible">zdcGU</span></a></p> - - - - public - - - - - - tag:pawoo.net,2017-05-07:objectId=9311765:objectType=Status - 2017-05-07T09:31:26Z - 2017-05-07T09:31:26Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><a href="https://pawoo.net/media/C4RV6ubsEtvS04DX6qs" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pawoo.net/media/C4RV6ubsEtvS04</span><span class="invisible">DX6qs</span></a></p> - - - public - - - - - tag:pawoo.net,2017-05-07:objectId=9311610:objectType=Status - 2017-05-07T09:30:59Z - 2017-05-07T09:30:59Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><a href="https://pawoo.net/media/MBmkeEdrjs8pAtCHN6s" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pawoo.net/media/MBmkeEdrjs8pAt</span><span class="invisible">CHN6s</span></a></p> - - - public - - - - - tag:pawoo.net,2017-05-07:objectId=9307782:objectType=Status - 2017-05-07T09:16:47Z - 2017-05-07T09:16:47Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/mono" class="u-url mention">@<span>mono</span></a></span></p><p>test</p> - - - public - - - - - tag:pawoo.net,2017-05-07:objectId=9307444:objectType=Status - 2017-05-07T09:15:42Z - 2017-05-07T09:15:42Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/hardbass2k8" class="u-url mention">@<span>hardbass2k8</span></a></span> テスト</p> - - - public - - - - - - tag:pawoo.net,2017-05-07:objectId=9307239:objectType=Status - 2017-05-07T09:14:58Z - 2017-05-07T09:14:58Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>ててててててテスト</p> - - public - - - - - tag:pawoo.net,2017-04-20:objectId=2212164:objectType=Status - 2017-04-20T06:19:18Z - 2017-04-20T06:19:18Z - New status by pekorino - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p><span class="h-card"><a href="https://shitposter.club/mono" class="u-url mention">@<span>mono</span></a></span> <a href="https://pawoo.net/media/iMbjMBVPfZJX3lUC2Sc" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">pawoo.net/media/iMbjMBVPfZJX3l</span><span class="invisible">UC2Sc</span></a></p> - - - - public - - - - - - tag:pawoo.net,2017-04-20:objectId=2206216:objectType=Status - 2017-04-20T05:57:59Z - 2017-04-20T05:57:59Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>テスト</p> - - public - - - - - tag:pawoo.net,2017-04-20:objectId=2204702:objectType=Status - 2017-04-20T05:52:09Z - 2017-04-20T05:52:09Z - New status by pekorino - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>HELLOWORLD</p> - - public - - - - diff --git a/test/fixtures/tesla_mock/https___pleroma.soykaf.com_users_lain_feed.atom.xml b/test/fixtures/tesla_mock/https___pleroma.soykaf.com_users_lain_feed.atom.xml deleted file mode 100644 index a2a2629a6..000000000 --- a/test/fixtures/tesla_mock/https___pleroma.soykaf.com_users_lain_feed.atom.xml +++ /dev/null @@ -1 +0,0 @@ -https://pleroma.soykaf.com/users/lain/feed.atomlain's timeline2017-05-05T08:38:03.385598https://pleroma.soykaf.com/users/lainhttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/lainlainLain IwakuraTest accountlainhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/579e4224-b2ab-4ffa-8bbe-f7197a0a38d1lain repeated a noticeRT In just seven days, I can make you a man!<br> -- The Rocky Horror Picture Show2017-05-05T08:38:03.3855902017-05-05T08:38:03.385598https://pleroma.soykaf.com/contexts/e8673466-9642-4c9e-8781-f0f69d6b15aehttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/53dd40f4-3069-45a1-863b-94a9b317093dNew note by fortuneIn just seven days, I can make you a man!<br> -- The Rocky Horror Picture Show2017-05-05T02:10:02.9308022017-05-05T08:38:03.423539https://pleroma.soykaf.com/contexts/e8673466-9642-4c9e-8781-f0f69d6b15aehttps://pleroma.soykaf.com/users/fortunehttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/fortunefortunefortuneThe trusty unix fortune filefortunehttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/2bc86888-a256-4771-bb53-903f375804f9New note by lainRTs federating into pleroma now.2017-05-04T18:18:50.2764702017-05-04T18:18:50.276476https://pleroma.soykaf.com/contexts/b7ae9350-f317-48aa-8058-2668091bb280http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/902b1f50-f295-4189-8c15-9c880919e121New favorite by lainlain favorited something2017-05-04T08:03:01.3088902017-05-04T08:03:01.308927http://activitystrea.ms/schema/1.0/notetag:gs.smuglo.li,2017-05-03:noticeId=2164642:objectType=commenthttps://pleroma.soykaf.com/contexts/9419f742-aaba-4eb5-89a2-8b599e8bf43chttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/4e396e66-b063-454c-92c6-583506a9a2deNew note by lainClassic.<br><a href='https://pleroma.soykaf.com/media/adc36781-9765-4d9a-b57c-99b7a99108b2/mikodaemonstop.jpg'>https://pleroma.soykaf.com/media/adc36781-9765-4d9a-b57c-99b7a99108b2/mikodaemonstop.jpg</a>2017-05-04T07:59:45.1806192017-05-04T07:59:45.180628https://pleroma.soykaf.com/contexts/6afd9659-41e6-406d-ae97-43b880722861http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/85d183e9-c935-4655-a1e6-8d69a4108235New note by lainん?<br><a href='https://pleroma.soykaf.com/media/ab144c6d-a38c-4d35-a60b-9a998becc094/n.gif'>https://pleroma.soykaf.com/media/ab144c6d-a38c-4d35-a60b-9a998becc094/n.gif</a>2017-05-04T07:58:08.8107162017-05-04T07:58:08.810726https://pleroma.soykaf.com/contexts/2e1aa616-86ce-4b50-9c81-63045a972156http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/7c5c45bb-e4d9-4f72-b4c6-0314afbd3553New note by lainyeah.2017-05-04T07:55:17.3352902017-05-04T07:55:17.335299https://pleroma.soykaf.com/contexts/702c06cf-56ff-4a2f-bf5a-150bc00bb168http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/f33f5f54-1c1d-4462-b9ed-229bb635dfd8New note by lainyeah.2017-05-04T07:49:24.9314842017-05-04T07:49:24.931492https://pleroma.soykaf.com/contexts/c4932e7a-00cb-431a-b4ec-7404cb9daf65http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/0709bc79-7ac5-4983-b6d0-2205bf5ceba3New favorite by lainlain favorited something2017-05-03T20:08:11.2945792017-05-03T20:08:11.294587http://activitystrea.ms/schema/1.0/notetag:pawoo.net,2017-05-03:objectId=7967690:objectType=Statushttps://pleroma.soykaf.com/contexts/07a4b34d-6255-4bb2-8c73-c295a09ac952http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/72c0288e-62d8-43d9-b3d8-1a9d78be8375New note by lain<a href='https://pawoo.net/users/God_Emperor_of_Dune'>@God_Emperor_of_Dune@pawoo.net</a> no man, just some fun domination play among buddies, nothing homo about it.2017-05-03T20:01:00.9983142017-05-03T20:01:00.998322https://pleroma.soykaf.com/contexts/07a4b34d-6255-4bb2-8c73-c295a09ac952http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/d846409e-cf2a-4b68-a149-d5de34a91b0dNew note by lain<a href='https://social.heldscal.la/user/24974'>@dtluna@social.heldscal.la</a> btfo.<br><a href='https://pleroma.soykaf.com/media/fbe42e87-5574-4544-89ba-29ddf46227fa/pnc__picked_media_1889ce61-4961-4fea-8a14-04fe6783ebf6.jpg'>https://pleroma.soykaf.com/media/fbe42e87-5574-4544-89ba-29ddf46227fa/pnc__picked_media_1889ce61-4961-4fea-8a14-04fe6783ebf6.jpg</a>2017-05-03T20:00:15.8609952017-05-03T20:00:15.861002https://pleroma.soykaf.com/contexts/0e88f35e-1a38-4181-bef9-5cbb0d943c63http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/9075265f-f3b2-40e8-809f-10714f05a1fdNew note by lain#nohomo <br><a href='https://pleroma.soykaf.com/media/5cc5ad91-d637-4c45-a691-5ea778dc1bb3/pnc__picked_media_f62dc9ae-ea23-4fe6-bf85-cb75a129ab34.jpg'>https://pleroma.soykaf.com/media/5cc5ad91-d637-4c45-a691-5ea778dc1bb3/pnc__picked_media_f62dc9ae-ea23-4fe6-bf85-cb75a129ab34.jpg</a>2017-05-03T19:50:38.5891062017-05-03T19:50:38.589113https://pleroma.soykaf.com/contexts/07a4b34d-6255-4bb2-8c73-c295a09ac952http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/7924e992-0a95-40d9-8d17-7278c6c634c9New favorite by lainlain favorited something2017-05-03T18:32:59.2733752017-05-03T18:32:59.273382http://activitystrea.ms/schema/1.0/notetag:gs.smuglo.li,2017-05-03:noticeId=2164774:objectType=commenthttps://pleroma.soykaf.com/contexts/9419f742-aaba-4eb5-89a2-8b599e8bf43chttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/569571ba-f54c-41b0-bde4-0fede54599f0New note by lain<a href='https://gs.smuglo.li/user/2'>@nepfag@gs.smuglo.li</a>@gs.smuglo.li I'll do proper subfolders soon, for now it's one per attachment + thumbs etc.2017-05-03T18:27:01.4499492017-05-03T18:27:01.449956https://pleroma.soykaf.com/contexts/9419f742-aaba-4eb5-89a2-8b599e8bf43chttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/b6cc5d7c-0785-4785-a689-f1b05dc9b24dlain repeated a noticeRT <p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> Hey now!</p>2017-05-03T18:13:48.8910612017-05-03T18:13:48.891069https://pleroma.soykaf.com/contexts/ec6fdd27-0ec1-4672-8408-5a8e5a9c094bhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posttag:mastodon.social,2017-05-01:objectId=4836142:objectType=StatusNew note by lambadalambda@mastodon.social<p><span class="h-card"><a href="https://pleroma.soykaf.com/users/lain" class="u-url mention">@<span>lain</span></a></span> Hey now!</p>2017-05-01T18:38:49.3653912017-05-03T18:13:48.934745https://pleroma.soykaf.com/contexts/ec6fdd27-0ec1-4672-8408-5a8e5a9c094bhttps://mastodon.social/users/lambadalambdahttp://activitystrea.ms/schema/1.0/personhttps://mastodon.social/users/lambadalambdalambadalambda@mastodon.socialCritical Valuenillambadalambda@mastodon.socialhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/3c09eb31-4ba8-4ff5-b4fa-8f6f74d58bf0lain repeated a noticeRT Haha, salmons from mastodon didn't work because it's not implementing conversation id...2017-05-03T18:13:15.1480412017-05-03T18:13:15.148049tag:social.heldscal.la,2017-05-01:objectType=thread:nonce=86cda6c734401d80http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posttag:social.heldscal.la,2017-05-01:noticeId=2000425:objectType=noteNew note by lambadalambda@social.heldscal.laHaha, salmons from mastodon didn't work because it's not implementing conversation id...2017-05-01T18:39:36.2163772017-05-03T18:13:15.171143tag:social.heldscal.la,2017-05-01:objectType=thread:nonce=86cda6c734401d80https://social.heldscal.la/user/23211http://activitystrea.ms/schema/1.0/personhttps://social.heldscal.la/user/23211lambadalambda@social.heldscal.laConstance Variablenillambadalambda@social.heldscal.lahttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/b8fc83d5-d7c0-4b5f-8976-0317b51935eaNew note by lain.<br><a href='https://pleroma.soykaf.com/media/563008a7-9a60-47ac-a263-22835729adf6/1492530528735.png'>https://pleroma.soykaf.com/media/563008a7-9a60-47ac-a263-22835729adf6/1492530528735.png</a>2017-05-03T18:12:50.7452412017-05-03T18:12:50.745249https://pleroma.soykaf.com/contexts/9419f742-aaba-4eb5-89a2-8b599e8bf43chttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/ac93ecef-cde0-48e8-ae4b-19e3b94dbe30lain repeated a noticeRT Awright, which one of you hid my PENIS ENVY?2017-05-03T18:08:49.2310012017-05-03T18:08:49.235354https://pleroma.soykaf.com/contexts/a9132cf8-6afa-4dd8-8b29-7b6fcab623b8http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/04e15c66-4936-4930-a134-32841f088bcfNew note by fortuneAwright, which one of you hid my PENIS ENVY?2017-05-01T19:40:03.1699962017-05-03T18:08:49.285347https://pleroma.soykaf.com/contexts/a9132cf8-6afa-4dd8-8b29-7b6fcab623b8https://pleroma.soykaf.com/users/fortunehttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/fortunefortunefortuneThe trusty unix fortune filefortunehttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/54b10fa9-d602-4a0f-b659-e6d3f7bc8c4clain repeated a noticeRT He is a man capable of turning any colour into grey.<br> -- John LeCarre2017-05-03T17:44:47.5789842017-05-03T17:44:47.578996https://pleroma.soykaf.com/contexts/8aebc8e5-5352-4047-8b74-4098a5830ccahttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/70ded299-184d-49cd-af17-23c0950536aaNew note by fortuneHe is a man capable of turning any colour into grey.<br> -- John LeCarre2017-05-02T08:40:03.4194652017-05-03T17:44:47.646192https://pleroma.soykaf.com/contexts/8aebc8e5-5352-4047-8b74-4098a5830ccahttps://pleroma.soykaf.com/users/fortunehttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/fortunefortunefortuneThe trusty unix fortune filefortunehttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/sharehttps://pleroma.soykaf.com/activities/eff9fe49-8fc9-48e6-a1a0-921aa25c8118lain repeated a noticeRT The real trouble with women is that they have *all* the pussy.2017-05-03T17:30:22.5960372017-05-03T17:30:22.596048https://pleroma.soykaf.com/contexts/8c88c9df-4e40-4f54-b15f-c21848d1a8e2http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/0b9b008d-49eb-48a9-a18d-172ce7d01ea2New note by fortuneThe real trouble with women is that they have *all* the pussy.2017-05-02T12:10:03.6030862017-05-03T17:30:22.683141https://pleroma.soykaf.com/contexts/8c88c9df-4e40-4f54-b15f-c21848d1a8e2https://pleroma.soykaf.com/users/fortunehttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/fortunefortunefortuneThe trusty unix fortune filefortunehttp://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/5d90bb26-ce23-4a5b-8dbd-651011780007New favorite by lainlain favorited something2017-05-03T17:28:20.9679262017-05-03T17:28:20.967935http://activitystrea.ms/schema/1.0/notetag:mastodon.social,2017-05-03:objectId=4952899:objectType=Statushttps://pleroma.soykaf.com/contexts/42701ab4-964a-441a-a372-f51bd183e441 \ No newline at end of file diff --git a/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_show_2827873.atom.xml b/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_show_2827873.atom.xml deleted file mode 100644 index 26fdebb49..000000000 --- a/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_show_2827873.atom.xml +++ /dev/null @@ -1,54 +0,0 @@ - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T08:51:48+00:00 - 2017-05-05T08:51:48+00:00 - - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/1 - moonman - EMAIL:shitposterclub@gmail.com XMPP: moon@talk.shitposter.club Matrix Ed25519 fingerprint: 2HuDUTEz3iFN5N3xl6PYp9xZW/EWhgbbt78SrFy4w8o - - - - - - moonman - Generic Enemy - EMAIL:shitposterclub@gmail.com XMPP: moon@talk.shitposter.club Matrix Ed25519 fingerprint: 2HuDUTEz3iFN5N3xl6PYp9xZW/EWhgbbt78SrFy4w8o - - The Moon - - - homepage - https://shitposter.club/moonman - true - - - - - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26 - - - - - https://shitposter.club/api/statuses/user_timeline/1.atom - Generic Enemy - - - - https://shitposter.club/avatar/1-96-20170503024316.jpeg - 2017-05-05T11:43:58+00:00 - - - - - diff --git a/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_user_timeline_1.atom.xml b/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_user_timeline_1.atom.xml deleted file mode 100644 index 31df7c2a6..000000000 --- a/test/fixtures/tesla_mock/https___shitposter.club_api_statuses_user_timeline_1.atom.xml +++ /dev/null @@ -1,454 +0,0 @@ - - - GNU social - https://shitposter.club/api/statuses/user_timeline/1.atom - moonman timeline - Updates from moonman on Shitposter Club! - https://shitposter.club/avatar/1-96-20170503024316.jpeg - 2017-05-05T13:24:09+00:00 - - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/1 - moonman - EMAIL:shitposterclub@gmail.com XMPP: moon@talk.shitposter.club Matrix Ed25519 fingerprint: 2HuDUTEz3iFN5N3xl6PYp9xZW/EWhgbbt78SrFy4w8o - - - - - - moonman - Generic Enemy - EMAIL:shitposterclub@gmail.com XMPP: moon@talk.shitposter.club Matrix Ed25519 fingerprint: 2HuDUTEz3iFN5N3xl6PYp9xZW/EWhgbbt78SrFy4w8o - - The Moon - - - homepage - https://shitposter.club/moonman - true - - - - - - - - - - - - - - tag:shitposter.club,2017-05-05:subscription:1:person:23190:2017-05-05T11:43:58+00:00 - Generic Enemy (moonman)'s status on Friday, 05-May-2017 11:43:58 UTC - <a href="https://shitposter.club/moonman">Generic Enemy</a> started following <a href="https://noagendasocial.com/@Ma5on">Mason</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-05-05T11:43:58+00:00 - 2017-05-05T11:43:58+00:00 - - http://activitystrea.ms/schema/1.0/person - https://noagendasocial.com/users/Ma5on - Mason - - - - - - ma5on - Mason - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=abffa9c14a054d3b - - - - - - - tag:shitposter.club,2017-05-05:subscription:1:person:14357:2017-05-05T10:29:03+00:00 - Generic Enemy (moonman)'s status on Friday, 05-May-2017 10:29:03 UTC - <a href="https://shitposter.club/moonman">Generic Enemy</a> started following <a href="https://mastodon.cloud/@ohyran">Jens Reuterberg</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-05-05T10:29:03+00:00 - 2017-05-05T10:29:03+00:00 - - http://activitystrea.ms/schema/1.0/person - https://mastodon.cloud/users/ohyran - Jens Reuterberg - RPG-nerd, illustrator, Open Source enthusiast, KDE dude, designer and gay lefty. Might be a cliché - but we will soon find out! - - - - - - ohyran - Jens Reuterberg - RPG-nerd, illustrator, Open Source enthusiast, KDE dude, designer and gay lefty. Might be a cliché - but we will soon find out! - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=937151d4825a85bf - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828637:objectType=note - New note by moonman - basicall i would just rather have ppl say &quot;i like x and y&quot; than &quot;i'm a nerd&quot; the term can be retired. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:24:54+00:00 - 2017-05-05T10:24:54+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=65992b0b9b5e6931 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828579:objectType=comment - New comment by moonman - @<a href="https://gs.smuglo.li/user/35497" class="h-card mention" title="Bokuro Bokusawa">boco</a> to be honest i've turned right around and been cruel to other people, i said i'd never do it but it happens again eventually. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:20:33+00:00 - 2017-05-05T10:20:33+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=c997fc73d7f8a8f0 - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828554:objectType=comment - New comment by moonman - @<a href="https://mastodon.cloud/users/ohyran" class="h-card mention" title="Jens Reuterberg">ohyran</a> i won't ever get over bullying but i agree otherwise. i don't go to comic shops too often these days but i got dragged to one last year and the sheer diversity of people enjoying comics now compared to years ago was striking and it pleased me. and i noticed a couple years ago because of youtube i find things i truly enjoy watching, like in-depth videos about electronic parts, didn't exist 20 years ago. it's pretty great. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:18:10+00:00 - 2017-05-05T10:18:10+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=efae3a23b6e05767 - - - - - - - - tag:shitposter.club,2017-05-05:fave:1:comment:2828502:2017-05-05T10:12:52+00:00 - Favorite - moonman favorited something by ohyran: <p><span class="h-card"><a href="https://shitposter.club/moonman" class="u-url mention">@<span>moonman</span></a></span> fair enough - that distinction makes it clearer...</p><p>On the other hand - those of us who did "pay the price" of being nerdy little kids in the 80's and 90's should strive to get past it anyway (mental health wise not "just get over it") and see the "nerd culture" thing as a blessing of sorts. We are in the optimal spot to do it. (not saying that that is something easy btw just that NOW is the best of time to start talking about it)</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T10:12:52+00:00 - 2017-05-05T10:12:52+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:mastodon.cloud,2017-05-05:objectId=6334570:objectType=Status - New comment by ohyran - <p><span class="h-card"><a href="https://shitposter.club/moonman" class="u-url mention">@<span>moonman</span></a></span> fair enough - that distinction makes it clearer...</p><p>On the other hand - those of us who did "pay the price" of being nerdy little kids in the 80's and 90's should strive to get past it anyway (mental health wise not "just get over it") and see the "nerd culture" thing as a blessing of sorts. We are in the optimal spot to do it. (not saying that that is something easy btw just that NOW is the best of time to start talking about it)</p> - - - - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=efae3a23b6e05767 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828496:objectType=note - New note by moonman - things are better now, a lot less kids in america get beaten up and called a fag. still too many. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:11:31+00:00 - 2017-05-05T10:11:31+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=c997fc73d7f8a8f0 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828457:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/21787" class="h-card mention" title="Yukari">cutscenes</a> @<a href="https://gs.smuglo.li/user/28250" class="h-card mention" title="Bricky">thatbrickster</a> @<a href="https://gs.smuglo.li/user/35497" class="h-card mention" title="Bokuro Bokusawa">boco</a> i never understood this because nerds had pocket protectors, which was a draftsman engineer thing and therefore smart, while geeks were people in carnivals who bit heads off small animals. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:07:57+00:00 - 2017-05-05T10:07:57+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=efae3a23b6e05767 - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828435:objectType=comment - New comment by moonman - @<a href="https://mastodon.cloud/users/ohyran" class="h-card mention" title="Jens Reuterberg">ohyran</a> since i didn't specify i'm talking about people subjected to physical and psychological abuse and not people that are just mad that more people like comic books now. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:05:07+00:00 - 2017-05-05T10:05:07+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=efae3a23b6e05767 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828326:objectType=note - New note by moonman - if you were a &quot;nerd&quot; before, like, 2001 you have permanent excuse to hate this kind of shit.   <a href="https://shitposter.club/file/b79fa5644be0d6f22679136e67b7bf45c9c4a74a55c32dd2d0cf15de4ddd5be5.gif" title="https://shitposter.club/file/b79fa5644be0d6f22679136e67b7bf45c9c4a74a55c32dd2d0cf15de4ddd5be5.gif" class="attachment" id="attachment-662105" rel="nofollow external">https://shitposter.club/attachment/662105</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:47:42+00:00 - 2017-05-05T09:47:42+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=efae3a23b6e05767 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828250:objectType=note - New note by moonman - <a href="https://shitposter.club/file/1283e2d4dd8f96b8eeb5d9a16b318e210868aa11386cf0d593891e4c75c9126e.gif" title="https://shitposter.club/file/1283e2d4dd8f96b8eeb5d9a16b318e210868aa11386cf0d593891e4c75c9126e.gif" class="attachment" id="attachment-662098" rel="nofollow external">https://shitposter.club/attachment/662098</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:39:06+00:00 - 2017-05-05T09:39:06+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=ea8ffae90546f0ab - - - - - - - - tag:shitposter.club,2017-05-05:fave:1:comment:2828161:2017-05-05T09:28:19+00:00 - Favorite - moonman favorited something by kro: @<a href="https://shitposter.club/user/1" class="h-card u-url p-nickname mention" title="Generic Enemy">moonman</a> Till Brooklyn? - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:28:19+00:00 - 2017-05-05T09:28:19+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:gs.smuglo.li,2017-05-05:noticeId=2188587:objectType=comment - New comment by kro - @<a href="https://shitposter.club/user/1" class="h-card u-url p-nickname mention" title="Generic Enemy">moonman</a> Till Brooklyn? - - - - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=d7aa6b5b057ca555 - - - - - - - tag:shitposter.club,2017-05-05:fave:1:comment:2828125:2017-05-05T09:24:56+00:00 - Favorite - moonman favorited something by hardbass2k8: this has obviously interesting implications in various places, for example:<br /> the nationalism of the nazis might not have been real, who would have thought?<br /> socialism is usually promoted to implementation by real douchebags!<br /> your local social justice people might want diversity but they don't want you, m/19, white, why?<br /> amateur soccer club, they want to be the best in the amateur league but actually they just get drunk after training and are 50% overweight.<br /> This is because humans are not capable of telepathy, so if you join a group it doesn't magically align every little bit of your being with the declared group goals.<br /> <br /> Even though you see unmanned group beliefs flying around from time to time, generally groups are created from a bunch of people. they are not a container for people, they are the people inside them.<br /> <br /> so if you see a group that appears to be cool don't think of it as cool because its goals are cool but because its members are cool. if they aren't, tough cookies. don't be the retard and end up on the camp watchtower. - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:24:56+00:00 - 2017-05-05T09:24:56+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828125:objectType=comment - New comment by hardbass2k8 - this has obviously interesting implications in various places, for example:<br /> the nationalism of the nazis might not have been real, who would have thought?<br /> socialism is usually promoted to implementation by real douchebags!<br /> your local social justice people might want diversity but they don't want you, m/19, white, why?<br /> amateur soccer club, they want to be the best in the amateur league but actually they just get drunk after training and are 50% overweight.<br /> This is because humans are not capable of telepathy, so if you join a group it doesn't magically align every little bit of your being with the declared group goals.<br /> <br /> Even though you see unmanned group beliefs flying around from time to time, generally groups are created from a bunch of people. they are not a container for people, they are the people inside them.<br /> <br /> so if you see a group that appears to be cool don't think of it as cool because its goals are cool but because its members are cool. if they aren't, tough cookies. don't be the retard and end up on the camp watchtower. - - - - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=51b227fe92f6babf - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828128:objectType=note - New note by moonman - In a valid remake of They live, signs would say REBEL, and DON'T GET MARRIED AND HAVE KIDS - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:24:23+00:00 - 2017-05-05T09:24:23+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=b74397fa766b82c9 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828104:objectType=note - New note by moonman - <a href="https://shitposter.club/file/4d34178bde99599f31a28928e1666fbd58448d8a22e94ed82222496e4a45cb07.gif" title="https://shitposter.club/file/4d34178bde99599f31a28928e1666fbd58448d8a22e94ed82222496e4a45cb07.gif" class="attachment" id="attachment-662049" rel="nofollow external">https://shitposter.club/attachment/662049</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:21:01+00:00 - 2017-05-05T09:21:01+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=d7aa6b5b057ca555 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828102:objectType=note - New note by moonman - when ppl find out i haven't always been serious  <a href="https://shitposter.club/file/5859fa95875342cc65dba0d852f726db158ce28198c326d5f13d9de7c0d2c449.gif" title="https://shitposter.club/file/5859fa95875342cc65dba0d852f726db158ce28198c326d5f13d9de7c0d2c449.gif" class="attachment" id="attachment-662053" rel="nofollow external">https://shitposter.club/attachment/662053</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:20:45+00:00 - 2017-05-05T09:20:45+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=0a025ac5a570b4ec - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828086:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> @<a href="https://gs.smuglo.li/user/35497" class="h-card mention" title="Bokuro Bokusawa">boco</a> you are being too serious lol - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:17:19+00:00 - 2017-05-05T09:17:19+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26 - - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828085:objectType=note - New note by moonman - shitposter dot club  <a href="https://shitposter.club/file/9b084c7210b16abbf4d28594b924a07ef4a2a06f89d901a4c42fb1e243291263.gif" title="https://shitposter.club/file/9b084c7210b16abbf4d28594b924a07ef4a2a06f89d901a4c42fb1e243291263.gif" class="attachment" id="attachment-662047" rel="nofollow external">https://shitposter.club/attachment/662047</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:16:50+00:00 - 2017-05-05T09:16:50+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=d1ae088a1b91e5e5 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2828061:objectType=note - New note by moonman - even when i lie i tell the truth, is that so hard to understand? - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:15:07+00:00 - 2017-05-05T09:15:07+00:00 - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=a516e4b8506b8ef5 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2828052:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9591" class="h-card mention" title="warum hei&#xDF;en deutschl&#xE4;nder deutschl&#xE4;nder">hardbass2k8</a> history, anthropology. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T09:14:22+00:00 - 2017-05-05T09:14:22+00:00 - - - - tag:shitposter.club,2017-05-05:objectType=thread:nonce=fe4d7f35b13403ba - - - - - - - diff --git a/test/fixtures/tesla_mock/https___shitposter.club_notice_2827873.json b/test/fixtures/tesla_mock/https___shitposter.club_notice_2827873.json deleted file mode 100644 index 4b7b4df44..000000000 --- a/test/fixtures/tesla_mock/https___shitposter.club_notice_2827873.json +++ /dev/null @@ -1 +0,0 @@ -{"@context":["https://www.w3.org/ns/activitystreams","https://shitposter.club/schemas/litepub-0.1.jsonld",{"@language":"und"}],"actor":"https://shitposter.club/users/moonman","attachment":[],"attributedTo":"https://shitposter.club/users/moonman","cc":["https://shitposter.club/users/moonman/followers"],"content":"@
neimzr4luzerz @dolus childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English","context":"tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26","conversation":"tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26","id":"tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment","inReplyTo":"tag:shitposter.club,2017-05-05:noticeId=2827849:objectType=comment","inReplyToStatusId":2827849,"published":"2017-05-05T08:51:48Z","sensitive":false,"summary":null,"tag":[],"to":["https://www.w3.org/ns/activitystreams#Public"],"type":"Note"} \ No newline at end of file diff --git a/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_23211.atom.xml b/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_23211.atom.xml deleted file mode 100644 index 6cba5c28f..000000000 --- a/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_23211.atom.xml +++ /dev/null @@ -1,591 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-05T12:01:21+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2063249:2017-05-05T11:40:21+00:00 - Favorite - lambadalambda favorited something by tatiana: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> they will start complaining about this, but won't come up with any solutions)</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T11:40:21+00:00 - 2017-05-05T11:40:21+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:social.weho.st,2017-05-05:objectId=172033:objectType=Status - New comment by tatiana - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> they will start complaining about this, but won't come up with any solutions)</p> - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2063041:2017-05-05T11:27:28+00:00 - Favorite - lambadalambda favorited something by kat: @<a href="https://social.heldscal.la/lambadalambda" class="h-card mention" title="Constance Variable">lambadalambda</a> if the admin reading mine would delete a few it would be really useful in prioritising.  - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T11:27:28+00:00 - 2017-05-05T11:27:28+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:quitter.se,2017-05-05:noticeId=11807959:objectType=comment - New comment by kat - @<a href="https://social.heldscal.la/lambadalambda" class="h-card mention" title="Constance Variable">lambadalambda</a> if the admin reading mine would delete a few it would be really useful in prioritising.  - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - tag:social.heldscal.la,2017-05-05:noticeId=2062924:objectType=note - lambadalambda repeated a notice by nielsk - RT @nielsk @<a href="https://social.heldscal.la/user/23211" class="h-card u-url p-nickname mention" title="Constance Variable">lambadalambda</a> but there are soooo many, where should I start to read? - - http://activitystrea.ms/schema/1.0/share - 2017-05-05T11:09:37+00:00 - 2017-05-05T11:09:37+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:mastodon.social,2017-05-05:objectId=5024471:objectType=Status - - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> but there are soooo many, where should I start to read?</p> - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T11:05:18+00:00 - 2017-05-05T11:05:18+00:00 - - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/nielsk - nielsk - Sysadmin by day and ehm… sysadmin by night. Besides that old video games, Japan, economics and some other stuff - - - - - - nielsk - nielsk - Sysadmin by day and ehm… sysadmin by night. Besides that old video games, Japan, economics and some other stuff - - - - http://activitystrea.ms/schema/1.0/comment - tag:mastodon.social,2017-05-05:objectId=5024471:objectType=Status - New comment by nielsk - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> but there are soooo many, where should I start to read?</p> - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - https://mastodon.social/users/nielsk.atom - nielsk - - - https://social.heldscal.la/avatar/29849-96-20170428120041.jpeg - 2017-05-05T11:06:32+00:00 - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2062875:2017-05-05T11:09:27+00:00 - Favorite - lambadalambda favorited something by nielsk: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> but there are soooo many, where should I start to read?</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T11:09:27+00:00 - 2017-05-05T11:09:27+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:mastodon.social,2017-05-05:objectId=5024471:objectType=Status - New comment by nielsk - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> but there are soooo many, where should I start to read?</p> - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2062863:2017-05-05T11:09:11+00:00 - Favorite - lambadalambda favorited something by kasil: <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> surely, google is not that evil !</p> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T11:09:11+00:00 - 2017-05-05T11:09:11+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:loutre.info,2017-05-05:objectId=23331:objectType=Status - New comment by kasil - <p><span class="h-card"><a href="https://social.heldscal.la/lambadalambda" class="u-url mention">@<span>lambadalambda</span></a></span> surely, google is not that evil !</p> - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-05:noticeId=2062767:objectType=comment - New comment by lambadalambda - @<a href="https://sealion.club/user/4" class="h-card u-url p-nickname mention" title="dewoo &#x274E;">dwmatiz</a> dunno, probably. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:55:17+00:00 - 2017-05-05T10:55:17+00:00 - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-05:noticeId=2062705:objectType=comment - New comment by lambadalambda - @<a href="https://gs.smuglo.li/user/28250" class="h-card u-url p-nickname mention" title="Bricky">thatbrickster</a> I do it, too. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:48:12+00:00 - 2017-05-05T10:48:12+00:00 - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-05-05:noticeId=2062620:objectType=comment - New comment by lambadalambda - @<a href="https://social.tchncs.de/users/israuor" class="h-card u-url p-nickname mention" title="Israuor &#x2642;">israuor</a> @<a href="https://mastodon.gougere.fr/users/bortzmeyer" class="h-card u-url p-nickname mention" title="S. Bortzmeyer &#x2705;">bortzmeyer</a> so, 99%. 100% for 'normal' people. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:38:52+00:00 - 2017-05-05T10:38:52+00:00 - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-05:noticeId=2062583:objectType=note - New note by lambadalambda - I wonder what'll happen when people realize the admin at their mail hoster can read all their e-mails. - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T10:35:45+00:00 - 2017-05-05T10:35:45+00:00 - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=e95b99adc050e198 - - - - - - - tag:social.heldscal.la,2017-05-05:subscription:23211:person:35708:2017-05-05T09:34:46+00:00 - Constance Variable (lambadalambda@social.heldscal.la)'s status on Friday, 05-May-2017 09:34:46 UTC - <a href="https://social.heldscal.la/lambadalambda">Constance Variable</a> started following <a href="https://mastodon.social/@milouse">milouse</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-05-05T09:34:46+00:00 - 2017-05-05T09:34:46+00:00 - - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/milouse - milouse - #Scout leader #sgdf, interested in #openweb, #semanticweb, #privacy, #foss and #socialeconomy. 0xA714ECAC8C9CEE3D - - - - - - milouse - milouse - #Scout leader #sgdf, interested in #openweb, #semanticweb, #privacy, #foss and #socialeconomy. 0xA714ECAC8C9CEE3D - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=26ca19a355bb6135 - - - - - - - tag:social.heldscal.la,2017-05-05:noticeId=2061871:objectType=note - lambadalambda repeated a notice by safebot - RT @<a href="https://gs.smuglo.li/user/25857" class="h-card u-url p-nickname mention" title="safebot">safebot</a> #<span class="tag"><a href="https://social.heldscal.la/tag/cheers" rel="tag">cheers</a></span> <a href="https://gs.smuglo.li/attachment/456444" title="https://gs.smuglo.li/attachment/456444" rel="nofollow external noreferrer" class="attachment" id="attachment-432334">https://gs.smuglo.li/attachment/456444</a> - - http://activitystrea.ms/schema/1.0/share - 2017-05-05T09:16:17+00:00 - 2017-05-05T09:16:17+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:gs.smuglo.li,2017-05-05:noticeId=2188073:objectType=note - - #<span class="tag"><a href="https://gs.smuglo.li/tag/cheers" rel="tag">cheers</a></span> <a href="https://gs.smuglo.li/file/5099e73c83da778cd032a721e96880f99a868b712be2975d08238547a5ba06c7.jpg" title="https://gs.smuglo.li/file/5099e73c83da778cd032a721e96880f99a868b712be2975d08238547a5ba06c7.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/456444</a> - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T08:36:53+00:00 - 2017-05-05T08:36:53+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.smuglo.li/user/25857 - safebot - - - - - - safebot - safebot - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.smuglo.li,2017-05-05:noticeId=2188073:objectType=note - New note by safebot - #<span class="tag"><a href="https://gs.smuglo.li/tag/cheers" rel="tag">cheers</a></span> <a href="https://gs.smuglo.li/file/5099e73c83da778cd032a721e96880f99a868b712be2975d08238547a5ba06c7.jpg" title="https://gs.smuglo.li/file/5099e73c83da778cd032a721e96880f99a868b712be2975d08238547a5ba06c7.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/456444</a> - - - - - https://gs.smuglo.li/conversation/1009429 - - - - https://gs.smuglo.li/api/statuses/user_timeline/25857.atom - safebot - - - https://social.heldscal.la/avatar/25719-original-20161215233234.jpeg - 2017-05-05T12:00:57+00:00 - - - - https://gs.smuglo.li/conversation/1009429 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061643:2017-05-05T09:12:50+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:12:50+00:00 - 2017-05-05T09:12:50+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> @<a href="https://gs.smuglo.li/user/2326" class="h-card mention" title="Dolus_McHonest">dolus</a> childhood poring over Strong's concordance and a koine Greek dictionary, fast forward to 2017 and some fuckstick who translates japanese jackoff material tells me you just need to make it sound right in English - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=55ead90125cd4bd4 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061696:2017-05-05T09:06:10+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> <br /> <span class="greentext">&gt; (((common era)))</span> - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T09:06:10+00:00 - 2017-05-05T09:06:10+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827918:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> <br /> <span class="greentext">&gt; (((common era)))</span> - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=55ead90125cd4bd4 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:note:2061673:2017-05-05T08:58:28+00:00 - Favorite - lambadalambda favorited something by moonman: discussion is one thing but any argument I've heard over and over again for the last three decades is going to go unanswered. - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:58:28+00:00 - 2017-05-05T08:58:28+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-05-05:noticeId=2827895:objectType=note - New note by moonman - discussion is one thing but any argument I've heard over and over again for the last three decades is going to go unanswered. - - - - - - - https://shitposter.club/conversation/1390494 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061280:2017-05-05T08:47:38+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> sex is for procreation and as an expression of intimacy between commited couples, it is a sacramental act - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:47:38+00:00 - 2017-05-05T08:47:38+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827561:objectType=comment - New comment by moonman - @<a href="https://shitposter.club/user/9655" class="h-card mention" title="Solidarity for Pigs">neimzr4luzerz</a> sex is for procreation and as an expression of intimacy between commited couples, it is a sacramental act - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=55ead90125cd4bd4 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:note:2061535:2017-05-05T08:40:55+00:00 - Favorite - lambadalambda favorited something by fortune: What did Mickey Mouse get for Christmas?<br /> <br /> A Dan Quayle watch.<br /> <br /> -- heard from a Mike Dukakis field worker - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:40:55+00:00 - 2017-05-05T08:40:55+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-05:noticeId=2061535:objectType=note - New note by fortune - What did Mickey Mouse get for Christmas?<br /> <br /> A Dan Quayle watch.<br /> <br /> -- heard from a Mike Dukakis field worker - - - - - - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=5185e5c145ee4762 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061421:2017-05-05T08:36:27+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://maly.io/users/sonya" class="h-card mention" title="Sonya Mann ✅">sonya</a> banned from 4chan. you better watch ou. i'm trouble, y'hear? - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:36:27+00:00 - 2017-05-05T08:36:27+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827689:objectType=comment - New comment by moonman - @<a href="https://maly.io/users/sonya" class="h-card mention" title="Sonya Mann ✅">sonya</a> banned from 4chan. you better watch ou. i'm trouble, y'hear? - - - - - - - https://shitposter.club/conversation/1389345 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061351:2017-05-05T08:28:03+00:00 - Favorite - lambadalambda favorited something by moonman: @<a href="https://social.heldscal.la/user/29138" class="h-card mention" title="Claes Wallin (韋嘉誠)">clacke</a> is that the sequel to Time Crisis - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:28:03+00:00 - 2017-05-05T08:28:03+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827630:objectType=comment - New comment by moonman - @<a href="https://social.heldscal.la/user/29138" class="h-card mention" title="Claes Wallin (韋嘉誠)">clacke</a> is that the sequel to Time Crisis - - - - - - - https://shitposter.club/conversation/1385528 - - - - - - - tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061339:2017-05-05T08:21:05+00:00 - Favorite - lambadalambda favorited something by hardbass2k8: @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> pretty sure it's money laundering - - http://activitystrea.ms/schema/1.0/favorite - 2017-05-05T08:21:05+00:00 - 2017-05-05T08:21:05+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2017-05-05:noticeId=2827617:objectType=comment - New comment by hardbass2k8 - @<a href="https://social.heldscal.la/user/23211" class="h-card mention" title="Constance Variable">lambadalambda</a> pretty sure it's money laundering - - - - - - - https://shitposter.club/conversation/1387523 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-05-05:noticeId=2061303:objectType=note - New note by lambadalambda - It's got tattoos, it's got a pierced hood<br /> It's got generation X<br /> It's got lesbians, and vitriol<br /> And sadomasochistic latex sex<br /> It's got Mighty Morphin' power brokers<br /> And Tanya Harding nude<br /> Macrobiotic lacto-vegan non-confrontational free range food<br /> It's got the handshake, peace talk, non-aggression pact<br /> A multicultural integration of segregated historical facts<br /> <br /> #<span class="tag"><a href="https://social.heldscal.la/tag/nsfw" rel="tag">nsfw</a></span> <a href="https://social.heldscal.la/file/61c13b99c92f40ec4865e7a3830da340b187e3de70d94b8da38fd2138bbede3a.jpg" title="https://social.heldscal.la/file/61c13b99c92f40ec4865e7a3830da340b187e3de70d94b8da38fd2138bbede3a.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-432199">https://social.heldscal.la/attachment/432199</a> <a href="https://social.heldscal.la/file/a88bba1a324da68ee2cfdbcd1c4cde60bd9553298244d6f81731270b71aa80df.jpg" title="https://social.heldscal.la/file/a88bba1a324da68ee2cfdbcd1c4cde60bd9553298244d6f81731270b71aa80df.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-432200">https://social.heldscal.la/attachment/432200</a> <a href="https://social.heldscal.la/file/887329a303250e73dc2eea06b1f0512fcac4b9d1b534068f03c45f00d5b21c39.jpg" title="https://social.heldscal.la/file/887329a303250e73dc2eea06b1f0512fcac4b9d1b534068f03c45f00d5b21c39.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-432201">https://social.heldscal.la/attachment/432201</a> <a href="https://social.heldscal.la/file/6d7a1ec15c1368c4c68810434d24da528606fcbccdd1da97b25affafeeb6ffda.jpg" title="https://social.heldscal.la/file/6d7a1ec15c1368c4c68810434d24da528606fcbccdd1da97b25affafeeb6ffda.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-432202">https://social.heldscal.la/attachment/432202</a> <a href="https://social.heldscal.la/file/2f55f2bb028eb9be744cc82b35a6b86b496d8c3924c700aff55a872ff11df54c.jpg" title="https://social.heldscal.la/file/2f55f2bb028eb9be744cc82b35a6b86b496d8c3924c700aff55a872ff11df54c.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-432203">https://social.heldscal.la/attachment/432203</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-05-05T08:17:08+00:00 - 2017-05-05T08:17:08+00:00 - - tag:social.heldscal.la,2017-05-05:objectType=thread:nonce=bb6f4343036970e8 - - - - - - - - - - - - diff --git a/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_29191.atom.xml b/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_29191.atom.xml deleted file mode 100644 index f70fbc695..000000000 --- a/test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_29191.atom.xml +++ /dev/null @@ -1,719 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/29191.atom - shp timeline - Updates from shp on social.heldscal.la! - https://social.heldscal.la/avatar/29191-96-20170421154949.jpeg - 2017-05-05T11:57:06+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/29191 - shp - cofe - - - - - - shp - shp - cofe - - cofe - - - - - - - - - - - - - - tag:social.heldscal.la,2017-04-29:noticeId=1967657:objectType=note - shp repeated a notice by lain - RT @<a href="https://social.heldscal.la/user/37181" class="h-card u-url p-nickname mention" title="Lain Iwakura">lain</a> @<a href="https://social.heldscal.la/user/29191" class="h-card u-url p-nickname mention" title="shp">shp</a> @<a href="https://social.heldscal.la/user/23211" class="h-card u-url p-nickname mention">lambadalambda</a> cofe. - - http://activitystrea.ms/schema/1.0/share - 2017-04-29T18:19:34+00:00 - 2017-04-29T18:19:34+00:00 - - http://activitystrea.ms/schema/1.0/activity - https://pleroma.soykaf.com/activities/43d12c05-db3f-4f3d-bee1-d676f264490c - - <a href="https://pleroma.soykaf.com/users/shp">@shp</a> <a href="https://social.heldscal.la/user/23211">@lambadalambda@social.heldscal.la</a> cofe. - - http://activitystrea.ms/schema/1.0/post - 2017-04-29T18:14:36+00:00 - 2017-04-29T18:14:36+00:00 - - http://activitystrea.ms/schema/1.0/person - https://pleroma.soykaf.com/users/lain - lain - Test account - - - - - - lain - Lain Iwakura - Test account - - - - http://activitystrea.ms/schema/1.0/note - https://pleroma.soykaf.com/activities/43d12c05-db3f-4f3d-bee1-d676f264490c - New note by lain - <a href="https://pleroma.soykaf.com/users/shp">@shp</a> <a href="https://social.heldscal.la/user/23211">@lambadalambda@social.heldscal.la</a> cofe. - - - - - tag:social.heldscal.la,2017-04-29:objectType=thread:nonce=e0b75431888efdab - - - https://pleroma.soykaf.com/users/lain/feed.atom - Lain Iwakura - - - https://social.heldscal.la/avatar/43188-96-20170429172422.jpeg - 2017-05-05T08:38:03+00:00 - - - - tag:social.heldscal.la,2017-04-29:objectType=thread:nonce=e0b75431888efdab - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:29558:2017-04-27T17:26:37+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:26:37 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://gs.smuglo.li/kfist">KFist</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:26:37+00:00 - 2017-04-27T17:26:37+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.smuglo.li/user/28051 - KFist - I stream thanks to @nepfag. I also drink, shitpost, and fly planes. I visited Japan and it changed my life. Do you love your station? - - - - - - kfist - KFist - I stream thanks to @nepfag. I also drink, shitpost, and fly planes. I visited Japan and it changed my life. Do you love your station? - - homepage - http://smuglo.li:8000/stream.m3u - true - - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=f766240d13ed9c2e - - - - - - - tag:social.heldscal.la,2017-04-27:noticeId=1933030:objectType=note - shp repeated a notice by shpbot - RT @<a href="https://gs.archae.me/user/4687" class="h-card u-url p-nickname mention" title="shpbot">shpbot</a> &gt;QuakeC - - http://activitystrea.ms/schema/1.0/share - 2017-04-27T17:21:10+00:00 - 2017-04-27T17:21:10+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:gs.archae.me,2017-04-27:noticeId=760881:objectType=note - - <span class='greentext'>&gt;QuakeC</span> - - http://activitystrea.ms/schema/1.0/post - 2017-04-27T17:15:13+00:00 - 2017-04-27T17:15:13+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.archae.me/user/4687 - shpbot - - - - - - shpbot - shpbot - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.archae.me,2017-04-27:noticeId=760881:objectType=note - New note by shpbot - <span class='greentext'>&gt;QuakeC</span> - - - - - https://gs.archae.me/conversation/318362 - - - https://gs.archae.me/api/statuses/user_timeline/4687.atom - shpbot - - - https://social.heldscal.la/avatar/31581-original-20170405170019.jpeg - 2017-05-05T11:45:08+00:00 - - - - https://gs.archae.me/conversation/318362 - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:23226:2017-04-27T17:20:48+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:20:48 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="http://quitter.se/taknamay">Internet Turtle Ⓐ 🏴 ✅</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:20:48+00:00 - 2017-04-27T17:20:48+00:00 - - http://activitystrea.ms/schema/1.0/person - http://quitter.se/user/115823 - Internet Turtle Ⓐ 🏴 ✅ - Scheme programmer, Novice esperantist, Spiritual naturalist - Will listen to your problems for free - XMPP: DarkDungeons94 at chatme.im - - - - - - taknamay - Internet Turtle Ⓐ 🏴 ✅ - Scheme programmer, Novice esperantist, Spiritual naturalist - Will listen to your problems for free - XMPP: DarkDungeons94 at chatme.im - - New Jersey, United States - - - homepage - https://quitter.se/taknamay - true - - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=a66b1fb22020c152 - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:29302:2017-04-27T17:20:33+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:20:33 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://icosahedron.website/@Trev">Chillidan Stormrave</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:20:33+00:00 - 2017-04-27T17:20:33+00:00 - - http://activitystrea.ms/schema/1.0/person - https://icosahedron.website/users/Trev - Trev Prime - web tech, music, ethics. radical individualist. kinda queer. love thy neighbor. always open for conversation. - - - - - - trev - Trev Prime - web tech, music, ethics. radical individualist. kinda queer. love thy neighbor. always open for conversation. - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=781c05bd64ad9520 - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:29367:2017-04-27T17:20:27+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:20:27 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://gs.kawa-kun.com/aya">射命丸 文</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:20:27+00:00 - 2017-04-27T17:20:27+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.kawa-kun.com/user/4885 - 射命丸 文 - Traditional Reporter of Fantasy - - - - - - aya - 射命丸 文 - Traditional Reporter of Fantasy - - Gensōkyō - - - homepage - https://danbooru.donmai.us - true - - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=5921da7a934e47ca - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:27773:2017-04-27T17:20:18+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:20:18 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://gs.smuglo.li/japananon">JapanAnon</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:20:18+00:00 - 2017-04-27T17:20:18+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.smuglo.li/user/27299 - JapanAnon - 匿名でしていてね! - - - - - - japananon - JapanAnon - 匿名でしていてね! - - ワイヤード - - - homepage - http://www.anonymous-japan.org - true - - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=ae3d819865886cba - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:36560:2017-04-27T17:19:30+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:19:30 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://shitposter.club/wareya">wareya</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:19:30+00:00 - 2017-04-27T17:19:30+00:00 - - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/15439 - wareya - Who are you to defy such a perfect being that is the machine? 日本語難しいけど頑張るぜ github.com/wareya wareya.moe Short: reya or war, never "ware" - - - - - - wareya - wareya - Who are you to defy such a perfect being that is the machine? 日本語難しいけど頑張るぜ github.com/wareya wareya.moe Short: reya or war, never "ware" - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=bd88a3cd20b5a418 - - - - - - - tag:social.heldscal.la,2017-04-27:subscription:29191:person:41176:2017-04-27T17:19:21+00:00 - shp (shp@social.heldscal.la)'s status on Thursday, 27-Apr-2017 17:19:21 UTC - <a href="https://social.heldscal.la/shp">shp</a> started following <a href="https://hakui.club/takeshitakenji">竹下憲二 (白)</a>. - - http://activitystrea.ms/schema/1.0/follow - 2017-04-27T17:19:21+00:00 - 2017-04-27T17:19:21+00:00 - - http://activitystrea.ms/schema/1.0/person - https://hakui.club/user/6 - 竹下憲二 (白) - Oh boy. - - - - - - takeshitakenji - 竹下憲二 (白) - Oh boy. - - Seattle, WA - - - homepage - http://gs.kawa-kun.com - true - - - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=b139a673deba6963 - - - - - - - tag:social.heldscal.la,2017-04-27:fave:29191:note:1932205:2017-04-27T17:17:46+00:00 - Favorite - shp favorited something by dolus: Looks like Merry is pussing out and caving to pressure. Sad. <a href="https://gs.smuglo.li/file/23e37de3c321248d3f322d8ec042372914568ab4c9431a94e568a61b8146587f.png" title="https://gs.smuglo.li/file/23e37de3c321248d3f322d8ec042372914568ab4c9431a94e568a61b8146587f.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432294</a> <a href="https://gs.smuglo.li/file/e5a9549a19986d59d51750090910f47c186787adf02b2b6ac58df37556887297.png" title="https://gs.smuglo.li/file/e5a9549a19986d59d51750090910f47c186787adf02b2b6ac58df37556887297.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432295</a> <a href="https://gs.smuglo.li/file/2fdfabbc8ab0b8dc135903a8c48c29b440d1f97446b98ced4ad14a54d3b5d41f.png" title="https://gs.smuglo.li/file/2fdfabbc8ab0b8dc135903a8c48c29b440d1f97446b98ced4ad14a54d3b5d41f.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432296</a> <a href="https://gs.smuglo.li/file/af605d7c6fe3a8c26c6d334c2a8e0005f7e86a266f14a5b3755e7d3ac4e226de.png" title="https://gs.smuglo.li/file/af605d7c6fe3a8c26c6d334c2a8e0005f7e86a266f14a5b3755e7d3ac4e226de.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432297</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-27T17:17:46+00:00 - 2017-04-27T17:17:46+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gs.smuglo.li,2017-04-27:noticeId=2065465:objectType=note - New note by dolus - Looks like Merry is pussing out and caving to pressure. Sad. <a href="https://gs.smuglo.li/file/23e37de3c321248d3f322d8ec042372914568ab4c9431a94e568a61b8146587f.png" title="https://gs.smuglo.li/file/23e37de3c321248d3f322d8ec042372914568ab4c9431a94e568a61b8146587f.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432294</a> <a href="https://gs.smuglo.li/file/e5a9549a19986d59d51750090910f47c186787adf02b2b6ac58df37556887297.png" title="https://gs.smuglo.li/file/e5a9549a19986d59d51750090910f47c186787adf02b2b6ac58df37556887297.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432295</a> <a href="https://gs.smuglo.li/file/2fdfabbc8ab0b8dc135903a8c48c29b440d1f97446b98ced4ad14a54d3b5d41f.png" title="https://gs.smuglo.li/file/2fdfabbc8ab0b8dc135903a8c48c29b440d1f97446b98ced4ad14a54d3b5d41f.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432296</a> <a href="https://gs.smuglo.li/file/af605d7c6fe3a8c26c6d334c2a8e0005f7e86a266f14a5b3755e7d3ac4e226de.png" title="https://gs.smuglo.li/file/af605d7c6fe3a8c26c6d334c2a8e0005f7e86a266f14a5b3755e7d3ac4e226de.png" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432297</a> - - - - - - - https://gs.smuglo.li/conversation/927473 - - - - - - - tag:social.heldscal.la,2017-04-27:fave:29191:note:1932492:2017-04-27T17:13:55+00:00 - Favorite - shp favorited something by zemichi: <a href="https://gs.smuglo.li/file/1d45ea4ffc95f15037f361b56ad6b89f8451b70ad1ff7a03b7bb0345b8e2227c.jpg" title="https://gs.smuglo.li/file/1d45ea4ffc95f15037f361b56ad6b89f8451b70ad1ff7a03b7bb0345b8e2227c.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432344</a><br /> that's a lot of loli - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-27T17:13:55+00:00 - 2017-04-27T17:13:55+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gs.smuglo.li,2017-04-27:noticeId=2065713:objectType=note - New note by zemichi - <a href="https://gs.smuglo.li/file/1d45ea4ffc95f15037f361b56ad6b89f8451b70ad1ff7a03b7bb0345b8e2227c.jpg" title="https://gs.smuglo.li/file/1d45ea4ffc95f15037f361b56ad6b89f8451b70ad1ff7a03b7bb0345b8e2227c.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432344</a><br /> that's a lot of loli - - - - - - - https://gs.smuglo.li/conversation/927673 - - - - - - - tag:social.heldscal.la,2017-04-27:fave:29191:note:1932559:2017-04-27T17:12:46+00:00 - Favorite - shp favorited something by gsimg: <a href="https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg" title="https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg" rel="nofollow noreferrer" class="attachment">https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg</a> #<span class="tag"><a href="https://gs.kawa-kun.com/tag/nsfw" rel="tag">nsfw</a></span> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-27T17:12:46+00:00 - 2017-04-27T17:12:46+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gs.kawa-kun.com,2017-04-27:noticeId=1608309:objectType=note - New note by gsimg - <a href="https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg" title="https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg" rel="nofollow noreferrer" class="attachment">https://gs.kawa-kun.com/file/3435c5cafda46f31cad5abb5837b3521b7b458198507073a496f4d10bad3633b.jpg</a> #<span class="tag"><a href="https://gs.kawa-kun.com/tag/nsfw" rel="tag">nsfw</a></span> - - - - - - - https://gs.kawa-kun.com/conversation/690817 - - - - - - - tag:social.heldscal.la,2017-04-27:fave:29191:note:1932601:2017-04-27T17:12:28+00:00 - Favorite - shp favorited something by zemichi: <a href="https://gs.smuglo.li/file/5d9114fafea7b9866c9d852bcfeaf66aade65ae26149758346bc5ade7e3fa8f0.jpg" title="https://gs.smuglo.li/file/5d9114fafea7b9866c9d852bcfeaf66aade65ae26149758346bc5ade7e3fa8f0.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432372</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-27T17:12:28+00:00 - 2017-04-27T17:12:28+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:gs.smuglo.li,2017-04-27:noticeId=2065821:objectType=note - New note by zemichi - <a href="https://gs.smuglo.li/file/5d9114fafea7b9866c9d852bcfeaf66aade65ae26149758346bc5ade7e3fa8f0.jpg" title="https://gs.smuglo.li/file/5d9114fafea7b9866c9d852bcfeaf66aade65ae26149758346bc5ade7e3fa8f0.jpg" rel="nofollow noreferrer" class="attachment">https://gs.smuglo.li/attachment/432372</a> - - - - - - - https://gs.smuglo.li/conversation/927760 - - - - - - - tag:social.heldscal.la,2017-04-27:noticeId=1932867:objectType=note - shp repeated a notice by shpbot - RT @<a href="https://gs.archae.me/user/4687" class="h-card u-url p-nickname mention" title="shpbot">shpbot</a> <a href="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" title="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-237676">https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg</a> #<span class="tag"><a href="https://social.heldscal.la/tag/2hu" rel="tag">2hu</a></span> #<span class="tag"><a href="https://social.heldscal.la/tag/ordinarymagician" rel="tag">ordinarymagician</a></span> :thinking: <a href="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" title="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-312306">https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg</a> - - http://activitystrea.ms/schema/1.0/share - 2017-04-27T17:11:35+00:00 - 2017-04-27T17:11:35+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:gs.archae.me,2017-04-27:noticeId=760830:objectType=note - - <a href="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" title="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg</a> #<span class="tag"><a href="https://gs.archae.me/tag/2hu" rel="tag">2hu</a></span> #<span class="tag"><a href="https://gs.archae.me/tag/ordinarymagician" rel="tag">ordinarymagician</a></span> :thinking: <a href="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" title="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg</a> - - http://activitystrea.ms/schema/1.0/post - 2017-04-27T17:00:08+00:00 - 2017-04-27T17:00:08+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.archae.me/user/4687 - shpbot - - - - - - shpbot - shpbot - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.archae.me,2017-04-27:noticeId=760830:objectType=note - New note by shpbot - <a href="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" title="https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/cbf7fbbee1127a9870e871305ca7de70f1eb1bbb79ffe5b3b0f33e37514d14d8.jpg</a> #<span class="tag"><a href="https://gs.archae.me/tag/2hu" rel="tag">2hu</a></span> #<span class="tag"><a href="https://gs.archae.me/tag/ordinarymagician" rel="tag">ordinarymagician</a></span> :thinking: <a href="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" title="https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/abf3f82d9ce28d2293d858af26c75bb5d4fdd091c0d90ca7bc72ea7efba220e4.jpg</a> - - - - - https://gs.archae.me/conversation/318317 - - - - - https://gs.archae.me/api/statuses/user_timeline/4687.atom - shpbot - - - https://social.heldscal.la/avatar/31581-original-20170405170019.jpeg - 2017-05-05T11:45:08+00:00 - - - - https://gs.archae.me/conversation/318317 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-04-27:noticeId=1932815:objectType=note - New note by shp - federation issues with SPC atm it seems - - - http://activitystrea.ms/schema/1.0/post - 2017-04-27T17:08:55+00:00 - 2017-04-27T17:08:55+00:00 - - tag:social.heldscal.la,2017-04-27:objectType=thread:nonce=645a13c841f51769 - - - - - - - tag:social.heldscal.la,2017-04-26:fave:29191:note:1907285:2017-04-26T06:59:07+00:00 - Favorite - shp favorited something by lambadalambda: Is this the most offensive video on the net? <a href="https://social.heldscal.la/file/4c34bfb81a8155c265031bc48f7e69c29eb0d2941c57daf63f80e17b0e2e5f47.webm" title="https://social.heldscal.la/file/4c34bfb81a8155c265031bc48f7e69c29eb0d2941c57daf63f80e17b0e2e5f47.webm" rel="nofollow noreferrer" class="attachment">https://social.heldscal.la/attachment/402251</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-26T06:59:07+00:00 - 2017-04-26T06:59:07+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-04-26:noticeId=1907285:objectType=note - New note by lambadalambda - Is this the most offensive video on the net? <a href="https://social.heldscal.la/file/4c34bfb81a8155c265031bc48f7e69c29eb0d2941c57daf63f80e17b0e2e5f47.webm" title="https://social.heldscal.la/file/4c34bfb81a8155c265031bc48f7e69c29eb0d2941c57daf63f80e17b0e2e5f47.webm" rel="nofollow external noreferrer" class="attachment" id="attachment-402251">https://social.heldscal.la/attachment/402251</a> - - - - - - - tag:social.heldscal.la,2017-04-26:objectType=thread:nonce=07b02e1328f456af - - - - - - - tag:social.heldscal.la,2017-04-26:noticeId=1907951:objectType=note - shp repeated a notice by shpbot - RT @<a href="https://gs.archae.me/user/4687" class="h-card u-url p-nickname mention" title="shpbot">shpbot</a> <a href="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" title="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" rel="nofollow external noreferrer" class="attachment" id="attachment-346198">https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg</a> - - http://activitystrea.ms/schema/1.0/share - 2017-04-26T06:58:19+00:00 - 2017-04-26T06:58:19+00:00 - - http://activitystrea.ms/schema/1.0/activity - tag:gs.archae.me,2017-04-26:noticeId=752596:objectType=note - - <a href="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" title="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg</a> - - http://activitystrea.ms/schema/1.0/post - 2017-04-26T06:15:07+00:00 - 2017-04-26T06:15:07+00:00 - - http://activitystrea.ms/schema/1.0/person - https://gs.archae.me/user/4687 - shpbot - - - - - - shpbot - shpbot - - - - http://activitystrea.ms/schema/1.0/note - tag:gs.archae.me,2017-04-26:noticeId=752596:objectType=note - New note by shpbot - <a href="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" title="https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg" rel="nofollow noreferrer" class="attachment">https://shitposter.club/file/718db06b564841331c72f9df767f8c9459e20c4dddbf0d4e61cd08ecbee7739d.jpg</a> - - - - - https://gs.archae.me/conversation/314010 - - - https://gs.archae.me/api/statuses/user_timeline/4687.atom - shpbot - - - https://social.heldscal.la/avatar/31581-original-20170405170019.jpeg - 2017-05-05T11:45:08+00:00 - - - - https://gs.archae.me/conversation/314010 - - - - - - - tag:social.heldscal.la,2017-04-26:fave:29191:note:1907341:2017-04-26T06:58:16+00:00 - Favorite - shp favorited something by moonman: <a href="https://shitposter.club/file/1377b0894e983599c11e739e406243cabed9f8af7961a2550ecaf97e32de8e60.jpg" title="https://shitposter.club/file/1377b0894e983599c11e739e406243cabed9f8af7961a2550ecaf97e32de8e60.jpg" class="attachment" rel="nofollow">https://shitposter.club/attachment/630989</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-26T06:58:16+00:00 - 2017-04-26T06:58:16+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2017-04-26:noticeId=2681941:objectType=note - New note by moonman - <a href="https://shitposter.club/file/1377b0894e983599c11e739e406243cabed9f8af7961a2550ecaf97e32de8e60.jpg" title="https://shitposter.club/file/1377b0894e983599c11e739e406243cabed9f8af7961a2550ecaf97e32de8e60.jpg" class="attachment" rel="nofollow">https://shitposter.club/attachment/630989</a> - - - - - - - https://shitposter.club/conversation/1300990 - - - - - - - tag:social.heldscal.la,2017-04-26:fave:29191:comment:1907412:2017-04-26T06:57:56+00:00 - Favorite - shp favorited something by lambadalambda: @<a href="https://gs.smuglo.li/user/2" class="h-card u-url p-nickname mention" title="nepfag">nepfag</a> <a href="https://cherubini.casa/why-i-shut-down-wizards-town-and-left-mastodon-6d4e631346b3?source=linkShare-89c2f851e979-1493184822&amp;gi=a6a47c5466a0" title="https://cherubini.casa/why-i-shut-down-wizards-town-and-left-mastodon-6d4e631346b3?source=linkShare-89c2f851e979-1493184822&amp;gi=a6a47c5466a0" rel="nofollow noreferrer" class="attachment">https://social.heldscal.la/url/402273</a> - - http://activitystrea.ms/schema/1.0/favorite - 2017-04-26T06:57:56+00:00 - 2017-04-26T06:57:56+00:00 - - http://activitystrea.ms/schema/1.0/comment - tag:social.heldscal.la,2017-04-26:noticeId=1907412:objectType=comment - New comment by lambadalambda - @<a href="https://gs.smuglo.li/user/2" class="h-card u-url p-nickname mention" title="nepfag">nepfag</a> <a href="https://cherubini.casa/why-i-shut-down-wizards-town-and-left-mastodon-6d4e631346b3?source=linkShare-89c2f851e979-1493184822&amp;gi=a6a47c5466a0" title="https://cherubini.casa/why-i-shut-down-wizards-town-and-left-mastodon-6d4e631346b3?source=linkShare-89c2f851e979-1493184822&amp;gi=a6a47c5466a0" rel="nofollow external noreferrer" class="attachment" id="attachment-402273">https://social.heldscal.la/url/402273</a> - - - - - - - tag:social.heldscal.la,2017-04-26:objectType=thread:nonce=85c21eda7aaa7259 - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:social.heldscal.la,2017-04-26:noticeId=1907942:objectType=note - New note by shp - #<span class="tag"><a href="https://social.heldscal.la/tag/cofe" rel="tag">cofe</a></span> time my friends <a href="https://social.heldscal.la/file/ec254b45b3a86ff74bc08bc7e065cb681d77cf7d4cedc9cdcf59e16adf311da3.png" title="https://social.heldscal.la/file/ec254b45b3a86ff74bc08bc7e065cb681d77cf7d4cedc9cdcf59e16adf311da3.png" rel="nofollow external noreferrer" class="attachment" id="attachment-402381">https://social.heldscal.la/attachment/402381</a> - - - http://activitystrea.ms/schema/1.0/post - 2017-04-26T06:57:18+00:00 - 2017-04-26T06:57:18+00:00 - - tag:social.heldscal.la,2017-04-26:objectType=thread:nonce=9c9d9373bccfaf70 - - - - - - - - diff --git a/test/fixtures/tesla_mock/sakamoto.atom b/test/fixtures/tesla_mock/sakamoto.atom deleted file mode 100644 index 648946795..000000000 --- a/test/fixtures/tesla_mock/sakamoto.atom +++ /dev/null @@ -1 +0,0 @@ -http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/0ccc1a2c-66b0-4305-b23a-7f7f2b040056New note by eal<a href='https://shitposter.club/user/5381'>@shpuld</a> <a href='https://pleroma.hjkos.com/users/hj'>@hj</a> IM NOT GAY DAD2017-08-04T12:51:26.130592Z2017-08-04T12:51:26.130592Zhttps://pleroma.hjkos.com/contexts/53093c74-2100-4bf4-aac6-66d1973d03efhttps://social.sakamoto.gq/users/ealhttp://activitystrea.ms/schema/1.0/personhttps://social.sakamoto.gq/users/ealeal坂本(・ヮ・)eal \ No newline at end of file diff --git a/test/fixtures/tesla_mock/sakamoto_eal_feed.atom b/test/fixtures/tesla_mock/sakamoto_eal_feed.atom deleted file mode 100644 index 9340d9038..000000000 --- a/test/fixtures/tesla_mock/sakamoto_eal_feed.atom +++ /dev/null @@ -1 +0,0 @@ -https://social.sakamoto.gq/users/eal/feed.atomeal's timeline2017-08-04T14:19:12.683854https://social.sakamoto.gq/users/ealhttp://activitystrea.ms/schema/1.0/personhttps://social.sakamoto.gq/users/ealeal坂本(・ヮ・)ealhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/b79a1721-23f3-45a5-9610-adb08c2afae5New note by ealHonestly, I like all smileys that are not emoji.2017-08-04T14:19:12.675999Z2017-08-04T14:19:12.675999Zhttps://social.sakamoto.gq/contexts/e05ede92-8db9-4963-8b8e-e71a5797d68fhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/45475bf3-2dfc-4d9e-8eae-1f4f86f48982New note by ealThen again, I like all smileys/emoticons that are not emoji.<br>2017-08-04T14:19:10.113373Z2017-08-04T14:19:10.113373Zhttps://social.sakamoto.gq/contexts/852d1605-4dcb-4ba7-9ba4-dfc37ed62fbchttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/8f8fd6d6-cc63-40c6-a5d0-1c0e4f919368New note by ealI love the russian-style smiley.2017-08-04T14:18:30.478552Z2017-08-04T14:18:30.478552Zhttps://social.sakamoto.gq/contexts/852d1605-4dcb-4ba7-9ba4-dfc37ed62fbchttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/6e69df95-f2ad-4b8e-af4a-e93ff93d64e1eal started following https://cybre.space/users/0x3Feal started following https://cybre.space/users/0x3F2017-08-04T14:17:24.942193Z2017-08-04T14:17:24.942193Zhttp://activitystrea.ms/schema/1.0/personhttps://cybre.space/users/0x3Fhttps://cybre.space/users/0x3Fhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/54c5e260-0185-4267-a2a6-f5dd9c76c2c9eal started following https://niu.moe/users/ryeeal started following https://niu.moe/users/rye2017-08-04T14:16:35.604739Z2017-08-04T14:16:35.604739Zhttp://activitystrea.ms/schema/1.0/personhttps://niu.moe/users/ryehttps://niu.moe/users/ryehttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/092ca863-19a8-416c-85d7-d3f23b3c0203eal started following https://mastodon.xyz/users/rafudesueal started following https://mastodon.xyz/users/rafudesu2017-08-04T14:16:10.993429Z2017-08-04T14:16:10.993429Zhttp://activitystrea.ms/schema/1.0/personhttps://mastodon.xyz/users/rafudesuhttps://mastodon.xyz/users/rafudesuhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/be5cf702-b127-423b-a6be-5f78f01a4289eal started following https://gs.kawa-kun.com/user/2eal started following https://gs.kawa-kun.com/user/22017-08-04T14:15:41.804611Z2017-08-04T14:15:41.804611Zhttp://activitystrea.ms/schema/1.0/personhttps://gs.kawa-kun.com/user/2https://gs.kawa-kun.com/user/2http://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/4951e2a1-9bae-4e87-8e98-e6d2f8a52338eal started following https://gs.kawa-kun.com/user/4885eal started following https://gs.kawa-kun.com/user/48852017-08-04T14:15:00.135352Z2017-08-04T14:15:00.135352Zhttp://activitystrea.ms/schema/1.0/personhttps://gs.kawa-kun.com/user/4885https://gs.kawa-kun.com/user/4885http://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/cadf8745-b9ee-4f6c-af32-bfddb70e4607eal started following https://mastodon.social/users/Murassaeal started following https://mastodon.social/users/Murassa2017-08-04T14:14:36.339560Z2017-08-04T14:14:36.339560Zhttp://activitystrea.ms/schema/1.0/personhttps://mastodon.social/users/Murassahttps://mastodon.social/users/Murassahttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/a52c9aab-f0e6-4ccb-8dd3-9f417e72a41ceal started following https://mastodon.social/users/rysiekeal started following https://mastodon.social/users/rysiek2017-08-04T14:13:04.061572Z2017-08-04T14:13:04.061572Zhttp://activitystrea.ms/schema/1.0/personhttps://mastodon.social/users/rysiekhttps://mastodon.social/users/rysiekhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/738bc887-4cca-4b36-8c86-2b54d4c54732eal started following https://mastodon.hasameli.com/users/munineal started following https://mastodon.hasameli.com/users/munin2017-08-04T14:12:10.514155Z2017-08-04T14:12:10.514155Zhttp://activitystrea.ms/schema/1.0/personhttps://mastodon.hasameli.com/users/muninhttps://mastodon.hasameli.com/users/muninhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/dc66ad5a-b776-4180-a8aa-e4c1bf7cb703eal started following https://cybre.space/users/nightpooleal started following https://cybre.space/users/nightpool2017-08-04T14:11:16.046148Z2017-08-04T14:11:16.046148Zhttp://activitystrea.ms/schema/1.0/personhttps://cybre.space/users/nightpoolhttps://cybre.space/users/nightpoolhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/9c5c00d7-3ce4-4c11-b965-dc5c2bda86c5New note by eal<a href='https://mastodon.zombocloud.com/users/staticsafe'>@staticsafe</a> privet )))2017-08-04T14:10:08.812247Z2017-08-04T14:10:08.812247Zhttps://social.sakamoto.gq/contexts/12a33823-0327-4c1c-a591-850ea79331b5http://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/49798053-1f40-4a71-ad33-106e90630863eal started following https://social.homunyan.com/users/animeirleal started following https://social.homunyan.com/users/animeirl2017-08-04T14:09:44.904792Z2017-08-04T14:09:44.904792Zhttp://activitystrea.ms/schema/1.0/personhttps://social.homunyan.com/users/animeirlhttps://social.homunyan.com/users/animeirlhttp://activitystrea.ms/schema/1.0/favoritehttps://social.sakamoto.gq/activities/2d83a1c5-70a6-45d3-9b84-59d6a70fbb17New favorite by ealeal favorited something2017-08-04T14:07:27.210044Z2017-08-04T14:07:27.210044Zhttp://activitystrea.ms/schema/1.0/notehttps://pleroma.soykaf.com/objects/b831e52f-4ed4-438e-95b4-888897f64f09https://pleroma.hjkos.com/contexts/3ed48205-1e72-4e19-a618-89a0d2ca811ehttp://activitystrea.ms/schema/1.0/favoritehttps://social.sakamoto.gq/activities/06d28bed-544a-496b-8414-1c6d439273b5New favorite by ealeal favorited something2017-08-04T14:05:37.280200Z2017-08-04T14:05:37.280200Zhttp://activitystrea.ms/schema/1.0/notetag:toot-lab.reclaim.technology,2017-08-04:objectId=1166030:objectType=Statustag:p2px.me,2017-08-04:objectType=thread:nonce=f8bfc4d13db6ce91http://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/72bf19d4-9ad4-4b2f-9cd0-f0d70f4e931beal started following https://mstdn.jp/users/nullkaleal started following https://mstdn.jp/users/nullkal2017-08-04T14:05:04.148904Z2017-08-04T14:05:04.148904Zhttp://activitystrea.ms/schema/1.0/personhttps://mstdn.jp/users/nullkalhttps://mstdn.jp/users/nullkalhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://social.sakamoto.gq/objects/b0e89515-7621-4e09-b23d-83e192324107New note by eal<a href='https://p2px.me/user/1'>@stitchxd</a> test also2017-08-04T14:04:38.699051Z2017-08-04T14:04:38.699051Ztag:p2px.me,2017-08-04:objectType=thread:nonce=f8bfc4d13db6ce91http://activitystrea.ms/schema/1.0/favoritehttps://social.sakamoto.gq/activities/d8d2006b-6b23-45d6-ba27-39d27587777dNew favorite by ealeal favorited something2017-08-04T14:04:32.106626Z2017-08-04T14:04:32.106626Zhttp://activitystrea.ms/schema/1.0/notetag:p2px.me,2017-08-04:noticeId=222109:objectType=notetag:p2px.me,2017-08-04:objectType=thread:nonce=f8bfc4d13db6ce91http://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://social.sakamoto.gq/activities/cb9db95d-ec27-41fa-bebd-5375fc13acb9eal started following https://mastodon.social/users/Gargroneal started following https://mastodon.social/users/Gargron2017-08-04T14:04:04.325531Z2017-08-04T14:04:04.325531Zhttp://activitystrea.ms/schema/1.0/personhttps://mastodon.social/users/Gargronhttps://mastodon.social/users/Gargron \ No newline at end of file diff --git a/test/fixtures/tesla_mock/shp@pleroma.soykaf.com.feed b/test/fixtures/tesla_mock/shp@pleroma.soykaf.com.feed deleted file mode 100644 index b24ef7ab6..000000000 --- a/test/fixtures/tesla_mock/shp@pleroma.soykaf.com.feed +++ /dev/null @@ -1 +0,0 @@ -https://pleroma.soykaf.com/users/shp/feed.atomshp's timeline2017-09-14T08:31:48.911686https://pleroma.soykaf.com/users/shphttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/shpshpshpcofeshphttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://pleroma.soykaf.com/activities/0b5f5ef2-020a-4f9e-a92b-a2bf21224644shp started following https://pleroma.soykaf.com/users/goozshp started following https://pleroma.soykaf.com/users/gooz2017-09-14T08:31:48.911226Z2017-09-14T08:31:48.911226Zhttp://activitystrea.ms/schema/1.0/personhttps://pleroma.soykaf.com/users/goozhttps://pleroma.soykaf.com/users/goozhttp://activitystrea.ms/schema/1.0/activityhttp://activitystrea.ms/schema/1.0/followhttps://pleroma.soykaf.com/activities/d928b7f7-dc10-478c-859b-cd604770da60shp started following https://niu.moe/users/xiaoyongmaoshp started following https://niu.moe/users/xiaoyongmao2017-09-14T08:16:52.674253Z2017-09-14T08:16:52.674253Zhttp://activitystrea.ms/schema/1.0/personhttps://niu.moe/users/xiaoyongmaohttps://niu.moe/users/xiaoyongmaohttp://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/3f5089b3-f1e5-47b6-8bfe-a9c4a860e724New favorite by shpshp favorited something2017-09-14T08:12:18.213055Z2017-09-14T08:12:18.213055Zhttp://activitystrea.ms/schema/1.0/notehttps://mastodon.xyz/users/Azurolu/statuses/8346804tag:mastodon.xyz,2017-09-14:objectId=3669709:objectType=Conversationhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/0def9b19-6b0f-44e0-96b3-543fa06a4010New note by shp<a href='https://niu.moe/users/Pasty'>@Pasty</a> I love the peach<br><a href="https://pleroma.soykaf.com/media/7e8bd209-dbd4-481a-a62c-d302d68df16d/__hinanawi_tenshi_touhou_drawn_by_e_o__8c6824f52dd494f6026607570179265f.jpg" class='attachment'>__hinanawi_tenshi_touhou_drawn_…</a>2017-09-14T08:12:04.367142Z2017-09-14T08:12:04.367142Ztag:niu.moe,2017-09-14:objectId=1660781:objectType=Conversationhttp://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/a4170edf-d273-4b82-931d-662aaf3872f3New favorite by shpshp favorited something2017-09-14T08:10:26.205104Z2017-09-14T08:10:26.205104Zhttp://activitystrea.ms/schema/1.0/notehttps://niu.moe/users/NekoiNemo/statuses/3210992tag:niu.moe,2017-09-14:objectId=1660761:objectType=Conversationhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/c50c47a0-fac5-4781-a7e6-f20e7226d5fcNew note by shp<a href='https://freezepeach.xyz/user/3458'>@hakui</a> <a href='https://pleroma.soykaf.com/users/lain'>@lain</a> you guys are forgetting the pancakes jeez2017-09-14T08:09:30.088418Z2017-09-14T08:09:30.088418Zhttps://pleroma.soykaf.com/contexts/ac9c98ee-3eca-4b4b-9620-64b5e85e2623http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/2af9f622-5986-483c-83a1-ac59a9035b50New favorite by shpshp favorited something2017-09-14T08:09:16.346235Z2017-09-14T08:09:16.346235Zhttp://activitystrea.ms/schema/1.0/notetag:freezepeach.xyz,2017-09-14:noticeId=3926191:objectType=commenthttps://pleroma.soykaf.com/contexts/ac9c98ee-3eca-4b4b-9620-64b5e85e2623http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/f52aad69-5828-4e0e-bb7b-f2f0869d3ff0New note by shp<a href='https://gs.smuglo.li/user/253'>@kro</a> I'll probs try some of those 2hu mangos2017-09-14T08:09:13.262835Z2017-09-14T08:09:13.262835Ztag:gs.smuglo.li,2017-09-14:objectType=thread:nonce=c4ac2016e07c4123http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/35743658-efee-46cf-9cdf-487b95709cd5New favorite by shpshp favorited something2017-09-14T08:09:00.517534Z2017-09-14T08:09:00.517534Zhttp://activitystrea.ms/schema/1.0/notetag:gs.smuglo.li,2017-09-14:noticeId=4113226:objectType=commenttag:gs.smuglo.li,2017-09-14:objectType=thread:nonce=c4ac2016e07c4123http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/22258ba8-58dc-4e09-b476-fe28d3307377New favorite by shpshp favorited something2017-09-14T08:08:38.087136Z2017-09-14T08:08:38.087136Zhttp://activitystrea.ms/schema/1.0/notehttps://pleroma.soykaf.com/objects/13d7809e-5dca-4117-8738-887759392f2chttps://pleroma.soykaf.com/contexts/ac9c98ee-3eca-4b4b-9620-64b5e85e2623http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/f56d640a-0dbd-48af-80b1-06d0dbd26774New note by shp<a href='https://social.sakamoto.gq/users/eal'>@eal</a> ...but neither does my phone<br><br>low brightness, very dark wallpaper (pic related, but even darker, couldn't find the actual version)<br><a href="https://pleroma.soykaf.com/media/6d1b8d57-80ae-41d6-bdea-58fea09ecdf4/phonewallpaper.png" class='attachment'>phonewallpaper.png</a>2017-09-14T08:07:23.081214Z2017-09-14T08:07:23.081214Zhttps://pleroma.soykaf.com/contexts/f4c5d56e-fc58-467b-a8a5-10515c012355http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/d313df1d-121c-4ab8-abd1-e6aedcf55cbdNew note by shp<a href='https://niu.moe/users/Pasty'>@Pasty</a> y-you too2017-09-14T07:55:26.153486Z2017-09-14T07:55:26.153486Ztag:niu.moe,2017-09-14:objectId=1660616:objectType=Conversationhttp://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/7b642424-4edb-48cc-8711-1eafb4745269New note by shp<a href='https://social.sakamoto.gq/users/eal'>@eal</a> bothers me more when sleeping, wore one for nearly 2 years2017-09-14T07:54:53.449227Z2017-09-14T07:54:53.449227Zhttps://pleroma.soykaf.com/contexts/f4c5d56e-fc58-467b-a8a5-10515c012355http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/5bc1bff1-88c3-489d-8efd-7e4755690a18New note by shpquick test2017-09-14T07:54:09.045525Z2017-09-14T07:54:09.045525Zhttps://pleroma.soykaf.com/contexts/cd770c2a-408e-4895-988c-60319298f219http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/956f1fb5-6f2f-433e-ab71-7f732b76f4beNew note by shphad some trouble getting sleep last night. only used phone to check the time a few times (v essential to have a near-black wallpaper to not blind yourself when you do that). can't rember the last time I rolled in the bed for longer than an hour like that2017-09-14T07:51:23.557775Z2017-09-14T07:51:23.557775Zhttps://pleroma.soykaf.com/contexts/f4c5d56e-fc58-467b-a8a5-10515c012355http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/d935d9f2-ebc7-4ff2-b65a-fbf418a60935New note by shp<a href='https://gs.smuglo.li/user/253'>@kro</a> doesn't sound like a bad idea at all2017-09-14T07:49:55.702555Z2017-09-14T07:49:55.702555Ztag:gs.smuglo.li,2017-09-14:objectType=thread:nonce=c4ac2016e07c4123http://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/342c8803-ee16-487d-9488-a39d763073f6New favorite by shpshp favorited something2017-09-14T07:49:41.875840Z2017-09-14T07:49:41.875840Zhttp://activitystrea.ms/schema/1.0/notetag:anticapitalist.party,2017-09-14:objectId=3322865:objectType=Statustag:anticapitalist.party,2017-09-14:objectId=1251751:objectType=Conversationhttp://activitystrea.ms/schema/1.0/favoritehttps://pleroma.soykaf.com/activities/5d98a19b-dd55-4077-9841-142937c613adNew favorite by shpshp favorited something2017-09-14T07:49:30.584265Z2017-09-14T07:49:30.584265Zhttp://activitystrea.ms/schema/1.0/notetag:gs.smuglo.li,2017-09-14:noticeId=4113170:objectType=commenttag:gs.smuglo.li,2017-09-14:objectType=thread:nonce=c4ac2016e07c4123http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/fdf3626a-50ba-458b-9bf7-b5f2cfa505fcNew note by shp<a href='https://pleroma.hjkos.com/users/hj'>@hj</a> c time2017-09-14T07:48:52.805422Z2017-09-14T07:48:52.805422Zhttps://pleroma.hjkos.com/contexts/dc4a3a3e-d366-4c0c-8789-8a9bee3537d9http://activitystrea.ms/schema/1.0/notehttp://activitystrea.ms/schema/1.0/posthttps://pleroma.soykaf.com/objects/c7c8eb17-b669-4827-9fbc-90f1fc54e4b1New note by shp<a href='https://sunshinegardens.org/users/tbny'>@tbny</a> err.. mediterranean from finnish*2017-09-14T07:46:52.764234Z2017-09-14T07:46:52.764234Zhttps://pleroma.soykaf.com/contexts/ac9c98ee-3eca-4b4b-9620-64b5e85e2623 \ No newline at end of file diff --git a/test/fixtures/tesla_mock/spc_5381.atom b/test/fixtures/tesla_mock/spc_5381.atom deleted file mode 100644 index c3288e97b..000000000 --- a/test/fixtures/tesla_mock/spc_5381.atom +++ /dev/null @@ -1,438 +0,0 @@ - - - GNU social - https://shitposter.club/api/statuses/user_timeline/5381.atom - shpuld timeline - Updates from shpuld on Shitposter Club! - https://shitposter.club/avatar/5381-96-20171230093854.png - 2018-02-23T13:42:22+00:00 - - http://activitystrea.ms/schema/1.0/person - https://shitposter.club/user/5381 - shpuld - - - - - - shpuld - shp - - - - - - - - - - - - - tag:shitposter.club,2018-02-23:fave:5381:comment:7387801:2018-02-23T13:39:40+00:00 - Favorite - shpuld favorited something by mayuutann: <p><span class="h-card"><a href="https://freezepeach.xyz/hakui" class="u-url mention">@<span>hakui</span></a></span> <span class="h-card"><a href="https://gs.smuglo.li/histoire" class="u-url mention">@<span>histoire</span></a></span> <span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> <a href="https://mstdn.io/media/_Ee-x91XN0udpfZVO_U" rel="nofollow"><span class="invisible">https://</span><span class="ellipsis">mstdn.io/media/_Ee-x91XN0udpfZ</span><span class="invisible">VO_U</span></a></p> - - http://activitystrea.ms/schema/1.0/favorite - 2018-02-23T13:39:40+00:00 - 2018-02-23T13:39:40+00:00 - - http://activitystrea.ms/schema/1.0/comment - https://mstdn.io/users/mayuutann/statuses/99574950785668071 - New comment by mayuutann - <p><span class="h-card"><a href="https://freezepeach.xyz/hakui" class="u-url mention">@<span>hakui</span></a></span> <span class="h-card"><a href="https://gs.smuglo.li/histoire" class="u-url mention">@<span>histoire</span></a></span> <span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> <a href="https://mstdn.io/media/_Ee-x91XN0udpfZVO_U" rel="nofollow"><span class="invisible">https://</span><span class="ellipsis">mstdn.io/media/_Ee-x91XN0udpfZ</span><span class="invisible">VO_U</span></a></p> - - - - - - - https://freezepeach.xyz/conversation/4182511 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387723:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> @<a href="https://pleroma.soykaf.com/users/lain" class="h-card mention" title="&#x2468; lain &#x2468;">lain</a> how naive~ - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:30:15+00:00 - 2018-02-23T13:30:15+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=2f09acf104aebfe3 - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387703:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> @<a href="https://pleroma.soykaf.com/users/lain" class="h-card mention" title="&#x2468; lain &#x2468;">lain</a> you expect anyone to believe that?? - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:28:08+00:00 - 2018-02-23T13:28:08+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=2f09acf104aebfe3 - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387639:objectType=comment - New comment by shpuld - @<a href="https://mstdn.io/users/mayuutann" class="h-card mention" title="Mayutan&#x2615;">mayuutann</a> @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> pacyuri!! <a href="https://shitposter.club/file/eea140be45df3f993c4533026bf9a78fe8facd296d2fa0c6d02b2e347c5dc30e.jpg" title="https://shitposter.club/file/eea140be45df3f993c4533026bf9a78fe8facd296d2fa0c6d02b2e347c5dc30e.jpg" class="attachment" id="attachment-1589462" rel="nofollow external">https://shitposter.club/attachment/1589462</a> - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:20:38+00:00 - 2018-02-23T13:20:38+00:00 - - - - https://freezepeach.xyz/conversation/4183220 - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387611:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> why is pacyu eating a pizza so cute - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:18:07+00:00 - 2018-02-23T13:18:07+00:00 - - - - https://freezepeach.xyz/conversation/4183220 - - - - - - - - tag:shitposter.club,2018-02-23:fave:5381:comment:7387600:2018-02-23T13:17:52+00:00 - Favorite - shpuld favorited something by mayuutann: <p><span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> <span class="h-card"><a href="https://gs.smuglo.li/histoire" class="u-url mention">@<span>histoire</span></a></span> <span class="h-card"><a href="https://freezepeach.xyz/hakui" class="u-url mention">@<span>hakui</span></a></span> pichu! <a href="https://mstdn.io/media/Crv5eubz1KO0dgBEulI" rel="nofollow"><span class="invisible">https://</span><span class="ellipsis">mstdn.io/media/Crv5eubz1KO0dgB</span><span class="invisible">EulI</span></a></p> - - http://activitystrea.ms/schema/1.0/favorite - 2018-02-23T13:17:52+00:00 - 2018-02-23T13:17:52+00:00 - - http://activitystrea.ms/schema/1.0/comment - https://mstdn.io/users/mayuutann/statuses/99574863865459283 - New comment by mayuutann - <p><span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> <span class="h-card"><a href="https://gs.smuglo.li/histoire" class="u-url mention">@<span>histoire</span></a></span> <span class="h-card"><a href="https://freezepeach.xyz/hakui" class="u-url mention">@<span>hakui</span></a></span> pichu! <a href="https://mstdn.io/media/Crv5eubz1KO0dgBEulI" rel="nofollow"><span class="invisible">https://</span><span class="ellipsis">mstdn.io/media/Crv5eubz1KO0dgB</span><span class="invisible">EulI</span></a></p> - - - - - - - https://freezepeach.xyz/conversation/4182511 - - - - - - - tag:shitposter.club,2018-02-23:fave:5381:comment:7387544:2018-02-23T13:12:43+00:00 - Favorite - shpuld favorited something by mayuutann: <p><span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> wa~~i!! :blobcheer:</p> - - http://activitystrea.ms/schema/1.0/favorite - 2018-02-23T13:12:43+00:00 - 2018-02-23T13:12:43+00:00 - - http://activitystrea.ms/schema/1.0/comment - https://mstdn.io/users/mayuutann/statuses/99574840290947233 - New comment by mayuutann - <p><span class="h-card"><a href="https://shitposter.club/shpuld" class="u-url mention">@<span>shpuld</span></a></span> wa~~i!! :blobcheer:</p> - - - - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=d05e2b056274c5ab - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387555:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> more!! - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:12:23+00:00 - 2018-02-23T13:12:23+00:00 - - - - https://freezepeach.xyz/conversation/4183220 - - - - - - - - tag:shitposter.club,2018-02-23:fave:5381:note:7387537:2018-02-23T13:12:19+00:00 - Favorite - shpuld favorited something by hakui: you have pacyupacyu'd for: 45 minutes 03 seconds - - http://activitystrea.ms/schema/1.0/favorite - 2018-02-23T13:12:19+00:00 - 2018-02-23T13:12:19+00:00 - - http://activitystrea.ms/schema/1.0/note - tag:freezepeach.xyz,2018-02-23:noticeId=6451332:objectType=note - New note by hakui - you have pacyupacyu'd for: 45 minutes 03 seconds - - - - - - - https://freezepeach.xyz/conversation/4183220 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387539:objectType=comment - New comment by shpuld - @<a href="https://mstdn.io/users/mayuutann" class="h-card mention" title="Mayutan&#x2615;">mayuutann</a> ndndnd~ - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:11:04+00:00 - 2018-02-23T13:11:04+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=d05e2b056274c5ab - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387518:objectType=comment - New comment by shpuld - @<a href="https://mstdn.io/users/mayuutann" class="h-card mention" title="Mayutan&#x2615;">mayuutann</a> well done! mayumayu is so energetic - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:08:50+00:00 - 2018-02-23T13:08:50+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=d05e2b056274c5ab - - - - - - - - tag:shitposter.club,2018-02-23:fave:5381:note:7387503:2018-02-23T13:08:00+00:00 - Favorite - shpuld favorited something by mayuutann: <p>done with FIGURE MAT!!<br /> (Posted with IFTTT)</p> - - http://activitystrea.ms/schema/1.0/favorite - 2018-02-23T13:08:00+00:00 - 2018-02-23T13:08:00+00:00 - - http://activitystrea.ms/schema/1.0/note - https://mstdn.io/users/mayuutann/statuses/99574825526201897 - New note by mayuutann - <p>done with FIGURE MAT!!<br /> (Posted with IFTTT)</p> - - - - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=c6aaa9b91e8d242f - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387486:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> @<a href="https://a.weirder.earth/users/mutstd" class="h-card mention" title="Mutant Standard">mutstd</a> @<a href="https://donphan.social/users/Siphonay" class="h-card mention" title="Siphonay">siphonay</a> jokes on you I'm oppressively shitposting myself - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:05:44+00:00 - 2018-02-23T13:05:44+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=5d306467336c9661 - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387466:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> @<a href="https://a.weirder.earth/users/mutstd" class="h-card mention" title="Mutant Standard">mutstd</a> @<a href="https://donphan.social/users/Siphonay" class="h-card mention" title="Siphonay">siphonay</a> how does it feel being hostile - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:04:10+00:00 - 2018-02-23T13:04:10+00:00 - - - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=5d306467336c9661 - - - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387459:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> gorogoro - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:03:32+00:00 - 2018-02-23T13:03:32+00:00 - - - - https://freezepeach.xyz/conversation/4181784 - - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387432:objectType=comment - New comment by shpuld - @<a href="https://freezepeach.xyz/user/3458" class="h-card mention" title="&#x5FA1;&#x5712;&#x306F;&#x304F;&#x3044;">hakui</a> ndnd - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T13:02:05+00:00 - 2018-02-23T13:02:05+00:00 - - - - https://freezepeach.xyz/conversation/4181784 - - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2018-02-23:noticeId=7387367:objectType=note - New note by shpuld - dear diary: I'm trying to do work but I can only think of tenshi eating a corndog - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T12:56:03+00:00 - 2018-02-23T12:56:03+00:00 - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=57f316da416743fc - - - - - - - http://activitystrea.ms/schema/1.0/note - tag:shitposter.club,2018-02-23:noticeId=7387354:objectType=note - New note by shpuld - jesus christ it's such a fridey at work - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T12:53:50+00:00 - 2018-02-23T12:53:50+00:00 - - tag:shitposter.club,2018-02-23:objectType=thread:nonce=c05eb5e91bdcbdb7 - - - - - - - http://activitystrea.ms/schema/1.0/comment - tag:shitposter.club,2018-02-23:noticeId=7387343:objectType=comment - New comment by shpuld - @<a href="https://gs.smuglo.li/user/589" class="h-card mention" title="&#x16DE;&#x16A9;&#x16B3;&#x16C1;&#x16DE;&#x16A9;&#x16B3;&#x16C1;">dokidoki</a> give them free upgrades to krokodil - - - http://activitystrea.ms/schema/1.0/post - 2018-02-23T12:53:15+00:00 - 2018-02-23T12:53:15+00:00 - - - - https://gs.smuglo.li/conversation/3934774 - - - - - - - diff --git a/test/fixtures/unfollow.xml b/test/fixtures/unfollow.xml deleted file mode 100644 index 7a8f8fd2e..000000000 --- a/test/fixtures/unfollow.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - GNU social - https://social.heldscal.la/api/statuses/user_timeline/23211.atom - lambadalambda timeline - Updates from lambadalambda on social.heldscal.la! - https://social.heldscal.la/avatar/23211-96-20170416114255.jpeg - 2017-05-07T09:54:49+00:00 - - http://activitystrea.ms/schema/1.0/person - https://social.heldscal.la/user/23211 - lambadalambda - Call me Deacon Blues. - - - - - - lambadalambda - Constance Variable - Call me Deacon Blues. - - Berlin - - - homepage - https://heldscal.la - true - - - - - - - - - - - - - undo:tag:social.heldscal.la,2017-05-07:subscription:23211:person:44803:2017-05-07T09:54:48+00:00 - Constance Variable (lambadalambda@social.heldscal.la)'s status on Sunday, 07-May-2017 09:54:49 UTC - <a href="https://social.heldscal.la/lambadalambda">Constance Variable</a> stopped following <a href="https://pawoo.net/@pekorino">mono</a>. - - http://activitystrea.ms/schema/1.0/unfollow - 2017-05-07T09:54:49+00:00 - 2017-05-07T09:54:49+00:00 - - http://activitystrea.ms/schema/1.0/person - https://pawoo.net/users/pekorino - mono - http://shitposter.club/mono 孤独のグルメ - - - - - pekorino - mono - http://shitposter.club/mono 孤独のグルメ - - - tag:social.heldscal.la,2017-05-07:objectType=thread:nonce=6e80caf94e03029f - - - - - - diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex index a0ebf65d9..344e27f13 100644 --- a/test/support/http_request_mock.ex +++ b/test/support/http_request_mock.ex @@ -103,14 +103,6 @@ def get( }} end - def get("https://mastodon.social/users/emelie.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/emelie.atom") - }} - end - def get( "https://osada.macgirvin.com/.well-known/webfinger?resource=acct:mike@osada.macgirvin.com", _, @@ -137,14 +129,6 @@ def get( }} end - def get("https://pawoo.net/users/pekorino.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/https___pawoo.net_users_pekorino.atom") - }} - end - def get( "https://pawoo.net/.well-known/webfinger?resource=acct:https://pawoo.net/users/pekorino", _, @@ -158,19 +142,6 @@ def get( }} end - def get( - "https://social.stopwatchingus-heidelberg.de/api/statuses/user_timeline/18330.atom", - _, - _, - _ - ) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/atarifrosch_feed.xml") - }} - end - def get( "https://social.stopwatchingus-heidelberg.de/.well-known/webfinger?resource=acct:https://social.stopwatchingus-heidelberg.de/user/18330", _, @@ -184,27 +155,6 @@ def get( }} end - def get("https://mamot.fr/users/Skruyb.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/https___mamot.fr_users_Skruyb.atom") - }} - end - - def get( - "https://mamot.fr/.well-known/webfinger?resource=acct:https://mamot.fr/users/Skruyb", - _, - _, - [{"accept", "application/xrd+xml,application/jrd+json"}] - ) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/skruyb@mamot.fr.atom") - }} - end - def get( "https://social.heldscal.la/.well-known/webfinger?resource=nonexistant@social.heldscal.la", _, @@ -507,19 +457,6 @@ def get("https://mamot.fr/.well-known/host-meta", _, _, _) do }} end - def get( - "https://mamot.fr/.well-known/webfinger?resource=https://mamot.fr/users/Skruyb", - _, - _, - _ - ) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/skruyb@mamot.fr.atom") - }} - end - def get("http://pawoo.net/.well-known/host-meta", _, _, _) do {:ok, %Tesla.Env{ @@ -647,17 +584,6 @@ def get( }} end - def get("https://pleroma.soykaf.com/users/lain/feed.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/https___pleroma.soykaf.com_users_lain_feed.atom.xml" - ) - }} - end - def get(url, _, _, [{"accept", "application/xrd+xml,application/jrd+json"}]) when url in [ "https://pleroma.soykaf.com/.well-known/webfinger?resource=acct:https://pleroma.soykaf.com/users/lain", @@ -670,17 +596,6 @@ def get(url, _, _, [{"accept", "application/xrd+xml,application/jrd+json"}]) }} end - def get("https://shitposter.club/api/statuses/user_timeline/1.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/https___shitposter.club_api_statuses_user_timeline_1.atom.xml" - ) - }} - end - def get( "https://shitposter.club/.well-known/webfinger?resource=https://shitposter.club/user/1", _, @@ -694,37 +609,10 @@ def get( }} end - def get("https://shitposter.club/notice/2827873", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/https___shitposter.club_notice_2827873.json") - }} - end - - def get("https://shitposter.club/api/statuses/show/2827873.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/https___shitposter.club_api_statuses_show_2827873.atom.xml" - ) - }} - end - def get("https://testing.pleroma.lol/objects/b319022a-4946-44c5-9de9-34801f95507b", _, _, _) do {:ok, %Tesla.Env{status: 200}} end - def get("https://shitposter.club/api/statuses/user_timeline/5381.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/spc_5381.atom") - }} - end - def get( "https://shitposter.club/.well-known/webfinger?resource=https://shitposter.club/user/5381", _, @@ -746,14 +634,6 @@ def get("http://shitposter.club/.well-known/host-meta", _, _, _) do }} end - def get("https://shitposter.club/api/statuses/show/7369654.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/7369654.atom") - }} - end - def get("https://shitposter.club/notice/4027863", _, _, _) do {:ok, %Tesla.Env{ @@ -762,14 +642,6 @@ def get("https://shitposter.club/notice/4027863", _, _, _) do }} end - def get("https://social.sakamoto.gq/users/eal/feed.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: File.read!("test/fixtures/tesla_mock/sakamoto_eal_feed.atom") - }} - end - def get("http://social.sakamoto.gq/.well-known/host-meta", _, _, _) do {:ok, %Tesla.Env{ @@ -791,15 +663,6 @@ def get( }} end - def get( - "https://social.sakamoto.gq/objects/0ccc1a2c-66b0-4305-b23a-7f7f2b040056", - _, - _, - [{"accept", "application/atom+xml"}] - ) do - {:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/sakamoto.atom")}} - end - def get("http://mastodon.social/.well-known/host-meta", _, _, _) do {:ok, %Tesla.Env{ @@ -853,28 +716,6 @@ def get( {:ok, %Tesla.Env{status: 406, body: ""}} end - def get("http://gs.example.org/index.php/api/statuses/user_timeline/1.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/http__gs.example.org_index.php_api_statuses_user_timeline_1.atom.xml" - ) - }} - end - - def get("https://social.heldscal.la/api/statuses/user_timeline/29191.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_29191.atom.xml" - ) - }} - end - def get("http://squeet.me/.well-known/host-meta", _, _, _) do {:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/squeet.me_host_meta")}} @@ -996,17 +837,6 @@ def get( }} end - def get("https://social.heldscal.la/api/statuses/user_timeline/23211.atom", _, _, _) do - {:ok, - %Tesla.Env{ - status: 200, - body: - File.read!( - "test/fixtures/tesla_mock/https___social.heldscal.la_api_statuses_user_timeline_23211.atom.xml" - ) - }} - end - def get( "https://social.heldscal.la/.well-known/webfinger?resource=https://social.heldscal.la/user/23211", _, @@ -1036,10 +866,6 @@ def get("https://social.heldscal.la/.well-known/host-meta", _, _, _) do }} end - def get("https://mastodon.social/users/lambadalambda.atom", _, _, _) do - {:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/lambadalambda.atom")}} - end - def get("https://mastodon.social/users/lambadalambda", _, _, _) do {:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/lambadalambda.json")}} end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 6e096e9ec..cc55a7be7 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -105,7 +105,7 @@ test "it fetches reply-to activities if we don't have them" do object = data["object"] - |> Map.put("inReplyTo", "https://shitposter.club/notice/2827873") + |> Map.put("inReplyTo", "https://mstdn.io/users/mayuutann/statuses/99568293732299394") data = Map.put(data, "object", object) {:ok, returned_activity} = Transmogrifier.handle_incoming(data) @@ -113,11 +113,11 @@ test "it fetches reply-to activities if we don't have them" do assert activity = Activity.get_create_by_object_ap_id( - "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" + "https://mstdn.io/users/mayuutann/statuses/99568293732299394" ) assert returned_object.data["inReplyTo"] == - "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" + "https://mstdn.io/users/mayuutann/statuses/99568293732299394" end test "it does not fetch reply-to activities beyond max replies depth limit" do @@ -1104,17 +1104,17 @@ test "returns modified object when allowed incoming reply", %{data: data} do Map.put( data["object"], "inReplyTo", - "https://shitposter.club/notice/2827873" + "https://mstdn.io/users/mayuutann/statuses/99568293732299394" ) Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 5) modified_object = Transmogrifier.fix_in_reply_to(object_with_reply) assert modified_object["inReplyTo"] == - "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" + "https://mstdn.io/users/mayuutann/statuses/99568293732299394" assert modified_object["context"] == - "tag:shitposter.club,2017-05-05:objectType=thread:nonce=3c16e9c2681f6d26" + "tag:shitposter.club,2018-02-22:objectType=thread:nonce=e5a7c72d60a9c0e4" end end @@ -1216,7 +1216,9 @@ test "returns nil when cannot normalize object" do @tag capture_log: true test "returns {:ok, %Object{}} for success case" do assert {:ok, %Object{}} = - Transmogrifier.get_obj_helper("https://shitposter.club/notice/2827873") + Transmogrifier.get_obj_helper( + "https://mstdn.io/users/mayuutann/statuses/99568293732299394" + ) end end diff --git a/test/web/mastodon_api/controllers/search_controller_test.exs b/test/web/mastodon_api/controllers/search_controller_test.exs index 24d1959f8..04dc6f445 100644 --- a/test/web/mastodon_api/controllers/search_controller_test.exs +++ b/test/web/mastodon_api/controllers/search_controller_test.exs @@ -282,18 +282,18 @@ test "search fetches remote statuses and prefers them over other results", %{con capture_log(fn -> {:ok, %{id: activity_id}} = CommonAPI.post(insert(:user), %{ - status: "check out https://shitposter.club/notice/2827873" + status: "check out http://mastodon.example.org/@admin/99541947525187367" }) results = conn - |> get("/api/v1/search?q=https://shitposter.club/notice/2827873") + |> get("/api/v1/search?q=http://mastodon.example.org/@admin/99541947525187367") |> json_response_and_validate_schema(200) - [status, %{"id" => ^activity_id}] = results["statuses"] - - assert status["uri"] == - "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" + assert [ + %{"url" => "http://mastodon.example.org/@admin/99541947525187367"}, + %{"id" => ^activity_id} + ] = results["statuses"] end) end From ace94bfcc8a57a633a0bdf5746eefae32e6fdad9 Mon Sep 17 00:00:00 2001 From: tarteka Date: Wed, 9 Sep 2020 09:49:26 +0000 Subject: [PATCH 059/201] Added translation using Weblate (Spanish) --- priv/gettext/es/LC_MESSAGES/errors.po | 584 ++++++++++++++++++++++++++ 1 file changed, 584 insertions(+) create mode 100644 priv/gettext/es/LC_MESSAGES/errors.po diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po new file mode 100644 index 000000000..4b0972e88 --- /dev/null +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -0,0 +1,584 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-09 09:49+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 2.5.1\n" + +## This file is a PO Template file. +## +## `msgid`s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run `mix gettext.extract` to bring this file up to +## date. Leave `msgstr`s empty as changing them here as no +## effect: edit them in PO (`.po`) files instead. +## From Ecto.Changeset.cast/4 +msgid "can't be blank" +msgstr "" + +## From Ecto.Changeset.unique_constraint/3 +msgid "has already been taken" +msgstr "" + +## From Ecto.Changeset.put_change/3 +msgid "is invalid" +msgstr "" + +## From Ecto.Changeset.validate_format/3 +msgid "has invalid format" +msgstr "" + +## From Ecto.Changeset.validate_subset/3 +msgid "has an invalid entry" +msgstr "" + +## From Ecto.Changeset.validate_exclusion/3 +msgid "is reserved" +msgstr "" + +## From Ecto.Changeset.validate_confirmation/3 +msgid "does not match confirmation" +msgstr "" + +## From Ecto.Changeset.no_assoc_constraint/3 +msgid "is still associated with this entry" +msgstr "" + +msgid "are still associated with this entry" +msgstr "" + +## From Ecto.Changeset.validate_length/3 +msgid "should be %{count} character(s)" +msgid_plural "should be %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have %{count} item(s)" +msgid_plural "should have %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should be at least %{count} character(s)" +msgid_plural "should be at least %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have at least %{count} item(s)" +msgid_plural "should have at least %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should be at most %{count} character(s)" +msgid_plural "should be at most %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have at most %{count} item(s)" +msgid_plural "should have at most %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +## From Ecto.Changeset.validate_number/3 +msgid "must be less than %{number}" +msgstr "" + +msgid "must be greater than %{number}" +msgstr "" + +msgid "must be less than or equal to %{number}" +msgstr "" + +msgid "must be greater than or equal to %{number}" +msgstr "" + +msgid "must be equal to %{number}" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:505 +#, elixir-format +msgid "Account not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:339 +#, elixir-format +msgid "Already voted" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:359 +#, elixir-format +msgid "Bad request" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:426 +#, elixir-format +msgid "Can't delete object" +msgstr "" + +#: lib/pleroma/web/controller_helper.ex:105 +#: lib/pleroma/web/controller_helper.ex:111 +#, elixir-format +msgid "Can't display this activity" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:285 +#, elixir-format +msgid "Can't find user" +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61 +#, elixir-format +msgid "Can't get favorites" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:438 +#, elixir-format +msgid "Can't like object" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:563 +#, elixir-format +msgid "Cannot post an empty status without attachments" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:511 +#, elixir-format +msgid "Comment must be up to %{max_size} characters" +msgstr "" + +#: lib/pleroma/config/config_db.ex:191 +#, elixir-format +msgid "Config with params %{params} not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:181 +#: lib/pleroma/web/common_api/common_api.ex:185 +#, elixir-format +msgid "Could not delete" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:231 +#, elixir-format +msgid "Could not favorite" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:453 +#, elixir-format +msgid "Could not pin" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:278 +#, elixir-format +msgid "Could not unfavorite" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:463 +#, elixir-format +msgid "Could not unpin" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:216 +#, elixir-format +msgid "Could not unrepeat" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:512 +#: lib/pleroma/web/common_api/common_api.ex:521 +#, elixir-format +msgid "Could not update state" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:207 +#, elixir-format +msgid "Error." +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:106 +#, elixir-format +msgid "Invalid CAPTCHA" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:116 +#: lib/pleroma/web/oauth/oauth_controller.ex:568 +#, elixir-format +msgid "Invalid credentials" +msgstr "" + +#: lib/pleroma/plugs/ensure_authenticated_plug.ex:38 +#, elixir-format +msgid "Invalid credentials." +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:355 +#, elixir-format +msgid "Invalid indices" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:29 +#, elixir-format +msgid "Invalid parameters" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:414 +#, elixir-format +msgid "Invalid password." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:220 +#, elixir-format +msgid "Invalid request" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:109 +#, elixir-format +msgid "Kocaptcha service unavailable" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:112 +#, elixir-format +msgid "Missing parameters" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:547 +#, elixir-format +msgid "No such conversation" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:388 +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:414 lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:456 +#, elixir-format +msgid "No such permission_group" +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:84 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:486 lib/pleroma/web/admin_api/controllers/fallback_controller.ex:11 +#: lib/pleroma/web/feed/user_controller.ex:71 lib/pleroma/web/ostatus/ostatus_controller.ex:143 +#, elixir-format +msgid "Not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:331 +#, elixir-format +msgid "Poll's author can't vote" +msgstr "" + +#: 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 +#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:50 lib/pleroma/web/mastodon_api/controllers/status_controller.ex:306 +#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:71 +#, elixir-format +msgid "Record not found" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:35 +#: lib/pleroma/web/feed/user_controller.ex:77 lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:36 +#: lib/pleroma/web/ostatus/ostatus_controller.ex:149 +#, elixir-format +msgid "Something went wrong" +msgstr "" + +#: lib/pleroma/web/common_api/activity_draft.ex:107 +#, elixir-format +msgid "The message visibility must be direct" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:573 +#, elixir-format +msgid "The status is over the character limit" +msgstr "" + +#: lib/pleroma/plugs/ensure_public_or_authenticated_plug.ex:31 +#, elixir-format +msgid "This resource requires authentication." +msgstr "" + +#: lib/pleroma/plugs/rate_limiter/rate_limiter.ex:206 +#, elixir-format +msgid "Throttled" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:356 +#, elixir-format +msgid "Too many choices" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:443 +#, elixir-format +msgid "Unhandled activity type" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:485 +#, elixir-format +msgid "You can't revoke your own admin status." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:221 +#: lib/pleroma/web/oauth/oauth_controller.ex:308 +#, elixir-format +msgid "Your account is currently disabled" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:183 +#: lib/pleroma/web/oauth/oauth_controller.ex:331 +#, elixir-format +msgid "Your login is missing a confirmed e-mail address" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:390 +#, elixir-format +msgid "can't read inbox of %{nickname} as %{as_nickname}" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:473 +#, elixir-format +msgid "can't update outbox of %{nickname} as %{as_nickname}" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:471 +#, elixir-format +msgid "conversation is already muted" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:314 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:492 +#, elixir-format +msgid "error" +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:32 +#, elixir-format +msgid "mascots can only be images" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:62 +#, elixir-format +msgid "not found" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:394 +#, elixir-format +msgid "Bad OAuth request." +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:115 +#, elixir-format +msgid "CAPTCHA already used" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:112 +#, elixir-format +msgid "CAPTCHA expired" +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:57 +#, elixir-format +msgid "Failed" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:410 +#, elixir-format +msgid "Failed to authenticate: %{message}." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:441 +#, elixir-format +msgid "Failed to set up user account." +msgstr "" + +#: lib/pleroma/plugs/oauth_scopes_plug.ex:38 +#, elixir-format +msgid "Insufficient permissions: %{permissions}." +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:104 +#, elixir-format +msgid "Internal Error" +msgstr "" + +#: lib/pleroma/web/oauth/fallback_controller.ex:22 +#: lib/pleroma/web/oauth/fallback_controller.ex:29 +#, elixir-format +msgid "Invalid Username/Password" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:118 +#, elixir-format +msgid "Invalid answer data" +msgstr "" + +#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:33 +#, elixir-format +msgid "Nodeinfo schema version not handled" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:172 +#, elixir-format +msgid "This action is outside the authorized scopes" +msgstr "" + +#: lib/pleroma/web/oauth/fallback_controller.ex:14 +#, elixir-format +msgid "Unknown error, please check the details and try again." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:119 +#: lib/pleroma/web/oauth/oauth_controller.ex:158 +#, elixir-format +msgid "Unlisted redirect_uri." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:390 +#, elixir-format +msgid "Unsupported OAuth provider: %{provider}." +msgstr "" + +#: lib/pleroma/uploaders/uploader.ex:72 +#, elixir-format +msgid "Uploader callback timeout" +msgstr "" + +#: lib/pleroma/web/uploader_controller.ex:23 +#, elixir-format +msgid "bad request" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:103 +#, elixir-format +msgid "CAPTCHA Error" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:290 +#, elixir-format +msgid "Could not add reaction emoji" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:301 +#, elixir-format +msgid "Could not remove reaction emoji" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:129 +#, elixir-format +msgid "Invalid CAPTCHA (Missing parameter: %{name})" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/list_controller.ex:92 +#, elixir-format +msgid "List not found" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:123 +#, elixir-format +msgid "Missing parameter: %{name}" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:210 +#: lib/pleroma/web/oauth/oauth_controller.ex:321 +#, elixir-format +msgid "Password reset is required" +msgstr "" + +#: lib/pleroma/tests/auth_test_controller.ex:9 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:6 lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/config_controller.ex:6 lib/pleroma/web/admin_api/controllers/fallback_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/invite_controller.ex:6 lib/pleroma/web/admin_api/controllers/media_proxy_cache_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/oauth_app_controller.ex:6 lib/pleroma/web/admin_api/controllers/relay_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/report_controller.ex:6 lib/pleroma/web/admin_api/controllers/status_controller.ex:6 +#: lib/pleroma/web/controller_helper.ex:6 lib/pleroma/web/embed_controller.ex:6 +#: lib/pleroma/web/fallback_redirect_controller.ex:6 lib/pleroma/web/feed/tag_controller.ex:6 +#: lib/pleroma/web/feed/user_controller.ex:6 lib/pleroma/web/mailer/subscription_controller.ex:2 +#: lib/pleroma/web/masto_fe_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/account_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/app_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/auth_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/custom_emoji_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/filter_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/instance_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/list_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/marker_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex:14 +#: lib/pleroma/web/mastodon_api/controllers/media_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/notification_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/report_controller.ex:8 +#: lib/pleroma/web/mastodon_api/controllers/scheduled_activity_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/search_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:7 +#: lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:6 +#: lib/pleroma/web/media_proxy/media_proxy_controller.ex:6 lib/pleroma/web/mongooseim/mongoose_im_controller.ex:6 +#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:6 lib/pleroma/web/oauth/fallback_controller.ex:6 +#: lib/pleroma/web/oauth/mfa_controller.ex:10 lib/pleroma/web/oauth/oauth_controller.ex:6 +#: lib/pleroma/web/ostatus/ostatus_controller.ex:6 lib/pleroma/web/pleroma_api/controllers/account_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:5 lib/pleroma/web/pleroma_api/controllers/conversation_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:2 lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:6 lib/pleroma/web/pleroma_api/controllers/notification_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/scrobble_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/two_factor_authentication_controller.ex:7 lib/pleroma/web/static_fe/static_fe_controller.ex:6 +#: lib/pleroma/web/twitter_api/controllers/password_controller.ex:10 lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex:6 +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:6 lib/pleroma/web/twitter_api/twitter_api_controller.ex:6 +#: lib/pleroma/web/uploader_controller.ex:6 lib/pleroma/web/web_finger/web_finger_controller.ex:6 +#, elixir-format +msgid "Security violation: OAuth scopes check was neither handled nor explicitly skipped." +msgstr "" + +#: lib/pleroma/plugs/ensure_authenticated_plug.ex:28 +#, elixir-format +msgid "Two-factor authentication enabled, you must use a access token." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:210 +#, elixir-format +msgid "Unexpected error occurred while adding file to pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:138 +#, elixir-format +msgid "Unexpected error occurred while creating pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:278 +#, elixir-format +msgid "Unexpected error occurred while removing file from pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:250 +#, elixir-format +msgid "Unexpected error occurred while updating file in pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:179 +#, elixir-format +msgid "Unexpected error occurred while updating pack metadata." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:61 +#, elixir-format +msgid "Web push subscription is disabled on this Pleroma instance" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:451 +#, elixir-format +msgid "You can't revoke your own admin/moderator status." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:126 +#, elixir-format +msgid "authorization required for timeline view" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:24 +#, elixir-format +msgid "Access denied" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:282 +#, elixir-format +msgid "This API requires an authenticated user" +msgstr "" + +#: lib/pleroma/plugs/user_is_admin_plug.ex:21 +#, elixir-format +msgid "User is not an admin." +msgstr "" From 6ec1a9ded164df2872ad4ec99ca673e7618c9253 Mon Sep 17 00:00:00 2001 From: tarteka Date: Wed, 9 Sep 2020 09:52:08 +0000 Subject: [PATCH 060/201] Translated using Weblate (Spanish) Currently translated at 9.4% (10 of 106 strings) Translation: Pleroma/Pleroma backend Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma/es/ --- priv/gettext/es/LC_MESSAGES/errors.po | 32 ++++++++++++++------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index 4b0972e88..ba75936a9 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -3,14 +3,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-09-09 09:49+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2020-09-09 10:52+0000\n" +"Last-Translator: tarteka \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 2.5.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.0.4\n" ## This file is a PO Template file. ## @@ -23,44 +25,44 @@ msgstr "" ## effect: edit them in PO (`.po`) files instead. ## From Ecto.Changeset.cast/4 msgid "can't be blank" -msgstr "" +msgstr "no puede estar en blanco" ## From Ecto.Changeset.unique_constraint/3 msgid "has already been taken" -msgstr "" +msgstr "ya está en uso" ## From Ecto.Changeset.put_change/3 msgid "is invalid" -msgstr "" +msgstr "es inválido" ## From Ecto.Changeset.validate_format/3 msgid "has invalid format" -msgstr "" +msgstr "el formato no es válido" ## From Ecto.Changeset.validate_subset/3 msgid "has an invalid entry" -msgstr "" +msgstr "tiene una entrada inválida" ## From Ecto.Changeset.validate_exclusion/3 msgid "is reserved" -msgstr "" +msgstr "está reservado" ## From Ecto.Changeset.validate_confirmation/3 msgid "does not match confirmation" -msgstr "" +msgstr "la confirmación no coincide" ## From Ecto.Changeset.no_assoc_constraint/3 msgid "is still associated with this entry" -msgstr "" +msgstr "todavía está asociado con esta entrada" msgid "are still associated with this entry" -msgstr "" +msgstr "todavía están asociados con esta entrada" ## 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] "debe tener %{count} carácter" +msgstr[1] "debe tener %{count} caracteres" msgid "should have %{count} item(s)" msgid_plural "should have %{count} item(s)" From 0c1d24318565ec5bca0dfbe749f09d7acc9f7e42 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Wed, 9 Sep 2020 18:34:07 +0300 Subject: [PATCH 061/201] bump concurrent_limiter Should fix gun deadlocks --- mix.exs | 2 +- mix.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mix.exs b/mix.exs index 9499aab2d..18f748672 100644 --- a/mix.exs +++ b/mix.exs @@ -180,7 +180,7 @@ defp deps do {:flake_id, "~> 0.1.0"}, {:concurrent_limiter, git: "https://git.pleroma.social/pleroma/elixir-libraries/concurrent_limiter.git", - ref: "55e92f84b4ed531bd487952a71040a9c69dc2807"}, + ref: "d81be41024569330f296fc472e24198d7499ba78"}, {:remote_ip, git: "https://git.pleroma.social/pleroma/remote_ip.git", ref: "b647d0deecaa3acb140854fe4bda5b7e1dc6d1c8"}, diff --git a/mix.lock b/mix.lock index c4f9cd28c..a28c47017 100644 --- a/mix.lock +++ b/mix.lock @@ -14,7 +14,7 @@ "certifi": {:hex, :certifi, "2.5.1", "867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"}, "combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"}, "comeonin": {:hex, :comeonin, "5.3.1", "7fe612b739c78c9c1a75186ef2d322ce4d25032d119823269d0aa1e2f1e20025", [:mix], [], "hexpm", "d6222483060c17f0977fad1b7401ef0c5863c985a64352755f366aee3799c245"}, - "concurrent_limiter": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/concurrent_limiter.git", "55e92f84b4ed531bd487952a71040a9c69dc2807", [ref: "55e92f84b4ed531bd487952a71040a9c69dc2807"]}, + "concurrent_limiter": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/concurrent_limiter.git", "d81be41024569330f296fc472e24198d7499ba78", [ref: "d81be41024569330f296fc472e24198d7499ba78"]}, "connection": {:hex, :connection, "1.0.4", "a1cae72211f0eef17705aaededacac3eb30e6625b04a6117c1b2db6ace7d5976", [:mix], [], "hexpm", "4a0850c9be22a43af9920a71ab17c051f5f7d45c209e40269a1938832510e4d9"}, "cors_plug": {:hex, :cors_plug, "2.0.2", "2b46083af45e4bc79632bd951550509395935d3e7973275b2b743bd63cc942ce", [:mix], [{:plug, "~> 1.8", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "f0d0e13f71c51fd4ef8b2c7e051388e4dfb267522a83a22392c856de7e46465f"}, "cowboy": {:hex, :cowboy, "2.8.0", "f3dc62e35797ecd9ac1b50db74611193c29815401e53bac9a5c0577bd7bc667d", [:rebar3], [{:cowlib, "~> 2.9.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "4643e4fba74ac96d4d152c75803de6fad0b3fa5df354c71afdd6cbeeb15fac8a"}, From 68a74d66596f0e35f0e080de25e4679d2c8b1b76 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 9 Sep 2020 19:30:42 +0300 Subject: [PATCH 062/201] [#2497] Added missing alias, removed legacy `:adapter` option specification for HTTP.get/_. --- lib/pleroma/helpers/media_helper.ex | 4 ++-- lib/pleroma/instances/instance.ex | 2 +- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 2 +- test/web/mastodon_api/views/account_view_test.exs | 1 + 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index a1205e10d..d834b4a07 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -14,7 +14,7 @@ defmodule Pleroma.Helpers.MediaHelper do def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), {:ok, args} <- prepare_image_resize_args(options), - {:ok, env} <- HTTP.get(url, [], adapter: [pool: :media]), + {:ok, env} <- HTTP.get(url, [], pool: :media), {:ok, fifo_path} <- mkfifo() do args = List.flatten([fifo_path, args]) run_fifo(fifo_path, env, executable, args) @@ -62,7 +62,7 @@ defp prepare_image_resize_args(_), do: {:error, :missing_options} def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), - {:ok, env} <- HTTP.get(url, [], adapter: [pool: :media]), + {:ok, env} <- HTTP.get(url, [], pool: :media), {:ok, fifo_path} <- mkfifo(), args = [ "-y", diff --git a/lib/pleroma/instances/instance.ex b/lib/pleroma/instances/instance.ex index 8bf53c090..4fe4b198d 100644 --- a/lib/pleroma/instances/instance.ex +++ b/lib/pleroma/instances/instance.ex @@ -157,7 +157,7 @@ defp scrape_favicon(%URI{} = instance_uri) do try do with {:ok, %Tesla.Env{body: html}} <- Pleroma.HTTP.get(to_string(instance_uri), [{"accept", "text/html"}], - adapter: [pool: :media] + pool: :media ), favicon_rel <- html diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 89f4a23bd..acb581459 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -51,7 +51,7 @@ defp handle_preview(conn, url) do media_proxy_url = MediaProxy.url(url) with {:ok, %{status: status} = head_response} when status in 200..299 <- - Pleroma.HTTP.request("head", media_proxy_url, [], [], adapter: [pool: :media]) do + Pleroma.HTTP.request("head", media_proxy_url, [], [], pool: :media) do content_type = Tesla.get_header(head_response, "content-type") handle_preview(content_type, conn, media_proxy_url) else diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 5c5aa6cee..793b44fca 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -5,6 +5,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do use Pleroma.DataCase + alias Pleroma.Config alias Pleroma.User alias Pleroma.UserRelationship alias Pleroma.Web.CommonAPI From b4860c57a63b48ded8eaa37b9f40cc0851c78882 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 9 Sep 2020 19:43:36 +0300 Subject: [PATCH 063/201] [#2497] Formatting fix. --- lib/pleroma/instances/instance.ex | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/pleroma/instances/instance.ex b/lib/pleroma/instances/instance.ex index 4fe4b198d..ad7764f05 100644 --- a/lib/pleroma/instances/instance.ex +++ b/lib/pleroma/instances/instance.ex @@ -156,9 +156,7 @@ def get_or_update_favicon(%URI{host: host} = instance_uri) do defp scrape_favicon(%URI{} = instance_uri) do try do with {:ok, %Tesla.Env{body: html}} <- - Pleroma.HTTP.get(to_string(instance_uri), [{"accept", "text/html"}], - pool: :media - ), + Pleroma.HTTP.get(to_string(instance_uri), [{"accept", "text/html"}], pool: :media), favicon_rel <- html |> Floki.parse_document!() From cad69669fc692da360929a5961e96550de1f1fe1 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 9 Sep 2020 22:44:38 +0300 Subject: [PATCH 064/201] [#2130] Fixed OAuth OOB authentication for users with enabled MFA. --- lib/pleroma/web/oauth/oauth_controller.ex | 5 ++++- .../o_auth/o_auth/oob_authorization_created.html.eex | 2 +- .../web/templates/o_auth/o_auth/oob_token_exists.html.eex | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index dd00600ea..06b116368 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -145,7 +145,10 @@ def create_authorization( def after_create_authorization(%Plug.Conn{} = conn, %Authorization{} = auth, %{ "authorization" => %{"redirect_uri" => @oob_token_redirect_uri} }) do - render(conn, "oob_authorization_created.html", %{auth: auth}) + # Enforcing the view to reuse the template when calling from other controllers + conn + |> put_view(OAuthView) + |> render("oob_authorization_created.html", %{auth: auth}) end def after_create_authorization(%Plug.Conn{} = conn, %Authorization{} = auth, %{ diff --git a/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex index 8443d906b..ffabe29a6 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex @@ -1,2 +1,2 @@

Successfully authorized

-

Token code is <%= @auth.token %>

+

Token code is
<%= @auth.token %>

diff --git a/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex index 961aad976..82785c4b9 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex @@ -1,2 +1,2 @@

Authorization exists

-

Access token is <%= @token.token %>

+

Access token is
<%= @token.token %>

From ab56dd54e787eae82cf00fddc90eab4c5cbac4a9 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 10 Sep 2020 11:23:39 +0300 Subject: [PATCH 065/201] use Pleroma.HTTP in emoji packs tasks --- lib/mix/tasks/pleroma/emoji.ex | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/mix/tasks/pleroma/emoji.ex b/lib/mix/tasks/pleroma/emoji.ex index 8f52ee98d..1750373f9 100644 --- a/lib/mix/tasks/pleroma/emoji.ex +++ b/lib/mix/tasks/pleroma/emoji.ex @@ -183,7 +183,7 @@ def run(["gen-pack" | args]) do IO.puts("Downloading the pack and generating SHA256") - binary_archive = Tesla.get!(client(), src).body + {:ok, %{body: binary_archive}} = Pleroma.HTTP.get(src) archive_sha = :crypto.hash(:sha256, binary_archive) |> Base.encode16() IO.puts("SHA256 is #{archive_sha}") @@ -252,7 +252,7 @@ defp fetch_and_decode!(from) do end defp fetch("http" <> _ = from) do - with {:ok, %{body: body}} <- Tesla.get(client(), from) do + with {:ok, %{body: body}} <- Pleroma.HTTP.get(from) do {:ok, body} end end @@ -271,13 +271,5 @@ defp parse_global_opts(args) do ) end - defp client do - middleware = [ - {Tesla.Middleware.FollowRedirects, [max_redirects: 3]} - ] - - Tesla.client(middleware) - end - defp default_manifest, do: Pleroma.Config.get!([:emoji, :default_manifest]) end From 148bc244359e70c87ec2812c65da83fe87efbc68 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 10 Sep 2020 11:54:10 +0300 Subject: [PATCH 066/201] [#2497] Removed Hackney-specific code (no longer needed due to adapter options unification). --- .../activity_pub/mrf/media_proxy_warming_policy.ex | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex index 6c63fe15c..0fb05d3c4 100644 --- a/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/media_proxy_warming_policy.ex @@ -13,17 +13,10 @@ defmodule Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy do require Logger @adapter_options [ - pool: :media + pool: :media, + recv_timeout: 10_000 ] - defp adapter_options do - if Application.get_env(:tesla, :adapter) == Tesla.Adapter.Hackney do - Keyword.put(@adapter_options, :recv_timeout, 10_000) - else - @adapter_options - end - end - def perform(:prefetch, url) do # Fetching only proxiable resources if MediaProxy.enabled?() and MediaProxy.url_proxiable?(url) do @@ -32,7 +25,7 @@ def perform(:prefetch, url) do Logger.debug("Prefetching #{inspect(url)} as #{inspect(prefetch_url)}") - HTTP.get(prefetch_url, [], adapter: adapter_options()) + HTTP.get(prefetch_url, [], @adapter_options) end end From 9853c90abba213bdc87dccf5620cb0d9eb19c049 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Thu, 10 Sep 2020 12:24:44 +0300 Subject: [PATCH 067/201] added paginate links to headers for /chats/:id/messages --- lib/pleroma/chat.ex | 24 +++++-- .../web/api_spec/operations/chat_operation.ex | 3 +- lib/pleroma/web/controller_helper.ex | 20 +++--- .../controllers/chat_controller.ex | 62 ++++++++----------- .../controllers/chat_controller_test.exs | 50 ++++++++++----- 5 files changed, 90 insertions(+), 69 deletions(-) diff --git a/lib/pleroma/chat.ex b/lib/pleroma/chat.ex index 24a86371e..202fffb8a 100644 --- a/lib/pleroma/chat.ex +++ b/lib/pleroma/chat.ex @@ -6,6 +6,7 @@ defmodule Pleroma.Chat do use Ecto.Schema import Ecto.Changeset + import Ecto.Query alias Pleroma.Repo alias Pleroma.User @@ -16,6 +17,7 @@ defmodule Pleroma.Chat do It is a helper only, to make it easy to display a list of chats with other people, ordered by last bump. The actual messages are retrieved by querying the recipients of the ChatMessages. """ + @type t :: %__MODULE__{} @primary_key {:id, FlakeId.Ecto.CompatType, autogenerate: true} schema "chats" do @@ -39,16 +41,28 @@ def changeset(struct, params) do |> unique_constraint(:user_id, name: :chats_user_id_recipient_index) end + @spec get_by_user_and_id(User.t(), FlakeId.Ecto.CompatType.t()) :: + {:ok, t()} | {:error, :not_found} + def get_by_user_and_id(%User{id: user_id}, id) do + from(c in __MODULE__, + where: c.id == ^id, + where: c.user_id == ^user_id + ) + |> Repo.find_resource() + end + + @spec get_by_id(FlakeId.Ecto.CompatType.t()) :: t() | nil def get_by_id(id) do - __MODULE__ - |> Repo.get(id) + Repo.get(__MODULE__, id) end + @spec get(FlakeId.Ecto.CompatType.t(), String.t()) :: t() | nil def get(user_id, recipient) do - __MODULE__ - |> Repo.get_by(user_id: user_id, recipient: recipient) + Repo.get_by(__MODULE__, user_id: user_id, recipient: recipient) end + @spec get_or_create(FlakeId.Ecto.CompatType.t(), String.t()) :: + {:ok, t()} | {:error, Ecto.Changeset.t()} def get_or_create(user_id, recipient) do %__MODULE__{} |> changeset(%{user_id: user_id, recipient: recipient}) @@ -60,6 +74,8 @@ def get_or_create(user_id, recipient) do ) end + @spec bump_or_create(FlakeId.Ecto.CompatType.t(), String.t()) :: + {:ok, t()} | {:error, Ecto.Changeset.t()} def bump_or_create(user_id, recipient) do %__MODULE__{} |> changeset(%{user_id: user_id, recipient: recipient}) diff --git a/lib/pleroma/web/api_spec/operations/chat_operation.ex b/lib/pleroma/web/api_spec/operations/chat_operation.ex index b1a0d26ab..8cbea9ec4 100644 --- a/lib/pleroma/web/api_spec/operations/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/chat_operation.ex @@ -158,7 +158,8 @@ def messages_operation do "The messages in the chat", "application/json", chat_messages_response() - ) + ), + 404 => Operation.response("Not Found", "application/json", ApiError) }, security: [ %{ diff --git a/lib/pleroma/web/controller_helper.ex b/lib/pleroma/web/controller_helper.ex index 6445966e0..69188a882 100644 --- a/lib/pleroma/web/controller_helper.ex +++ b/lib/pleroma/web/controller_helper.ex @@ -48,13 +48,13 @@ defp param_to_integer(val, default) when is_binary(val) do defp param_to_integer(_, default), do: default - def add_link_headers(conn, activities, extra_params \\ %{}) + def add_link_headers(conn, entries, extra_params \\ %{}) - def add_link_headers(%{assigns: %{skip_link_headers: true}} = conn, _activities, _extra_params), + def add_link_headers(%{assigns: %{skip_link_headers: true}} = conn, _entries, _extra_params), do: conn - def add_link_headers(conn, activities, extra_params) do - case get_pagination_fields(conn, activities, extra_params) do + def add_link_headers(conn, entries, extra_params) do + case get_pagination_fields(conn, entries, extra_params) do %{"next" => next_url, "prev" => prev_url} -> put_resp_header(conn, "link", "<#{next_url}>; rel=\"next\", <#{prev_url}>; rel=\"prev\"") @@ -78,19 +78,15 @@ defp build_pagination_fields(conn, min_id, max_id, extra_params) do } end - def get_pagination_fields(conn, activities, extra_params \\ %{}) do - case List.last(activities) do + def get_pagination_fields(conn, entries, extra_params \\ %{}) do + case List.last(entries) do %{pagination_id: max_id} when not is_nil(max_id) -> - %{pagination_id: min_id} = - activities - |> List.first() + %{pagination_id: min_id} = List.first(entries) build_pagination_fields(conn, min_id, max_id, extra_params) %{id: max_id} -> - %{id: min_id} = - activities - |> List.first() + %{id: min_id} = List.first(entries) build_pagination_fields(conn, min_id, max_id, extra_params) diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex index e8a1746d4..7b5f3daf9 100644 --- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex @@ -4,6 +4,8 @@ defmodule Pleroma.Web.PleromaAPI.ChatController do use Pleroma.Web, :controller + import Pleroma.Web.ControllerHelper, only: [add_link_headers: 2] + alias Pleroma.Activity alias Pleroma.Chat alias Pleroma.Chat.MessageReference @@ -47,7 +49,7 @@ def delete_message(%{assigns: %{user: %{id: user_id} = user}} = conn, %{ }) do with %MessageReference{} = cm_ref <- MessageReference.get_by_id(message_id), - ^chat_id <- cm_ref.chat_id |> to_string(), + ^chat_id <- to_string(cm_ref.chat_id), %Chat{user_id: ^user_id} <- Chat.get_by_id(chat_id), {:ok, _} <- remove_or_delete(cm_ref, user) do conn @@ -68,18 +70,13 @@ defp remove_or_delete( end end - defp remove_or_delete(cm_ref, _) do - cm_ref - |> MessageReference.delete() - end + defp remove_or_delete(cm_ref, _), do: MessageReference.delete(cm_ref) def post_chat_message( - %{body_params: params, assigns: %{user: %{id: user_id} = user}} = conn, - %{ - id: id - } + %{body_params: params, assigns: %{user: user}} = conn, + %{id: id} ) do - with %Chat{} = chat <- Repo.get_by(Chat, id: id, user_id: user_id), + with {:ok, chat} <- Chat.get_by_user_and_id(user, id), %User{} = recipient <- User.get_cached_by_ap_id(chat.recipient), {:ok, activity} <- CommonAPI.post_chat_message(user, recipient, params[:content], @@ -93,13 +90,12 @@ def post_chat_message( end end - def mark_message_as_read(%{assigns: %{user: %{id: user_id}}} = conn, %{ - id: chat_id, - message_id: message_id - }) do - with %MessageReference{} = cm_ref <- - MessageReference.get_by_id(message_id), - ^chat_id <- cm_ref.chat_id |> to_string(), + def mark_message_as_read( + %{assigns: %{user: %{id: user_id}}} = conn, + %{id: chat_id, message_id: message_id} + ) do + with %MessageReference{} = cm_ref <- MessageReference.get_by_id(message_id), + ^chat_id <- to_string(cm_ref.chat_id), %Chat{user_id: ^user_id} <- Chat.get_by_id(chat_id), {:ok, cm_ref} <- MessageReference.mark_as_read(cm_ref) do conn @@ -109,36 +105,28 @@ def mark_message_as_read(%{assigns: %{user: %{id: user_id}}} = conn, %{ end def mark_as_read( - %{ - body_params: %{last_read_id: last_read_id}, - assigns: %{user: %{id: user_id}} - } = conn, + %{body_params: %{last_read_id: last_read_id}, assigns: %{user: user}} = conn, %{id: id} ) do - with %Chat{} = chat <- Repo.get_by(Chat, id: id, user_id: user_id), - {_n, _} <- - MessageReference.set_all_seen_for_chat(chat, last_read_id) do + with {:ok, chat} <- Chat.get_by_user_and_id(user, id), + {_n, _} <- MessageReference.set_all_seen_for_chat(chat, last_read_id) do conn |> put_view(ChatView) |> render("show.json", chat: chat) end end - def messages(%{assigns: %{user: %{id: user_id}}} = conn, %{id: id} = params) do - with %Chat{} = chat <- Repo.get_by(Chat, id: id, user_id: user_id) do - cm_refs = + def messages(%{assigns: %{user: user}} = conn, %{id: id} = params) do + with {:ok, chat} <- Chat.get_by_user_and_id(user, id) do + chat_message_refs = chat |> MessageReference.for_chat_query() |> Pagination.fetch_paginated(params) conn + |> add_link_headers(chat_message_refs) |> put_view(MessageReferenceView) - |> render("index.json", chat_message_references: cm_refs) - else - _ -> - conn - |> put_status(:not_found) - |> json(%{error: "not found"}) + |> render("index.json", chat_message_references: chat_message_refs) end end @@ -158,8 +146,8 @@ def index(%{assigns: %{user: %{id: user_id} = user}} = conn, _params) do |> render("index.json", chats: chats) end - def create(%{assigns: %{user: user}} = conn, params) do - with %User{ap_id: recipient} <- User.get_by_id(params[:id]), + def create(%{assigns: %{user: user}} = conn, %{id: id}) do + with %User{ap_id: recipient} <- User.get_cached_by_id(id), {:ok, %Chat{} = chat} <- Chat.get_or_create(user.id, recipient) do conn |> put_view(ChatView) @@ -167,8 +155,8 @@ def create(%{assigns: %{user: user}} = conn, params) do end end - def show(%{assigns: %{user: user}} = conn, params) do - with %Chat{} = chat <- Repo.get_by(Chat, user_id: user.id, id: params[:id]) do + def show(%{assigns: %{user: user}} = conn, %{id: id}) do + with {:ok, chat} <- Chat.get_by_user_and_id(user, id) do conn |> put_view(ChatView) |> render("show.json", chat: chat) diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs index 7be5fe09c..40f7c72ca 100644 --- a/test/web/pleroma_api/controllers/chat_controller_test.exs +++ b/test/web/pleroma_api/controllers/chat_controller_test.exs @@ -2,7 +2,7 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do - use Pleroma.Web.ConnCase, async: true + use Pleroma.Web.ConnCase alias Pleroma.Chat alias Pleroma.Chat.MessageReference @@ -184,17 +184,39 @@ test "it paginates", %{conn: conn, user: user} do chat = Chat.get(user.id, recipient.ap_id) - result = - conn - |> get("/api/v1/pleroma/chats/#{chat.id}/messages") - |> json_response_and_validate_schema(200) + response = get(conn, "/api/v1/pleroma/chats/#{chat.id}/messages") + result = json_response_and_validate_schema(response, 200) + + [next, prev] = get_resp_header(response, "link") |> hd() |> String.split(", ") + api_endpoint = "/api/v1/pleroma/chats/" + + assert String.match?( + next, + ~r(#{api_endpoint}.*/messages\?id=.*&limit=\d+&max_id=.*; rel=\"next\"$) + ) + + assert String.match?( + prev, + ~r(#{api_endpoint}.*/messages\?id=.*&limit=\d+&min_id=.*; rel=\"prev\"$) + ) assert length(result) == 20 - result = - conn - |> get("/api/v1/pleroma/chats/#{chat.id}/messages?max_id=#{List.last(result)["id"]}") - |> json_response_and_validate_schema(200) + response = + get(conn, "/api/v1/pleroma/chats/#{chat.id}/messages?max_id=#{List.last(result)["id"]}") + + result = json_response_and_validate_schema(response, 200) + [next, prev] = get_resp_header(response, "link") |> hd() |> String.split(", ") + + assert String.match?( + next, + ~r(#{api_endpoint}.*/messages\?id=.*&limit=\d+&max_id=.*; rel=\"next\"$) + ) + + assert String.match?( + prev, + ~r(#{api_endpoint}.*/messages\?id=.*&limit=\d+&max_id=.*&min_id=.*; rel=\"prev\"$) + ) assert length(result) == 10 end @@ -223,12 +245,10 @@ test "it returns the messages for a given chat", %{conn: conn, user: user} do assert length(result) == 3 # Trying to get the chat of a different user - result = - conn - |> assign(:user, other_user) - |> get("/api/v1/pleroma/chats/#{chat.id}/messages") - - assert result |> json_response(404) + conn + |> assign(:user, other_user) + |> get("/api/v1/pleroma/chats/#{chat.id}/messages") + |> json_response_and_validate_schema(404) end end From 3ce658b93098551792a69f2455e6e9339a1722e2 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 25 Aug 2020 19:17:51 +0300 Subject: [PATCH 068/201] schedule expired oauth tokens deletion with Oban --- config/config.exs | 2 +- config/description.exs | 1 - lib/pleroma/web/oauth/token.ex | 24 ++++++++++------ lib/pleroma/web/oauth/token/clean_worker.ex | 2 -- lib/pleroma/web/oauth/token/query.ex | 6 ---- .../web/oauth/token/strategy/refresh_token.ex | 2 +- .../workers/cron/clear_oauth_token_worker.ex | 23 --------------- lib/pleroma/workers/purge_expired_token.ex | 28 +++++++++++++++++++ test/plugs/oauth_plug_test.exs | 2 +- test/web/oauth/token_test.exs | 13 --------- .../twitter_api/password_controller_test.exs | 4 +-- .../cron/clear_oauth_token_worker_test.exs | 22 --------------- .../purge_expired_oauth_token_test.exs | 27 ++++++++++++++++++ 13 files changed, 76 insertions(+), 80 deletions(-) delete mode 100644 lib/pleroma/workers/cron/clear_oauth_token_worker.ex create mode 100644 lib/pleroma/workers/purge_expired_token.ex delete mode 100644 test/workers/cron/clear_oauth_token_worker_test.exs create mode 100644 test/workers/purge_expired_oauth_token_test.exs diff --git a/config/config.exs b/config/config.exs index 1a2b312b5..fa4c96b79 100644 --- a/config/config.exs +++ b/config/config.exs @@ -530,6 +530,7 @@ log: false, queues: [ activity_expiration: 10, + oauth_token_expiration: 1, federator_incoming: 50, federator_outgoing: 50, web_push: 50, @@ -543,7 +544,6 @@ ], plugins: [Oban.Plugins.Pruner], crontab: [ - {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker}, {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker}, {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} diff --git a/config/description.exs b/config/description.exs index eac97ad64..4c4deed30 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2290,7 +2290,6 @@ type: {:list, :tuple}, description: "Settings for cron background jobs", suggestions: [ - {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker}, {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker}, {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} diff --git a/lib/pleroma/web/oauth/token.ex b/lib/pleroma/web/oauth/token.ex index 08bb7326d..4d00fcb1c 100644 --- a/lib/pleroma/web/oauth/token.ex +++ b/lib/pleroma/web/oauth/token.ex @@ -50,7 +50,7 @@ def exchange_token(app, auth) do true <- auth.app_id == app.id do user = if auth.user_id, do: User.get_cached_by_id(auth.user_id), else: %User{} - create_token( + create( app, user, %{scopes: auth.scopes} @@ -83,8 +83,21 @@ defp put_valid_until(changeset, attrs) do |> validate_required([:valid_until]) end - @spec create_token(App.t(), User.t(), map()) :: {:ok, Token} | {:error, Changeset.t()} - def create_token(%App{} = app, %User{} = user, attrs \\ %{}) do + @spec create(App.t(), User.t(), map()) :: {:ok, Token} | {:error, Changeset.t()} + def create(%App{} = app, %User{} = user, attrs \\ %{}) do + with {:ok, token} <- do_create(app, user, attrs) do + if Pleroma.Config.get([:oauth2, :clean_expired_tokens]) do + Pleroma.Workers.PurgeExpiredOAuthToken.enqueue(%{ + token_id: token.id, + valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC") + }) + end + + {:ok, token} + end + end + + defp do_create(app, user, attrs) do %__MODULE__{user_id: user.id, app_id: app.id} |> cast(%{scopes: attrs[:scopes] || app.scopes}, [:scopes]) |> validate_required([:scopes, :app_id]) @@ -105,11 +118,6 @@ def delete_user_token(%User{id: user_id}, token_id) do |> Repo.delete_all() end - def delete_expired_tokens do - Query.get_expired_tokens() - |> Repo.delete_all() - end - def get_user_tokens(%User{id: user_id}) do Query.get_by_user(user_id) |> Query.preload([:app]) diff --git a/lib/pleroma/web/oauth/token/clean_worker.ex b/lib/pleroma/web/oauth/token/clean_worker.ex index e3aa4eb7e..2f51bdb75 100644 --- a/lib/pleroma/web/oauth/token/clean_worker.ex +++ b/lib/pleroma/web/oauth/token/clean_worker.ex @@ -12,7 +12,6 @@ defmodule Pleroma.Web.OAuth.Token.CleanWorker do @one_day 86_400_000 alias Pleroma.MFA - alias Pleroma.Web.OAuth alias Pleroma.Workers.BackgroundWorker def start_link(_), do: GenServer.start_link(__MODULE__, %{}) @@ -32,7 +31,6 @@ def handle_info(:perform, state) do end def perform(:clean) do - OAuth.Token.delete_expired_tokens() MFA.Token.delete_expired_tokens() end end diff --git a/lib/pleroma/web/oauth/token/query.ex b/lib/pleroma/web/oauth/token/query.ex index 93d6e26ed..fd6d9b112 100644 --- a/lib/pleroma/web/oauth/token/query.ex +++ b/lib/pleroma/web/oauth/token/query.ex @@ -33,12 +33,6 @@ def get_by_id(query \\ Token, id) do from(q in query, where: q.id == ^id) end - @spec get_expired_tokens(query, DateTime.t() | nil) :: query - def get_expired_tokens(query \\ Token, date \\ nil) do - expired_date = date || Timex.now() - from(q in query, where: fragment("?", q.valid_until) < ^expired_date) - end - @spec get_by_user(query, String.t()) :: query def get_by_user(query \\ Token, user_id) do from(q in query, where: q.user_id == ^user_id) diff --git a/lib/pleroma/web/oauth/token/strategy/refresh_token.ex b/lib/pleroma/web/oauth/token/strategy/refresh_token.ex index debc29b0b..625b0fde2 100644 --- a/lib/pleroma/web/oauth/token/strategy/refresh_token.ex +++ b/lib/pleroma/web/oauth/token/strategy/refresh_token.ex @@ -46,7 +46,7 @@ defp revoke_access_token(token) do defp create_access_token({:error, error}, _), do: {:error, error} defp create_access_token({:ok, token}, %{app: app, user: user} = token_params) do - Token.create_token(app, user, add_refresh_token(token_params, token.refresh_token)) + Token.create(app, user, add_refresh_token(token_params, token.refresh_token)) end defp add_refresh_token(params, token) do diff --git a/lib/pleroma/workers/cron/clear_oauth_token_worker.ex b/lib/pleroma/workers/cron/clear_oauth_token_worker.ex deleted file mode 100644 index 276f47efc..000000000 --- a/lib/pleroma/workers/cron/clear_oauth_token_worker.ex +++ /dev/null @@ -1,23 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Workers.Cron.ClearOauthTokenWorker do - @moduledoc """ - The worker to cleanup expired oAuth tokens. - """ - - use Oban.Worker, queue: "background" - - alias Pleroma.Config - alias Pleroma.Web.OAuth.Token - - @impl Oban.Worker - def perform(_job) do - if Config.get([:oauth2, :clean_expired_tokens], false) do - Token.delete_expired_tokens() - end - - :ok - end -end diff --git a/lib/pleroma/workers/purge_expired_token.ex b/lib/pleroma/workers/purge_expired_token.ex new file mode 100644 index 000000000..6068e43bf --- /dev/null +++ b/lib/pleroma/workers/purge_expired_token.ex @@ -0,0 +1,28 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.PurgeExpiredOAuthToken do + @moduledoc """ + Worker which purges expired OAuth tokens + """ + + use Oban.Worker, queue: :oauth_token_expiration, max_attempts: 1 + + @spec enqueue(%{token_id: integer(), valid_until: DateTime.t()}) :: + {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()} + def enqueue(args) do + {scheduled_at, args} = Map.pop(args, :valid_until) + + args + |> __MODULE__.new(scheduled_at: scheduled_at) + |> Oban.insert() + end + + @impl true + def perform(%Oban.Job{args: %{"token_id" => id}}) do + Pleroma.Web.OAuth.Token + |> Pleroma.Repo.get(id) + |> Pleroma.Repo.delete() + end +end diff --git a/test/plugs/oauth_plug_test.exs b/test/plugs/oauth_plug_test.exs index f74c068cd..9d39d3153 100644 --- a/test/plugs/oauth_plug_test.exs +++ b/test/plugs/oauth_plug_test.exs @@ -16,7 +16,7 @@ defmodule Pleroma.Plugs.OAuthPlugTest do setup %{conn: conn} do user = insert(:user) - {:ok, %{token: token}} = Pleroma.Web.OAuth.Token.create_token(insert(:oauth_app), user) + {:ok, %{token: token}} = Pleroma.Web.OAuth.Token.create(insert(:oauth_app), user) %{user: user, token: token, conn: conn} end diff --git a/test/web/oauth/token_test.exs b/test/web/oauth/token_test.exs index 40d71eb59..c88b9cc98 100644 --- a/test/web/oauth/token_test.exs +++ b/test/web/oauth/token_test.exs @@ -69,17 +69,4 @@ test "deletes all tokens of a user" do assert tokens == 2 end - - test "deletes expired tokens" do - insert(:oauth_token, valid_until: Timex.shift(Timex.now(), days: -3)) - insert(:oauth_token, valid_until: Timex.shift(Timex.now(), days: -3)) - t3 = insert(:oauth_token) - t4 = insert(:oauth_token, valid_until: Timex.shift(Timex.now(), minutes: 10)) - {tokens, _} = Token.delete_expired_tokens() - assert tokens == 2 - available_tokens = Pleroma.Repo.all(Token) - - token_ids = available_tokens |> Enum.map(& &1.id) - assert token_ids == [t3.id, t4.id] - end end diff --git a/test/web/twitter_api/password_controller_test.exs b/test/web/twitter_api/password_controller_test.exs index 231a46c67..a5e9e2178 100644 --- a/test/web/twitter_api/password_controller_test.exs +++ b/test/web/twitter_api/password_controller_test.exs @@ -37,7 +37,7 @@ test "it shows password reset form", %{conn: conn} do test "it returns HTTP 200", %{conn: conn} do user = insert(:user) {:ok, token} = PasswordResetToken.create_token(user) - {:ok, _access_token} = Token.create_token(insert(:oauth_app), user, %{}) + {:ok, _access_token} = Token.create(insert(:oauth_app), user, %{}) params = %{ "password" => "test", @@ -62,7 +62,7 @@ test "it sets password_reset_pending to false", %{conn: conn} do user = insert(:user, password_reset_pending: true) {:ok, token} = PasswordResetToken.create_token(user) - {:ok, _access_token} = Token.create_token(insert(:oauth_app), user, %{}) + {:ok, _access_token} = Token.create(insert(:oauth_app), user, %{}) params = %{ "password" => "test", diff --git a/test/workers/cron/clear_oauth_token_worker_test.exs b/test/workers/cron/clear_oauth_token_worker_test.exs deleted file mode 100644 index 67836f34f..000000000 --- a/test/workers/cron/clear_oauth_token_worker_test.exs +++ /dev/null @@ -1,22 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Workers.Cron.ClearOauthTokenWorkerTest do - use Pleroma.DataCase - - import Pleroma.Factory - alias Pleroma.Workers.Cron.ClearOauthTokenWorker - - setup do: clear_config([:oauth2, :clean_expired_tokens]) - - test "deletes expired tokens" do - insert(:oauth_token, - valid_until: NaiveDateTime.add(NaiveDateTime.utc_now(), -60 * 10) - ) - - Pleroma.Config.put([:oauth2, :clean_expired_tokens], true) - ClearOauthTokenWorker.perform(%Oban.Job{}) - assert Pleroma.Repo.all(Pleroma.Web.OAuth.Token) == [] - end -end diff --git a/test/workers/purge_expired_oauth_token_test.exs b/test/workers/purge_expired_oauth_token_test.exs new file mode 100644 index 000000000..3bd650d89 --- /dev/null +++ b/test/workers/purge_expired_oauth_token_test.exs @@ -0,0 +1,27 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.PurgeExpiredOAuthTokenTest do + use Pleroma.DataCase, async: true + use Oban.Testing, repo: Pleroma.Repo + + import Pleroma.Factory + + setup do: clear_config([:oauth2, :clean_expired_tokens], true) + + test "purges expired token" do + user = insert(:user) + app = insert(:oauth_app) + + {:ok, %{id: id}} = Pleroma.Web.OAuth.Token.create(app, user) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredOAuthToken, + args: %{token_id: id} + ) + + assert {:ok, %{id: ^id}} = + perform_job(Pleroma.Workers.PurgeExpiredOAuthToken, %{token_id: id}) + end +end From 7dd986a563545cb63e8404d9b107f1d29c499940 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 5 Sep 2020 18:35:01 +0300 Subject: [PATCH 069/201] expire mfa tokens through Oban --- config/config.exs | 2 +- docs/configuration/cheatsheet.md | 10 +-- lib/pleroma/mfa/token.ex | 71 +++++++++---------- lib/pleroma/web/oauth/oauth_controller.ex | 4 +- lib/pleroma/web/oauth/token.ex | 5 +- lib/pleroma/web/oauth/token/clean_worker.ex | 36 ---------- .../controllers/remote_follow_controller.ex | 2 +- lib/pleroma/workers/purge_expired_token.ex | 11 +-- .../remote_follow_controller_test.exs | 4 +- .../purge_expired_oauth_token_test.exs | 27 ------- test/workers/purge_expired_token_test.exs | 51 +++++++++++++ 11 files changed, 106 insertions(+), 117 deletions(-) delete mode 100644 lib/pleroma/web/oauth/token/clean_worker.ex delete mode 100644 test/workers/purge_expired_oauth_token_test.exs create mode 100644 test/workers/purge_expired_token_test.exs diff --git a/config/config.exs b/config/config.exs index fa4c96b79..95a6ea9db 100644 --- a/config/config.exs +++ b/config/config.exs @@ -530,7 +530,7 @@ log: false, queues: [ activity_expiration: 10, - oauth_token_expiration: 1, + token_expiration: 5, federator_incoming: 50, federator_outgoing: 50, web_push: 50, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index ec59896ec..d0bebbd45 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -691,9 +691,8 @@ Pleroma has the following queues: Pleroma has these periodic job workers: -`Pleroma.Workers.Cron.ClearOauthTokenWorker` - a job worker to cleanup expired oauth tokens. - -Example: +* `Pleroma.Workers.Cron.DigestEmailsWorker` - digest emails for users with new mentions and follows +* `Pleroma.Workers.Cron.NewUsersDigestWorker` - digest emails for admins with new registrations ```elixir config :pleroma, Oban, @@ -705,7 +704,8 @@ config :pleroma, Oban, federator_outgoing: 50 ], crontab: [ - {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker} + {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, + {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} ] ``` @@ -972,7 +972,7 @@ Configure OAuth 2 provider capabilities: * `token_expires_in` - The lifetime in seconds of the access token. * `issue_new_refresh_token` - Keeps old refresh token or generate new refresh token when to obtain an access token. -* `clean_expired_tokens` - Enable a background job to clean expired oauth tokens. Defaults to `false`. Interval settings sets in configuration periodic jobs [`Oban.Cron`](#obancron) +* `clean_expired_tokens` - Enable a background job to clean expired oauth tokens. Defaults to `false`. ## Link parsing diff --git a/lib/pleroma/mfa/token.ex b/lib/pleroma/mfa/token.ex index 0b2449971..69b64c0e8 100644 --- a/lib/pleroma/mfa/token.ex +++ b/lib/pleroma/mfa/token.ex @@ -10,10 +10,11 @@ defmodule Pleroma.MFA.Token do alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.OAuth.Authorization - alias Pleroma.Web.OAuth.Token, as: OAuthToken @expires 300 + @type t() :: %__MODULE__{} + schema "mfa_tokens" do field(:token, :string) field(:valid_until, :naive_datetime_usec) @@ -24,6 +25,7 @@ defmodule Pleroma.MFA.Token do timestamps() end + @spec get_by_token(String.t()) :: {:ok, t()} | {:error, :not_found} def get_by_token(token) do from( t in __MODULE__, @@ -33,33 +35,40 @@ def get_by_token(token) do |> Repo.find_resource() end - def validate(token) do - with {:fetch_token, {:ok, token}} <- {:fetch_token, get_by_token(token)}, - {:expired, false} <- {:expired, is_expired?(token)} do + @spec validate(String.t()) :: {:ok, t()} | {:error, :not_found} | {:error, :expired_token} + def validate(token_str) do + with {:ok, token} <- get_by_token(token_str), + false <- expired?(token) do {:ok, token} - else - {:expired, _} -> {:error, :expired_token} - {:fetch_token, _} -> {:error, :not_found} - error -> {:error, error} end end - def create_token(%User{} = user) do - %__MODULE__{} - |> change - |> assign_user(user) - |> put_token - |> put_valid_until - |> Repo.insert() + defp expired?(%__MODULE__{valid_until: valid_until}) do + with true <- NaiveDateTime.diff(NaiveDateTime.utc_now(), valid_until) > 0 do + {:error, :expired_token} + end end - def create_token(user, authorization) do + @spec create(User.t(), Authorization.t() | nil) :: {:ok, t()} | {:error, Ecto.Changeset.t()} + def create(user, authorization \\ nil) do + with {:ok, token} <- do_create(user, authorization) do + Pleroma.Workers.PurgeExpiredToken.enqueue(%{ + token_id: token.id, + valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"), + mod: __MODULE__ + }) + + {:ok, token} + end + end + + defp do_create(user, authorization) do %__MODULE__{} - |> change + |> change() |> assign_user(user) - |> assign_authorization(authorization) - |> put_token - |> put_valid_until + |> maybe_assign_authorization(authorization) + |> put_token() + |> put_valid_until() |> Repo.insert() end @@ -69,15 +78,19 @@ defp assign_user(changeset, user) do |> validate_required([:user]) end - defp assign_authorization(changeset, authorization) do + defp maybe_assign_authorization(changeset, %Authorization{} = authorization) do changeset |> put_assoc(:authorization, authorization) |> validate_required([:authorization]) end + defp maybe_assign_authorization(changeset, _), do: changeset + defp put_token(changeset) do + token = Pleroma.Web.OAuth.Token.Utils.generate_token() + changeset - |> change(%{token: OAuthToken.Utils.generate_token()}) + |> change(%{token: token}) |> validate_required([:token]) |> unique_constraint(:token) end @@ -89,18 +102,4 @@ defp put_valid_until(changeset) do |> change(%{valid_until: expires_in}) |> validate_required([:valid_until]) end - - def is_expired?(%__MODULE__{valid_until: valid_until}) do - NaiveDateTime.diff(NaiveDateTime.utc_now(), valid_until) > 0 - end - - def is_expired?(_), do: false - - def delete_expired_tokens do - from( - q in __MODULE__, - where: fragment("?", q.valid_until) < ^Timex.now() - ) - |> Repo.delete_all() - end end diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index dd00600ea..bbe7aa8a0 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -197,7 +197,7 @@ defp handle_create_authorization_error( {:mfa_required, user, auth, _}, params ) do - {:ok, token} = MFA.Token.create_token(user, auth) + {:ok, token} = MFA.Token.create(user, auth) data = %{ "mfa_token" => token.token, @@ -579,7 +579,7 @@ defp put_session_registration_id(%Plug.Conn{} = conn, registration_id), do: put_session(conn, :registration_id, registration_id) defp build_and_response_mfa_token(user, auth) do - with {:ok, token} <- MFA.Token.create_token(user, auth) do + with {:ok, token} <- MFA.Token.create(user, auth) do MFAView.render("mfa_response.json", %{token: token, user: user}) end end diff --git a/lib/pleroma/web/oauth/token.ex b/lib/pleroma/web/oauth/token.ex index 4d00fcb1c..de37998f2 100644 --- a/lib/pleroma/web/oauth/token.ex +++ b/lib/pleroma/web/oauth/token.ex @@ -87,9 +87,10 @@ defp put_valid_until(changeset, attrs) do def create(%App{} = app, %User{} = user, attrs \\ %{}) do with {:ok, token} <- do_create(app, user, attrs) do if Pleroma.Config.get([:oauth2, :clean_expired_tokens]) do - Pleroma.Workers.PurgeExpiredOAuthToken.enqueue(%{ + Pleroma.Workers.PurgeExpiredToken.enqueue(%{ token_id: token.id, - valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC") + valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"), + mod: __MODULE__ }) end diff --git a/lib/pleroma/web/oauth/token/clean_worker.ex b/lib/pleroma/web/oauth/token/clean_worker.ex deleted file mode 100644 index 2f51bdb75..000000000 --- a/lib/pleroma/web/oauth/token/clean_worker.ex +++ /dev/null @@ -1,36 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.OAuth.Token.CleanWorker do - @moduledoc """ - The module represents functions to clean an expired OAuth and MFA tokens. - """ - use GenServer - - @ten_seconds 10_000 - @one_day 86_400_000 - - alias Pleroma.MFA - alias Pleroma.Workers.BackgroundWorker - - def start_link(_), do: GenServer.start_link(__MODULE__, %{}) - - def init(_) do - Process.send_after(self(), :perform, @ten_seconds) - {:ok, nil} - end - - @doc false - def handle_info(:perform, state) do - BackgroundWorker.enqueue("clean_expired_tokens", %{}) - interval = Pleroma.Config.get([:oauth2, :clean_expired_tokens_interval], @one_day) - - Process.send_after(self(), :perform, interval) - {:noreply, state} - end - - def perform(:clean) do - MFA.Token.delete_expired_tokens() - end -end diff --git a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex index 521dc9322..072d889e2 100644 --- a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex +++ b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex @@ -135,7 +135,7 @@ defp handle_follow_error(conn, {:verify_mfa_code, followee, token, _} = _) do end defp handle_follow_error(conn, {:mfa_required, followee, user, _} = _) do - {:ok, %{token: token}} = MFA.Token.create_token(user) + {:ok, %{token: token}} = MFA.Token.create(user) render(conn, "follow_mfa.html", %{followee: followee, mfa_token: token, error: false}) end diff --git a/lib/pleroma/workers/purge_expired_token.ex b/lib/pleroma/workers/purge_expired_token.ex index 6068e43bf..a81e0cd28 100644 --- a/lib/pleroma/workers/purge_expired_token.ex +++ b/lib/pleroma/workers/purge_expired_token.ex @@ -2,14 +2,14 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Workers.PurgeExpiredOAuthToken do +defmodule Pleroma.Workers.PurgeExpiredToken do @moduledoc """ Worker which purges expired OAuth tokens """ - use Oban.Worker, queue: :oauth_token_expiration, max_attempts: 1 + use Oban.Worker, queue: :token_expiration, max_attempts: 1 - @spec enqueue(%{token_id: integer(), valid_until: DateTime.t()}) :: + @spec enqueue(%{token_id: integer(), valid_until: DateTime.t(), mod: module()}) :: {:ok, Oban.Job.t()} | {:error, Ecto.Changeset.t()} def enqueue(args) do {scheduled_at, args} = Map.pop(args, :valid_until) @@ -20,8 +20,9 @@ def enqueue(args) do end @impl true - def perform(%Oban.Job{args: %{"token_id" => id}}) do - Pleroma.Web.OAuth.Token + def perform(%Oban.Job{args: %{"token_id" => id, "mod" => module}}) do + module + |> String.to_existing_atom() |> Pleroma.Repo.get(id) |> Pleroma.Repo.delete() end diff --git a/test/web/twitter_api/remote_follow_controller_test.exs b/test/web/twitter_api/remote_follow_controller_test.exs index f7e54c26a..3852c7ce9 100644 --- a/test/web/twitter_api/remote_follow_controller_test.exs +++ b/test/web/twitter_api/remote_follow_controller_test.exs @@ -227,7 +227,7 @@ test "follows", %{conn: conn} do } ) - {:ok, %{token: token}} = MFA.Token.create_token(user) + {:ok, %{token: token}} = MFA.Token.create(user) user2 = insert(:user) otp_token = TOTP.generate_token(otp_secret) @@ -256,7 +256,7 @@ test "returns error when auth code is incorrect", %{conn: conn} do } ) - {:ok, %{token: token}} = MFA.Token.create_token(user) + {:ok, %{token: token}} = MFA.Token.create(user) user2 = insert(:user) otp_token = TOTP.generate_token(TOTP.generate_secret()) diff --git a/test/workers/purge_expired_oauth_token_test.exs b/test/workers/purge_expired_oauth_token_test.exs deleted file mode 100644 index 3bd650d89..000000000 --- a/test/workers/purge_expired_oauth_token_test.exs +++ /dev/null @@ -1,27 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Workers.PurgeExpiredOAuthTokenTest do - use Pleroma.DataCase, async: true - use Oban.Testing, repo: Pleroma.Repo - - import Pleroma.Factory - - setup do: clear_config([:oauth2, :clean_expired_tokens], true) - - test "purges expired token" do - user = insert(:user) - app = insert(:oauth_app) - - {:ok, %{id: id}} = Pleroma.Web.OAuth.Token.create(app, user) - - assert_enqueued( - worker: Pleroma.Workers.PurgeExpiredOAuthToken, - args: %{token_id: id} - ) - - assert {:ok, %{id: ^id}} = - perform_job(Pleroma.Workers.PurgeExpiredOAuthToken, %{token_id: id}) - end -end diff --git a/test/workers/purge_expired_token_test.exs b/test/workers/purge_expired_token_test.exs new file mode 100644 index 000000000..fb7708c3f --- /dev/null +++ b/test/workers/purge_expired_token_test.exs @@ -0,0 +1,51 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.PurgeExpiredTokenTest do + use Pleroma.DataCase, async: true + use Oban.Testing, repo: Pleroma.Repo + + import Pleroma.Factory + + setup do: clear_config([:oauth2, :clean_expired_tokens], true) + + test "purges expired oauth token" do + user = insert(:user) + app = insert(:oauth_app) + + {:ok, %{id: id}} = Pleroma.Web.OAuth.Token.create(app, user) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredToken, + args: %{token_id: id, mod: Pleroma.Web.OAuth.Token} + ) + + assert {:ok, %{id: ^id}} = + perform_job(Pleroma.Workers.PurgeExpiredToken, %{ + token_id: id, + mod: Pleroma.Web.OAuth.Token + }) + + assert Repo.aggregate(Pleroma.Web.OAuth.Token, :count, :id) == 0 + end + + test "purges expired mfa token" do + authorization = insert(:oauth_authorization) + + {:ok, %{id: id}} = Pleroma.MFA.Token.create(authorization.user, authorization) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredToken, + args: %{token_id: id, mod: Pleroma.MFA.Token} + ) + + assert {:ok, %{id: ^id}} = + perform_job(Pleroma.Workers.PurgeExpiredToken, %{ + token_id: id, + mod: Pleroma.MFA.Token + }) + + assert Repo.aggregate(Pleroma.MFA.Token, :count, :id) == 0 + end +end From c6647c08e10a45aedcd77258a0e71c41d213eaa6 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 11:54:10 +0300 Subject: [PATCH 070/201] migration and changelog --- CHANGELOG.md | 1 + ...ar_oauth_token_worker_from_oban_config.exs | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 19b2596cc..14c0252f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Removed - **Breaking:** Removed `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab`. +- **Breaking:** Removed `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` config. ## [2.1.1] - 2020-09-08 diff --git a/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs b/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs new file mode 100644 index 000000000..d9c972563 --- /dev/null +++ b/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs @@ -0,0 +1,20 @@ +defmodule Pleroma.Repo.Migrations.RemoveCronClearOauthTokenWorkerFromObanConfig do + use Ecto.Migration + + def change do + with %Pleroma.ConfigDB{} = config <- + Pleroma.ConfigDB.get_by_params(%{group: :pleroma, key: Oban}), + crontab when is_list(crontab) <- config.value[:crontab], + index when is_integer(index) <- + Enum.find_index(crontab, fn {_, worker} -> + worker == Pleroma.Workers.Cron.ClearOauthTokenWorker + end) do + updated_value = Keyword.put(config.value, :crontab, List.delete_at(crontab, index)) + + config + |> Ecto.Changeset.change(value: updated_value) + |> Pleroma.Repo.update() + end + + end +end From e11fca88d424b394359f50646e4b4ec9b3ae1a8b Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 13:44:42 +0300 Subject: [PATCH 071/201] migration to move tokens expiration into Oban --- ...92050_move_tokens_expiration_into_oban.exs | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs diff --git a/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs b/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs new file mode 100644 index 000000000..832bd02a7 --- /dev/null +++ b/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs @@ -0,0 +1,36 @@ +defmodule Pleroma.Repo.Migrations.MoveTokensExpirationIntoOban do + use Ecto.Migration + + import Ecto.Query, only: [from: 2] + + def change do + Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}], + strategy: :one_for_one, + name: Pleroma.Supervisor + ) + + if Pleroma.Config.get([:oauth2, :clean_expired_tokens]) do + from(t in Pleroma.Web.OAuth.Token, where: t.valid_until > ^NaiveDateTime.utc_now()) + |> Pleroma.Repo.stream() + |> Stream.each(fn token -> + Pleroma.Workers.PurgeExpiredToken.enqueue(%{ + token_id: token.id, + valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"), + mod: Pleroma.Web.OAuth.Token + }) + end) + |> Stream.run() + end + + from(t in Pleroma.MFA.Token, where: t.valid_until > ^NaiveDateTime.utc_now()) + |> Pleroma.Repo.stream() + |> Stream.each(fn token -> + Pleroma.Workers.PurgeExpiredToken.enqueue(%{ + token_id: token.id, + valid_until: DateTime.from_naive!(token.valid_until, "Etc/UTC"), + mod: Pleroma.MFA.Token + }) + end) + |> Stream.run() + end +end From eca42566ba62ece75b79915f4af0c8a0f0c48a17 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 13:54:28 +0300 Subject: [PATCH 072/201] formatting --- ...6_remove_cron_clear_oauth_token_worker_from_oban_config.exs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs b/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs index d9c972563..b5a0a0ff6 100644 --- a/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs +++ b/priv/repo/migrations/20200907084956_remove_cron_clear_oauth_token_worker_from_oban_config.exs @@ -2,7 +2,7 @@ defmodule Pleroma.Repo.Migrations.RemoveCronClearOauthTokenWorkerFromObanConfig use Ecto.Migration def change do - with %Pleroma.ConfigDB{} = config <- + with %Pleroma.ConfigDB{} = config <- Pleroma.ConfigDB.get_by_params(%{group: :pleroma, key: Oban}), crontab when is_list(crontab) <- config.value[:crontab], index when is_integer(index) <- @@ -15,6 +15,5 @@ def change do |> Ecto.Changeset.change(value: updated_value) |> Pleroma.Repo.update() end - end end From 8af1fd32234df7d0cdb74d78bcca9f68587b70f2 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 20:06:28 +0300 Subject: [PATCH 073/201] oban warning --- lib/pleroma/config/oban.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/config/oban.ex b/lib/pleroma/config/oban.ex index c2d56ebab..81758c93d 100644 --- a/lib/pleroma/config/oban.ex +++ b/lib/pleroma/config/oban.ex @@ -5,7 +5,7 @@ def warn do oban_config = Pleroma.Config.get(Oban) crontab = - [Pleroma.Workers.Cron.StatsWorker] + [Pleroma.Workers.Cron.StatsWorker, Pleroma.Workers.Cron.ClearOauthTokenWorker] |> Enum.reduce(oban_config[:crontab], fn removed_worker, acc -> with acc when is_list(acc) <- acc, setting when is_tuple(setting) <- From e8bfb50fa3c16f98845e326b153c8a89505e8a55 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 10 Sep 2020 20:09:44 +0300 Subject: [PATCH 074/201] pass options without adapter key --- lib/pleroma/reverse_proxy/client/tesla.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/reverse_proxy/client/tesla.ex b/lib/pleroma/reverse_proxy/client/tesla.ex index d5a339681..4b118eec2 100644 --- a/lib/pleroma/reverse_proxy/client/tesla.ex +++ b/lib/pleroma/reverse_proxy/client/tesla.ex @@ -28,7 +28,7 @@ def request(method, url, headers, body, opts \\ []) do url, body, headers, - Keyword.put(opts, :adapter, opts) + opts ) do if is_map(response.body) and method != :head do {:ok, response.status, response.headers, response.body} From cb06e98da27994ac8034f3ba387b6eeaf8a2c48f Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 13:47:53 +0300 Subject: [PATCH 075/201] websocket handler: Do not log client ping frames as errors --- lib/pleroma/web/mastodon_api/websocket_handler.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex index 94e4595d8..e6010bb4a 100644 --- a/lib/pleroma/web/mastodon_api/websocket_handler.ex +++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex @@ -64,7 +64,9 @@ def websocket_handle(:pong, state) do {:ok, %{state | timer: timer()}} end - # We never receive messages. + # We only receive pings for now + def websocket_handle(:ping, state), do: {:ok, state} + def websocket_handle(frame, state) do Logger.error("#{__MODULE__} received frame: #{inspect(frame)}") {:ok, state} From e16e8f98169f822416c18778abfa8495a486c8f2 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 13:48:24 +0300 Subject: [PATCH 076/201] Websocket handler: do not raise if handler is terminated before switching protocols Closes #2131 --- lib/pleroma/web/mastodon_api/websocket_handler.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex index e6010bb4a..5090d9622 100644 --- a/lib/pleroma/web/mastodon_api/websocket_handler.ex +++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex @@ -100,6 +100,10 @@ def websocket_info(:tick, state) do {:reply, :ping, %{state | timer: nil, count: 0}, :hibernate} end + # State can be `[]` only in case we terminate before switching to websocket, + # we already log errors for these cases in `init/1`, so just do nothing here + def terminate(_reason, _req, []), do: :ok + def terminate(reason, _req, state) do Logger.debug( "#{__MODULE__} terminating websocket connection for user #{ From 01fa68fe4542286519e3520793c6b59103b050ff Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 21:26:52 +0300 Subject: [PATCH 077/201] Websocket handler: fix never matching code on failed auth `:cowboy_req.reply` does not return tuples since 2.0, see https://ninenines.eu/docs/en/cowboy/2.4/manual/cowboy_req.reply/ --- lib/pleroma/web/mastodon_api/websocket_handler.ex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex index 5090d9622..cf923ded8 100644 --- a/lib/pleroma/web/mastodon_api/websocket_handler.ex +++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex @@ -37,12 +37,12 @@ def init(%{qs: qs} = req, state) do else {:error, :bad_topic} -> Logger.debug("#{__MODULE__} bad topic #{inspect(req)}") - {:ok, req} = :cowboy_req.reply(404, req) + req = :cowboy_req.reply(404, req) {:ok, req, state} {:error, :unauthorized} -> Logger.debug("#{__MODULE__} authentication error: #{inspect(req)}") - {:ok, req} = :cowboy_req.reply(401, req) + req = :cowboy_req.reply(401, req) {:ok, req, state} end end From dc4e06e1991379f9f1b64774c5bdaacec96639b7 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 10 Sep 2020 21:28:07 +0300 Subject: [PATCH 078/201] [#2497] Removed support for thumbnail_max_* params for media preview proxy (per https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2497#note_70771) --- .../web/media_proxy/media_proxy_controller.ex | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index acb581459..5621f72dc 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -9,6 +9,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do alias Pleroma.Helpers.MediaHelper alias Pleroma.ReverseProxy alias Pleroma.Web.MediaProxy + alias Plug.Conn def remote(conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.enabled?()}, @@ -18,29 +19,29 @@ def remote(conn, %{"sig" => sig64, "url" => url64}) do ReverseProxy.call(conn, url, media_proxy_opts()) else {:enabled, false} -> - send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) + send_resp(conn, 404, Conn.Status.reason_phrase(404)) {:in_banned_urls, true} -> - send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) + send_resp(conn, 404, Conn.Status.reason_phrase(404)) {:error, :invalid_signature} -> - send_resp(conn, 403, Plug.Conn.Status.reason_phrase(403)) + send_resp(conn, 403, Conn.Status.reason_phrase(403)) {:wrong_filename, filename} -> redirect(conn, external: MediaProxy.build_url(sig64, url64, filename)) end end - def preview(conn, %{"sig" => sig64, "url" => url64}) do + def preview(%Conn{} = conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.preview_enabled?()}, {:ok, url} <- MediaProxy.decode_url(sig64, url64) do handle_preview(conn, url) else {:enabled, false} -> - send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404)) + send_resp(conn, 404, Conn.Status.reason_phrase(404)) {:error, :invalid_signature} -> - send_resp(conn, 403, Plug.Conn.Status.reason_phrase(403)) + send_resp(conn, 403, Conn.Status.reason_phrase(403)) {:wrong_filename, filename} -> redirect(conn, external: MediaProxy.build_preview_url(sig64, url64, filename)) @@ -94,10 +95,10 @@ defp handle_preview(content_type, conn, _media_proxy_url) do send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") end - defp handle_png_preview(%{params: params} = conn, media_proxy_url) do + defp handle_png_preview(conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) - with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(), {:ok, thumbnail_binary} <- MediaHelper.image_resize( media_proxy_url, @@ -117,10 +118,10 @@ defp handle_png_preview(%{params: params} = conn, media_proxy_url) do end end - defp handle_jpeg_preview(%{params: params} = conn, media_proxy_url) do + defp handle_jpeg_preview(conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) - with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(params), + with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(), {:ok, thumbnail_binary} <- MediaHelper.image_resize( media_proxy_url, @@ -157,22 +158,11 @@ defp put_preview_response_headers( |> put_resp_header("cache-control", ReverseProxy.default_cache_control_header()) end - defp thumbnail_max_dimensions(params) do + defp thumbnail_max_dimensions() do config = Config.get([:media_preview_proxy], []) - thumbnail_max_width = - if w = params["thumbnail_max_width"] do - String.to_integer(w) - else - Keyword.fetch!(config, :thumbnail_max_width) - end - - thumbnail_max_height = - if h = params["thumbnail_max_height"] do - String.to_integer(h) - else - Keyword.fetch!(config, :thumbnail_max_height) - end + thumbnail_max_width = Keyword.fetch!(config, :thumbnail_max_width) + thumbnail_max_height = Keyword.fetch!(config, :thumbnail_max_height) {thumbnail_max_width, thumbnail_max_height} end From 275602daa7c4a01dffb83759012554da2d9335fe Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 21:28:47 +0300 Subject: [PATCH 079/201] Streaming integration tests: remove unexpected error assumption For some reason instead of fixing unexpected errors, we made tests assert they indeed trigger... Now that the errors are fixed these were failing --- test/integration/mastodon_websocket_test.exs | 26 ++++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/test/integration/mastodon_websocket_test.exs b/test/integration/mastodon_websocket_test.exs index ea17e9feb..76fbc8bda 100644 --- a/test/integration/mastodon_websocket_test.exs +++ b/test/integration/mastodon_websocket_test.exs @@ -99,30 +99,30 @@ test "accepts valid tokens", state do test "accepts the 'user' stream", %{token: token} = _state do assert {:ok, _} = start_socket("?stream=user&access_token=#{token.token}") - assert capture_log(fn -> - assert {:error, {401, _}} = start_socket("?stream=user") - Process.sleep(30) - end) =~ ":badarg" + capture_log(fn -> + assert {:error, {401, _}} = start_socket("?stream=user") + Process.sleep(30) + end) end test "accepts the 'user:notification' stream", %{token: token} = _state do assert {:ok, _} = start_socket("?stream=user:notification&access_token=#{token.token}") - assert capture_log(fn -> - assert {:error, {401, _}} = start_socket("?stream=user:notification") - Process.sleep(30) - end) =~ ":badarg" + capture_log(fn -> + assert {:error, {401, _}} = start_socket("?stream=user:notification") + Process.sleep(30) + end) end test "accepts valid token on Sec-WebSocket-Protocol header", %{token: token} do assert {:ok, _} = start_socket("?stream=user", [{"Sec-WebSocket-Protocol", token.token}]) - assert capture_log(fn -> - assert {:error, {401, _}} = - start_socket("?stream=user", [{"Sec-WebSocket-Protocol", "I am a friend"}]) + capture_log(fn -> + assert {:error, {401, _}} = + start_socket("?stream=user", [{"Sec-WebSocket-Protocol", "I am a friend"}]) - Process.sleep(30) - end) =~ ":badarg" + Process.sleep(30) + end) end end end From 9bf1065a06837b4c753549d89afe23a636a20972 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 22 Aug 2020 20:46:01 +0300 Subject: [PATCH 080/201] schedule activity expiration in Oban --- config/config.exs | 3 +- config/description.exs | 1 - lib/mix/tasks/pleroma/database.ex | 18 ++-- lib/pleroma/activity.ex | 3 - lib/pleroma/activity_expiration.ex | 74 ---------------- lib/pleroma/web/activity_pub/activity_pub.ex | 7 +- .../mrf/activity_expiration_policy.ex | 4 +- lib/pleroma/web/activity_pub/side_effects.ex | 6 +- lib/pleroma/web/common_api/activity_draft.ex | 2 +- lib/pleroma/web/common_api/common_api.ex | 5 +- .../web/mastodon_api/views/status_view.ex | 5 +- .../cron/purge_expired_activities_worker.ex | 48 ----------- lib/pleroma/workers/purge_expired_activity.ex | 72 ++++++++++++++++ test/activity_expiration_test.exs | 55 ------------ test/activity_test.exs | 9 -- test/support/factory.ex | 19 ----- test/tasks/database_test.exs | 62 +++++++------- test/web/activity_pub/activity_pub_test.exs | 25 ++++-- .../mrf/activity_expiration_policy_test.exs | 8 +- test/web/common_api/common_api_test.exs | 14 ++-- .../controllers/status_controller_test.exs | 44 +++++----- .../purge_expired_activities_worker_test.exs | 84 ------------------- test/workers/purge_expired_activity_test.exs | 47 +++++++++++ 23 files changed, 229 insertions(+), 386 deletions(-) delete mode 100644 lib/pleroma/activity_expiration.ex delete mode 100644 lib/pleroma/workers/cron/purge_expired_activities_worker.ex create mode 100644 lib/pleroma/workers/purge_expired_activity.ex delete mode 100644 test/activity_expiration_test.exs delete mode 100644 test/workers/cron/purge_expired_activities_worker_test.exs create mode 100644 test/workers/purge_expired_activity_test.exs diff --git a/config/config.exs b/config/config.exs index 95a6ea9db..d975db31e 100644 --- a/config/config.exs +++ b/config/config.exs @@ -544,7 +544,6 @@ ], plugins: [Oban.Plugins.Pruner], crontab: [ - {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker}, {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} ] @@ -655,7 +654,7 @@ account_confirmation_resend: {8_640_000, 5}, ap_routes: {60_000, 15} -config :pleroma, Pleroma.ActivityExpiration, enabled: true +config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true config :pleroma, Pleroma.Plugs.RemoteIp, enabled: true diff --git a/config/description.exs b/config/description.exs index 4c4deed30..6ce27278c 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2290,7 +2290,6 @@ type: {:list, :tuple}, description: "Settings for cron background jobs", suggestions: [ - {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker}, {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} ] diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index 7d8f00b08..aab4b5e9a 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -133,8 +133,7 @@ def run(["ensure_expiration"]) do days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365) Pleroma.Activity - |> join(:left, [a], u in assoc(a, :expiration)) - |> join(:inner, [a, _u], o in Object, + |> join(:inner, [a], o in Object, on: fragment( "(?->>'id') = COALESCE((?)->'object'->> 'id', (?)->>'object')", @@ -144,14 +143,21 @@ def run(["ensure_expiration"]) do ) ) |> where(local: true) - |> where([a, u], is_nil(u)) |> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data)) - |> where([_a, _u, o], fragment("?->>'type' = 'Note'", o.data)) + |> where([_a, o], fragment("?->>'type' = 'Note'", o.data)) |> Pleroma.RepoStreamer.chunk_stream(100) |> Stream.each(fn activities -> Enum.each(activities, fn activity -> - expires_at = Timex.shift(activity.inserted_at, days: days) - Pleroma.ActivityExpiration.create(activity, expires_at, false) + expires_at = + activity.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: days) + + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: expires_at, + validate: false + }) end) end) |> Stream.run() diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 97feebeaa..03cd3b8c0 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -7,7 +7,6 @@ defmodule Pleroma.Activity do alias Pleroma.Activity alias Pleroma.Activity.Queries - alias Pleroma.ActivityExpiration alias Pleroma.Bookmark alias Pleroma.Notification alias Pleroma.Object @@ -60,8 +59,6 @@ defmodule Pleroma.Activity do # typical case. has_one(:object, Object, on_delete: :nothing, foreign_key: :id) - has_one(:expiration, ActivityExpiration, on_delete: :delete_all) - timestamps() end diff --git a/lib/pleroma/activity_expiration.ex b/lib/pleroma/activity_expiration.ex deleted file mode 100644 index 955f0578e..000000000 --- a/lib/pleroma/activity_expiration.ex +++ /dev/null @@ -1,74 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.ActivityExpiration do - use Ecto.Schema - - alias Pleroma.Activity - alias Pleroma.ActivityExpiration - alias Pleroma.Repo - - import Ecto.Changeset - import Ecto.Query - - @type t :: %__MODULE__{} - @min_activity_lifetime :timer.hours(1) - - schema "activity_expirations" do - belongs_to(:activity, Activity, type: FlakeId.Ecto.CompatType) - field(:scheduled_at, :naive_datetime) - end - - def changeset(%ActivityExpiration{} = expiration, attrs, validate_scheduled_at) do - expiration - |> cast(attrs, [:scheduled_at]) - |> validate_required([:scheduled_at]) - |> validate_scheduled_at(validate_scheduled_at) - end - - def get_by_activity_id(activity_id) do - ActivityExpiration - |> where([exp], exp.activity_id == ^activity_id) - |> Repo.one() - end - - def create(%Activity{} = activity, scheduled_at, validate_scheduled_at \\ true) do - %ActivityExpiration{activity_id: activity.id} - |> changeset(%{scheduled_at: scheduled_at}, validate_scheduled_at) - |> Repo.insert() - end - - def due_expirations(offset \\ 0) do - naive_datetime = - NaiveDateTime.utc_now() - |> NaiveDateTime.add(offset, :millisecond) - - ActivityExpiration - |> where([exp], exp.scheduled_at < ^naive_datetime) - |> limit(50) - |> preload(:activity) - |> Repo.all() - |> Enum.reject(fn %{activity: activity} -> - Activity.pinned_by_actor?(activity) - end) - end - - def validate_scheduled_at(changeset, false), do: changeset - - def validate_scheduled_at(changeset, true) do - validate_change(changeset, :scheduled_at, fn _, scheduled_at -> - if not expires_late_enough?(scheduled_at) do - [scheduled_at: "an ephemeral activity must live for at least one hour"] - else - [] - end - end) - end - - def expires_late_enough?(scheduled_at) do - now = NaiveDateTime.utc_now() - diff = NaiveDateTime.diff(scheduled_at, now, :millisecond) - diff > @min_activity_lifetime - end -end diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 333621413..c33848277 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -5,7 +5,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do alias Pleroma.Activity alias Pleroma.Activity.Ir.Topics - alias Pleroma.ActivityExpiration alias Pleroma.Config alias Pleroma.Constants alias Pleroma.Conversation @@ -165,7 +164,11 @@ def notify_and_stream(activity) do end defp maybe_create_activity_expiration({:ok, %{data: %{"expires_at" => expires_at}} = activity}) do - with {:ok, _} <- ActivityExpiration.create(activity, expires_at) do + with {:ok, _job} <- + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: expires_at + }) do {:ok, activity} end end diff --git a/lib/pleroma/web/activity_pub/mrf/activity_expiration_policy.ex b/lib/pleroma/web/activity_pub/mrf/activity_expiration_policy.ex index 7b4c78e0f..bee47b4ed 100644 --- a/lib/pleroma/web/activity_pub/mrf/activity_expiration_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/activity_expiration_policy.ex @@ -31,10 +31,10 @@ defp note?(activity) do defp maybe_add_expiration(activity) do days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365) - expires_at = NaiveDateTime.utc_now() |> Timex.shift(days: days) + expires_at = DateTime.utc_now() |> Timex.shift(days: days) with %{"expires_at" => existing_expires_at} <- activity, - :lt <- NaiveDateTime.compare(existing_expires_at, expires_at) do + :lt <- DateTime.compare(existing_expires_at, expires_at) do activity else _ -> Map.put(activity, "expires_at", expires_at) diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index a5e2323bd..b30ca1bd7 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -7,7 +7,6 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do """ alias Pleroma.Activity alias Pleroma.Activity.Ir.Topics - alias Pleroma.ActivityExpiration alias Pleroma.Chat alias Pleroma.Chat.MessageReference alias Pleroma.FollowingRelationship @@ -189,7 +188,10 @@ def handle(%{data: %{"type" => "Create"}} = activity, meta) do end if expires_at = activity.data["expires_at"] do - ActivityExpiration.create(activity, expires_at) + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: expires_at + }) end BackgroundWorker.enqueue("fetch_data_for_activity", %{"activity_id" => activity.id}) diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex index f849b2e01..548f76609 100644 --- a/lib/pleroma/web/common_api/activity_draft.ex +++ b/lib/pleroma/web/common_api/activity_draft.ex @@ -202,7 +202,7 @@ defp changes(draft) do additional = case draft.expires_at do - %NaiveDateTime{} = expires_at -> Map.put(additional, "expires_at", expires_at) + %DateTime{} = expires_at -> Map.put(additional, "expires_at", expires_at) _ -> additional end diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 4ab533658..500c3883e 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -4,7 +4,6 @@ defmodule Pleroma.Web.CommonAPI do alias Pleroma.Activity - alias Pleroma.ActivityExpiration alias Pleroma.Conversation.Participation alias Pleroma.Formatter alias Pleroma.Object @@ -381,9 +380,9 @@ def get_replied_to_visibility(activity) do def check_expiry_date({:ok, nil} = res), do: res def check_expiry_date({:ok, in_seconds}) do - expiry = NaiveDateTime.utc_now() |> NaiveDateTime.add(in_seconds) + expiry = DateTime.add(DateTime.utc_now(), in_seconds) - if ActivityExpiration.expires_late_enough?(expiry) do + if Pleroma.Workers.PurgeExpiredActivity.expires_late_enough?(expiry) do {:ok, expiry} else {:error, "Expiry date is too soon"} diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 3fe1967be..ca42917fc 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -8,7 +8,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do require Pleroma.Constants alias Pleroma.Activity - alias Pleroma.ActivityExpiration alias Pleroma.HTML alias Pleroma.Object alias Pleroma.Repo @@ -245,8 +244,8 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} expires_at = with true <- client_posted_this_activity, - %ActivityExpiration{scheduled_at: scheduled_at} <- - ActivityExpiration.get_by_activity_id(activity.id) do + %Oban.Job{scheduled_at: scheduled_at} <- + Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) do scheduled_at else _ -> nil diff --git a/lib/pleroma/workers/cron/purge_expired_activities_worker.ex b/lib/pleroma/workers/cron/purge_expired_activities_worker.ex deleted file mode 100644 index 6549207fc..000000000 --- a/lib/pleroma/workers/cron/purge_expired_activities_worker.ex +++ /dev/null @@ -1,48 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker do - @moduledoc """ - The worker to purge expired activities. - """ - - use Oban.Worker, queue: "activity_expiration" - - alias Pleroma.Activity - alias Pleroma.ActivityExpiration - alias Pleroma.Config - alias Pleroma.User - alias Pleroma.Web.CommonAPI - - require Logger - - @interval :timer.minutes(1) - - @impl Oban.Worker - def perform(_job) do - if Config.get([ActivityExpiration, :enabled]) do - Enum.each(ActivityExpiration.due_expirations(@interval), &delete_activity/1) - end - after - :ok - end - - def delete_activity(%ActivityExpiration{activity_id: activity_id}) do - with {:activity, %Activity{} = activity} <- - {:activity, Activity.get_by_id_with_object(activity_id)}, - {:user, %User{} = user} <- {:user, User.get_by_ap_id(activity.object.data["actor"])} do - CommonAPI.delete(activity.id, user) - else - {:activity, _} -> - Logger.error( - "#{__MODULE__} Couldn't delete expired activity: not found activity ##{activity_id}" - ) - - {:user, _} -> - Logger.error( - "#{__MODULE__} Couldn't delete expired activity: not found actor of ##{activity_id}" - ) - end - end -end diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex new file mode 100644 index 000000000..016b000c1 --- /dev/null +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -0,0 +1,72 @@ +defmodule Pleroma.Workers.PurgeExpiredActivity do + @moduledoc """ + Worker which purges expired activity. + """ + + use Oban.Worker, queue: :activity_expiration, max_attempts: 1 + + import Ecto.Query + + def enqueue(args) do + with true <- enabled?(), + args when is_map(args) <- validate_expires_at(args) do + {scheduled_at, args} = Map.pop(args, :expires_at) + + args + |> __MODULE__.new(scheduled_at: scheduled_at) + |> Oban.insert() + end + end + + @impl true + def perform(%Oban.Job{args: %{"activity_id" => id}}) do + with %Pleroma.Activity{} = activity <- find_activity(id), + %Pleroma.User{} = user <- find_user(activity.object.data["actor"]) do + Pleroma.Web.CommonAPI.delete(activity.id, user) + end + end + + defp enabled? do + with false <- Pleroma.Config.get([__MODULE__, :enabled], false) do + {:error, :expired_activities_disabled} + end + end + + defp validate_expires_at(%{validate: false} = args), do: Map.delete(args, :validate) + + defp validate_expires_at(args) do + if expires_late_enough?(args[:expires_at]) do + args + else + {:error, :expiration_too_close} + end + end + + defp find_activity(id) do + with nil <- Pleroma.Activity.get_by_id_with_object(id) do + {:error, :activity_not_found} + end + end + + defp find_user(ap_id) do + with nil <- Pleroma.User.get_by_ap_id(ap_id) do + {:error, :user_not_found} + end + end + + def get_expiration(id) do + from(j in Oban.Job, + where: j.state == "scheduled", + where: j.queue == "activity_expiration", + where: fragment("?->>'activity_id' = ?", j.args, ^id) + ) + |> Pleroma.Repo.one() + end + + @spec expires_late_enough?(DateTime.t()) :: boolean() + def expires_late_enough?(scheduled_at) do + now = DateTime.utc_now() + diff = DateTime.diff(scheduled_at, now, :millisecond) + diff > :timer.hours(1) + end +end diff --git a/test/activity_expiration_test.exs b/test/activity_expiration_test.exs deleted file mode 100644 index f86d79826..000000000 --- a/test/activity_expiration_test.exs +++ /dev/null @@ -1,55 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.ActivityExpirationTest do - use Pleroma.DataCase - alias Pleroma.ActivityExpiration - import Pleroma.Factory - - setup do: clear_config([ActivityExpiration, :enabled]) - - test "finds activities due to be deleted only" do - activity = insert(:note_activity) - - expiration_due = - insert(:expiration_in_the_past, %{activity_id: activity.id}) |> Repo.preload(:activity) - - activity2 = insert(:note_activity) - insert(:expiration_in_the_future, %{activity_id: activity2.id}) - - expirations = ActivityExpiration.due_expirations() - - assert length(expirations) == 1 - assert hd(expirations) == expiration_due - end - - test "denies expirations that don't live long enough" do - activity = insert(:note_activity) - now = NaiveDateTime.utc_now() - assert {:error, _} = ActivityExpiration.create(activity, now) - end - - test "deletes an expiration activity" do - Pleroma.Config.put([ActivityExpiration, :enabled], true) - activity = insert(:note_activity) - - naive_datetime = - NaiveDateTime.add( - NaiveDateTime.utc_now(), - -:timer.minutes(2), - :millisecond - ) - - expiration = - insert( - :expiration_in_the_past, - %{activity_id: activity.id, scheduled_at: naive_datetime} - ) - - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) - - refute Pleroma.Repo.get(Pleroma.Activity, activity.id) - refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id) - end -end diff --git a/test/activity_test.exs b/test/activity_test.exs index 2a92327d1..ee6a99cc3 100644 --- a/test/activity_test.exs +++ b/test/activity_test.exs @@ -185,15 +185,6 @@ test "find all statuses for unauthenticated users when `limit_to_local_content` end end - test "add an activity with an expiration" do - activity = insert(:note_activity) - insert(:expiration_in_the_future, %{activity_id: activity.id}) - - Pleroma.ActivityExpiration - |> where([a], a.activity_id == ^activity.id) - |> Repo.one!() - end - test "all_by_ids_with_object/1" do %{id: id1} = insert(:note_activity) %{id: id2} = insert(:note_activity) diff --git a/test/support/factory.ex b/test/support/factory.ex index 486eda8da..2fdfabbc5 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -200,25 +200,6 @@ def note_activity_factory(attrs \\ %{}) do |> Map.merge(attrs) end - defp expiration_offset_by_minutes(attrs, minutes) do - scheduled_at = - NaiveDateTime.utc_now() - |> NaiveDateTime.add(:timer.minutes(minutes), :millisecond) - |> NaiveDateTime.truncate(:second) - - %Pleroma.ActivityExpiration{} - |> Map.merge(attrs) - |> Map.put(:scheduled_at, scheduled_at) - end - - def expiration_in_the_past_factory(attrs \\ %{}) do - expiration_offset_by_minutes(attrs, -60) - end - - def expiration_in_the_future_factory(attrs \\ %{}) do - expiration_offset_by_minutes(attrs, 61) - end - def article_activity_factory do article = insert(:article) diff --git a/test/tasks/database_test.exs b/test/tasks/database_test.exs index 3a28aa133..292a5ef5f 100644 --- a/test/tasks/database_test.exs +++ b/test/tasks/database_test.exs @@ -3,14 +3,15 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.DatabaseTest do + use Pleroma.DataCase + use Oban.Testing, repo: Pleroma.Repo + alias Pleroma.Activity alias Pleroma.Object alias Pleroma.Repo alias Pleroma.User alias Pleroma.Web.CommonAPI - use Pleroma.DataCase - import Pleroma.Factory setup_all do @@ -130,40 +131,45 @@ test "it turns OrderedCollection likes into empty arrays" do describe "ensure_expiration" do test "it adds to expiration old statuses" do - %{id: activity_id1} = insert(:note_activity) + activity1 = insert(:note_activity) - %{id: activity_id2} = - insert(:note_activity, %{inserted_at: NaiveDateTime.from_iso8601!("2015-01-23 23:50:07")}) + {:ok, inserted_at, 0} = DateTime.from_iso8601("2015-01-23T23:50:07Z") + activity2 = insert(:note_activity, %{inserted_at: inserted_at}) - %{id: activity_id3} = activity3 = insert(:note_activity) + %{id: activity_id3} = insert(:note_activity) - expires_at = - NaiveDateTime.utc_now() - |> NaiveDateTime.add(60 * 61, :second) - |> NaiveDateTime.truncate(:second) + expires_at = DateTime.add(DateTime.utc_now(), 60 * 61) - Pleroma.ActivityExpiration.create(activity3, expires_at) + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: activity_id3, + expires_at: expires_at + }) Mix.Tasks.Pleroma.Database.run(["ensure_expiration"]) - expirations = - Pleroma.ActivityExpiration - |> order_by(:activity_id) - |> Repo.all() + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity1.id}, + scheduled_at: + activity1.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: 365) + ) - assert [ - %Pleroma.ActivityExpiration{ - activity_id: ^activity_id1 - }, - %Pleroma.ActivityExpiration{ - activity_id: ^activity_id2, - scheduled_at: ~N[2016-01-23 23:50:07] - }, - %Pleroma.ActivityExpiration{ - activity_id: ^activity_id3, - scheduled_at: ^expires_at - } - ] = expirations + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity2.id}, + scheduled_at: + activity2.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: 365) + ) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity_id3}, + scheduled_at: expires_at + ) end end end diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 03f968aaf..9af573924 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -2069,18 +2069,25 @@ test "it just returns the input if the user has no following/follower addresses" end describe "global activity expiration" do - setup do: clear_config([:mrf, :policies]) - test "creates an activity expiration for local Create activities" do - Pleroma.Config.put( - [:mrf, :policies], - Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy + clear_config([:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy) + + {:ok, activity} = ActivityBuilder.insert(%{"type" => "Create", "context" => "3hu"}) + {:ok, follow} = ActivityBuilder.insert(%{"type" => "Follow", "context" => "3hu"}) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity.id}, + scheduled_at: + activity.inserted_at + |> DateTime.from_naive!("Etc/UTC") + |> Timex.shift(days: 365) ) - {:ok, %{id: id_create}} = ActivityBuilder.insert(%{"type" => "Create", "context" => "3hu"}) - {:ok, _follow} = ActivityBuilder.insert(%{"type" => "Follow", "context" => "3hu"}) - - assert [%{activity_id: ^id_create}] = Pleroma.ActivityExpiration |> Repo.all() + refute_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: follow.id} + ) end end diff --git a/test/web/activity_pub/mrf/activity_expiration_policy_test.exs b/test/web/activity_pub/mrf/activity_expiration_policy_test.exs index f25cf8b12..e7370d4ef 100644 --- a/test/web/activity_pub/mrf/activity_expiration_policy_test.exs +++ b/test/web/activity_pub/mrf/activity_expiration_policy_test.exs @@ -18,11 +18,11 @@ test "adds `expires_at` property" do "object" => %{"type" => "Note"} }) - assert Timex.diff(expires_at, NaiveDateTime.utc_now(), :days) == 364 + assert Timex.diff(expires_at, DateTime.utc_now(), :days) == 364 end test "keeps existing `expires_at` if it less than the config setting" do - expires_at = NaiveDateTime.utc_now() |> Timex.shift(days: 1) + expires_at = DateTime.utc_now() |> Timex.shift(days: 1) assert {:ok, %{"type" => "Create", "expires_at" => ^expires_at}} = ActivityExpirationPolicy.filter(%{ @@ -35,7 +35,7 @@ test "keeps existing `expires_at` if it less than the config setting" do end test "overwrites existing `expires_at` if it greater than the config setting" do - too_distant_future = NaiveDateTime.utc_now() |> Timex.shift(years: 2) + too_distant_future = DateTime.utc_now() |> Timex.shift(years: 2) assert {:ok, %{"type" => "Create", "expires_at" => expires_at}} = ActivityExpirationPolicy.filter(%{ @@ -46,7 +46,7 @@ test "overwrites existing `expires_at` if it greater than the config setting" do "object" => %{"type" => "Note"} }) - assert Timex.diff(expires_at, NaiveDateTime.utc_now(), :days) == 364 + assert Timex.diff(expires_at, DateTime.utc_now(), :days) == 364 end test "ignores remote activities" do diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 800db9a20..5afb0a6dc 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -4,6 +4,8 @@ defmodule Pleroma.Web.CommonAPITest do use Pleroma.DataCase + use Oban.Testing, repo: Pleroma.Repo + alias Pleroma.Activity alias Pleroma.Chat alias Pleroma.Conversation.Participation @@ -598,15 +600,15 @@ test "it validates character limits are correctly enforced" do test "it can handle activities that expire" do user = insert(:user) - expires_at = - NaiveDateTime.utc_now() - |> NaiveDateTime.truncate(:second) - |> NaiveDateTime.add(1_000_000, :second) + expires_at = DateTime.add(DateTime.utc_now(), 1_000_000) assert {:ok, activity} = CommonAPI.post(user, %{status: "chai", expires_in: 1_000_000}) - assert expiration = Pleroma.ActivityExpiration.get_by_activity_id(activity.id) - assert expiration.scheduled_at == expires_at + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity.id}, + scheduled_at: expires_at + ) end end diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index f221884e7..17a156be8 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -4,9 +4,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do use Pleroma.Web.ConnCase + use Oban.Testing, repo: Pleroma.Repo alias Pleroma.Activity - alias Pleroma.ActivityExpiration alias Pleroma.Config alias Pleroma.Conversation.Participation alias Pleroma.Object @@ -29,8 +29,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do setup do: oauth_access(["write:statuses"]) test "posting a status does not increment reblog_count when relaying", %{conn: conn} do - Pleroma.Config.put([:instance, :federating], true) - Pleroma.Config.get([:instance, :allow_relay], true) + Config.put([:instance, :federating], true) + Config.get([:instance, :allow_relay], true) response = conn @@ -103,7 +103,9 @@ test "posting a status", %{conn: conn} do # An activity that will expire: # 2 hours - expires_in = 120 * 60 + expires_in = 2 * 60 * 60 + + expires_at = DateTime.add(DateTime.utc_now(), expires_in) conn_four = conn @@ -116,19 +118,13 @@ test "posting a status", %{conn: conn} do assert fourth_response = %{"id" => fourth_id} = json_response_and_validate_schema(conn_four, 200) - assert activity = Activity.get_by_id(fourth_id) - assert expiration = ActivityExpiration.get_by_activity_id(fourth_id) + assert Activity.get_by_id(fourth_id) - estimated_expires_at = - NaiveDateTime.utc_now() - |> NaiveDateTime.add(expires_in) - |> NaiveDateTime.truncate(:second) - - # This assert will fail if the test takes longer than a minute. I sure hope it never does: - assert abs(NaiveDateTime.diff(expiration.scheduled_at, estimated_expires_at, :second)) < 60 - - assert fourth_response["pleroma"]["expires_at"] == - NaiveDateTime.to_iso8601(expiration.scheduled_at) + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: fourth_id}, + scheduled_at: expires_at + ) end test "it fails to create a status if `expires_in` is less or equal than an hour", %{ @@ -160,8 +156,8 @@ test "it fails to create a status if `expires_in` is less or equal than an hour" end test "Get MRF reason when posting a status is rejected by one", %{conn: conn} do - Pleroma.Config.put([:mrf_keyword, :reject], ["GNO"]) - Pleroma.Config.put([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + Config.put([:mrf_keyword, :reject], ["GNO"]) + Config.put([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) assert %{"error" => "[KeywordPolicy] Matches with rejected keyword"} = conn @@ -1681,19 +1677,17 @@ test "returns the favorites of a user" do test "expires_at is nil for another user" do %{conn: conn, user: user} = oauth_access(["read:statuses"]) + expires_at = DateTime.add(DateTime.utc_now(), 1_000_000) {:ok, activity} = CommonAPI.post(user, %{status: "foobar", expires_in: 1_000_000}) - expires_at = - activity.id - |> ActivityExpiration.get_by_activity_id() - |> Map.get(:scheduled_at) - |> NaiveDateTime.to_iso8601() - - assert %{"pleroma" => %{"expires_at" => ^expires_at}} = + assert %{"pleroma" => %{"expires_at" => a_expires_at}} = conn |> get("/api/v1/statuses/#{activity.id}") |> json_response_and_validate_schema(:ok) + {:ok, a_expires_at, 0} = DateTime.from_iso8601(a_expires_at) + assert DateTime.diff(expires_at, a_expires_at) == 0 + %{conn: conn} = oauth_access(["read:statuses"]) assert %{"pleroma" => %{"expires_at" => nil}} = diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs deleted file mode 100644 index d1acd9ae6..000000000 --- a/test/workers/cron/purge_expired_activities_worker_test.exs +++ /dev/null @@ -1,84 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do - use Pleroma.DataCase - - alias Pleroma.ActivityExpiration - alias Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker - - import Pleroma.Factory - import ExUnit.CaptureLog - - setup do - clear_config([ActivityExpiration, :enabled]) - end - - test "deletes an expiration activity" do - Pleroma.Config.put([ActivityExpiration, :enabled], true) - activity = insert(:note_activity) - - naive_datetime = - NaiveDateTime.add( - NaiveDateTime.utc_now(), - -:timer.minutes(2), - :millisecond - ) - - expiration = - insert( - :expiration_in_the_past, - %{activity_id: activity.id, scheduled_at: naive_datetime} - ) - - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) - - refute Pleroma.Repo.get(Pleroma.Activity, activity.id) - refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id) - end - - test "works with ActivityExpirationPolicy" do - Pleroma.Config.put([ActivityExpiration, :enabled], true) - - clear_config([:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy) - - user = insert(:user) - - days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365) - - {:ok, %{id: id} = activity} = Pleroma.Web.CommonAPI.post(user, %{status: "cofe"}) - - past_date = - NaiveDateTime.utc_now() |> Timex.shift(days: -days) |> NaiveDateTime.truncate(:second) - - activity - |> Repo.preload(:expiration) - |> Map.get(:expiration) - |> Ecto.Changeset.change(%{scheduled_at: past_date}) - |> Repo.update!() - - Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(%Oban.Job{}) - - assert [%{data: %{"type" => "Delete", "deleted_activity_id" => ^id}}] = - Pleroma.Repo.all(Pleroma.Activity) - end - - describe "delete_activity/1" do - test "adds log message if activity isn't find" do - assert capture_log([level: :error], fn -> - PurgeExpiredActivitiesWorker.delete_activity(%ActivityExpiration{ - activity_id: "test-activity" - }) - end) =~ "Couldn't delete expired activity: not found activity" - end - - test "adds log message if actor isn't find" do - assert capture_log([level: :error], fn -> - PurgeExpiredActivitiesWorker.delete_activity(%ActivityExpiration{ - activity_id: "test-activity" - }) - end) =~ "Couldn't delete expired activity: not found activity" - end - end -end diff --git a/test/workers/purge_expired_activity_test.exs b/test/workers/purge_expired_activity_test.exs new file mode 100644 index 000000000..8b5dc9fd2 --- /dev/null +++ b/test/workers/purge_expired_activity_test.exs @@ -0,0 +1,47 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.PurgeExpiredActivityTest do + use Pleroma.DataCase, async: true + use Oban.Testing, repo: Pleroma.Repo + + import Pleroma.Factory + + alias Pleroma.Workers.PurgeExpiredActivity + + test "denies expirations that don't live long enough" do + activity = insert(:note_activity) + + assert {:error, :expiration_too_close} = + PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: DateTime.utc_now() + }) + + refute_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity.id} + ) + end + + test "enqueue job" do + activity = insert(:note_activity) + + assert {:ok, _} = + PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: DateTime.add(DateTime.utc_now(), 3601) + }) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: activity.id} + ) + + assert {:ok, _} = + perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id}) + + assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) + end +end From de4c935071a47c78d873484b202e09dce5399570 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 24 Aug 2020 13:43:02 +0300 Subject: [PATCH 081/201] don't expire pinned posts --- lib/pleroma/activity.ex | 9 ++++++-- lib/pleroma/workers/purge_expired_activity.ex | 18 +++++++++++++++- test/workers/purge_expired_activity_test.exs | 21 +++++++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 03cd3b8c0..84aba9572 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -301,14 +301,14 @@ def all_by_actor_and_id(actor, status_ids) do |> Repo.all() end - def follow_requests_for_actor(%Pleroma.User{ap_id: ap_id}) do + def follow_requests_for_actor(%User{ap_id: ap_id}) do ap_id |> Queries.by_object_id() |> Queries.by_type("Follow") |> where([a], fragment("? ->> 'state' = 'pending'", a.data)) end - def following_requests_for_actor(%Pleroma.User{ap_id: ap_id}) do + def following_requests_for_actor(%User{ap_id: ap_id}) do Queries.by_type("Follow") |> where([a], fragment("?->>'state' = 'pending'", a.data)) |> where([a], a.actor == ^ap_id) @@ -343,4 +343,9 @@ def pinned_by_actor?(%Activity{} = activity) do actor = user_actor(activity) activity.id in actor.pinned_activities end + + @spec pinned_by_actor?(Activity.t(), User.t()) :: boolean() + def pinned_by_actor?(%Activity{id: id}, %User{} = user) do + id in user.pinned_activities + end end diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index 016b000c1..ba0053008 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -21,8 +21,18 @@ def enqueue(args) do @impl true def perform(%Oban.Job{args: %{"activity_id" => id}}) do with %Pleroma.Activity{} = activity <- find_activity(id), - %Pleroma.User{} = user <- find_user(activity.object.data["actor"]) do + %Pleroma.User{} = user <- find_user(activity.object.data["actor"]), + false <- pinned_by_actor?(activity, user) do Pleroma.Web.CommonAPI.delete(activity.id, user) + else + :pinned_by_actor -> + # if activity is pinned, schedule deletion on next day + enqueue(%{activity_id: id, expires_at: DateTime.add(DateTime.utc_now(), 24 * 3600)}) + + :ok + + error -> + error end end @@ -54,6 +64,12 @@ defp find_user(ap_id) do end end + defp pinned_by_actor?(activity, user) do + with true <- Pleroma.Activity.pinned_by_actor?(activity, user) do + :pinned_by_actor + end + end + def get_expiration(id) do from(j in Oban.Job, where: j.state == "scheduled", diff --git a/test/workers/purge_expired_activity_test.exs b/test/workers/purge_expired_activity_test.exs index 8b5dc9fd2..736d7d567 100644 --- a/test/workers/purge_expired_activity_test.exs +++ b/test/workers/purge_expired_activity_test.exs @@ -44,4 +44,25 @@ test "enqueue job" do assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) end + + test "don't delete pinned posts, schedule deletion on next day" do + activity = insert(:note_activity) + + assert {:ok, _} = + PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: DateTime.utc_now(), + validate: false + }) + + user = Pleroma.User.get_by_ap_id(activity.actor) + {:ok, activity} = Pleroma.Web.CommonAPI.pin(activity.id, user) + + assert %{success: 1, failure: 0} == + Oban.drain_queue(queue: :activity_expiration, with_scheduled: true) + + job = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) + + assert DateTime.diff(job.scheduled_at, DateTime.add(DateTime.utc_now(), 24 * 3600)) in [0, 1] + end end From 629a8de9cb2ba2cc2d09679862a24031f34abc2f Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 25 Aug 2020 09:10:45 +0300 Subject: [PATCH 082/201] deprecation warning changed namespace for activity expiration configuration --- config/description.exs | 6 +++--- lib/pleroma/config/deprecation_warnings.ex | 19 ++++++++++++++++++- lib/pleroma/workers/purge_expired_activity.ex | 8 +++++--- ...541_rename_activity_expiration_setting.exs | 13 +++++++++++++ 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs diff --git a/config/description.exs b/config/description.exs index 6ce27278c..1253944de 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2472,14 +2472,14 @@ }, %{ group: :pleroma, - key: Pleroma.ActivityExpiration, + key: Pleroma.Workers.PurgeExpiredActivity, type: :group, - description: "Expired activity settings", + description: "Expired activities settings", children: [ %{ key: :enabled, type: :boolean, - description: "Whether expired activities will be sent to the job queue to be deleted" + description: "Enables expired activities addition & deletion" } ] }, diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex index 2bfe4ddba..412d55a77 100644 --- a/lib/pleroma/config/deprecation_warnings.ex +++ b/lib/pleroma/config/deprecation_warnings.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Config.DeprecationWarnings do require Logger alias Pleroma.Config - @type config_namespace() :: [atom()] + @type config_namespace() :: atom() | [atom()] @type config_map() :: {config_namespace(), config_namespace(), String.t()} @mrf_config_map [ @@ -57,6 +57,7 @@ def warn do check_media_proxy_whitelist_config() check_welcome_message_config() check_gun_pool_options() + check_activity_expiration_config() end def check_welcome_message_config do @@ -158,4 +159,20 @@ def check_gun_pool_options do Config.put(:pools, updated_config) end end + + @spec check_activity_expiration_config() :: :ok | nil + def check_activity_expiration_config do + warning_preface = """ + !!!DEPRECATION WARNING!!! + Your config is using old namespace for activity expiration configuration. Setting should work for now, but you are advised to change to new namespace to prevent possible issues later: + """ + + move_namespace_and_warn( + [ + {Pleroma.ActivityExpiration, Pleroma.Workers.PurgeExpiredActivity, + "\n* `config :pleroma, Pleroma.ActivityExpiration` is now `config :pleroma, Pleroma.Workers.PurgeExpiredActivity`"} + ], + warning_preface + ) + end end diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index ba0053008..44a8ad0b9 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -7,6 +7,8 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do import Ecto.Query + alias Pleroma.Activity + def enqueue(args) do with true <- enabled?(), args when is_map(args) <- validate_expires_at(args) do @@ -20,7 +22,7 @@ def enqueue(args) do @impl true def perform(%Oban.Job{args: %{"activity_id" => id}}) do - with %Pleroma.Activity{} = activity <- find_activity(id), + with %Activity{} = activity <- find_activity(id), %Pleroma.User{} = user <- find_user(activity.object.data["actor"]), false <- pinned_by_actor?(activity, user) do Pleroma.Web.CommonAPI.delete(activity.id, user) @@ -53,7 +55,7 @@ defp validate_expires_at(args) do end defp find_activity(id) do - with nil <- Pleroma.Activity.get_by_id_with_object(id) do + with nil <- Activity.get_by_id_with_object(id) do {:error, :activity_not_found} end end @@ -65,7 +67,7 @@ defp find_user(ap_id) do end defp pinned_by_actor?(activity, user) do - with true <- Pleroma.Activity.pinned_by_actor?(activity, user) do + with true <- Activity.pinned_by_actor?(activity, user) do :pinned_by_actor end end diff --git a/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs b/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs new file mode 100644 index 000000000..241882ef6 --- /dev/null +++ b/priv/repo/migrations/20200824115541_rename_activity_expiration_setting.exs @@ -0,0 +1,13 @@ +defmodule Pleroma.Repo.Migrations.RenameActivityExpirationSetting do + use Ecto.Migration + + def change do + config = Pleroma.ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.ActivityExpiration}) + + if config do + config + |> Ecto.Changeset.change(key: Pleroma.Workers.PurgeExpiredActivity) + |> Pleroma.Repo.update() + end + end +end From 5ad0cc4c863f7f8a1e6fdfa40eb884a5c94ebf67 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 25 Aug 2020 12:30:00 +0300 Subject: [PATCH 083/201] move old expirations into Oban --- ...1316_move_activity_expirations_to_oban.exs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs new file mode 100644 index 000000000..585d1a600 --- /dev/null +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -0,0 +1,29 @@ +defmodule Pleroma.Repo.Migrations.MoveActivityExpirationsToOban do + use Ecto.Migration + + import Ecto.Query, only: [from: 2] + + def change do + Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}], + strategy: :one_for_one, + name: Pleroma.Supervisor + ) + + from(e in "activity_expirations", + select: %{id: e.id, activity_id: e.activity_id, scheduled_at: e.scheduled_at} + ) + |> Pleroma.RepoStreamer.chunk_stream(500) + |> Stream.each(fn expirations -> + Enum.each(expirations, fn expiration -> + with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: FlakeId.to_string(expiration.activity_id), + expires_at: expires_at, + validate: false + }) + end + end) + end) + |> Stream.run() + end +end From 5381d4b78b6ed550102008cbae7f578dab06f22f Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 25 Aug 2020 12:33:38 +0300 Subject: [PATCH 084/201] drop activity_expirations table --- .../20200825093037_drop_activity_expirations_table.exs | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs diff --git a/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs b/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs new file mode 100644 index 000000000..11c461427 --- /dev/null +++ b/priv/repo/migrations/20200825093037_drop_activity_expirations_table.exs @@ -0,0 +1,7 @@ +defmodule Pleroma.Repo.Migrations.DropActivityExpirationsTable do + use Ecto.Migration + + def change do + drop(table("activity_expirations")) + end +end From 4981b5a1a3c097ca849552c3c6f650efd22c7451 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 25 Aug 2020 12:45:06 +0300 Subject: [PATCH 085/201] copyright header --- lib/pleroma/workers/purge_expired_activity.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index 44a8ad0b9..42e2ae79c 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -1,3 +1,7 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.Workers.PurgeExpiredActivity do @moduledoc """ Worker which purges expired activity. From 93e1c8df9dca697e7bdb822a8a5b3848b7870f53 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 3 Sep 2020 13:30:39 +0300 Subject: [PATCH 086/201] reject activity creation if passed expires_at option and expiring activities are not configured --- lib/pleroma/web/activity_pub/activity_pub.ex | 44 +++++++++----- lib/pleroma/workers/purge_expired_activity.ex | 4 ++ test/web/activity_pub/activity_pub_test.exs | 57 +++++++++++++++---- 3 files changed, 80 insertions(+), 25 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index c33848277..ee6dcf58a 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -110,23 +110,14 @@ def persist(object, meta) do def insert(map, local \\ true, fake \\ false, bypass_actor_check \\ false) when is_map(map) do with nil <- Activity.normalize(map), map <- lazy_put_activity_defaults(map, fake), - true <- bypass_actor_check || check_actor_is_active(map["actor"]), - {_, true} <- {:remote_limit_error, check_remote_limit(map)}, + {_, true} <- {:actor_check, bypass_actor_check || check_actor_is_active(map["actor"])}, + {_, true} <- {:remote_limit_pass, check_remote_limit(map)}, {:ok, map} <- MRF.filter(map), {recipients, _, _} = get_recipients(map), {:fake, false, map, recipients} <- {:fake, fake, map, recipients}, {:containment, :ok} <- {:containment, Containment.contain_child(map)}, - {:ok, map, object} <- insert_full_object(map) do - {:ok, activity} = - %Activity{ - data: map, - local: local, - actor: map["actor"], - recipients: recipients - } - |> Repo.insert() - |> maybe_create_activity_expiration() - + {:ok, map, object} <- insert_full_object(map), + {:ok, activity} <- insert_activity_with_expiration(map, local, recipients) do # Splice in the child object if we have one. activity = Maps.put_if_present(activity, :object, object) @@ -137,6 +128,15 @@ def insert(map, local \\ true, fake \\ false, bypass_actor_check \\ false) when %Activity{} = activity -> {:ok, activity} + {:actor_check, _} -> + {:error, false} + + {:containment, _} = error -> + error + + {:error, _} = error -> + error + {:fake, true, map, recipients} -> activity = %Activity{ data: map, @@ -149,11 +149,25 @@ def insert(map, local \\ true, fake \\ false, bypass_actor_check \\ false) when Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity) {:ok, activity} - error -> - {:error, error} + {:remote_limit_pass, _} -> + {:error, :remote_limit} + + {:reject, reason} -> + {:error, reason} end end + defp insert_activity_with_expiration(data, local, recipients) do + %Activity{ + data: data, + local: local, + actor: data["actor"], + recipients: recipients + } + |> Repo.insert() + |> maybe_create_activity_expiration() + end + def notify_and_stream(activity) do Notification.create_notifications(activity) diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index 42e2ae79c..c70587b47 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -13,6 +13,10 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do alias Pleroma.Activity + @spec enqueue(map()) :: + {:ok, Oban.Job.t()} + | {:error, :expired_activities_disabled} + | {:error, :expiration_too_close} def enqueue(args) do with true <- enabled?(), args when is_map(args) <- validate_expires_at(args) do diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 9af573924..d8caa0b00 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -239,7 +239,7 @@ test "drops activities beyond a certain limit" do } } - assert {:error, {:remote_limit_error, _}} = ActivityPub.insert(data) + assert {:error, :remote_limit} = ActivityPub.insert(data) end test "doesn't drop activities with content being null" do @@ -386,9 +386,11 @@ test "can be fetched into a timeline" do end describe "create activities" do - test "it reverts create" do - user = insert(:user) + setup do + [user: insert(:user)] + end + test "it reverts create", %{user: user} do with_mock(Utils, [:passthrough], maybe_federate: fn _ -> {:error, :reverted} end) do assert {:error, :reverted} = ActivityPub.create(%{ @@ -407,9 +409,47 @@ test "it reverts create" do assert Repo.aggregate(Object, :count, :id) == 0 end - test "removes doubled 'to' recipients" do - user = insert(:user) + test "creates activity if expiration is not configured and expires_at is not passed", %{ + user: user + } do + clear_config([Pleroma.Workers.PurgeExpiredActivity, :enabled], false) + assert {:ok, _} = + ActivityPub.create(%{ + to: ["user1", "user2"], + actor: user, + context: "", + object: %{ + "to" => ["user1", "user2"], + "type" => "Note", + "content" => "testing" + } + }) + end + + test "rejects activity if expires_at present but expiration is not configured", %{user: user} do + clear_config([Pleroma.Workers.PurgeExpiredActivity, :enabled], false) + + assert {:error, :expired_activities_disabled} = + ActivityPub.create(%{ + to: ["user1", "user2"], + actor: user, + context: "", + object: %{ + "to" => ["user1", "user2"], + "type" => "Note", + "content" => "testing" + }, + additional: %{ + "expires_at" => DateTime.utc_now() + } + }) + + assert Repo.aggregate(Activity, :count, :id) == 0 + assert Repo.aggregate(Object, :count, :id) == 0 + end + + test "removes doubled 'to' recipients", %{user: user} do {:ok, activity} = ActivityPub.create(%{ to: ["user1", "user1", "user2"], @@ -427,9 +467,7 @@ test "removes doubled 'to' recipients" do assert activity.recipients == ["user1", "user2", user.ap_id] end - test "increases user note count only for public activities" do - user = insert(:user) - + test "increases user note count only for public activities", %{user: user} do {:ok, _} = CommonAPI.post(User.get_cached_by_id(user.id), %{ status: "1", @@ -458,8 +496,7 @@ test "increases user note count only for public activities" do assert user.note_count == 2 end - test "increases replies count" do - user = insert(:user) + test "increases replies count", %{user: user} do user2 = insert(:user) {:ok, activity} = CommonAPI.post(user, %{status: "1", visibility: "public"}) From 357d971a10c28780795af4d19b37b0ac80d6ad09 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 3 Sep 2020 17:56:20 +0300 Subject: [PATCH 087/201] expiration for new pipeline --- lib/pleroma/web/activity_pub/activity_pub.ex | 18 ++++++++++++------ lib/pleroma/web/activity_pub/side_effects.ex | 7 ------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index ee6dcf58a..66a9f78a3 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -101,7 +101,9 @@ def persist(object, meta) do local: local, recipients: recipients, actor: object["actor"] - }) do + }), + # TODO: add tests for expired activities, when Note type will be supported in new pipeline + {:ok, _} <- maybe_create_activity_expiration(activity) do {:ok, activity, meta} end end @@ -158,14 +160,16 @@ def insert(map, local \\ true, fake \\ false, bypass_actor_check \\ false) when end defp insert_activity_with_expiration(data, local, recipients) do - %Activity{ + struct = %Activity{ data: data, local: local, actor: data["actor"], recipients: recipients } - |> Repo.insert() - |> maybe_create_activity_expiration() + + with {:ok, activity} <- Repo.insert(struct) do + maybe_create_activity_expiration(activity) + end end def notify_and_stream(activity) do @@ -177,7 +181,9 @@ def notify_and_stream(activity) do stream_out_participations(participations) end - defp maybe_create_activity_expiration({:ok, %{data: %{"expires_at" => expires_at}} = activity}) do + defp maybe_create_activity_expiration( + %{data: %{"expires_at" => %DateTime{} = expires_at}} = activity + ) do with {:ok, _job} <- Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ activity_id: activity.id, @@ -187,7 +193,7 @@ defp maybe_create_activity_expiration({:ok, %{data: %{"expires_at" => expires_at end end - defp maybe_create_activity_expiration(result), do: result + defp maybe_create_activity_expiration(activity), do: {:ok, activity} defp create_or_bump_conversation(activity, actor) do with {:ok, conversation} <- Conversation.create_or_bump_for(activity), diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index b30ca1bd7..46a8be767 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -187,13 +187,6 @@ def handle(%{data: %{"type" => "Create"}} = activity, meta) do Object.increase_replies_count(in_reply_to) end - if expires_at = activity.data["expires_at"] do - Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ - activity_id: activity.id, - expires_at: expires_at - }) - end - BackgroundWorker.enqueue("fetch_data_for_activity", %{"activity_id" => activity.id}) meta = From 6f2d1145183389c415e4d5a915e0c3965c00a3fb Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 3 Sep 2020 18:08:19 +0300 Subject: [PATCH 088/201] use another stream function in migration --- ...1316_move_activity_expirations_to_oban.exs | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs index 585d1a600..2bfefceb0 100644 --- a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -12,17 +12,15 @@ def change do from(e in "activity_expirations", select: %{id: e.id, activity_id: e.activity_id, scheduled_at: e.scheduled_at} ) - |> Pleroma.RepoStreamer.chunk_stream(500) - |> Stream.each(fn expirations -> - Enum.each(expirations, fn expiration -> - with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do - Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ - activity_id: FlakeId.to_string(expiration.activity_id), - expires_at: expires_at, - validate: false - }) - end - end) + |> Pleroma.Repo.stream() + |> Enum.each(fn expiration -> + with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: FlakeId.to_string(expiration.activity_id), + expires_at: expires_at, + validate: false + }) + end end) |> Stream.run() end From b3485a6dbfb1a16dd5604294074ef5139fbf3ce9 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Thu, 3 Sep 2020 19:02:22 +0300 Subject: [PATCH 089/201] little clean up --- lib/pleroma/workers/purge_expired_activity.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index c70587b47..4be146194 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -23,7 +23,7 @@ def enqueue(args) do {scheduled_at, args} = Map.pop(args, :expires_at) args - |> __MODULE__.new(scheduled_at: scheduled_at) + |> new(scheduled_at: scheduled_at) |> Oban.insert() end end From eb5ff715f7917e174b9ae104a5d82779ff925301 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 4 Sep 2020 11:40:32 +0300 Subject: [PATCH 090/201] pin/unpin for activities with expires_at option --- lib/pleroma/activity.ex | 5 -- lib/pleroma/user.ex | 17 ++++++- lib/pleroma/workers/purge_expired_activity.ex | 18 +------ .../controllers/status_controller_test.exs | 49 ++++++++++++++++++- test/workers/purge_expired_activity_test.exs | 21 -------- 5 files changed, 64 insertions(+), 46 deletions(-) diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index 84aba9572..17af04257 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -343,9 +343,4 @@ def pinned_by_actor?(%Activity{} = activity) do actor = user_actor(activity) activity.id in actor.pinned_activities end - - @spec pinned_by_actor?(Activity.t(), User.t()) :: boolean() - def pinned_by_actor?(%Activity{id: id}, %User{} = user) do - id in user.pinned_activities - end end diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index f323fc6ed..e73d19964 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -2315,6 +2315,11 @@ def add_pinnned_activity(user, %Pleroma.Activity{id: id}) do max_pinned_statuses = Config.get([:instance, :max_pinned_statuses], 0) params = %{pinned_activities: user.pinned_activities ++ [id]} + # if pinned activity was scheduled for deletion, we remove job + if expiration = Pleroma.Workers.PurgeExpiredActivity.get_expiration(id) do + Oban.cancel_job(expiration.id) + end + user |> cast(params, [:pinned_activities]) |> validate_length(:pinned_activities, @@ -2327,9 +2332,19 @@ def add_pinnned_activity(user, %Pleroma.Activity{id: id}) do |> update_and_set_cache() end - def remove_pinnned_activity(user, %Pleroma.Activity{id: id}) do + def remove_pinnned_activity(user, %Pleroma.Activity{id: id, data: data}) do params = %{pinned_activities: List.delete(user.pinned_activities, id)} + # if pinned activity was scheduled for deletion, we reschedule it for deletion + if data["expires_at"] do + {:ok, expires_at, _} = DateTime.from_iso8601(data["expires_at"]) + + Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ + activity_id: id, + expires_at: expires_at + }) + end + user |> cast(params, [:pinned_activities]) |> update_and_set_cache() diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index 4be146194..f981eda8e 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -31,18 +31,8 @@ def enqueue(args) do @impl true def perform(%Oban.Job{args: %{"activity_id" => id}}) do with %Activity{} = activity <- find_activity(id), - %Pleroma.User{} = user <- find_user(activity.object.data["actor"]), - false <- pinned_by_actor?(activity, user) do + %Pleroma.User{} = user <- find_user(activity.object.data["actor"]) do Pleroma.Web.CommonAPI.delete(activity.id, user) - else - :pinned_by_actor -> - # if activity is pinned, schedule deletion on next day - enqueue(%{activity_id: id, expires_at: DateTime.add(DateTime.utc_now(), 24 * 3600)}) - - :ok - - error -> - error end end @@ -74,12 +64,6 @@ defp find_user(ap_id) do end end - defp pinned_by_actor?(activity, user) do - with true <- Activity.pinned_by_actor?(activity, user) do - :pinned_by_actor - end - end - def get_expiration(id) do from(j in Oban.Job, where: j.state == "scheduled", diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index 17a156be8..82ea73898 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -115,8 +115,7 @@ test "posting a status", %{conn: conn} do "expires_in" => expires_in }) - assert fourth_response = - %{"id" => fourth_id} = json_response_and_validate_schema(conn_four, 200) + assert %{"id" => fourth_id} = json_response_and_validate_schema(conn_four, 200) assert Activity.get_by_id(fourth_id) @@ -1142,6 +1141,52 @@ test "max pinned statuses", %{conn: conn, user: user, activity: activity_one} do |> post("/api/v1/statuses/#{activity_two.id}/pin") |> json_response_and_validate_schema(400) end + + test "on pin removes deletion job, on unpin reschedule deletion" do + %{conn: conn} = oauth_access(["write:accounts", "write:statuses"]) + expires_in = 2 * 60 * 60 + + expires_at = DateTime.add(DateTime.utc_now(), expires_in) + + assert %{"id" => id} = + conn + |> put_req_header("content-type", "application/json") + |> post("api/v1/statuses", %{ + "status" => "oolong", + "expires_in" => expires_in + }) + |> json_response_and_validate_schema(200) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: id}, + scheduled_at: expires_at + ) + + assert %{"id" => ^id, "pinned" => true} = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses/#{id}/pin") + |> json_response_and_validate_schema(200) + + refute_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: id}, + scheduled_at: expires_at + ) + + assert %{"id" => ^id, "pinned" => false} = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses/#{id}/unpin") + |> json_response_and_validate_schema(200) + + assert_enqueued( + worker: Pleroma.Workers.PurgeExpiredActivity, + args: %{activity_id: id}, + scheduled_at: expires_at + ) + end end describe "cards" do diff --git a/test/workers/purge_expired_activity_test.exs b/test/workers/purge_expired_activity_test.exs index 736d7d567..8b5dc9fd2 100644 --- a/test/workers/purge_expired_activity_test.exs +++ b/test/workers/purge_expired_activity_test.exs @@ -44,25 +44,4 @@ test "enqueue job" do assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) end - - test "don't delete pinned posts, schedule deletion on next day" do - activity = insert(:note_activity) - - assert {:ok, _} = - PurgeExpiredActivity.enqueue(%{ - activity_id: activity.id, - expires_at: DateTime.utc_now(), - validate: false - }) - - user = Pleroma.User.get_by_ap_id(activity.actor) - {:ok, activity} = Pleroma.Web.CommonAPI.pin(activity.id, user) - - assert %{success: 1, failure: 0} == - Oban.drain_queue(queue: :activity_expiration, with_scheduled: true) - - job = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) - - assert DateTime.diff(job.scheduled_at, DateTime.add(DateTime.utc_now(), 24 * 3600)) in [0, 1] - end end From 29c1178c2b20eb1b389c7e1d35b58af05f48e8a2 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 4 Sep 2020 12:05:17 +0300 Subject: [PATCH 091/201] migration fix --- .../20200825061316_move_activity_expirations_to_oban.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs index 2bfefceb0..137933368 100644 --- a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -13,7 +13,7 @@ def change do select: %{id: e.id, activity_id: e.activity_id, scheduled_at: e.scheduled_at} ) |> Pleroma.Repo.stream() - |> Enum.each(fn expiration -> + |> Stream.each(fn expiration -> with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ activity_id: FlakeId.to_string(expiration.activity_id), From f24828a3e848e6ce3bcdd254e8c6e451898cfdf7 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 20:21:32 +0300 Subject: [PATCH 092/201] oban warning --- lib/pleroma/config/oban.ex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/config/oban.ex b/lib/pleroma/config/oban.ex index 81758c93d..9f601b1a3 100644 --- a/lib/pleroma/config/oban.ex +++ b/lib/pleroma/config/oban.ex @@ -5,7 +5,11 @@ def warn do oban_config = Pleroma.Config.get(Oban) crontab = - [Pleroma.Workers.Cron.StatsWorker, Pleroma.Workers.Cron.ClearOauthTokenWorker] + [ + Pleroma.Workers.Cron.StatsWorker, + Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker, + Pleroma.Workers.Cron.ClearOauthTokenWorker + ] |> Enum.reduce(oban_config[:crontab], fn removed_worker, acc -> with acc when is_list(acc) <- acc, setting when is_tuple(setting) <- From 4954667fb24ee6ab7b1bf3b676f7e88a582130cf Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 20:22:14 +0300 Subject: [PATCH 093/201] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c0252f7..79cf02c96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** Removed `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab`. - **Breaking:** Removed `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` config. +- **Breaking:** Removed `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab`. ## [2.1.1] - 2020-09-08 From 2c2094d4b2722cf511e3db8288c3754a48038f05 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Mon, 7 Sep 2020 20:57:38 +0300 Subject: [PATCH 094/201] configurable lifetime for ephemeral activities --- config/config.exs | 2 +- config/description.exs | 6 ++++++ docs/configuration/cheatsheet.md | 13 +++++++++++++ lib/pleroma/workers/purge_expired_activity.ex | 3 ++- .../controllers/status_controller_test.exs | 8 ++++---- 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/config/config.exs b/config/config.exs index d975db31e..88c47fd03 100644 --- a/config/config.exs +++ b/config/config.exs @@ -654,7 +654,7 @@ account_confirmation_resend: {8_640_000, 5}, ap_routes: {60_000, 15} -config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true +config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true, min_lifetime: 600 config :pleroma, Pleroma.Plugs.RemoteIp, enabled: true diff --git a/config/description.exs b/config/description.exs index 1253944de..82c7bc6a7 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2480,6 +2480,12 @@ key: :enabled, type: :boolean, description: "Enables expired activities addition & deletion" + }, + %{ + key: :min_lifetime, + type: :integer, + description: "Minimum lifetime for ephemeral activity (in seconds)", + suggestions: [600] } ] }, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index d0bebbd45..8f2425384 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -1091,3 +1091,16 @@ config :pleroma, :frontends, ``` This would serve the frontend from the the folder at `$instance_static/frontends/pleroma/stable`. You have to copy the frontend into this folder yourself. You can choose the name and ref any way you like, but they will be used by mix tasks to automate installation in the future, the name referring to the project and the ref referring to a commit. + +## Ephemeral activities + +Settings to enable and configure expiration for ephemeral activities + +* `:enabled` - enables ephemeral activities creation +* `:min_lifetime` - minimum lifetime for ephemeral activities (in seconds). Default: 10 minutes. + +Example: + +```elixir + config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true, min_lifetime: 600 +``` diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index f981eda8e..ffcb89dc3 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -77,6 +77,7 @@ def get_expiration(id) do def expires_late_enough?(scheduled_at) do now = DateTime.utc_now() diff = DateTime.diff(scheduled_at, now, :millisecond) - diff > :timer.hours(1) + min_lifetime = Pleroma.Config.get([__MODULE__, :min_lifetime], 600) + diff > :timer.seconds(min_lifetime) end end diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index 82ea73898..633a25e50 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -129,8 +129,8 @@ test "posting a status", %{conn: conn} do test "it fails to create a status if `expires_in` is less or equal than an hour", %{ conn: conn } do - # 1 hour - expires_in = 60 * 60 + # 1 minute + expires_in = 1 * 60 assert %{"error" => "Expiry date is too soon"} = conn @@ -141,8 +141,8 @@ test "it fails to create a status if `expires_in` is less or equal than an hour" }) |> json_response_and_validate_schema(422) - # 30 minutes - expires_in = 30 * 60 + # 5 minutes + expires_in = 5 * 60 assert %{"error" => "Expiry date is too soon"} = conn From a098e10fd6d9f3b6573e2fb6333335d40a9bf330 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Tue, 8 Sep 2020 12:07:33 +0300 Subject: [PATCH 095/201] Document ephemeral activity changes better Also remove the example from the cheatsheet, there is no need for it when the types are simple --- CHANGELOG.md | 3 +++ docs/configuration/cheatsheet.md | 8 +------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79cf02c96..a58a18c8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** Removed `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` config. - **Breaking:** Removed `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab`. +### Changed +- Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). + ## [2.1.1] - 2020-09-08 ### Security diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 8f2425384..7cf1d1ce7 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -1092,15 +1092,9 @@ config :pleroma, :frontends, This would serve the frontend from the the folder at `$instance_static/frontends/pleroma/stable`. You have to copy the frontend into this folder yourself. You can choose the name and ref any way you like, but they will be used by mix tasks to automate installation in the future, the name referring to the project and the ref referring to a commit. -## Ephemeral activities +## Ephemeral activities (Pleroma.Workers.PurgeExpiredActivity) Settings to enable and configure expiration for ephemeral activities * `:enabled` - enables ephemeral activities creation * `:min_lifetime` - minimum lifetime for ephemeral activities (in seconds). Default: 10 minutes. - -Example: - -```elixir - config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true, min_lifetime: 600 -``` From 15aece72382fe1862a58728b9d02990147f91365 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 8 Sep 2020 15:11:18 +0300 Subject: [PATCH 096/201] remove validate_expires_at from enqueue method --- lib/mix/tasks/pleroma/database.ex | 3 +- lib/pleroma/workers/purge_expired_activity.ex | 13 +----- ...1316_move_activity_expirations_to_oban.exs | 3 +- test/workers/purge_expired_activity_test.exs | 42 ++++++++++++------- 4 files changed, 30 insertions(+), 31 deletions(-) diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index aab4b5e9a..7f1108dcf 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -155,8 +155,7 @@ def run(["ensure_expiration"]) do Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ activity_id: activity.id, - expires_at: expires_at, - validate: false + expires_at: expires_at }) end) end) diff --git a/lib/pleroma/workers/purge_expired_activity.ex b/lib/pleroma/workers/purge_expired_activity.ex index ffcb89dc3..c168890a2 100644 --- a/lib/pleroma/workers/purge_expired_activity.ex +++ b/lib/pleroma/workers/purge_expired_activity.ex @@ -18,8 +18,7 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do | {:error, :expired_activities_disabled} | {:error, :expiration_too_close} def enqueue(args) do - with true <- enabled?(), - args when is_map(args) <- validate_expires_at(args) do + with true <- enabled?() do {scheduled_at, args} = Map.pop(args, :expires_at) args @@ -42,16 +41,6 @@ defp enabled? do end end - defp validate_expires_at(%{validate: false} = args), do: Map.delete(args, :validate) - - defp validate_expires_at(args) do - if expires_late_enough?(args[:expires_at]) do - args - else - {:error, :expiration_too_close} - end - end - defp find_activity(id) do with nil <- Activity.get_by_id_with_object(id) do {:error, :activity_not_found} diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs index 137933368..cdc00d20b 100644 --- a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -17,8 +17,7 @@ def change do with {:ok, expires_at} <- DateTime.from_naive(expiration.scheduled_at, "Etc/UTC") do Pleroma.Workers.PurgeExpiredActivity.enqueue(%{ activity_id: FlakeId.to_string(expiration.activity_id), - expires_at: expires_at, - validate: false + expires_at: expires_at }) end end) diff --git a/test/workers/purge_expired_activity_test.exs b/test/workers/purge_expired_activity_test.exs index 8b5dc9fd2..b5938776d 100644 --- a/test/workers/purge_expired_activity_test.exs +++ b/test/workers/purge_expired_activity_test.exs @@ -10,21 +10,6 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do alias Pleroma.Workers.PurgeExpiredActivity - test "denies expirations that don't live long enough" do - activity = insert(:note_activity) - - assert {:error, :expiration_too_close} = - PurgeExpiredActivity.enqueue(%{ - activity_id: activity.id, - expires_at: DateTime.utc_now() - }) - - refute_enqueued( - worker: Pleroma.Workers.PurgeExpiredActivity, - args: %{activity_id: activity.id} - ) - end - test "enqueue job" do activity = insert(:note_activity) @@ -44,4 +29,31 @@ test "enqueue job" do assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id) end + + test "error if user was not found" do + activity = insert(:note_activity) + + assert {:ok, _} = + PurgeExpiredActivity.enqueue(%{ + activity_id: activity.id, + expires_at: DateTime.add(DateTime.utc_now(), 3601) + }) + + user = Pleroma.User.get_by_ap_id(activity.actor) + Pleroma.Repo.delete(user) + + assert {:error, :user_not_found} = + perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id}) + end + + test "error if actiivity was not found" do + assert {:ok, _} = + PurgeExpiredActivity.enqueue(%{ + activity_id: "some_id", + expires_at: DateTime.add(DateTime.utc_now(), 3601) + }) + + assert {:error, :activity_not_found} = + perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: "some_if"}) + end end From 82b56cdb9bc01dcf4dbd2ac0c06103af0900787d Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 21:53:58 +0300 Subject: [PATCH 097/201] CHANGELOG.md: clarify that the functionality is not removed, just the config options --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a58a18c8c..75357f05e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,9 +12,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Removed -- **Breaking:** Removed `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab`. -- **Breaking:** Removed `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` config. -- **Breaking:** Removed `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab`. +- **Breaking:** `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab` (moved to a simpler implementation). +- **Breaking:** `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` (moved to scheduled jobs). +- **Breaking:** `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab` (moved to scheduled jobs). ### Changed - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). From 4d18a50f3c4b6654339a6a8df71160e23b45cac0 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 10 Sep 2020 21:54:26 +0300 Subject: [PATCH 098/201] [#2497] Formatting fix. --- lib/pleroma/web/media_proxy/media_proxy_controller.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 5621f72dc..ff7fd2409 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -158,7 +158,7 @@ defp put_preview_response_headers( |> put_resp_header("cache-control", ReverseProxy.default_cache_control_header()) end - defp thumbnail_max_dimensions() do + defp thumbnail_max_dimensions do config = Config.get([:media_preview_proxy], []) thumbnail_max_width = Keyword.fetch!(config, :thumbnail_max_width) From da876d09e89bcfec6f2d1eaddb396f68ce48e12a Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Thu, 10 Sep 2020 23:13:51 +0200 Subject: [PATCH 099/201] federator: normalize only actor, catch actor error --- lib/pleroma/web/federator/federator.ex | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index f5803578d..e4ab9ba32 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -66,14 +66,17 @@ def perform(:publish, activity) do def perform(:incoming_ap_doc, params) do Logger.debug("Handling incoming AP activity") - params = Utils.normalize_params(params) + actor = + params + |> Map.get("actor") + |> Utils.get_ap_id() # NOTE: we use the actor ID to do the containment, this is fine because an # actor shouldn't be acting on objects outside their own AP server. - with {:ok, _user} <- ap_enabled_actor(params["actor"]), + with {_, {:ok, _user}} <- {:actor, ap_enabled_actor(actor)}, nil <- Activity.normalize(params["id"]), {_, :ok} <- - {:correct_origin?, Containment.contain_origin_from_id(params["actor"], params)}, + {:correct_origin?, Containment.contain_origin_from_id(actor, params)}, {:ok, activity} <- Transmogrifier.handle_incoming(params) do {:ok, activity} else @@ -85,10 +88,13 @@ def perform(:incoming_ap_doc, params) do Logger.debug("Already had #{params["id"]}") {:error, :already_present} + {:actor, e} -> + Logger.debug("Unhandled actor #{actor}, #{inspect(e)}") + {:error, e} + e -> # Just drop those for now - Logger.debug("Unhandled activity") - Logger.debug(Jason.encode!(params, pretty: true)) + Logger.debug("Unhandled activity\n" <> Jason.encode!(params, pretty: true)) {:error, e} end end From b73e9ef68689a7094e80e2affa0af9b05e86effb Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Tue, 25 Aug 2020 09:19:53 +0200 Subject: [PATCH 100/201] transmogrifier: Call strip_internal_fields on pipeline ingestion --- lib/pleroma/web/activity_pub/transmogrifier.ex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index af4384213..ec3b24206 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -550,6 +550,8 @@ def handle_incoming( _options ) when objtype in ~w{Question Answer ChatMessage Audio Event} do + data = Map.put(data, "object", strip_internal_fields(data["object"])) + with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), {:ok, activity, _} <- Pipeline.common_pipeline(data, local: false) do {:ok, activity} From 846b59ccb09681bda0f54bed43f5b82883228e33 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Thu, 20 Aug 2020 02:00:04 +0200 Subject: [PATCH 101/201] Pipeline Ingestion: Video --- lib/pleroma/web/activity_pub/activity_pub.ex | 2 +- .../web/activity_pub/object_validator.ex | 16 +- ..._validator.ex => audio_video_validator.ex} | 43 ++++- .../object_validators/common_fixes.ex | 9 ++ .../create_generic_validator.ex | 8 +- lib/pleroma/web/activity_pub/side_effects.ex | 2 +- .../web/activity_pub/transmogrifier.ex | 37 +---- .../tesla_mock/framatube.org-video.json | 2 +- .../transmogrifier/video_handling_test.exs | 93 +++++++++++ test/web/activity_pub/transmogrifier_test.exs | 148 +----------------- 10 files changed, 158 insertions(+), 202 deletions(-) rename lib/pleroma/web/activity_pub/object_validators/{audio_validator.ex => audio_video_validator.ex} (75%) create mode 100644 test/web/activity_pub/transmogrifier/video_handling_test.exs diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 66a9f78a3..bceec8bd1 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -84,7 +84,7 @@ defp increase_replies_count_if_reply(%{ defp increase_replies_count_if_reply(_create_data), do: :noop - @object_types ~w[ChatMessage Question Answer Audio Event] + @object_types ~w[ChatMessage Question Answer Audio Video Event] @spec persist(map(), keyword()) :: {:ok, Activity.t() | Object.t()} def persist(%{"type" => type} = object, meta) when type in @object_types do with {:ok, object} <- Object.create(object) do diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index b77c06395..081f96389 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -12,11 +12,12 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Activity alias Pleroma.EctoType.ActivityPub.ObjectValidators alias Pleroma.Object + alias Pleroma.Object.Containment alias Pleroma.User alias Pleroma.Web.ActivityPub.ObjectValidators.AcceptRejectValidator alias Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator alias Pleroma.Web.ActivityPub.ObjectValidators.AnswerValidator - alias Pleroma.Web.ActivityPub.ObjectValidators.AudioValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.AudioVideoValidator alias Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator alias Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator alias Pleroma.Web.ActivityPub.ObjectValidators.CreateChatMessageValidator @@ -149,10 +150,10 @@ def validate(%{"type" => "Question"} = object, meta) do end end - def validate(%{"type" => "Audio"} = object, meta) do + def validate(%{"type" => type} = object, meta) when type in ~w[Audio Video] do with {:ok, object} <- object - |> AudioValidator.cast_and_validate() + |> AudioVideoValidator.cast_and_validate() |> Ecto.Changeset.apply_action(:insert) do object = stringify_keys(object) {:ok, object, meta} @@ -198,7 +199,7 @@ def validate( %{"type" => "Create", "object" => %{"type" => objtype} = object} = create_activity, meta ) - when objtype in ~w[Question Answer Audio Event] do + when objtype in ~w[Question Answer Audio Video Event] do with {:ok, object_data} <- cast_and_apply(object), meta = Keyword.put(meta, :object_data, object_data |> stringify_keys), {:ok, create_activity} <- @@ -232,8 +233,8 @@ def cast_and_apply(%{"type" => "Answer"} = object) do AnswerValidator.cast_and_apply(object) end - def cast_and_apply(%{"type" => "Audio"} = object) do - AudioValidator.cast_and_apply(object) + def cast_and_apply(%{"type" => type} = object) when type in ~w[Audio Video] do + AudioVideoValidator.cast_and_apply(object) end def cast_and_apply(%{"type" => "Event"} = object) do @@ -262,7 +263,8 @@ def stringify_keys(object) when is_list(object) do def stringify_keys(object), do: object def fetch_actor(object) do - with {:ok, actor} <- ObjectValidators.ObjectID.cast(object["actor"]) do + with actor <- Containment.get_actor(object), + {:ok, actor} <- ObjectValidators.ObjectID.cast(actor) do User.get_or_fetch_by_ap_id(actor) end end diff --git a/lib/pleroma/web/activity_pub/object_validators/audio_validator.ex b/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex similarity index 75% rename from lib/pleroma/web/activity_pub/object_validators/audio_validator.ex rename to lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex index 1a97c504a..a6119e627 100644 --- a/lib/pleroma/web/activity_pub/object_validators/audio_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex @@ -2,9 +2,10 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Web.ActivityPub.ObjectValidators.AudioValidator do +defmodule Pleroma.Web.ActivityPub.ObjectValidators.AudioVideoValidator do use Ecto.Schema + alias Pleroma.EarmarkRenderer alias Pleroma.EctoType.ActivityPub.ObjectValidators alias Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator alias Pleroma.Web.ActivityPub.ObjectValidators.CommonFixes @@ -25,14 +26,19 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AudioValidator do # TODO: Write type field(:tag, {:array, :map}, default: []) field(:type, :string) + + field(:name, :string) + field(:summary, :string) field(:content, :string) + field(:context, :string) + # short identifier for PleromaFE to group statuses by context + field(:context_id, :integer) # TODO: Remove actor on objects field(:actor, ObjectValidators.ObjectID) field(:attributedTo, ObjectValidators.ObjectID) - field(:summary, :string) field(:published, ObjectValidators.DateTime) field(:emoji, ObjectValidators.Emoji, default: %{}) field(:sensitive, :boolean, default: false) @@ -40,10 +46,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AudioValidator do field(:replies_count, :integer, default: 0) field(:like_count, :integer, default: 0) field(:announcement_count, :integer, default: 0) - field(:inReplyTo, :string) + field(:inReplyTo, ObjectValidators.ObjectID) field(:url, ObjectValidators.Uri) - # short identifier for PleromaFE to group statuses by context - field(:context_id, :integer) field(:likes, {:array, :string}, default: []) field(:announcements, {:array, :string}, default: []) @@ -68,9 +72,18 @@ def cast_data(data) do defp fix_url(%{"url" => url} = data) when is_list(url) do attachment = - Enum.find(url, fn x -> is_map(x) and String.starts_with?(x["mimeType"], "audio/") end) + Enum.find(url, fn x -> + mime_type = x["mimeType"] || x["mediaType"] || "" - link_element = Enum.find(url, fn x -> is_map(x) and x["mimeType"] == "text/html" end) + is_map(x) and String.starts_with?(mime_type, ["video/", "audio/"]) + end) + + link_element = + Enum.find(url, fn x -> + mime_type = x["mimeType"] || x["mediaType"] || "" + + is_map(x) and mime_type == "text/html" + end) data |> Map.put("attachment", [attachment]) @@ -79,12 +92,26 @@ defp fix_url(%{"url" => url} = data) when is_list(url) do defp fix_url(data), do: data + defp fix_content(%{"mediaType" => "text/markdown", "content" => content} = data) + when is_binary(content) do + content = + content + |> Earmark.as_html!(%Earmark.Options{renderer: EarmarkRenderer}) + |> Pleroma.HTML.filter_tags() + + Map.put(data, "content", content) + end + + defp fix_content(data), do: data + defp fix(data) do data |> CommonFixes.fix_defaults() |> CommonFixes.fix_attribution() + |> CommonFixes.fix_actor() |> Transmogrifier.fix_emoji() |> fix_url() + |> fix_content() end def changeset(struct, data) do @@ -97,7 +124,7 @@ def changeset(struct, data) do def validate_data(data_cng) do data_cng - |> validate_inclusion(:type, ["Audio"]) + |> validate_inclusion(:type, ["Audio", "Video"]) |> validate_required([:id, :actor, :attributedTo, :type, :context, :attachment]) |> CommonValidations.validate_any_presence([:cc, :to]) |> CommonValidations.validate_fields_match([:actor, :attributedTo]) diff --git a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex index 720213d73..b3638cfc7 100644 --- a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex +++ b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex @@ -3,6 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.ObjectValidators.CommonFixes do + alias Pleroma.Object.Containment alias Pleroma.Web.ActivityPub.Utils # based on Pleroma.Web.ActivityPub.Utils.lazy_put_objects_defaults @@ -19,4 +20,12 @@ def fix_attribution(data) do data |> Map.put_new("actor", data["attributedTo"]) end + + def fix_actor(data) do + actor = Containment.get_actor(data) + + data + |> Map.put("actor", actor) + |> Map.put("attributedTo", actor) + end end diff --git a/lib/pleroma/web/activity_pub/object_validators/create_generic_validator.ex b/lib/pleroma/web/activity_pub/object_validators/create_generic_validator.ex index b3dbeea57..422ee07be 100644 --- a/lib/pleroma/web/activity_pub/object_validators/create_generic_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/create_generic_validator.ex @@ -10,9 +10,10 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.CreateGenericValidator do alias Pleroma.EctoType.ActivityPub.ObjectValidators alias Pleroma.Object + alias Pleroma.Web.ActivityPub.ObjectValidators.CommonFixes + alias Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations import Ecto.Changeset - import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @primary_key false @@ -75,14 +76,15 @@ defp fix(data, meta) do data |> fix_context(meta) |> fix_addressing(meta) + |> CommonFixes.fix_actor() end def validate_data(cng, meta \\ []) do cng |> validate_required([:actor, :type, :object]) |> validate_inclusion(:type, ["Create"]) - |> validate_actor_presence() - |> validate_any_presence([:to, :cc]) + |> CommonValidations.validate_actor_presence() + |> CommonValidations.validate_any_presence([:to, :cc]) |> validate_actors_match(meta) |> validate_context_match(meta) |> validate_object_nonexistence() diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index 46a8be767..b5c720c7a 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -336,7 +336,7 @@ def handle_object_creation(%{"type" => "Answer"} = object_map, meta) do end def handle_object_creation(%{"type" => objtype} = object, meta) - when objtype in ~w[Audio Question Event] do + when objtype in ~w[Audio Video Question Event] do with {:ok, object, meta} <- Pipeline.common_pipeline(object, meta) do {:ok, object, meta} end diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index ec3b24206..e14936c10 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -7,7 +7,6 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do A module to handle coding from internal to wire ActivityPub and back. """ alias Pleroma.Activity - alias Pleroma.EarmarkRenderer alias Pleroma.EctoType.ActivityPub.ObjectValidators alias Pleroma.Maps alias Pleroma.Object @@ -45,7 +44,6 @@ def fix_object(object, options \\ []) do |> fix_addressing |> fix_summary |> fix_type(options) - |> fix_content end def fix_summary(%{"summary" => nil} = object) do @@ -274,24 +272,7 @@ def fix_url(%{"url" => url} = object) when is_map(url) do Map.put(object, "url", url["href"]) end - def fix_url(%{"type" => "Video", "url" => url} = object) when is_list(url) do - attachment = - Enum.find(url, fn x -> - media_type = x["mediaType"] || x["mimeType"] || "" - - is_map(x) and String.starts_with?(media_type, "video/") - end) - - link_element = - Enum.find(url, fn x -> is_map(x) and (x["mediaType"] || x["mimeType"]) == "text/html" end) - - object - |> Map.put("attachment", [attachment]) - |> Map.put("url", link_element["href"]) - end - - def fix_url(%{"type" => object_type, "url" => url} = object) - when object_type != "Video" and is_list(url) do + def fix_url(%{"url" => url} = object) when is_list(url) do first_element = Enum.at(url, 0) url_string = @@ -371,18 +352,6 @@ def fix_type(%{"inReplyTo" => reply_id, "name" => _} = object, options) def fix_type(object, _), do: object - defp fix_content(%{"mediaType" => "text/markdown", "content" => content} = object) - when is_binary(content) do - html_content = - content - |> Earmark.as_html!(%Earmark.Options{renderer: EarmarkRenderer}) - |> Pleroma.HTML.filter_tags() - - Map.merge(object, %{"content" => html_content, "mediaType" => "text/html"}) - end - - defp fix_content(object), do: object - # Reduce the object list to find the reported user. defp get_reported(objects) do Enum.reduce_while(objects, nil, fn ap_id, _ -> @@ -455,7 +424,7 @@ def handle_incoming( %{"type" => "Create", "object" => %{"type" => objtype} = object} = data, options ) - when objtype in ~w{Article Note Video Page} do + when objtype in ~w{Article Note Page} do actor = Containment.get_actor(data) with nil <- Activity.get_create_by_object_ap_id(object["id"]), @@ -549,7 +518,7 @@ def handle_incoming( %{"type" => "Create", "object" => %{"type" => objtype}} = data, _options ) - when objtype in ~w{Question Answer ChatMessage Audio Event} do + when objtype in ~w{Question Answer ChatMessage Audio Video Event} do data = Map.put(data, "object", strip_internal_fields(data["object"])) with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), diff --git a/test/fixtures/tesla_mock/framatube.org-video.json b/test/fixtures/tesla_mock/framatube.org-video.json index 3d53f0c97..1fa529886 100644 --- a/test/fixtures/tesla_mock/framatube.org-video.json +++ b/test/fixtures/tesla_mock/framatube.org-video.json @@ -1 +1 @@ -{"type":"Video","id":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206","name":"Déframasoftisons Internet [Framasoft]","duration":"PT3622S","uuid":"6050732a-8a7a-43d4-a6cd-809525a1d206","tag":[{"type":"Hashtag","name":"déframasoftisons"},{"type":"Hashtag","name":"EPN23"},{"type":"Hashtag","name":"framaconf"},{"type":"Hashtag","name":"Framasoft"},{"type":"Hashtag","name":"pyg"}],"category":{"identifier":"15","name":"Science & Technology"},"views":122,"sensitive":false,"waitTranscoding":false,"state":1,"commentsEnabled":true,"downloadEnabled":true,"published":"2020-05-24T18:34:31.569Z","originallyPublishedAt":"2019-11-30T23:00:00.000Z","updated":"2020-07-05T09:01:01.720Z","mediaType":"text/markdown","content":"Après avoir mené avec un certain succès la campagne « Dégooglisons Internet » en 2014, l’association Framasoft annonce fin 2019 arrêter progressivement un certain nombre de ses services alternatifs aux GAFAM. Pourquoi ?\r\n\r\nTranscription par @april...","support":null,"subtitleLanguage":[],"icon":{"type":"Image","url":"https://framatube.org/static/thumbnails/6050732a-8a7a-43d4-a6cd-809525a1d206.jpg","mediaType":"image/jpeg","width":223,"height":122},"url":[{"type":"Link","mediaType":"text/html","href":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206"},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4","height":1080,"size":1157359410,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309939","height":1080,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.torrent","height":1080},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.torrent&xt=urn:btih:381c9429900552e23a4eb506318f1fa01e4d63a8&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4","height":1080},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4","height":480,"size":250095131,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309941","height":480,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-480.torrent","height":480},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.torrent&xt=urn:btih:a181dcbb5368ab5c31cc9ff07634becb72c344ee&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4","height":480},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4","height":360,"size":171357733,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309942","height":360,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-360.torrent","height":360},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.torrent&xt=urn:btih:aedfa9479ea04a175eee0b0bd0bda64076308746&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4","height":360},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4","height":720,"size":497100839,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309943","height":720,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-720.torrent","height":720},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.torrent&xt=urn:btih:71971668f82a3b24ac71bc3a982848dd8dc5a5f5&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4","height":720},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4","height":240,"size":113038439,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309944","height":240,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-240.torrent","height":240},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.torrent&xt=urn:btih:c42aa6c95efb28d9f114ebd98537f7b00fa72246&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4","height":240},{"type":"Link","mediaType":"application/x-mpegURL","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/master.m3u8","tag":[{"type":"Infohash","name":"f7428214539626e062f300f2ca4cf9154575144e"},{"type":"Infohash","name":"46e236dffb1ea6b9123a5396cbe88e97dd94cc6c"},{"type":"Infohash","name":"11f1045830b5d786c788f2594d19f128764e7d87"},{"type":"Infohash","name":"4327ad3e0d84de100130a27e9ab6fe40c4284f0e"},{"type":"Infohash","name":"41e2eee8e7b23a63c23a77c40a46de11492a4831"},{"type":"Link","name":"sha256","mediaType":"application/json","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/segments-sha256.json"},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-1080-fragmented.mp4","height":1080,"size":1156777472,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309940","height":1080,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-1080-hls.torrent","height":1080},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080-hls.torrent&xt=urn:btih:0204d780ebfab0d5d9d3476a038e812ad792deeb&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080-fragmented.mp4","height":1080},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-480-fragmented.mp4","height":480,"size":249562889,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309945","height":480,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-480-hls.torrent","height":480},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480-hls.torrent&xt=urn:btih:5d14f38ded29de629668fe1cfc61a75f4cce2628&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480-fragmented.mp4","height":480},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-360-fragmented.mp4","height":360,"size":170836415,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309946","height":360,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-360-hls.torrent","height":360},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360-hls.torrent&xt=urn:btih:30125488789080ad405ebcee6c214945f31b8f30&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360-fragmented.mp4","height":360},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-720-fragmented.mp4","height":720,"size":496533741,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309947","height":720,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-720-hls.torrent","height":720},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720-hls.torrent&xt=urn:btih:8ed1e8bccde709901c26e315fc8f53bfd26d1ba6&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720-fragmented.mp4","height":720},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-240-fragmented.mp4","height":240,"size":112529249,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309948","height":240,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-240-hls.torrent","height":240},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240-hls.torrent&xt=urn:btih:8b452bf4e70b9078d4e74ca8b5523cc9dc70d10a&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240-fragmented.mp4","height":240}]}],"likes":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/likes","dislikes":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/dislikes","shares":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/announces","comments":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/comments","attributedTo":[{"type":"Person","id":"https://framatube.org/accounts/framasoft"},{"type":"Group","id":"https://framatube.org/video-channels/bf54d359-cfad-4935-9d45-9d6be93f63e8"}],"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://framatube.org/accounts/framasoft/followers"],"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"RsaSignature2017":"https://w3id.org/security#RsaSignature2017"},{"pt":"https://joinpeertube.org/ns#","sc":"http://schema.org#","Hashtag":"as:Hashtag","uuid":"sc:identifier","category":"sc:category","licence":"sc:license","subtitleLanguage":"sc:subtitleLanguage","sensitive":"as:sensitive","language":"sc:inLanguage","Infohash":"pt:Infohash","Playlist":"pt:Playlist","PlaylistElement":"pt:PlaylistElement","originallyPublishedAt":"sc:datePublished","views":{"@type":"sc:Number","@id":"pt:views"},"state":{"@type":"sc:Number","@id":"pt:state"},"size":{"@type":"sc:Number","@id":"pt:size"},"fps":{"@type":"sc:Number","@id":"pt:fps"},"startTimestamp":{"@type":"sc:Number","@id":"pt:startTimestamp"},"stopTimestamp":{"@type":"sc:Number","@id":"pt:stopTimestamp"},"position":{"@type":"sc:Number","@id":"pt:position"},"commentsEnabled":{"@type":"sc:Boolean","@id":"pt:commentsEnabled"},"downloadEnabled":{"@type":"sc:Boolean","@id":"pt:downloadEnabled"},"waitTranscoding":{"@type":"sc:Boolean","@id":"pt:waitTranscoding"},"support":{"@type":"sc:Text","@id":"pt:support"},"likes":{"@id":"as:likes","@type":"@id"},"dislikes":{"@id":"as:dislikes","@type":"@id"},"playlists":{"@id":"pt:playlists","@type":"@id"},"shares":{"@id":"as:shares","@type":"@id"},"comments":{"@id":"as:comments","@type":"@id"}}]} \ No newline at end of file +{"type":"Create","id":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/activity","actor":"https://framatube.org/accounts/framasoft","object":{"type":"Video","id":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206","name":"Déframasoftisons Internet [Framasoft]","duration":"PT3622S","uuid":"6050732a-8a7a-43d4-a6cd-809525a1d206","tag":[{"type":"Hashtag","name":"déframasoftisons"},{"type":"Hashtag","name":"EPN23"},{"type":"Hashtag","name":"framaconf"},{"type":"Hashtag","name":"Framasoft"},{"type":"Hashtag","name":"pyg"}],"category":{"identifier":"15","name":"Science & Technology"},"views":154,"sensitive":false,"waitTranscoding":false,"state":1,"commentsEnabled":true,"downloadEnabled":true,"published":"2020-05-24T18:34:31.569Z","originallyPublishedAt":"2019-11-30T23:00:00.000Z","updated":"2020-08-17T11:01:02.994Z","mediaType":"text/markdown","content":"Après avoir mené avec un certain succès la campagne « Dégooglisons Internet » en 2014, l’association Framasoft annonce fin 2019 arrêter progressivement un certain nombre de ses services alternatifs aux GAFAM. Pourquoi ?\r\n\r\nTranscription par @aprilorg ici : https://www.april.org/deframasoftisons-internet-pierre-yves-gosset-framasoft","support":null,"subtitleLanguage":[],"icon":[{"type":"Image","url":"https://framatube.org/static/thumbnails/6050732a-8a7a-43d4-a6cd-809525a1d206.jpg","mediaType":"image/jpeg","width":223,"height":122},{"type":"Image","url":"https://framatube.org/static/previews/6050732a-8a7a-43d4-a6cd-809525a1d206.jpg","mediaType":"image/jpeg","width":850,"height":480}],"url":[{"type":"Link","mediaType":"text/html","href":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206"},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4","height":1080,"size":1157359410,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309939","height":1080,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.torrent","height":1080},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.torrent&xt=urn:btih:381c9429900552e23a4eb506318f1fa01e4d63a8&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4","height":1080},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4","height":720,"size":497100839,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309943","height":720,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-720.torrent","height":720},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.torrent&xt=urn:btih:71971668f82a3b24ac71bc3a982848dd8dc5a5f5&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720.mp4","height":720},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4","height":480,"size":250095131,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309941","height":480,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-480.torrent","height":480},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.torrent&xt=urn:btih:a181dcbb5368ab5c31cc9ff07634becb72c344ee&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480.mp4","height":480},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4","height":360,"size":171357733,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309942","height":360,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-360.torrent","height":360},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.torrent&xt=urn:btih:aedfa9479ea04a175eee0b0bd0bda64076308746&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4&ws=https%3A%2F%2Fpeertube.live%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360.mp4","height":360},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4","height":240,"size":113038439,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309944","height":240,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-240.torrent","height":240},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.torrent&xt=urn:btih:c42aa6c95efb28d9f114ebd98537f7b00fa72246&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4&ws=https%3A%2F%2Fpeertube.iselfhost.com%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4&ws=https%3A%2F%2Ftube.privacytools.io%2Fstatic%2Fredundancy%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240.mp4","height":240},{"type":"Link","mediaType":"application/x-mpegURL","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/master.m3u8","tag":[{"type":"Infohash","name":"f7428214539626e062f300f2ca4cf9154575144e"},{"type":"Infohash","name":"46e236dffb1ea6b9123a5396cbe88e97dd94cc6c"},{"type":"Infohash","name":"11f1045830b5d786c788f2594d19f128764e7d87"},{"type":"Infohash","name":"4327ad3e0d84de100130a27e9ab6fe40c4284f0e"},{"type":"Infohash","name":"41e2eee8e7b23a63c23a77c40a46de11492a4831"},{"type":"Link","name":"sha256","mediaType":"application/json","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/segments-sha256.json"},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-1080-fragmented.mp4","height":1080,"size":1156777472,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309940","height":1080,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-1080-hls.torrent","height":1080},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080-hls.torrent&xt=urn:btih:0204d780ebfab0d5d9d3476a038e812ad792deeb&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-1080-fragmented.mp4","height":1080},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-720-fragmented.mp4","height":720,"size":496533741,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309947","height":720,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-720-hls.torrent","height":720},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720-hls.torrent&xt=urn:btih:8ed1e8bccde709901c26e315fc8f53bfd26d1ba6&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-720-fragmented.mp4","height":720},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-480-fragmented.mp4","height":480,"size":249562889,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309945","height":480,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-480-hls.torrent","height":480},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480-hls.torrent&xt=urn:btih:5d14f38ded29de629668fe1cfc61a75f4cce2628&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-480-fragmented.mp4","height":480},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-360-fragmented.mp4","height":360,"size":170836415,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309946","height":360,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-360-hls.torrent","height":360},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360-hls.torrent&xt=urn:btih:30125488789080ad405ebcee6c214945f31b8f30&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-360-fragmented.mp4","height":360},{"type":"Link","mediaType":"video/mp4","href":"https://framatube.org/static/streaming-playlists/hls/6050732a-8a7a-43d4-a6cd-809525a1d206/6050732a-8a7a-43d4-a6cd-809525a1d206-240-fragmented.mp4","height":240,"size":112529249,"fps":25},{"type":"Link","rel":["metadata","video/mp4"],"mediaType":"application/json","href":"https://framatube.org/api/v1/videos/6050732a-8a7a-43d4-a6cd-809525a1d206/metadata/1309948","height":240,"fps":25},{"type":"Link","mediaType":"application/x-bittorrent","href":"https://framatube.org/static/torrents/6050732a-8a7a-43d4-a6cd-809525a1d206-240-hls.torrent","height":240},{"type":"Link","mediaType":"application/x-bittorrent;x-scheme-handler/magnet","href":"magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240-hls.torrent&xt=urn:btih:8b452bf4e70b9078d4e74ca8b5523cc9dc70d10a&dn=D%C3%A9framasoftisons+Internet+%5BFramasoft%5D&tr=wss%3A%2F%2Fframatube.org%3A443%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fstreaming-playlists%2Fhls%2F6050732a-8a7a-43d4-a6cd-809525a1d206%2F6050732a-8a7a-43d4-a6cd-809525a1d206-240-fragmented.mp4","height":240}]}],"likes":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/likes","dislikes":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/dislikes","shares":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/announces","comments":"https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206/comments","attributedTo":[{"type":"Person","id":"https://framatube.org/accounts/framasoft"},{"type":"Group","id":"https://framatube.org/video-channels/bf54d359-cfad-4935-9d45-9d6be93f63e8"}],"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://framatube.org/accounts/framasoft/followers"]},"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://framatube.org/accounts/framasoft/followers"],"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"RsaSignature2017":"https://w3id.org/security#RsaSignature2017"},{"pt":"https://joinpeertube.org/ns#","sc":"http://schema.org#","Hashtag":"as:Hashtag","uuid":"sc:identifier","category":"sc:category","licence":"sc:license","subtitleLanguage":"sc:subtitleLanguage","sensitive":"as:sensitive","language":"sc:inLanguage","Infohash":"pt:Infohash","Playlist":"pt:Playlist","PlaylistElement":"pt:PlaylistElement","originallyPublishedAt":"sc:datePublished","views":{"@type":"sc:Number","@id":"pt:views"},"state":{"@type":"sc:Number","@id":"pt:state"},"size":{"@type":"sc:Number","@id":"pt:size"},"fps":{"@type":"sc:Number","@id":"pt:fps"},"startTimestamp":{"@type":"sc:Number","@id":"pt:startTimestamp"},"stopTimestamp":{"@type":"sc:Number","@id":"pt:stopTimestamp"},"position":{"@type":"sc:Number","@id":"pt:position"},"commentsEnabled":{"@type":"sc:Boolean","@id":"pt:commentsEnabled"},"downloadEnabled":{"@type":"sc:Boolean","@id":"pt:downloadEnabled"},"waitTranscoding":{"@type":"sc:Boolean","@id":"pt:waitTranscoding"},"support":{"@type":"sc:Text","@id":"pt:support"},"likes":{"@id":"as:likes","@type":"@id"},"dislikes":{"@id":"as:dislikes","@type":"@id"},"playlists":{"@id":"pt:playlists","@type":"@id"},"shares":{"@id":"as:shares","@type":"@id"},"comments":{"@id":"as:comments","@type":"@id"}}]} \ No newline at end of file diff --git a/test/web/activity_pub/transmogrifier/video_handling_test.exs b/test/web/activity_pub/transmogrifier/video_handling_test.exs new file mode 100644 index 000000000..69c953a2e --- /dev/null +++ b/test/web/activity_pub/transmogrifier/video_handling_test.exs @@ -0,0 +1,93 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do + use Oban.Testing, repo: Pleroma.Repo + use Pleroma.DataCase + + alias Pleroma.Activity + alias Pleroma.Object + alias Pleroma.Object.Fetcher + alias Pleroma.Web.ActivityPub.Transmogrifier + + setup_all do + Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) + :ok + end + + test "skip converting the content when it is nil" do + data = + File.read!("test/fixtures/tesla_mock/framatube.org-video.json") + |> Jason.decode!() + |> Kernel.put_in(["object", "content"], nil) + + {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) + + assert object = Object.normalize(activity, false) + + assert object.data["content"] == nil + end + + test "it converts content of object to html" do + data = File.read!("test/fixtures/tesla_mock/framatube.org-video.json") |> Jason.decode!() + + {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) + + assert object = Object.normalize(activity, false) + + assert object.data["content"] == + "

Après avoir mené avec un certain succès la campagne « Dégooglisons Internet » en 2014, l’association Framasoft annonce fin 2019 arrêter progressivement un certain nombre de ses services alternatifs aux GAFAM. Pourquoi ?

Transcription par @aprilorg ici : https://www.april.org/deframasoftisons-internet-pierre-yves-gosset-framasoft

" + end + + test "it remaps video URLs as attachments if necessary" do + {:ok, object} = + Fetcher.fetch_object_from_id( + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3" + ) + + assert object.data["url"] == + "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3" + + assert object.data["attachment"] == [ + %{ + "type" => "Link", + "mediaType" => "video/mp4", + "name" => nil, + "url" => [ + %{ + "href" => + "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", + "mediaType" => "video/mp4", + "type" => "Link" + } + ] + } + ] + + data = File.read!("test/fixtures/tesla_mock/framatube.org-video.json") |> Jason.decode!() + + {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) + + assert object = Object.normalize(activity, false) + + assert object.data["attachment"] == [ + %{ + "type" => "Link", + "mediaType" => "video/mp4", + "name" => nil, + "url" => [ + %{ + "href" => + "https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4", + "mediaType" => "video/mp4", + "type" => "Link" + } + ] + } + ] + + assert object.data["url"] == + "https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206" + end +end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index cc55a7be7..0a3291d49 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -8,7 +8,6 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do alias Pleroma.Activity alias Pleroma.Object - alias Pleroma.Object.Fetcher alias Pleroma.Tests.ObanHelpers alias Pleroma.User alias Pleroma.Web.ActivityPub.Transmogrifier @@ -355,83 +354,6 @@ test "it works for incoming unfollows with an existing follow" do refute User.following?(User.get_cached_by_ap_id(data["actor"]), user) end - test "skip converting the content when it is nil" do - object_id = "https://peertube.social/videos/watch/278d2b7c-0f38-4aaa-afe6-9ecc0c4a34fe" - - {:ok, object} = Fetcher.fetch_and_contain_remote_object_from_id(object_id) - - result = - Pleroma.Web.ActivityPub.Transmogrifier.fix_object(Map.merge(object, %{"content" => nil})) - - assert result["content"] == nil - end - - test "it converts content of object to html" do - object_id = "https://peertube.social/videos/watch/278d2b7c-0f38-4aaa-afe6-9ecc0c4a34fe" - - {:ok, %{"content" => content_markdown}} = - Fetcher.fetch_and_contain_remote_object_from_id(object_id) - - {:ok, %Pleroma.Object{data: %{"content" => content}} = object} = - Fetcher.fetch_object_from_id(object_id) - - assert content_markdown == - "Support this and our other Michigan!/usr/group videos and meetings. Learn more at http://mug.org/membership\n\nTwenty Years in Jail: FreeBSD's Jails, Then and Now\n\nJails started as a limited virtualization system, but over the last two years they've..." - - assert content == - "

Support this and our other Michigan!/usr/group videos and meetings. Learn more at http://mug.org/membership

Twenty Years in Jail: FreeBSD’s Jails, Then and Now

Jails started as a limited virtualization system, but over the last two years they’ve…

" - - assert object.data["mediaType"] == "text/html" - end - - test "it remaps video URLs as attachments if necessary" do - {:ok, object} = - Fetcher.fetch_object_from_id( - "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3" - ) - - assert object.data["url"] == - "https://peertube.moe/videos/watch/df5f464b-be8d-46fb-ad81-2d4c2d1630e3" - - assert object.data["attachment"] == [ - %{ - "type" => "Link", - "mediaType" => "video/mp4", - "url" => [ - %{ - "href" => - "https://peertube.moe/static/webseed/df5f464b-be8d-46fb-ad81-2d4c2d1630e3-480.mp4", - "mediaType" => "video/mp4", - "type" => "Link" - } - ] - } - ] - - {:ok, object} = - Fetcher.fetch_object_from_id( - "https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206" - ) - - assert object.data["attachment"] == [ - %{ - "type" => "Link", - "mediaType" => "video/mp4", - "url" => [ - %{ - "href" => - "https://framatube.org/static/webseed/6050732a-8a7a-43d4-a6cd-809525a1d206-1080.mp4", - "mediaType" => "video/mp4", - "type" => "Link" - } - ] - } - ] - - assert object.data["url"] == - "https://framatube.org/videos/watch/6050732a-8a7a-43d4-a6cd-809525a1d206" - end - test "it accepts Flag activities" do user = insert(:user) other_user = insert(:user) @@ -1133,75 +1055,7 @@ test "fixes data for object when url is map" do } end - test "fixes data for video object" do - object = %{ - "type" => "Video", - "url" => [ - %{ - "type" => "Link", - "mimeType" => "video/mp4", - "href" => "https://peede8d-46fb-ad81-2d4c2d1630e3-480.mp4" - }, - %{ - "type" => "Link", - "mimeType" => "video/mp4", - "href" => "https://peertube46fb-ad81-2d4c2d1630e3-240.mp4" - }, - %{ - "type" => "Link", - "mimeType" => "text/html", - "href" => "https://peertube.-2d4c2d1630e3" - }, - %{ - "type" => "Link", - "mimeType" => "text/html", - "href" => "https://peertube.-2d4c2d16377-42" - } - ] - } - - assert Transmogrifier.fix_url(object) == %{ - "attachment" => [ - %{ - "href" => "https://peede8d-46fb-ad81-2d4c2d1630e3-480.mp4", - "mimeType" => "video/mp4", - "type" => "Link" - } - ], - "type" => "Video", - "url" => "https://peertube.-2d4c2d1630e3" - } - end - - test "fixes url for not Video object" do - object = %{ - "type" => "Text", - "url" => [ - %{ - "type" => "Link", - "mimeType" => "text/html", - "href" => "https://peertube.-2d4c2d1630e3" - }, - %{ - "type" => "Link", - "mimeType" => "text/html", - "href" => "https://peertube.-2d4c2d16377-42" - } - ] - } - - assert Transmogrifier.fix_url(object) == %{ - "type" => "Text", - "url" => "https://peertube.-2d4c2d1630e3" - } - - assert Transmogrifier.fix_url(%{"type" => "Text", "url" => []}) == %{ - "type" => "Text", - "url" => "" - } - end - - test "retunrs not modified object" do + test "returns non-modified object" do assert Transmogrifier.fix_url(%{"type" => "Text"}) == %{"type" => "Text"} end end From 2132b24a9df8116e12abc8c458cff4c3850aeda0 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Thu, 20 Aug 2020 04:27:59 +0200 Subject: [PATCH 102/201] object_validators: likes & announcements as [ObjectID] --- .../activity_pub/object_validators/audio_video_validator.ex | 4 ++-- .../web/activity_pub/object_validators/note_validator.ex | 4 ++-- .../web/activity_pub/object_validators/question_validator.ex | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex b/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex index a6119e627..16973e5db 100644 --- a/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/audio_video_validator.ex @@ -49,8 +49,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AudioVideoValidator do field(:inReplyTo, ObjectValidators.ObjectID) field(:url, ObjectValidators.Uri) - field(:likes, {:array, :string}, default: []) - field(:announcements, {:array, :string}, default: []) + field(:likes, {:array, ObjectValidators.ObjectID}, default: []) + field(:announcements, {:array, ObjectValidators.ObjectID}, default: []) end def cast_and_apply(data) do diff --git a/lib/pleroma/web/activity_pub/object_validators/note_validator.ex b/lib/pleroma/web/activity_pub/object_validators/note_validator.ex index ab4469a59..e47cbaaea 100644 --- a/lib/pleroma/web/activity_pub/object_validators/note_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/note_validator.ex @@ -43,8 +43,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator do field(:inReplyTo, ObjectValidators.ObjectID) field(:url, ObjectValidators.Uri) - field(:likes, {:array, :string}, default: []) - field(:announcements, {:array, :string}, default: []) + field(:likes, {:array, ObjectValidators.ObjectID}, default: []) + field(:announcements, {:array, ObjectValidators.ObjectID}, default: []) end def cast_and_validate(data) do diff --git a/lib/pleroma/web/activity_pub/object_validators/question_validator.ex b/lib/pleroma/web/activity_pub/object_validators/question_validator.ex index 934d3c1ea..9310485dc 100644 --- a/lib/pleroma/web/activity_pub/object_validators/question_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/question_validator.ex @@ -47,8 +47,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.QuestionValidator do # short identifier for PleromaFE to group statuses by context field(:context_id, :integer) - field(:likes, {:array, :string}, default: []) - field(:announcements, {:array, :string}, default: []) + field(:likes, {:array, ObjectValidators.ObjectID}, default: []) + field(:announcements, {:array, ObjectValidators.ObjectID}, default: []) field(:closed, ObjectValidators.DateTime) field(:voters, {:array, ObjectValidators.ObjectID}, default: []) From 1b3d5956b1be7faac4e1230d788307650acce991 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Thu, 20 Aug 2020 20:03:07 +0200 Subject: [PATCH 103/201] Pipeline Ingestion: Article --- lib/pleroma/web/activity_pub/activity_pub.ex | 2 +- .../web/activity_pub/object_validator.ex | 17 ++++- ...validator.ex => article_note_validator.ex} | 55 +++++++++++--- lib/pleroma/web/activity_pub/side_effects.ex | 2 +- .../web/activity_pub/transmogrifier.ex | 4 +- .../wedistribute-create-article.json | 1 + ...st.exs => article_note_validator_test.exs} | 6 +- .../transmogrifier/article_handling_test.exs | 75 +++++++++++++++++++ test/web/activity_pub/transmogrifier_test.exs | 9 --- 9 files changed, 143 insertions(+), 28 deletions(-) rename lib/pleroma/web/activity_pub/object_validators/{note_validator.ex => article_note_validator.ex} (59%) create mode 100644 test/fixtures/tesla_mock/wedistribute-create-article.json rename test/web/activity_pub/object_validators/{note_validator_test.exs => article_note_validator_test.exs} (76%) create mode 100644 test/web/activity_pub/transmogrifier/article_handling_test.exs diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index bceec8bd1..3ab045737 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -84,7 +84,7 @@ defp increase_replies_count_if_reply(%{ defp increase_replies_count_if_reply(_create_data), do: :noop - @object_types ~w[ChatMessage Question Answer Audio Video Event] + @object_types ~w[ChatMessage Question Answer Audio Video Event Article] @spec persist(map(), keyword()) :: {:ok, Activity.t() | Object.t()} def persist(%{"type" => type} = object, meta) when type in @object_types do with {:ok, object} <- Object.create(object) do diff --git a/lib/pleroma/web/activity_pub/object_validator.ex b/lib/pleroma/web/activity_pub/object_validator.ex index 081f96389..bd0a2a8dc 100644 --- a/lib/pleroma/web/activity_pub/object_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validator.ex @@ -17,6 +17,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidator do alias Pleroma.Web.ActivityPub.ObjectValidators.AcceptRejectValidator alias Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator alias Pleroma.Web.ActivityPub.ObjectValidators.AnswerValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.ArticleNoteValidator alias Pleroma.Web.ActivityPub.ObjectValidators.AudioVideoValidator alias Pleroma.Web.ActivityPub.ObjectValidators.BlockValidator alias Pleroma.Web.ActivityPub.ObjectValidators.ChatMessageValidator @@ -160,6 +161,16 @@ def validate(%{"type" => type} = object, meta) when type in ~w[Audio Video] do end end + def validate(%{"type" => "Article"} = object, meta) do + with {:ok, object} <- + object + |> ArticleNoteValidator.cast_and_validate() + |> Ecto.Changeset.apply_action(:insert) do + object = stringify_keys(object) + {:ok, object, meta} + end + end + def validate(%{"type" => "Answer"} = object, meta) do with {:ok, object} <- object @@ -199,7 +210,7 @@ def validate( %{"type" => "Create", "object" => %{"type" => objtype} = object} = create_activity, meta ) - when objtype in ~w[Question Answer Audio Video Event] do + when objtype in ~w[Question Answer Audio Video Event Article] do with {:ok, object_data} <- cast_and_apply(object), meta = Keyword.put(meta, :object_data, object_data |> stringify_keys), {:ok, create_activity} <- @@ -241,6 +252,10 @@ def cast_and_apply(%{"type" => "Event"} = object) do EventValidator.cast_and_apply(object) end + def cast_and_apply(%{"type" => "Article"} = object) do + ArticleNoteValidator.cast_and_apply(object) + end + def cast_and_apply(o), do: {:error, {:validator_not_set, o}} # is_struct/1 isn't present in Elixir 1.8.x diff --git a/lib/pleroma/web/activity_pub/object_validators/note_validator.ex b/lib/pleroma/web/activity_pub/object_validators/article_note_validator.ex similarity index 59% rename from lib/pleroma/web/activity_pub/object_validators/note_validator.ex rename to lib/pleroma/web/activity_pub/object_validators/article_note_validator.ex index e47cbaaea..5b7dad517 100644 --- a/lib/pleroma/web/activity_pub/object_validators/note_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/article_note_validator.ex @@ -2,15 +2,19 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator do +defmodule Pleroma.Web.ActivityPub.ObjectValidators.ArticleNoteValidator do use Ecto.Schema alias Pleroma.EctoType.ActivityPub.ObjectValidators + alias Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.CommonFixes + alias Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations alias Pleroma.Web.ActivityPub.Transmogrifier import Ecto.Changeset @primary_key false + @derive Jason.Encoder embedded_schema do field(:id, ObjectValidators.ObjectID, primary_key: true) @@ -30,13 +34,14 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator do # short identifier for PleromaFE to group statuses by context field(:context_id, :integer) + # TODO: Remove actor on objects field(:actor, ObjectValidators.ObjectID) + field(:attributedTo, ObjectValidators.ObjectID) field(:published, ObjectValidators.DateTime) field(:emoji, ObjectValidators.Emoji, default: %{}) field(:sensitive, :boolean, default: false) - # TODO: Write type - field(:attachment, {:array, :map}, default: []) + embeds_many(:attachment, AttachmentValidator) field(:replies_count, :integer, default: 0) field(:like_count, :integer, default: 0) field(:announcement_count, :integer, default: 0) @@ -47,27 +52,55 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator do field(:announcements, {:array, ObjectValidators.ObjectID}, default: []) end + def cast_and_apply(data) do + data + |> cast_data + |> apply_action(:insert) + end + def cast_and_validate(data) do data |> cast_data() |> validate_data() end - defp fix(data) do - data - |> Transmogrifier.fix_emoji() - end - def cast_data(data) do data = fix(data) %__MODULE__{} - |> cast(data, __schema__(:fields)) + |> changeset(data) + end + + defp fix_url(%{"url" => url} = data) when is_map(url) do + Map.put(data, "url", url["href"]) + end + + defp fix_url(data), do: data + + defp fix(data) do + data + |> CommonFixes.fix_defaults() + |> CommonFixes.fix_attribution() + |> CommonFixes.fix_actor() + |> fix_url() + |> Transmogrifier.fix_emoji() + end + + def changeset(struct, data) do + data = fix(data) + + struct + |> cast(data, __schema__(:fields) -- [:attachment]) + |> cast_embed(:attachment) end def validate_data(data_cng) do data_cng - |> validate_inclusion(:type, ["Note"]) - |> validate_required([:id, :actor, :to, :cc, :type, :content, :context]) + |> validate_inclusion(:type, ["Article", "Note"]) + |> validate_required([:id, :actor, :attributedTo, :type, :context, :context_id]) + |> CommonValidations.validate_any_presence([:cc, :to]) + |> CommonValidations.validate_fields_match([:actor, :attributedTo]) + |> CommonValidations.validate_actor_presence() + |> CommonValidations.validate_host_match() end end diff --git a/lib/pleroma/web/activity_pub/side_effects.ex b/lib/pleroma/web/activity_pub/side_effects.ex index b5c720c7a..b9a83a544 100644 --- a/lib/pleroma/web/activity_pub/side_effects.ex +++ b/lib/pleroma/web/activity_pub/side_effects.ex @@ -336,7 +336,7 @@ def handle_object_creation(%{"type" => "Answer"} = object_map, meta) do end def handle_object_creation(%{"type" => objtype} = object, meta) - when objtype in ~w[Audio Video Question Event] do + when objtype in ~w[Audio Video Question Event Article] do with {:ok, object, meta} <- Pipeline.common_pipeline(object, meta) do {:ok, object, meta} end diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index e14936c10..80f529704 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -424,7 +424,7 @@ def handle_incoming( %{"type" => "Create", "object" => %{"type" => objtype} = object} = data, options ) - when objtype in ~w{Article Note Page} do + when objtype in ~w{Note Page} do actor = Containment.get_actor(data) with nil <- Activity.get_create_by_object_ap_id(object["id"]), @@ -518,7 +518,7 @@ def handle_incoming( %{"type" => "Create", "object" => %{"type" => objtype}} = data, _options ) - when objtype in ~w{Question Answer ChatMessage Audio Video Event} do + when objtype in ~w{Question Answer ChatMessage Audio Video Event Article} do data = Map.put(data, "object", strip_internal_fields(data["object"])) with {:ok, %User{}} <- ObjectValidator.fetch_actor(data), diff --git a/test/fixtures/tesla_mock/wedistribute-create-article.json b/test/fixtures/tesla_mock/wedistribute-create-article.json new file mode 100644 index 000000000..3cfef8b99 --- /dev/null +++ b/test/fixtures/tesla_mock/wedistribute-create-article.json @@ -0,0 +1 @@ +{"@context":["https:\/\/www.w3.org\/ns\/activitystreams"],"type":"Create","actor":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/actor\/-blog","object":{"@context":["https:\/\/www.w3.org\/ns\/activitystreams"],"type":"Article","name":"The end is near: Mastodon plans to drop OStatus support","content":"\n

The days of OStatus are numbered. The venerable protocol has served as a glue between many different types of servers since the early days of the Fediverse, connecting StatusNet (now GNU Social) to Friendica, Hubzilla, Mastodon, and Pleroma.<\/p>\n\n\n\n

Now that many fediverse platforms support ActivityPub as a successor protocol, Mastodon appears to be drawing a line in the sand. In a Patreon update<\/a>, Eugen Rochko writes:<\/p>\n\n\n\n

...OStatus...has overstayed its welcome in the code...and now that most of the network uses ActivityPub, it's time for it to go. <\/p>Eugen Rochko, Mastodon creator<\/cite><\/blockquote>\n\n\n\n

The pull request<\/a> to remove Pubsubhubbub and Salmon, two of the main components of OStatus, has already been merged into Mastodon's master branch.<\/p>\n\n\n\n

Some projects will be left in the dark as a side effect of this. GNU Social and PostActiv, for example, both only communicate using OStatus. While some discussion<\/a> exists regarding adopting ActivityPub for GNU Social, and a plugin is in development<\/a>, it hasn't been formally adopted yet. We just hope that the Free Software Foundation's instance<\/a> gets updated in time!<\/p>\n","summary":"One of the largest platforms in the federated social web is dropping the protocol that it started with.","attributedTo":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/actor\/-blog","url":"https:\/\/wedistribute.org\/2019\/07\/mastodon-drops-ostatus\/","to":["https:\/\/www.w3.org\/ns\/activitystreams#Public","https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/actor\/-blog\/followers"],"id":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/object\/85810","likes":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/object\/85810\/likes","shares":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/object\/85810\/shares"},"to":["https:\/\/www.w3.org\/ns\/activitystreams#Public","https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/actor\/-blog\/followers"],"id":"https:\/\/wedistribute.org\/wp-json\/pterotype\/v1\/object\/85809"} \ No newline at end of file diff --git a/test/web/activity_pub/object_validators/note_validator_test.exs b/test/web/activity_pub/object_validators/article_note_validator_test.exs similarity index 76% rename from test/web/activity_pub/object_validators/note_validator_test.exs rename to test/web/activity_pub/object_validators/article_note_validator_test.exs index 30c481ffb..cc6dab872 100644 --- a/test/web/activity_pub/object_validators/note_validator_test.exs +++ b/test/web/activity_pub/object_validators/article_note_validator_test.exs @@ -2,10 +2,10 @@ # Copyright © 2017-2020 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidatorTest do +defmodule Pleroma.Web.ActivityPub.ObjectValidators.ArticleNoteValidatorTest do use Pleroma.DataCase - alias Pleroma.Web.ActivityPub.ObjectValidators.NoteValidator + alias Pleroma.Web.ActivityPub.ObjectValidators.ArticleNoteValidator alias Pleroma.Web.ActivityPub.Utils import Pleroma.Factory @@ -29,7 +29,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.NoteValidatorTest do end test "a basic note validates", %{note: note} do - %{valid?: true} = NoteValidator.cast_and_validate(note) + %{valid?: true} = ArticleNoteValidator.cast_and_validate(note) end end end diff --git a/test/web/activity_pub/transmogrifier/article_handling_test.exs b/test/web/activity_pub/transmogrifier/article_handling_test.exs new file mode 100644 index 000000000..9b12a470a --- /dev/null +++ b/test/web/activity_pub/transmogrifier/article_handling_test.exs @@ -0,0 +1,75 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.Transmogrifier.ArticleHandlingTest do + use Oban.Testing, repo: Pleroma.Repo + use Pleroma.DataCase + + alias Pleroma.Activity + alias Pleroma.Object + alias Pleroma.Object.Fetcher + alias Pleroma.Web.ActivityPub.Transmogrifier + + test "Pterotype (Wordpress Plugin) Article" do + Tesla.Mock.mock(fn %{url: "https://wedistribute.org/wp-json/pterotype/v1/actor/-blog"} -> + %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/wedistribute-user.json")} + end) + + data = + File.read!("test/fixtures/tesla_mock/wedistribute-create-article.json") |> Jason.decode!() + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + object = Object.normalize(data["object"]) + + assert object.data["name"] == "The end is near: Mastodon plans to drop OStatus support" + + assert object.data["summary"] == + "One of the largest platforms in the federated social web is dropping the protocol that it started with." + + assert object.data["url"] == "https://wedistribute.org/2019/07/mastodon-drops-ostatus/" + end + + test "Plume Article" do + Tesla.Mock.mock(fn + %{url: "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/baptiste.gelex.xyz-article.json") + } + + %{url: "https://baptiste.gelez.xyz/@/BaptisteGelez"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/baptiste.gelex.xyz-user.json") + } + end) + + {:ok, object} = + Fetcher.fetch_object_from_id( + "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/" + ) + + assert object.data["name"] == "This Month in Plume: June 2018" + + assert object.data["url"] == + "https://baptiste.gelez.xyz/~/PlumeDevelopment/this-month-in-plume-june-2018/" + end + + test "Prismo Article" do + Tesla.Mock.mock(fn %{url: "https://prismo.news/@mxb"} -> + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/https___prismo.news__mxb.json") + } + end) + + data = File.read!("test/fixtures/prismo-url-map.json") |> Jason.decode!() + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + object = Object.normalize(data["object"]) + + assert object.data["url"] == "https://prismo.news/posts/83" + end +end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 0a3291d49..561674f01 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -44,15 +44,6 @@ test "it works for incoming notices with tag not being an array (kroeg)" do assert "test" in object.data["tag"] end - test "it works for incoming notices with url not being a string (prismo)" do - data = File.read!("test/fixtures/prismo-url-map.json") |> Poison.decode!() - - {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) - object = Object.normalize(data["object"]) - - assert object.data["url"] == "https://prismo.news/posts/83" - end - test "it cleans up incoming notices which are not really DMs" do user = insert(:user) other_user = insert(:user) From f18178cb096b9a00ed12ff0fe36893f118ec6649 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 22 Aug 2020 02:01:33 +0200 Subject: [PATCH 104/201] AttachmentValidator: directly embed url schema and pass it fix_media_type --- .../object_validators/attachment_validator.ex | 21 ++++++++++++++-- .../object_validators/url_object_validator.ex | 24 ------------------- 2 files changed, 19 insertions(+), 26 deletions(-) delete mode 100644 lib/pleroma/web/activity_pub/object_validators/url_object_validator.ex diff --git a/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex b/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex index c8b148280..df102a134 100644 --- a/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do use Ecto.Schema + alias Pleroma.EctoType.ActivityPub.ObjectValidators alias Pleroma.Web.ActivityPub.ObjectValidators.UrlObjectValidator import Ecto.Changeset @@ -15,7 +16,11 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do field(:mediaType, :string, default: "application/octet-stream") field(:name, :string) - embeds_many(:url, UrlObjectValidator) + embeds_many :url, UrlObjectValidator, primary_key: false do + field(:type, :string) + field(:href, ObjectValidators.Uri) + field(:mediaType, :string, default: "application/octet-stream") + end end def cast_and_validate(data) do @@ -37,7 +42,18 @@ def changeset(struct, data) do struct |> cast(data, [:type, :mediaType, :name]) - |> cast_embed(:url, required: true) + |> cast_embed(:url, with: &url_changeset/2) + |> validate_inclusion(:type, ~w[Link Document Audio Image Video]) + |> validate_required([:type, :mediaType, :url]) + end + + def url_changeset(struct, data) do + data = fix_media_type(data) + + struct + |> cast(data, [:type, :href, :mediaType]) + |> validate_inclusion(:type, ["Link"]) + |> validate_required([:type, :href, :mediaType]) end def fix_media_type(data) do @@ -75,6 +91,7 @@ defp fix_url(data) do def validate_data(cng) do cng + |> validate_inclusion(:type, ~w[Document Audio Image Video]) |> validate_required([:mediaType, :url, :type]) end end diff --git a/lib/pleroma/web/activity_pub/object_validators/url_object_validator.ex b/lib/pleroma/web/activity_pub/object_validators/url_object_validator.ex deleted file mode 100644 index 881030f38..000000000 --- a/lib/pleroma/web/activity_pub/object_validators/url_object_validator.ex +++ /dev/null @@ -1,24 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.Web.ActivityPub.ObjectValidators.UrlObjectValidator do - use Ecto.Schema - - alias Pleroma.EctoType.ActivityPub.ObjectValidators - - import Ecto.Changeset - @primary_key false - - embedded_schema do - field(:type, :string) - field(:href, ObjectValidators.Uri) - field(:mediaType, :string, default: "application/octet-stream") - end - - def changeset(struct, data) do - struct - |> cast(data, __schema__(:fields)) - |> validate_required([:type, :href, :mediaType]) - end -end From e3ca0a7e2d18ca9b3c809282678456d4517d39bc Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Fri, 11 Sep 2020 09:09:28 +0300 Subject: [PATCH 105/201] migration to remove old cron jobs --- .../20200911055909_remove_cron_jobs.exs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 priv/repo/migrations/20200911055909_remove_cron_jobs.exs diff --git a/priv/repo/migrations/20200911055909_remove_cron_jobs.exs b/priv/repo/migrations/20200911055909_remove_cron_jobs.exs new file mode 100644 index 000000000..33897d128 --- /dev/null +++ b/priv/repo/migrations/20200911055909_remove_cron_jobs.exs @@ -0,0 +1,20 @@ +defmodule Pleroma.Repo.Migrations.RemoveCronJobs do + use Ecto.Migration + + import Ecto.Query, only: [from: 2] + + def up do + from(j in "oban_jobs", + where: + j.worker in ^[ + "Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker", + "Pleroma.Workers.Cron.StatsWorker", + "Pleroma.Workers.Cron.ClearOauthTokenWorker" + ], + select: [:id] + ) + |> Pleroma.Repo.delete_all() + end + + def down, do: :ok +end From dbc013f24c3885960714425f201e372335d22345 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 11 Sep 2020 11:22:50 +0200 Subject: [PATCH 106/201] instance: Handle not getting a favicon --- lib/pleroma/instances/instance.ex | 12 ++--- test/web/instances/instance_test.exs | 71 ++++++++++++++++++---------- 2 files changed, 50 insertions(+), 33 deletions(-) diff --git a/lib/pleroma/instances/instance.ex b/lib/pleroma/instances/instance.ex index 8bf53c090..6948651c7 100644 --- a/lib/pleroma/instances/instance.ex +++ b/lib/pleroma/instances/instance.ex @@ -159,13 +159,11 @@ defp scrape_favicon(%URI{} = instance_uri) do Pleroma.HTTP.get(to_string(instance_uri), [{"accept", "text/html"}], adapter: [pool: :media] ), - favicon_rel <- - html - |> Floki.parse_document!() - |> Floki.attribute("link[rel=icon]", "href") - |> List.first(), - favicon <- URI.merge(instance_uri, favicon_rel) |> to_string(), - true <- is_binary(favicon) do + {_, [favicon_rel | _]} when is_binary(favicon_rel) <- + {:parse, + html |> Floki.parse_document!() |> Floki.attribute("link[rel=icon]", "href")}, + {_, favicon} when is_binary(favicon) <- + {:merge, URI.merge(instance_uri, favicon_rel) |> to_string()} do favicon else _ -> nil diff --git a/test/web/instances/instance_test.exs b/test/web/instances/instance_test.exs index dc6ace843..4f0805100 100644 --- a/test/web/instances/instance_test.exs +++ b/test/web/instances/instance_test.exs @@ -99,35 +99,54 @@ test "does NOT modify `unreachable_since` value of existing record in case it's end end - test "Scrapes favicon URLs" do - Tesla.Mock.mock(fn %{url: "https://favicon.example.org/"} -> - %Tesla.Env{ - status: 200, - body: ~s[] - } - end) + describe "get_or_update_favicon/1" do + test "Scrapes favicon URLs" do + Tesla.Mock.mock(fn %{url: "https://favicon.example.org/"} -> + %Tesla.Env{ + status: 200, + body: ~s[] + } + end) - assert "https://favicon.example.org/favicon.png" == - Instance.get_or_update_favicon(URI.parse("https://favicon.example.org/")) - end + assert "https://favicon.example.org/favicon.png" == + Instance.get_or_update_favicon(URI.parse("https://favicon.example.org/")) + end - test "Returns nil on too long favicon URLs" do - long_favicon_url = - "https://Lorem.ipsum.dolor.sit.amet/consecteturadipiscingelit/Praesentpharetrapurusutaliquamtempus/Mauriseulaoreetarcu/atfacilisisorci/Nullamporttitor/nequesedfeugiatmollis/dolormagnaefficiturlorem/nonpretiumsapienorcieurisus/Nullamveleratsem/Maecenassedaccumsanexnam/favicon.png" + test "Returns nil on too long favicon URLs" do + long_favicon_url = + "https://Lorem.ipsum.dolor.sit.amet/consecteturadipiscingelit/Praesentpharetrapurusutaliquamtempus/Mauriseulaoreetarcu/atfacilisisorci/Nullamporttitor/nequesedfeugiatmollis/dolormagnaefficiturlorem/nonpretiumsapienorcieurisus/Nullamveleratsem/Maecenassedaccumsanexnam/favicon.png" - Tesla.Mock.mock(fn %{url: "https://long-favicon.example.org/"} -> - %Tesla.Env{ - status: 200, - body: ~s[] - } - end) + Tesla.Mock.mock(fn %{url: "https://long-favicon.example.org/"} -> + %Tesla.Env{ + status: 200, + body: + ~s[] + } + end) - assert capture_log(fn -> - assert nil == - Instance.get_or_update_favicon( - URI.parse("https://long-favicon.example.org/") - ) - end) =~ - "Instance.get_or_update_favicon(\"long-favicon.example.org\") error: %Postgrex.Error{" + assert capture_log(fn -> + assert nil == + Instance.get_or_update_favicon( + URI.parse("https://long-favicon.example.org/") + ) + end) =~ + "Instance.get_or_update_favicon(\"long-favicon.example.org\") error: %Postgrex.Error{" + end + + test "Handles not getting a favicon URL properly" do + Tesla.Mock.mock(fn %{url: "https://no-favicon.example.org/"} -> + %Tesla.Env{ + status: 200, + body: ~s[

I wil look down and whisper "GNO.."

] + } + end) + + refute capture_log(fn -> + assert nil == + Instance.get_or_update_favicon( + URI.parse("https://no-favicon.example.org/") + ) + end) =~ "Instance.scrape_favicon(\"https://no-favicon.example.org/\") error: " + end end end From 36c9197ac36707cdfe3d679bbd64972b4b03ea84 Mon Sep 17 00:00:00 2001 From: Haelwenn Date: Fri, 11 Sep 2020 10:46:16 +0000 Subject: [PATCH 107/201] Apply 1 suggestion(s) to 1 file(s) --- lib/pleroma/web/federator/federator.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex index e4ab9ba32..130654145 100644 --- a/lib/pleroma/web/federator/federator.ex +++ b/lib/pleroma/web/federator/federator.ex @@ -94,7 +94,7 @@ def perform(:incoming_ap_doc, params) do e -> # Just drop those for now - Logger.debug("Unhandled activity\n" <> Jason.encode!(params, pretty: true)) + Logger.debug(fn -> "Unhandled activity\n" <> Jason.encode!(params, pretty: true) end) {:error, e} end end From 89a7efab69d905cc3521388b1e1cf43851848627 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 11 Sep 2020 14:22:54 +0300 Subject: [PATCH 108/201] ConnectionPool: Log possible HTTP1 blocks --- lib/pleroma/gun/conn.ex | 12 ++++++------ lib/pleroma/gun/connection_pool/worker.ex | 22 ++++++++++++++++------ lib/pleroma/telemetry/logger.ex | 18 ++++++++++++++++-- 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/lib/pleroma/gun/conn.ex b/lib/pleroma/gun/conn.ex index 75b1ffc0a..477e19c6e 100644 --- a/lib/pleroma/gun/conn.ex +++ b/lib/pleroma/gun/conn.ex @@ -50,10 +50,10 @@ defp do_open(uri, %{proxy: {proxy_host, proxy_port}} = opts) do with open_opts <- Map.delete(opts, :tls_opts), {:ok, conn} <- Gun.open(proxy_host, proxy_port, open_opts), - {:ok, _} <- Gun.await_up(conn, opts[:connect_timeout]), + {:ok, protocol} <- Gun.await_up(conn, opts[:connect_timeout]), stream <- Gun.connect(conn, connect_opts), {:response, :fin, 200, _} <- Gun.await(conn, stream) do - {:ok, conn} + {:ok, conn, protocol} else error -> Logger.warn( @@ -88,8 +88,8 @@ defp do_open(uri, %{proxy: {proxy_type, proxy_host, proxy_port}} = opts) do |> Map.put(:socks_opts, socks_opts) with {:ok, conn} <- Gun.open(proxy_host, proxy_port, opts), - {:ok, _} <- Gun.await_up(conn, opts[:connect_timeout]) do - {:ok, conn} + {:ok, protocol} <- Gun.await_up(conn, opts[:connect_timeout]) do + {:ok, conn, protocol} else error -> Logger.warn( @@ -106,8 +106,8 @@ defp do_open(%URI{host: host, port: port} = uri, opts) do host = Pleroma.HTTP.AdapterHelper.parse_host(host) with {:ok, conn} <- Gun.open(host, port, opts), - {:ok, _} <- Gun.await_up(conn, opts[:connect_timeout]) do - {:ok, conn} + {:ok, protocol} <- Gun.await_up(conn, opts[:connect_timeout]) do + {:ok, conn, protocol} else error -> Logger.warn( diff --git a/lib/pleroma/gun/connection_pool/worker.ex b/lib/pleroma/gun/connection_pool/worker.ex index c36332817..49d41e4c7 100644 --- a/lib/pleroma/gun/connection_pool/worker.ex +++ b/lib/pleroma/gun/connection_pool/worker.ex @@ -15,7 +15,7 @@ def init([_key, _uri, _opts, _client_pid] = opts) do @impl true def handle_continue({:connect, [key, uri, opts, client_pid]}, _) do - with {:ok, conn_pid} <- Gun.Conn.open(uri, opts), + with {:ok, conn_pid, protocol} <- Gun.Conn.open(uri, opts), Process.link(conn_pid) do time = :erlang.monotonic_time(:millisecond) @@ -27,8 +27,12 @@ def handle_continue({:connect, [key, uri, opts, client_pid]}, _) do send(client_pid, {:conn_pid, conn_pid}) {:noreply, - %{key: key, timer: nil, client_monitors: %{client_pid => Process.monitor(client_pid)}}, - :hibernate} + %{ + key: key, + timer: nil, + client_monitors: %{client_pid => Process.monitor(client_pid)}, + protocol: protocol + }, :hibernate} else err -> {:stop, {:shutdown, err}, nil} @@ -53,14 +57,20 @@ def handle_cast({:remove_client, client_pid}, state) do end @impl true - def handle_call(:add_client, {client_pid, _}, %{key: key} = state) do + def handle_call(:add_client, {client_pid, _}, %{key: key, protocol: protocol} = state) do time = :erlang.monotonic_time(:millisecond) - {{conn_pid, _, _, _}, _} = + {{conn_pid, used_by, _, _}, _} = Registry.update_value(@registry, key, fn {conn_pid, used_by, crf, last_reference} -> {conn_pid, [client_pid | used_by], crf(time - last_reference, crf), time} end) + :telemetry.execute( + [:pleroma, :connection_pool, :client, :add], + %{client_pid: client_pid, clients: used_by}, + %{key: state.key, protocol: protocol} + ) + state = if state.timer != nil do Process.cancel_timer(state[:timer]) @@ -131,7 +141,7 @@ def handle_info({:gun_down, _pid, _protocol, _reason, _killed_streams}, state) d @impl true def handle_info({:DOWN, _ref, :process, pid, reason}, state) do :telemetry.execute( - [:pleroma, :connection_pool, :client_death], + [:pleroma, :connection_pool, :client, :dead], %{client_pid: pid, reason: reason}, %{key: state.key} ) diff --git a/lib/pleroma/telemetry/logger.ex b/lib/pleroma/telemetry/logger.ex index 4cacae02f..197b1d091 100644 --- a/lib/pleroma/telemetry/logger.ex +++ b/lib/pleroma/telemetry/logger.ex @@ -7,7 +7,8 @@ defmodule Pleroma.Telemetry.Logger do [:pleroma, :connection_pool, :reclaim, :start], [:pleroma, :connection_pool, :reclaim, :stop], [:pleroma, :connection_pool, :provision_failure], - [:pleroma, :connection_pool, :client_death] + [:pleroma, :connection_pool, :client, :dead], + [:pleroma, :connection_pool, :client, :add] ] def attach do :telemetry.attach_many("pleroma-logger", @events, &handle_event/4, []) @@ -62,7 +63,7 @@ def handle_event( end def handle_event( - [:pleroma, :connection_pool, :client_death], + [:pleroma, :connection_pool, :client, :dead], %{client_pid: client_pid, reason: reason}, %{key: key}, _ @@ -73,4 +74,17 @@ def handle_event( }" end) end + + def handle_event( + [:pleroma, :connection_pool, :client, :add], + %{clients: [_, _ | _] = clients}, + %{key: key, protocol: :http}, + _ + ) do + Logger.info(fn -> + "Pool worker for #{key}: #{length(clients)} clients are using an HTTP1 connection at the same time, head-of-line blocking might occur." + end) + end + + def handle_event([:pleroma, :connection_pool, :client, :add], _, _, _), do: :ok end From f1f44069ae525fd21127e5ceccc61016c12f4427 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Fri, 11 Sep 2020 19:58:58 +0200 Subject: [PATCH 109/201] Fetcher: Correctly return MRF reject reason --- lib/pleroma/object/fetcher.ex | 4 ++-- lib/pleroma/web/activity_pub/activity_pub.ex | 4 ++-- test/object/fetcher_test.exs | 25 +++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/pleroma/object/fetcher.ex b/lib/pleroma/object/fetcher.ex index 1de2ce6c3..24dc7cb95 100644 --- a/lib/pleroma/object/fetcher.ex +++ b/lib/pleroma/object/fetcher.ex @@ -98,8 +98,8 @@ def fetch_object_from_id(id, options \\ []) do {:containment, _} -> {:error, "Object containment failed."} - {:transmogrifier, {:error, {:reject, nil}}} -> - {:reject, nil} + {:transmogrifier, {:error, {:reject, e}}} -> + {:reject, e} {:transmogrifier, _} = e -> {:error, e} diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 66a9f78a3..b2205bff7 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -154,8 +154,8 @@ def insert(map, local \\ true, fake \\ false, bypass_actor_check \\ false) when {:remote_limit_pass, _} -> {:error, :remote_limit} - {:reject, reason} -> - {:error, reason} + {:reject, _} = e -> + {:error, e} end end diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 16cfa7f5c..3173ee31c 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -6,10 +6,13 @@ defmodule Pleroma.Object.FetcherTest do use Pleroma.DataCase alias Pleroma.Activity + alias Pleroma.Config alias Pleroma.Object alias Pleroma.Object.Fetcher - import Tesla.Mock + + import ExUnit.CaptureLog import Mock + import Tesla.Mock setup do mock(fn @@ -71,20 +74,20 @@ test "it works when fetching the OP actor errors out" do setup do: clear_config([:instance, :federation_incoming_replies_max_depth]) test "it returns thread depth exceeded error if thread depth is exceeded" do - Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 0) + Config.put([:instance, :federation_incoming_replies_max_depth], 0) assert {:error, "Max thread distance exceeded."} = Fetcher.fetch_object_from_id(@ap_id, depth: 1) end test "it fetches object if max thread depth is restricted to 0 and depth is not specified" do - Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 0) + Config.put([:instance, :federation_incoming_replies_max_depth], 0) assert {:ok, _} = Fetcher.fetch_object_from_id(@ap_id) end test "it fetches object if requested depth does not exceed max thread depth" do - Pleroma.Config.put([:instance, :federation_incoming_replies_max_depth], 10) + Config.put([:instance, :federation_incoming_replies_max_depth], 10) assert {:ok, _} = Fetcher.fetch_object_from_id(@ap_id, depth: 10) end @@ -120,6 +123,16 @@ test "it fetches an object" do assert object == object_again end + + test "Return MRF reason when fetched status is rejected by one" do + clear_config([:mrf_keyword, :reject], ["yeah"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + + assert {:reject, "[KeywordPolicy] Matches with rejected keyword"} == + Fetcher.fetch_object_from_id( + "http://mastodon.example.org/@admin/99541947525187367" + ) + end end describe "implementation quirks" do @@ -212,7 +225,7 @@ test "it can refetch pruned objects" do Pleroma.Signature, [:passthrough], [] do - Pleroma.Config.put([:activitypub, :sign_object_fetches], true) + Config.put([:activitypub, :sign_object_fetches], true) Fetcher.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367") @@ -223,7 +236,7 @@ test "it can refetch pruned objects" do Pleroma.Signature, [:passthrough], [] do - Pleroma.Config.put([:activitypub, :sign_object_fetches], false) + Config.put([:activitypub, :sign_object_fetches], false) Fetcher.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367") From f88dc1937e5aa4208143fa68400a5c38a1b9eddf Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 31 Aug 2020 16:48:24 -0500 Subject: [PATCH 110/201] MastodonAPI.StatusView.get_user/1 --> CommonAPI.get_user/1 --- .../web/admin_api/views/status_view.ex | 3 ++- lib/pleroma/web/common_api/common_api.ex | 17 +++++++++++++ .../web/mastodon_api/views/status_view.ex | 25 +++---------------- .../web/pleroma_api/views/scrobble_view.ex | 4 +-- test/web/common_api/common_api_test.exs | 20 +++++++++++++++ 5 files changed, 45 insertions(+), 24 deletions(-) diff --git a/lib/pleroma/web/admin_api/views/status_view.ex b/lib/pleroma/web/admin_api/views/status_view.ex index 500800be2..6042a22b6 100644 --- a/lib/pleroma/web/admin_api/views/status_view.ex +++ b/lib/pleroma/web/admin_api/views/status_view.ex @@ -8,6 +8,7 @@ defmodule Pleroma.Web.AdminAPI.StatusView do require Pleroma.Constants alias Pleroma.Web.AdminAPI + alias Pleroma.Web.CommonAPI alias Pleroma.Web.MastodonAPI defdelegate merge_account_views(user), to: AdminAPI.AccountView @@ -17,7 +18,7 @@ def render("index.json", opts) do end def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do - user = MastodonAPI.StatusView.get_user(activity.data["actor"]) + user = CommonAPI.get_user(activity.data["actor"]) MastodonAPI.StatusView.render("show.json", opts) |> Map.merge(%{account: merge_account_views(user)}) diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 5ad2b91c2..d6e9d3d67 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -550,4 +550,21 @@ def hide_reblogs(%User{} = user, %User{} = target) do def show_reblogs(%User{} = user, %User{} = target) do UserRelationship.delete_reblog_mute(user, target) end + + def get_user(ap_id, fake_record_fallback \\ true) do + cond do + user = User.get_cached_by_ap_id(ap_id) -> + user + + user = User.get_by_guessed_nickname(ap_id) -> + user + + fake_record_fallback -> + # TODO: refactor (fake records is never a good idea) + User.error_user(ap_id) + + true -> + nil + end + end end diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 3fe1967be..66732d09e 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -56,23 +56,6 @@ defp get_replied_to_activities(activities) do end) end - def get_user(ap_id, fake_record_fallback \\ true) do - cond do - user = User.get_cached_by_ap_id(ap_id) -> - user - - user = User.get_by_guessed_nickname(ap_id) -> - user - - fake_record_fallback -> - # TODO: refactor (fake records is never a good idea) - User.error_user(ap_id) - - true -> - nil - end - end - defp get_context_id(%{data: %{"context_id" => context_id}}) when not is_nil(context_id), do: context_id @@ -120,7 +103,7 @@ def render("index.json", opts) do # Note: unresolved users are filtered out actors = (activities ++ parent_activities) - |> Enum.map(&get_user(&1.data["actor"], false)) + |> Enum.map(&CommonAPI.get_user(&1.data["actor"], false)) |> Enum.filter(& &1) UserRelationship.view_relationships_option(reading_user, actors, subset: :source_mutes) @@ -139,7 +122,7 @@ def render( "show.json", %{activity: %{data: %{"type" => "Announce", "object" => _object}} = activity} = opts ) do - user = get_user(activity.data["actor"]) + user = CommonAPI.get_user(activity.data["actor"]) created_at = Utils.to_masto_date(activity.data["published"]) activity_object = Object.normalize(activity) @@ -212,7 +195,7 @@ def render( def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do object = Object.normalize(activity) - user = get_user(activity.data["actor"]) + user = CommonAPI.get_user(activity.data["actor"]) user_follower_address = user.follower_address like_count = object.data["like_count"] || 0 @@ -266,7 +249,7 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} reply_to = get_reply_to(activity, opts) - reply_to_user = reply_to && get_user(reply_to.data["actor"]) + reply_to_user = reply_to && CommonAPI.get_user(reply_to.data["actor"]) content = object diff --git a/lib/pleroma/web/pleroma_api/views/scrobble_view.ex b/lib/pleroma/web/pleroma_api/views/scrobble_view.ex index bbff93abe..95bd4c368 100644 --- a/lib/pleroma/web/pleroma_api/views/scrobble_view.ex +++ b/lib/pleroma/web/pleroma_api/views/scrobble_view.ex @@ -10,14 +10,14 @@ defmodule Pleroma.Web.PleromaAPI.ScrobbleView do alias Pleroma.Activity alias Pleroma.HTML alias Pleroma.Object + alias Pleroma.Web.CommonAPI alias Pleroma.Web.CommonAPI.Utils alias Pleroma.Web.MastodonAPI.AccountView - alias Pleroma.Web.MastodonAPI.StatusView def render("show.json", %{activity: %Activity{data: %{"type" => "Listen"}} = activity} = opts) do object = Object.normalize(activity) - user = StatusView.get_user(activity.data["actor"]) + user = CommonAPI.get_user(activity.data["actor"]) created_at = Utils.to_masto_date(activity.data["published"]) %{ diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 4ba6232dc..d171b344a 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -1126,4 +1126,24 @@ test "respects visibility=private" do assert Visibility.get_visibility(activity) == "private" end end + + describe "get_user/1" do + test "gets user by ap_id" do + user = insert(:user) + assert CommonAPI.get_user(user.ap_id) == user + end + + test "gets user by guessed nickname" do + user = insert(:user, ap_id: "", nickname: "mario@mushroom.kingdom") + assert CommonAPI.get_user("https://mushroom.kingdom/users/mario") == user + end + + test "fallback" do + assert %User{ + name: "", + ap_id: "", + nickname: "erroruser@example.com" + } = CommonAPI.get_user("") + end + end end From b40a627ab02f9f63eac42ce6fc65282fc6cb6b92 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 31 Aug 2020 19:56:05 -0500 Subject: [PATCH 111/201] AdminAPI: delete a chat message --- lib/pleroma/moderation_log.ex | 24 +++++++++ .../admin_api/controllers/chat_controller.ex | 37 +++++++++++++ .../operations/admin/chat_operation.ex | 44 +++++++++++++++ lib/pleroma/web/router.ex | 2 + test/support/factory.ex | 54 +++++++++++++++++++ .../controllers/chat_controller_test.exs | 53 ++++++++++++++++++ 6 files changed, 214 insertions(+) create mode 100644 lib/pleroma/web/admin_api/controllers/chat_controller.ex create mode 100644 lib/pleroma/web/api_spec/operations/admin/chat_operation.ex create mode 100644 test/web/admin_api/controllers/chat_controller_test.exs diff --git a/lib/pleroma/moderation_log.ex b/lib/pleroma/moderation_log.ex index 31c9afe2a..47036a6f6 100644 --- a/lib/pleroma/moderation_log.ex +++ b/lib/pleroma/moderation_log.ex @@ -320,6 +320,19 @@ def insert_log(%{ |> insert_log_entry_with_message() end + @spec insert_log(%{actor: User, action: String.t(), subject_id: String.t()}) :: + {:ok, ModerationLog} | {:error, any} + def insert_log(%{actor: %User{} = actor, action: "chat_message_delete", subject_id: subject_id}) do + %ModerationLog{ + data: %{ + "actor" => %{"nickname" => actor.nickname}, + "action" => "chat_message_delete", + "subject_id" => subject_id + } + } + |> insert_log_entry_with_message() + end + @spec insert_log_entry_with_message(ModerationLog) :: {:ok, ModerationLog} | {:error, any} defp insert_log_entry_with_message(entry) do entry.data["message"] @@ -627,6 +640,17 @@ def get_log_entry_message(%ModerationLog{ "@#{actor_nickname} updated users: #{users_to_nicknames_string(subjects)}" end + @spec get_log_entry_message(ModerationLog) :: String.t() + def get_log_entry_message(%ModerationLog{ + data: %{ + "actor" => %{"nickname" => actor_nickname}, + "action" => "chat_message_delete", + "subject_id" => subject_id + } + }) do + "@#{actor_nickname} deleted chat message ##{subject_id}" + end + defp nicknames_to_string(nicknames) do nicknames |> Enum.map(&"@#{&1}") diff --git a/lib/pleroma/web/admin_api/controllers/chat_controller.ex b/lib/pleroma/web/admin_api/controllers/chat_controller.ex new file mode 100644 index 000000000..bcce824d2 --- /dev/null +++ b/lib/pleroma/web/admin_api/controllers/chat_controller.ex @@ -0,0 +1,37 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.ChatController do + use Pleroma.Web, :controller + + alias Pleroma.Activity + alias Pleroma.ModerationLog + alias Pleroma.Plugs.OAuthScopesPlug + alias Pleroma.Web.CommonAPI + + require Logger + + plug(Pleroma.Web.ApiSpec.CastAndValidate) + + plug( + OAuthScopesPlug, + %{scopes: ["write:chats"], admin: true} when action in [:delete_message] + ) + + action_fallback(Pleroma.Web.AdminAPI.FallbackController) + + defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.ChatOperation + + def delete_message(%{assigns: %{user: user}} = conn, %{message_id: id}) do + with {:ok, %Activity{}} <- CommonAPI.delete(id, user) do + ModerationLog.insert_log(%{ + action: "chat_message_delete", + actor: user, + subject_id: id + }) + + json(conn, %{}) + end + end +end diff --git a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex new file mode 100644 index 000000000..7045fd7ce --- /dev/null +++ b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex @@ -0,0 +1,44 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.Admin.ChatOperation do + alias OpenApiSpex.Operation + alias Pleroma.Web.ApiSpec.Schemas.ApiError + alias Pleroma.Web.ApiSpec.Schemas.FlakeID + + import Pleroma.Web.ApiSpec.Helpers + + def open_api_operation(action) do + operation = String.to_existing_atom("#{action}_operation") + apply(__MODULE__, operation, []) + end + + def delete_message_operation do + %Operation{ + tags: ["Admin", "Chats"], + summary: "Delete an individual chat message", + operationId: "AdminAPI.ChatController.delete", + parameters: [id_param(), message_id_param()] ++ admin_api_params(), + security: [%{"oAuth" => ["write:chats"]}], + responses: %{ + 200 => empty_object_response(), + 404 => Operation.response("Not Found", "application/json", ApiError) + } + } + end + + def id_param do + Operation.parameter(:id, :path, FlakeID, "Chat ID", + example: "9umDrYheeY451cQnEe", + required: true + ) + end + + def message_id_param do + Operation.parameter(:message_id, :path, FlakeID, "Chat message ID", + example: "9umDrYheeY451cQnEe", + required: true + ) + end +end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index c6433cc53..e438768ed 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -214,6 +214,8 @@ defmodule Pleroma.Web.Router do get("/media_proxy_caches", MediaProxyCacheController, :index) post("/media_proxy_caches/delete", MediaProxyCacheController, :delete) post("/media_proxy_caches/purge", MediaProxyCacheController, :purge) + + delete("/chats/:id/messages/:message_id", ChatController, :delete_message) end scope "/api/pleroma/emoji", Pleroma.Web.PleromaAPI do diff --git a/test/support/factory.ex b/test/support/factory.ex index 486eda8da..61ca4587c 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -460,4 +460,58 @@ def filter_factory do phrase: "cofe" } end + + def chat_factory(attrs \\ %{}) do + user = attrs[:user] || insert(:user) + recipient = attrs[:recipient] || insert(:user) + + %Pleroma.Chat{ + user_id: user.id, + recipient: recipient.ap_id + } + end + + def chat_message_factory(attrs \\ %{}) do + text = sequence(:text, &"This is :moominmamma: chat message #{&1}") + chat = attrs[:chat] || insert(:chat) + + data = %{ + "type" => "ChatMessage", + "content" => text, + "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(), + "actor" => User.get_by_id(chat.user_id).ap_id, + "to" => [chat.recipient], + "published" => DateTime.utc_now() |> DateTime.to_iso8601() + } + + %Pleroma.Object{ + data: merge_attributes(data, Map.get(attrs, :data, %{})) + } + end + + def chat_message_activity_factory(attrs \\ %{}) do + chat = attrs[:chat] || insert(:chat) + chat_message = attrs[:chat_message] || insert(:chat_message, chat: chat) + + data_attrs = attrs[:data_attrs] || %{} + attrs = Map.drop(attrs, [:chat, :chat_message, :data_attrs]) + + data = + %{ + "id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(), + "type" => "Create", + "actor" => chat_message.data["actor"], + "to" => chat_message.data["to"], + "object" => chat_message.data["id"], + "published" => DateTime.utc_now() |> DateTime.to_iso8601() + } + |> Map.merge(data_attrs) + + %Pleroma.Activity{ + data: data, + actor: data["actor"], + recipients: data["to"] + } + |> Map.merge(attrs) + end end diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs new file mode 100644 index 000000000..4527437af --- /dev/null +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -0,0 +1,53 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.ChatControllerTest do + use Pleroma.Web.ConnCase + + import Pleroma.Factory + + alias Pleroma.Activity + alias Pleroma.Config + alias Pleroma.ModerationLog + alias Pleroma.Repo + + setup do + admin = insert(:user, is_admin: true) + token = insert(:oauth_admin_token, user: admin) + + conn = + build_conn() + |> assign(:user, admin) + |> assign(:token, token) + + {:ok, %{admin: admin, token: token, conn: conn}} + end + + describe "DELETE /api/pleroma/admin/chats/:id/messages/:message_id" do + setup do + chat = insert(:chat) + message = insert(:chat_message_activity, chat: chat) + %{chat: chat, message: message} + end + + test "deletes chat message", %{conn: conn, chat: chat, message: message, admin: admin} do + conn + |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{message.id}") + |> json_response_and_validate_schema(:ok) + + refute Activity.get_by_id(message.id) + + log_entry = Repo.one(ModerationLog) + + assert ModerationLog.get_log_entry_message(log_entry) == + "@#{admin.nickname} deleted chat message ##{message.id}" + end + + test "returns 404 when the chat message does not exist", %{conn: conn} do + conn = delete(conn, "/api/pleroma/admin/chats/test/messages/test") + + assert json_response_and_validate_schema(conn, :not_found) == %{"error" => "Not found"} + end + end +end From fb0de073439b5e3be823e736b44608e80f1027f1 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 31 Aug 2020 20:23:33 -0500 Subject: [PATCH 112/201] AdminAPI: list chats for a user --- .../controllers/admin_api_controller.ex | 27 +++++++++++++++++++ lib/pleroma/web/router.ex | 3 +++ .../controllers/admin_api_controller_test.exs | 18 +++++++++++++ 3 files changed, 48 insertions(+) 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 f5e4d49f9..9b66c2f10 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do use Pleroma.Web, :controller + import Ecto.Query import Pleroma.Web.ControllerHelper, only: [json_response: 3] alias Pleroma.Config @@ -21,6 +22,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do alias Pleroma.Web.AdminAPI.ModerationLogView alias Pleroma.Web.AdminAPI.Search alias Pleroma.Web.Endpoint + alias Pleroma.Web.PleromaAPI alias Pleroma.Web.Router require Logger @@ -68,6 +70,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do when action in [:list_user_statuses, :list_instance_statuses] ) + plug( + OAuthScopesPlug, + %{scopes: ["read:chats"], admin: true} + when action in [:list_user_chats] + ) + plug( OAuthScopesPlug, %{scopes: ["read"], admin: true} @@ -256,6 +264,25 @@ def list_user_statuses(%{assigns: %{user: admin}} = conn, %{"nickname" => nickna end end + def list_user_chats(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname} = _params) do + with %User{id: user_id} <- User.get_cached_by_nickname_or_id(nickname, for: admin) do + chats = + from(c in Pleroma.Chat, + where: c.user_id == ^user_id, + order_by: [desc: c.updated_at], + inner_join: u in User, + on: u.ap_id == c.recipient + ) + |> Pleroma.Repo.all() + + conn + |> put_view(PleromaAPI.ChatView) + |> render("index.json", chats: chats) + else + _ -> {:error, :not_found} + end + end + def user_toggle_activation(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do user = User.get_cached_by_nickname(nickname) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index e438768ed..ad3282df4 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -178,6 +178,7 @@ defmodule Pleroma.Web.Router do get("/users", AdminAPIController, :list_users) get("/users/:nickname", AdminAPIController, :user_show) get("/users/:nickname/statuses", AdminAPIController, :list_user_statuses) + get("/users/:nickname/chats", AdminAPIController, :list_user_chats) get("/instances/:instance/statuses", AdminAPIController, :list_instance_statuses) @@ -215,6 +216,8 @@ defmodule Pleroma.Web.Router do post("/media_proxy_caches/delete", MediaProxyCacheController, :delete) post("/media_proxy_caches/purge", MediaProxyCacheController, :purge) + # get("/chats/:id", ChatController, :show) + # get("/chats/:id/messages", ChatController, :messages) delete("/chats/:id/messages/:message_id", ChatController, :delete_message) end 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 dbf478edf..cf5637246 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1510,6 +1510,24 @@ test "excludes reblogs by default", %{conn: conn, user: user} do end end + describe "GET /api/pleroma/admin/users/:nickname/chats" do + setup do + user = insert(:user) + + insert(:chat, user: user) + insert(:chat, user: user) + insert(:chat, user: user) + + %{user: user} + end + + test "renders user's statuses", %{conn: conn, user: user} do + conn = get(conn, "/api/pleroma/admin/users/#{user.nickname}/chats") + + assert json_response(conn, 200) |> length() == 3 + end + end + describe "GET /api/pleroma/admin/moderation_log" do setup do moderator = insert(:user, is_moderator: true) From c41430b23eaf3fd15b227e66215aa2a4ff31dfdb Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 19:05:24 -0500 Subject: [PATCH 113/201] Refactor with Chat.for_user_query/1 --- lib/pleroma/chat.ex | 12 ++++++++++++ .../admin_api/controllers/admin_api_controller.ex | 8 +------- .../web/pleroma_api/controllers/chat_controller.ex | 9 ++------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/lib/pleroma/chat.ex b/lib/pleroma/chat.ex index 24a86371e..b38c5c3dd 100644 --- a/lib/pleroma/chat.ex +++ b/lib/pleroma/chat.ex @@ -6,7 +6,9 @@ defmodule Pleroma.Chat do use Ecto.Schema import Ecto.Changeset + import Ecto.Query + alias Pleroma.Chat alias Pleroma.Repo alias Pleroma.User @@ -69,4 +71,14 @@ def bump_or_create(user_id, recipient) do conflict_target: [:user_id, :recipient] ) end + + @spec for_user_query(FlakeId.Ecto.CompatType.t()) :: Ecto.Query.t() + def for_user_query(user_id) do + from(c in Chat, + where: c.user_id == ^user_id, + order_by: [desc: c.updated_at], + inner_join: u in User, + on: u.ap_id == c.recipient + ) + end end 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 9b66c2f10..fccdbabb4 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -5,7 +5,6 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do use Pleroma.Web, :controller - import Ecto.Query import Pleroma.Web.ControllerHelper, only: [json_response: 3] alias Pleroma.Config @@ -267,12 +266,7 @@ def list_user_statuses(%{assigns: %{user: admin}} = conn, %{"nickname" => nickna def list_user_chats(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname} = _params) do with %User{id: user_id} <- User.get_cached_by_nickname_or_id(nickname, for: admin) do chats = - from(c in Pleroma.Chat, - where: c.user_id == ^user_id, - order_by: [desc: c.updated_at], - inner_join: u in User, - on: u.ap_id == c.recipient - ) + Pleroma.Chat.for_user_query(user_id) |> Pleroma.Repo.all() conn diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex index 1f2e953f7..27c9a2e0f 100644 --- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex @@ -146,13 +146,8 @@ def index(%{assigns: %{user: %{id: user_id} = user}} = conn, _params) do blocked_ap_ids = User.blocked_users_ap_ids(user) chats = - from(c in Chat, - where: c.user_id == ^user_id, - where: c.recipient not in ^blocked_ap_ids, - order_by: [desc: c.updated_at], - inner_join: u in User, - on: u.ap_id == c.recipient - ) + Chat.for_user_query(user_id) + |> where([c], c.recipient not in ^blocked_ap_ids) |> Repo.all() conn From f13b52a703d5c60cf12b2fff69f458e5c467c783 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 19:39:34 -0500 Subject: [PATCH 114/201] AdminAPI: list messages in a chat --- .../admin_api/controllers/chat_controller.ex | 27 ++++++++++ .../operations/admin/chat_operation.ex | 26 ++++++++- lib/pleroma/web/router.ex | 2 +- .../controllers/chat_controller_test.exs | 54 +++++++++++++++++++ 4 files changed, 107 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/admin_api/controllers/chat_controller.ex b/lib/pleroma/web/admin_api/controllers/chat_controller.ex index bcce824d2..b423188d7 100644 --- a/lib/pleroma/web/admin_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/chat_controller.ex @@ -6,14 +6,23 @@ defmodule Pleroma.Web.AdminAPI.ChatController do use Pleroma.Web, :controller alias Pleroma.Activity + alias Pleroma.Chat + alias Pleroma.Chat.MessageReference alias Pleroma.ModerationLog + alias Pleroma.Pagination alias Pleroma.Plugs.OAuthScopesPlug alias Pleroma.Web.CommonAPI + alias Pleroma.Web.PleromaAPI.Chat.MessageReferenceView require Logger plug(Pleroma.Web.ApiSpec.CastAndValidate) + plug( + OAuthScopesPlug, + %{scopes: ["read:chats"], admin: true} when action in [:messages] + ) + plug( OAuthScopesPlug, %{scopes: ["write:chats"], admin: true} when action in [:delete_message] @@ -34,4 +43,22 @@ def delete_message(%{assigns: %{user: user}} = conn, %{message_id: id}) do json(conn, %{}) end end + + def messages(conn, %{id: id} = params) do + with %Chat{} = chat <- Chat.get_by_id(id) do + cm_refs = + chat + |> MessageReference.for_chat_query() + |> Pagination.fetch_paginated(params) + + conn + |> put_view(MessageReferenceView) + |> render("index.json", chat_message_references: cm_refs) + else + _ -> + conn + |> put_status(:not_found) + |> json(%{error: "not found"}) + end + end end diff --git a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex index 7045fd7ce..a382bd35a 100644 --- a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex @@ -16,7 +16,7 @@ def open_api_operation(action) do def delete_message_operation do %Operation{ - tags: ["Admin", "Chats"], + tags: ["admin", "chat"], summary: "Delete an individual chat message", operationId: "AdminAPI.ChatController.delete", parameters: [id_param(), message_id_param()] ++ admin_api_params(), @@ -28,6 +28,30 @@ def delete_message_operation do } end + def messages_operation do + %Operation{ + tags: ["admin", "chat"], + summary: "Get the most recent messages of the chat", + operationId: "AdminAPI.ChatController.messages", + parameters: + [Operation.parameter(:id, :path, :string, "The ID of the Chat")] ++ + pagination_params(), + responses: %{ + 200 => + Operation.response( + "The messages in the chat", + "application/json", + Pleroma.Web.ApiSpec.ChatOperation.chat_messages_response() + ) + }, + security: [ + %{ + "oAuth" => ["read:chats"] + } + ] + } + end + def id_param do Operation.parameter(:id, :path, FlakeID, "Chat ID", example: "9umDrYheeY451cQnEe", diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index ad3282df4..02836114a 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -217,7 +217,7 @@ defmodule Pleroma.Web.Router do post("/media_proxy_caches/purge", MediaProxyCacheController, :purge) # get("/chats/:id", ChatController, :show) - # get("/chats/:id/messages", ChatController, :messages) + get("/chats/:id/messages", ChatController, :messages) delete("/chats/:id/messages/:message_id", ChatController, :delete_message) end diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index 4527437af..f61e2a1fa 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -8,9 +8,11 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do import Pleroma.Factory alias Pleroma.Activity + alias Pleroma.Chat alias Pleroma.Config alias Pleroma.ModerationLog alias Pleroma.Repo + alias Pleroma.Web.CommonAPI setup do admin = insert(:user, is_admin: true) @@ -50,4 +52,56 @@ test "returns 404 when the chat message does not exist", %{conn: conn} do assert json_response_and_validate_schema(conn, :not_found) == %{"error" => "Not found"} end end + + describe "GET /api/pleroma/admin/chats/:id/messages" do + test "it paginates", %{conn: conn} do + user = insert(:user) + recipient = insert(:user) + + Enum.each(1..30, fn _ -> + {:ok, _} = CommonAPI.post_chat_message(user, recipient, "hey") + end) + + chat = Chat.get(user.id, recipient.ap_id) + + result = + conn + |> get("/api/pleroma/admin/chats/#{chat.id}/messages") + |> json_response_and_validate_schema(200) + + assert length(result) == 20 + + result = + conn + |> get("/api/pleroma/admin/chats/#{chat.id}/messages?max_id=#{List.last(result)["id"]}") + |> json_response_and_validate_schema(200) + + assert length(result) == 10 + end + + test "it returns the messages for a given chat", %{conn: conn} do + user = insert(:user) + other_user = insert(:user) + third_user = insert(:user) + + {:ok, _} = CommonAPI.post_chat_message(user, other_user, "hey") + {:ok, _} = CommonAPI.post_chat_message(user, third_user, "hey") + {:ok, _} = CommonAPI.post_chat_message(user, other_user, "how are you?") + {:ok, _} = CommonAPI.post_chat_message(other_user, user, "fine, how about you?") + + chat = Chat.get(user.id, other_user.ap_id) + + result = + conn + |> get("/api/pleroma/admin/chats/#{chat.id}/messages") + |> json_response_and_validate_schema(200) + + result + |> Enum.each(fn message -> + assert message["chat_id"] == chat.id |> to_string() + end) + + assert length(result) == 3 + end + end end From 9dd0b23da424c380a37897d8bf69ab241efa6f91 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 19:49:46 -0500 Subject: [PATCH 115/201] AdminAPI: show chat --- .../admin_api/controllers/chat_controller.ex | 11 ++++++- .../operations/admin/chat_operation.ex | 32 +++++++++++++++++++ lib/pleroma/web/router.ex | 2 +- .../controllers/chat_controller_test.exs | 16 ++++++++++ 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/admin_api/controllers/chat_controller.ex b/lib/pleroma/web/admin_api/controllers/chat_controller.ex index b423188d7..ac362c430 100644 --- a/lib/pleroma/web/admin_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/chat_controller.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.AdminAPI.ChatController do alias Pleroma.Plugs.OAuthScopesPlug alias Pleroma.Web.CommonAPI alias Pleroma.Web.PleromaAPI.Chat.MessageReferenceView + alias Pleroma.Web.PleromaAPI.ChatView require Logger @@ -20,7 +21,7 @@ defmodule Pleroma.Web.AdminAPI.ChatController do plug( OAuthScopesPlug, - %{scopes: ["read:chats"], admin: true} when action in [:messages] + %{scopes: ["read:chats"], admin: true} when action in [:show, :messages] ) plug( @@ -61,4 +62,12 @@ def messages(conn, %{id: id} = params) do |> json(%{error: "not found"}) end end + + def show(conn, %{id: id}) do + with %Chat{} = chat <- Chat.get_by_id(id) do + conn + |> put_view(ChatView) + |> render("show.json", chat: chat) + end + end end diff --git a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex index a382bd35a..3550d531e 100644 --- a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.ChatOperation do alias OpenApiSpex.Operation alias Pleroma.Web.ApiSpec.Schemas.ApiError + alias Pleroma.Web.ApiSpec.Schemas.Chat alias Pleroma.Web.ApiSpec.Schemas.FlakeID import Pleroma.Web.ApiSpec.Helpers @@ -52,6 +53,37 @@ def messages_operation do } end + def show_operation do + %Operation{ + tags: ["chat"], + summary: "Create a chat", + operationId: "AdminAPI.ChatController.show", + parameters: [ + Operation.parameter( + :id, + :path, + :string, + "The id of the chat", + required: true, + example: "1234" + ) + ], + responses: %{ + 200 => + Operation.response( + "The existing chat", + "application/json", + Chat + ) + }, + security: [ + %{ + "oAuth" => ["read"] + } + ] + } + end + def id_param do Operation.parameter(:id, :path, FlakeID, "Chat ID", example: "9umDrYheeY451cQnEe", diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 02836114a..e4440d442 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -216,7 +216,7 @@ defmodule Pleroma.Web.Router do post("/media_proxy_caches/delete", MediaProxyCacheController, :delete) post("/media_proxy_caches/purge", MediaProxyCacheController, :purge) - # get("/chats/:id", ChatController, :show) + get("/chats/:id", ChatController, :show) get("/chats/:id/messages", ChatController, :messages) delete("/chats/:id/messages/:message_id", ChatController, :delete_message) end diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index f61e2a1fa..63c195b99 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -104,4 +104,20 @@ test "it returns the messages for a given chat", %{conn: conn} do assert length(result) == 3 end end + + describe "GET /api/pleroma/admin/chats/:id" do + test "it returns a chat", %{conn: conn} do + user = insert(:user) + other_user = insert(:user) + + {:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id) + + result = + conn + |> get("/api/pleroma/admin/chats/#{chat.id}") + |> json_response_and_validate_schema(200) + + assert result["id"] == to_string(chat.id) + end + end end From 02d70228b566d5de2cbdd6d1f9958caf2db173f1 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 20:40:36 -0500 Subject: [PATCH 116/201] AdminAPI: fix delete chat message --- .../admin_api/controllers/chat_controller.ex | 20 ++++++++-- .../operations/admin/chat_operation.ex | 40 +++++++++---------- .../controllers/chat_controller_test.exs | 39 ++++++++++-------- 3 files changed, 56 insertions(+), 43 deletions(-) diff --git a/lib/pleroma/web/admin_api/controllers/chat_controller.ex b/lib/pleroma/web/admin_api/controllers/chat_controller.ex index ac362c430..61d45b970 100644 --- a/lib/pleroma/web/admin_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/chat_controller.ex @@ -33,15 +33,27 @@ defmodule Pleroma.Web.AdminAPI.ChatController do defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.ChatOperation - def delete_message(%{assigns: %{user: user}} = conn, %{message_id: id}) do - with {:ok, %Activity{}} <- CommonAPI.delete(id, user) do + def delete_message(%{assigns: %{user: user}} = conn, %{ + message_id: message_id, + id: chat_id + }) do + with %MessageReference{object: %{data: %{"id" => object_ap_id}}} = cm_ref <- + MessageReference.get_by_id(message_id), + ^chat_id <- to_string(cm_ref.chat_id), + %Activity{id: activity_id} <- Activity.get_create_by_object_ap_id(object_ap_id), + {:ok, _} <- CommonAPI.delete(activity_id, user) do ModerationLog.insert_log(%{ action: "chat_message_delete", actor: user, - subject_id: id + subject_id: message_id }) - json(conn, %{}) + conn + |> put_view(MessageReferenceView) + |> render("show.json", chat_message_reference: cm_ref) + else + _e -> + {:error, :could_not_delete} end end diff --git a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex index 3550d531e..d3e5dfc1c 100644 --- a/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/chat_operation.ex @@ -4,9 +4,8 @@ defmodule Pleroma.Web.ApiSpec.Admin.ChatOperation do alias OpenApiSpex.Operation - alias Pleroma.Web.ApiSpec.Schemas.ApiError alias Pleroma.Web.ApiSpec.Schemas.Chat - alias Pleroma.Web.ApiSpec.Schemas.FlakeID + alias Pleroma.Web.ApiSpec.Schemas.ChatMessage import Pleroma.Web.ApiSpec.Helpers @@ -19,13 +18,24 @@ def delete_message_operation do %Operation{ tags: ["admin", "chat"], summary: "Delete an individual chat message", - operationId: "AdminAPI.ChatController.delete", - parameters: [id_param(), message_id_param()] ++ admin_api_params(), - security: [%{"oAuth" => ["write:chats"]}], + operationId: "AdminAPI.ChatController.delete_message", + parameters: [ + Operation.parameter(:id, :path, :string, "The ID of the Chat"), + Operation.parameter(:message_id, :path, :string, "The ID of the message") + ], responses: %{ - 200 => empty_object_response(), - 404 => Operation.response("Not Found", "application/json", ApiError) - } + 200 => + Operation.response( + "The deleted ChatMessage", + "application/json", + ChatMessage + ) + }, + security: [ + %{ + "oAuth" => ["write:chats"] + } + ] } end @@ -83,18 +93,4 @@ def show_operation do ] } end - - def id_param do - Operation.parameter(:id, :path, FlakeID, "Chat ID", - example: "9umDrYheeY451cQnEe", - required: true - ) - end - - def message_id_param do - Operation.parameter(:message_id, :path, FlakeID, "Chat message ID", - example: "9umDrYheeY451cQnEe", - required: true - ) - end end diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index 63c195b99..9393dd49b 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -7,9 +7,10 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do import Pleroma.Factory - alias Pleroma.Activity alias Pleroma.Chat + alias Pleroma.Chat.MessageReference alias Pleroma.Config + alias Pleroma.Object alias Pleroma.ModerationLog alias Pleroma.Repo alias Pleroma.Web.CommonAPI @@ -27,29 +28,33 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do end describe "DELETE /api/pleroma/admin/chats/:id/messages/:message_id" do - setup do - chat = insert(:chat) - message = insert(:chat_message_activity, chat: chat) - %{chat: chat, message: message} - end + test "it deletes a message from the chat", %{conn: conn, admin: admin} do + user = insert(:user) + recipient = insert(:user) - test "deletes chat message", %{conn: conn, chat: chat, message: message, admin: admin} do - conn - |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{message.id}") - |> json_response_and_validate_schema(:ok) + {:ok, message} = + CommonAPI.post_chat_message(user, recipient, "Hello darkness my old friend") - refute Activity.get_by_id(message.id) + object = Object.normalize(message, false) + + chat = Chat.get(user.id, recipient.ap_id) + + cm_ref = MessageReference.for_chat_and_object(chat, object) + + result = + conn + |> put_req_header("content-type", "application/json") + |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{cm_ref.id}") + |> json_response_and_validate_schema(200) log_entry = Repo.one(ModerationLog) assert ModerationLog.get_log_entry_message(log_entry) == - "@#{admin.nickname} deleted chat message ##{message.id}" - end + "@#{admin.nickname} deleted chat message ##{cm_ref.id}" - test "returns 404 when the chat message does not exist", %{conn: conn} do - conn = delete(conn, "/api/pleroma/admin/chats/test/messages/test") - - assert json_response_and_validate_schema(conn, :not_found) == %{"error" => "Not found"} + assert result["id"] == cm_ref.id + refute MessageReference.get_by_id(cm_ref.id) + assert %{data: %{"type" => "Tombstone"}} = Object.get_by_id(object.id) end end From c361df11b4e31bc6b369a4feebdbaa82987c2eec Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 20:56:42 -0500 Subject: [PATCH 117/201] Docs: AdminAPI chat moderation --- docs/API/admin_api.md | 111 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index c0ea074f0..7bdbd17aa 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1334,3 +1334,114 @@ Loads json generated from `config/descriptions.exs`. { } ``` + +## GET /api/pleroma/admin/users/:nickname/chats + +### List a user's chats + +- Params: None + +- Response: + +```json +[ + { + "account": { + "id": "someflakeid", + "username": "somenick", + ... + }, + "id" : "1", + "unread" : 2, + "last_message" : {...}, // The last message in that chat + "updated_at": "2020-04-21T15:11:46.000Z" + } +] +``` + +## GET /api/pleroma/admin/chats/:chat_id + +### View a single chat + +- Params: None + +- Response: + +```json +{ + "account": { + "id": "someflakeid", + "username": "somenick", + ... + }, + "id" : "1", + "unread" : 2, + "last_message" : {...}, // The last message in that chat + "updated_at": "2020-04-21T15:11:46.000Z" +} +``` + +## GET /api/pleroma/admin/chats/:chat_id/messages + +### List the messages in a chat + +- Params: None + +- Response: + +```json +[ + { + "account_id": "someflakeid", + "chat_id": "1", + "content": "Check this out :firefox:", + "created_at": "2020-04-21T15:11:46.000Z", + "emojis": [ + { + "shortcode": "firefox", + "static_url": "https://dontbulling.me/emoji/Firefox.gif", + "url": "https://dontbulling.me/emoji/Firefox.gif", + "visible_in_picker": false + } + ], + "id": "13", + "unread": true + }, + { + "account_id": "someflakeid", + "chat_id": "1", + "content": "Whats' up?", + "created_at": "2020-04-21T15:06:45.000Z", + "emojis": [], + "id": "12", + "unread": false + } +] +``` + +## DELETE /api/pleroma/admin/chats/:chat_id/messages/:message_id + +### Delete a single message + +- Params: None + +- Response: + +```json +{ + "account_id": "someflakeid", + "chat_id": "1", + "content": "Check this out :firefox:", + "created_at": "2020-04-21T15:11:46.000Z", + "emojis": [ + { + "shortcode": "firefox", + "static_url": "https://dontbulling.me/emoji/Firefox.gif", + "url": "https://dontbulling.me/emoji/Firefox.gif", + "visible_in_picker": false + } + ], + "id": "13", + "unread": false +} +``` From 67726453f85eb5bb51bf82e7decf23a4f1d184af Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 1 Sep 2020 21:12:21 -0500 Subject: [PATCH 118/201] Credo fix --- test/web/admin_api/controllers/chat_controller_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index 9393dd49b..bca9d440d 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -10,8 +10,8 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do alias Pleroma.Chat alias Pleroma.Chat.MessageReference alias Pleroma.Config - alias Pleroma.Object alias Pleroma.ModerationLog + alias Pleroma.Object alias Pleroma.Repo alias Pleroma.Web.CommonAPI From e229536e5cca65d811f85d25c86bf3c92b3d8c45 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 10 Sep 2020 01:44:32 -0500 Subject: [PATCH 119/201] Chat Moderation: use explicit `sender` and `recipient` fields --- docs/API/admin_api.md | 14 +++++++-- .../controllers/admin_api_controller.ex | 5 +--- .../admin_api/controllers/chat_controller.ex | 4 +-- lib/pleroma/web/admin_api/views/chat_view.ex | 30 +++++++++++++++++++ .../controllers/chat_controller_test.exs | 3 ++ 5 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 lib/pleroma/web/admin_api/views/chat_view.ex diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index 7bdbd17aa..eadb455ee 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1346,7 +1346,12 @@ Loads json generated from `config/descriptions.exs`. ```json [ { - "account": { + "sender": { + "id": "someflakeid", + "username": "somenick", + ... + }, + "receiver": { "id": "someflakeid", "username": "somenick", ... @@ -1369,7 +1374,12 @@ Loads json generated from `config/descriptions.exs`. ```json { - "account": { + "sender": { + "id": "someflakeid", + "username": "somenick", + ... + }, + "receiver": { "id": "someflakeid", "username": "somenick", ... 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 fccdbabb4..d5713c3dd 100644 --- a/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/admin_api_controller.ex @@ -21,11 +21,8 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do alias Pleroma.Web.AdminAPI.ModerationLogView alias Pleroma.Web.AdminAPI.Search alias Pleroma.Web.Endpoint - alias Pleroma.Web.PleromaAPI alias Pleroma.Web.Router - require Logger - @users_page_size 50 plug( @@ -270,7 +267,7 @@ def list_user_chats(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname} |> Pleroma.Repo.all() conn - |> put_view(PleromaAPI.ChatView) + |> put_view(AdminAPI.ChatView) |> render("index.json", chats: chats) else _ -> {:error, :not_found} diff --git a/lib/pleroma/web/admin_api/controllers/chat_controller.ex b/lib/pleroma/web/admin_api/controllers/chat_controller.ex index 61d45b970..967600d69 100644 --- a/lib/pleroma/web/admin_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/chat_controller.ex @@ -11,9 +11,9 @@ defmodule Pleroma.Web.AdminAPI.ChatController do alias Pleroma.ModerationLog alias Pleroma.Pagination alias Pleroma.Plugs.OAuthScopesPlug + alias Pleroma.Web.AdminAPI alias Pleroma.Web.CommonAPI alias Pleroma.Web.PleromaAPI.Chat.MessageReferenceView - alias Pleroma.Web.PleromaAPI.ChatView require Logger @@ -78,7 +78,7 @@ def messages(conn, %{id: id} = params) do def show(conn, %{id: id}) do with %Chat{} = chat <- Chat.get_by_id(id) do conn - |> put_view(ChatView) + |> put_view(AdminAPI.ChatView) |> render("show.json", chat: chat) end end diff --git a/lib/pleroma/web/admin_api/views/chat_view.ex b/lib/pleroma/web/admin_api/views/chat_view.ex new file mode 100644 index 000000000..847df1423 --- /dev/null +++ b/lib/pleroma/web/admin_api/views/chat_view.ex @@ -0,0 +1,30 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.ChatView do + use Pleroma.Web, :view + + alias Pleroma.Chat + alias Pleroma.User + alias Pleroma.Web.MastodonAPI + alias Pleroma.Web.PleromaAPI + + def render("index.json", %{chats: chats} = opts) do + render_many(chats, __MODULE__, "show.json", Map.delete(opts, :chats)) + end + + def render("show.json", %{chat: %Chat{user_id: user_id}} = opts) do + user = User.get_by_id(user_id) + sender = MastodonAPI.AccountView.render("show.json", user: user, skip_visibility_check: true) + + serialized_chat = PleromaAPI.ChatView.render("show.json", opts) + + serialized_chat + |> Map.put(:sender, sender) + |> Map.put(:receiver, serialized_chat[:account]) + |> Map.delete(:account) + end + + def render(view, opts), do: PleromaAPI.ChatView.render(view, opts) +end diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index bca9d440d..840f18aa2 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -123,6 +123,9 @@ test "it returns a chat", %{conn: conn} do |> json_response_and_validate_schema(200) assert result["id"] == to_string(chat.id) + assert %{} = result["sender"] + assert %{} = result["receiver"] + refute result["account"] end end end From dfb831ca39db3098d6d585448a6ff8e938e51e8c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Fri, 11 Sep 2020 14:00:34 -0500 Subject: [PATCH 120/201] Chat moderation: add tests for unauthorized access --- docs/API/admin_api.md | 2 +- .../controllers/admin_api_controller_test.exs | 29 +++++++ .../controllers/chat_controller_test.exs | 80 ++++++++++++++++++- 3 files changed, 109 insertions(+), 2 deletions(-) diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index eadb455ee..bc96abbf0 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1395,7 +1395,7 @@ Loads json generated from `config/descriptions.exs`. ### List the messages in a chat -- Params: None +- Params: `max_id`, `min_id` - Response: 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 cf5637246..dbeeb7f3d 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1528,6 +1528,35 @@ test "renders user's statuses", %{conn: conn, user: user} do end end + describe "GET /api/pleroma/admin/users/:nickname/chats unauthorized" do + setup do + user = insert(:user) + insert(:chat, user: user) + %{conn: conn} = oauth_access(["read:chats"]) + %{conn: conn, user: user} + end + + test "returns 403", %{conn: conn, user: user} do + conn + |> get("/api/pleroma/admin/users/#{user.nickname}/chats") + |> json_response(403) + end + end + + describe "GET /api/pleroma/admin/users/:nickname/chats unauthenticated" do + setup do + user = insert(:user) + insert(:chat, user: user) + %{conn: build_conn(), user: user} + end + + test "returns 403", %{conn: conn, user: user} do + conn + |> get("/api/pleroma/admin/users/#{user.nickname}/chats") + |> json_response(403) + end + end + describe "GET /api/pleroma/admin/moderation_log" do setup do moderator = insert(:user, is_moderator: true) diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index 840f18aa2..ccca3521a 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -15,7 +15,7 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do alias Pleroma.Repo alias Pleroma.Web.CommonAPI - setup do + defp admin_setup do admin = insert(:user, is_admin: true) token = insert(:oauth_admin_token, user: admin) @@ -28,6 +28,8 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do end describe "DELETE /api/pleroma/admin/chats/:id/messages/:message_id" do + setup do: admin_setup() + test "it deletes a message from the chat", %{conn: conn, admin: admin} do user = insert(:user) recipient = insert(:user) @@ -59,6 +61,8 @@ test "it deletes a message from the chat", %{conn: conn, admin: admin} do end describe "GET /api/pleroma/admin/chats/:id/messages" do + setup do: admin_setup() + test "it paginates", %{conn: conn} do user = insert(:user) recipient = insert(:user) @@ -111,6 +115,8 @@ test "it returns the messages for a given chat", %{conn: conn} do end describe "GET /api/pleroma/admin/chats/:id" do + setup do: admin_setup() + test "it returns a chat", %{conn: conn} do user = insert(:user) other_user = insert(:user) @@ -128,4 +134,76 @@ test "it returns a chat", %{conn: conn} do refute result["account"] end end + + describe "unauthorized chat moderation" do + setup do + user = insert(:user) + recipient = insert(:user) + + {:ok, message} = CommonAPI.post_chat_message(user, recipient, "Yo") + object = Object.normalize(message, false) + chat = Chat.get(user.id, recipient.ap_id) + cm_ref = MessageReference.for_chat_and_object(chat, object) + + %{conn: conn} = oauth_access(["read:chats", "write:chats"]) + %{conn: conn, chat: chat, cm_ref: cm_ref} + end + + test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{conn: conn, chat: chat, cm_ref: cm_ref} do + conn + |> put_req_header("content-type", "application/json") + |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{cm_ref.id}") + |> json_response(403) + + assert MessageReference.get_by_id(cm_ref.id) == cm_ref + end + + test "GET /api/pleroma/admin/chats/:id/messages", %{conn: conn, chat: chat} do + conn + |> get("/api/pleroma/admin/chats/#{chat.id}/messages") + |> json_response(403) + end + + test "GET /api/pleroma/admin/chats/:id", %{conn: conn, chat: chat} do + conn + |> get("/api/pleroma/admin/chats/#{chat.id}") + |> json_response(403) + end + end + + describe "unauthenticated chat moderation" do + setup do + user = insert(:user) + recipient = insert(:user) + + {:ok, message} = CommonAPI.post_chat_message(user, recipient, "Yo") + object = Object.normalize(message, false) + chat = Chat.get(user.id, recipient.ap_id) + cm_ref = MessageReference.for_chat_and_object(chat, object) + + %{conn: build_conn(), chat: chat, cm_ref: cm_ref} + end + + test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{conn: conn, chat: chat, cm_ref: cm_ref} do + conn + |> put_req_header("content-type", "application/json") + |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{cm_ref.id}") + |> json_response(403) + + assert MessageReference.get_by_id(cm_ref.id) == cm_ref + end + + test "GET /api/pleroma/admin/chats/:id/messages", %{conn: conn, chat: chat} do + conn + |> get("/api/pleroma/admin/chats/#{chat.id}/messages") + |> json_response(403) + end + + test "GET /api/pleroma/admin/chats/:id", %{conn: conn, chat: chat} do + conn + |> get("/api/pleroma/admin/chats/#{chat.id}") + |> json_response(403) + end + end + end From bc86d0a906e58becb94c5a73552f90abbe494c28 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Fri, 11 Sep 2020 14:29:56 -0500 Subject: [PATCH 121/201] Chat moderation: fix formatting --- .../admin_api/controllers/chat_controller_test.exs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index ccca3521a..e81484ce6 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -149,7 +149,11 @@ test "it returns a chat", %{conn: conn} do %{conn: conn, chat: chat, cm_ref: cm_ref} end - test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{conn: conn, chat: chat, cm_ref: cm_ref} do + test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{ + conn: conn, + chat: chat, + cm_ref: cm_ref + } do conn |> put_req_header("content-type", "application/json") |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{cm_ref.id}") @@ -184,7 +188,11 @@ test "GET /api/pleroma/admin/chats/:id", %{conn: conn, chat: chat} do %{conn: build_conn(), chat: chat, cm_ref: cm_ref} end - test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{conn: conn, chat: chat, cm_ref: cm_ref} do + test "DELETE /api/pleroma/admin/chats/:id/messages/:message_id", %{ + conn: conn, + chat: chat, + cm_ref: cm_ref + } do conn |> put_req_header("content-type", "application/json") |> delete("/api/pleroma/admin/chats/#{chat.id}/messages/#{cm_ref.id}") @@ -205,5 +213,4 @@ test "GET /api/pleroma/admin/chats/:id", %{conn: conn, chat: chat} do |> json_response(403) end end - end From 40c847dc2a33bcd4bb6776d500cb73d6fa5ff052 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 11 Sep 2020 17:42:39 -0500 Subject: [PATCH 122/201] Spelling Reported by: trevoke --- docs/configuration/cheatsheet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 7cf1d1ce7..0c5d17ce3 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -18,7 +18,7 @@ To add configuration to your config file, you can copy it from the base config. * `notify_email`: Email used for notifications. * `description`: The instance’s description, can be seen in nodeinfo and ``/api/v1/instance``. * `limit`: Posts character limit (CW/Subject included in the counter). -* `discription_limit`: The character limit for image descriptions. +* `description_limit`: The character limit for image descriptions. * `chat_limit`: Character limit of the instance chat messages. * `remote_limit`: Hard character limit beyond which remote posts will be dropped. * `upload_limit`: File size limit of uploads (except for avatar, background, banner). From 6877bad44cccff807cf8d1426c26ab80a6ea0244 Mon Sep 17 00:00:00 2001 From: tarteka Date: Fri, 11 Sep 2020 18:24:59 +0000 Subject: [PATCH 123/201] Translated using Weblate (Spanish) Currently translated at 20.7% (22 of 106 strings) Translation: Pleroma/Pleroma backend Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma/es/ --- priv/gettext/es/LC_MESSAGES/errors.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index ba75936a9..0a6fceaad 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-09-09 09:49+0000\n" -"PO-Revision-Date: 2020-09-09 10:52+0000\n" +"PO-Revision-Date: 2020-09-11 21:26+0000\n" "Last-Translator: tarteka \n" "Language-Team: Spanish \n" @@ -94,52 +94,52 @@ msgid "must be less than %{number}" msgstr "" msgid "must be greater than %{number}" -msgstr "" +msgstr "debe ser mayor que %{number}" msgid "must be less than or equal to %{number}" -msgstr "" +msgstr "debe ser menor o igual que %{number}" msgid "must be greater than or equal to %{number}" -msgstr "" +msgstr "deber ser mayor o igual que %{number}" msgid "must be equal to %{number}" -msgstr "" +msgstr "deber ser igual a %{number}" #: lib/pleroma/web/common_api/common_api.ex:505 #, elixir-format msgid "Account not found" -msgstr "" +msgstr "Cuenta no encontrada" #: lib/pleroma/web/common_api/common_api.ex:339 #, elixir-format msgid "Already voted" -msgstr "" +msgstr "Ya has votado" #: lib/pleroma/web/oauth/oauth_controller.ex:359 #, elixir-format msgid "Bad request" -msgstr "" +msgstr "Solicitud incorrecta" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:426 #, elixir-format msgid "Can't delete object" -msgstr "" +msgstr "No se puede eliminar el objeto" #: lib/pleroma/web/controller_helper.ex:105 #: lib/pleroma/web/controller_helper.ex:111 #, elixir-format msgid "Can't display this activity" -msgstr "" +msgstr "No se puede mostrar esta actividad" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:285 #, elixir-format msgid "Can't find user" -msgstr "" +msgstr "No se puede encontrar al usuario" #: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61 #, elixir-format msgid "Can't get favorites" -msgstr "" +msgstr "No se puede obtener los favoritos" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:438 #, elixir-format @@ -149,7 +149,7 @@ msgstr "" #: lib/pleroma/web/common_api/utils.ex:563 #, elixir-format msgid "Cannot post an empty status without attachments" -msgstr "" +msgstr "No se puede publicar un estado vacío y sin archivos adjuntos" #: lib/pleroma/web/common_api/utils.ex:511 #, elixir-format From c0b36621f1149734e97f268e267202cc53700abb Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 11 Sep 2020 16:59:45 -0500 Subject: [PATCH 124/201] Ensure we only apply NSFW Simple policy on parsable objects --- lib/pleroma/web/activity_pub/mrf/simple_policy.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex index bb193475a..161177727 100644 --- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex @@ -66,7 +66,8 @@ defp check_media_nsfw( "type" => "Create", "object" => child_object } = object - ) do + ) + when is_map(child_object) do media_nsfw = Config.get([:mrf_simple, :media_nsfw]) |> MRF.subdomains_regex() From 32831f371ff426ac0c6f5d6c1381313f5f92af42 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 12 Sep 2020 10:33:42 +0300 Subject: [PATCH 125/201] [#2497] Media preview proxy: redirecting to media proxy url in case of preview error or unsupported content type. --- .../web/media_proxy/media_proxy_controller.ex | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index ff7fd2409..08d62a51a 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -91,8 +91,8 @@ defp handle_preview("video/" <> _ = _content_type, conn, media_proxy_url) do handle_video_preview(conn, media_proxy_url) end - defp handle_preview(content_type, conn, _media_proxy_url) do - send_resp(conn, :unprocessable_entity, "Unsupported content type: #{content_type}.") + defp handle_preview(_unsupported_content_type, conn, media_proxy_url) do + fallback_on_preview_error(conn, media_proxy_url) end defp handle_png_preview(conn, media_proxy_url) do @@ -114,7 +114,7 @@ defp handle_png_preview(conn, media_proxy_url) do |> send_resp(200, thumbnail_binary) else _ -> - send_resp(conn, :failed_dependency, "Can't handle preview.") + fallback_on_preview_error(conn, media_proxy_url) end end @@ -132,7 +132,7 @@ defp handle_jpeg_preview(conn, media_proxy_url) do |> send_resp(200, thumbnail_binary) else _ -> - send_resp(conn, :failed_dependency, "Can't handle preview.") + fallback_on_preview_error(conn, media_proxy_url) end end @@ -144,10 +144,14 @@ defp handle_video_preview(conn, media_proxy_url) do |> send_resp(200, thumbnail_binary) else _ -> - send_resp(conn, :failed_dependency, "Can't handle preview.") + fallback_on_preview_error(conn, media_proxy_url) end end + defp fallback_on_preview_error(conn, media_proxy_url) do + redirect(conn, external: media_proxy_url) + end + defp put_preview_response_headers( conn, [content_type, filename] = _content_info \\ ["image/jpeg", "preview.jpg"] From cd234a5321b9d33146b90be95d84fa67aa4f7707 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 12 Sep 2020 11:20:41 +0300 Subject: [PATCH 126/201] [#2497] Media preview proxy: preview bypass for small images (basing on Content-Length and Content-Type). --- .../web/media_proxy/media_proxy_controller.ex | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 08d62a51a..78df7763e 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -11,6 +11,8 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do alias Pleroma.Web.MediaProxy alias Plug.Conn + @min_content_length_for_preview 100 * 1024 + def remote(conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.enabled?()}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), @@ -54,8 +56,12 @@ defp handle_preview(conn, url) do with {:ok, %{status: status} = head_response} when status in 200..299 <- Pleroma.HTTP.request("head", media_proxy_url, [], [], pool: :media) do content_type = Tesla.get_header(head_response, "content-type") - handle_preview(content_type, conn, media_proxy_url) + content_length = Tesla.get_header(head_response, "content-length") + content_length = content_length && String.to_integer(content_length) + + handle_preview(content_type, content_length, conn, media_proxy_url) else + # If HEAD failed, redirecting to media proxy URI doesn't make much sense; returning an error {_, %{status: status}} -> send_resp(conn, :failed_dependency, "Can't fetch HTTP headers (HTTP #{status}).") @@ -69,29 +75,36 @@ defp handle_preview(conn, url) do defp handle_preview( "image/" <> _ = _content_type, + _content_length, %{params: %{"output_format" => "jpeg"}} = conn, media_proxy_url ) do handle_jpeg_preview(conn, media_proxy_url) end - defp handle_preview("image/gif" = _content_type, conn, media_proxy_url) do + defp handle_preview("image/gif" = _content_type, _content_length, conn, media_proxy_url) do redirect(conn, external: media_proxy_url) end - defp handle_preview("image/png" <> _ = _content_type, conn, media_proxy_url) do + defp handle_preview("image/" <> _ = _content_type, content_length, conn, media_proxy_url) + when is_integer(content_length) and content_length > 0 and + content_length < @min_content_length_for_preview do + redirect(conn, external: media_proxy_url) + end + + defp handle_preview("image/png" <> _ = _content_type, _content_length, conn, media_proxy_url) do handle_png_preview(conn, media_proxy_url) end - defp handle_preview("image/" <> _ = _content_type, conn, media_proxy_url) do + defp handle_preview("image/" <> _ = _content_type, _content_length, conn, media_proxy_url) do handle_jpeg_preview(conn, media_proxy_url) end - defp handle_preview("video/" <> _ = _content_type, conn, media_proxy_url) do + defp handle_preview("video/" <> _ = _content_type, _content_length, conn, media_proxy_url) do handle_video_preview(conn, media_proxy_url) end - defp handle_preview(_unsupported_content_type, conn, media_proxy_url) do + defp handle_preview(_unsupported_content_type, _content_length, conn, media_proxy_url) do fallback_on_preview_error(conn, media_proxy_url) end From 65f4e37ee1f47ff2f160eb56facef4c783a6828c Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sun, 13 Sep 2020 10:04:50 +0300 Subject: [PATCH 127/201] remove old workers in oban migrations --- .../20200825061316_move_activity_expirations_to_oban.exs | 2 ++ .../20200907092050_move_tokens_expiration_into_oban.exs | 2 ++ 2 files changed, 4 insertions(+) diff --git a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs index cdc00d20b..a703af83f 100644 --- a/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs +++ b/priv/repo/migrations/20200825061316_move_activity_expirations_to_oban.exs @@ -4,6 +4,8 @@ defmodule Pleroma.Repo.Migrations.MoveActivityExpirationsToOban do import Ecto.Query, only: [from: 2] def change do + Pleroma.Config.Oban.warn() + Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}], strategy: :one_for_one, name: Pleroma.Supervisor diff --git a/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs b/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs index 832bd02a7..9e49ddacb 100644 --- a/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs +++ b/priv/repo/migrations/20200907092050_move_tokens_expiration_into_oban.exs @@ -4,6 +4,8 @@ defmodule Pleroma.Repo.Migrations.MoveTokensExpirationIntoOban do import Ecto.Query, only: [from: 2] def change do + Pleroma.Config.Oban.warn() + Supervisor.start_link([{Oban, Pleroma.Config.get(Oban)}], strategy: :one_for_one, name: Pleroma.Supervisor From 489a107cf449a10c7f6ac9a4b8d4a7f9f7314c5c Mon Sep 17 00:00:00 2001 From: Maksim Date: Sun, 13 Sep 2020 11:54:15 +0000 Subject: [PATCH 128/201] Apply 1 suggestion(s) to 1 file(s) --- lib/pleroma/emoji/pack.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/emoji/pack.ex b/lib/pleroma/emoji/pack.ex index 930bbb422..0b3f8f00b 100644 --- a/lib/pleroma/emoji/pack.ex +++ b/lib/pleroma/emoji/pack.ex @@ -84,7 +84,7 @@ defp unpack_zip_emojies(zip_files) do end) end - @spec add_file(String.t(), String.t(), Path.t(), Plug.Upload.t()) :: + @spec add_file(t(), String.t(), Path.t(), Plug.Upload.t()) :: {:ok, t()} | {:error, File.posix() | atom()} def add_file(%Pack{} = pack, _, _, %Plug.Upload{content_type: "application/zip"} = file) do From 3e53ab4e98e6294f593f2185998f555ccd6fee73 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Mon, 14 Sep 2020 14:08:12 +0300 Subject: [PATCH 129/201] added notification constraints --- .../migration_helper/notification_backfill.ex | 15 +++++----- lib/pleroma/repo.ex | 9 ++++-- ...8_delete_notification_without_activity.exs | 30 +++++++++++++++++++ ...914105800_add_notification_constraints.exs | 23 ++++++++++++++ 4 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 priv/repo/migrations/20200914105638_delete_notification_without_activity.exs create mode 100644 priv/repo/migrations/20200914105800_add_notification_constraints.exs diff --git a/lib/pleroma/migration_helper/notification_backfill.ex b/lib/pleroma/migration_helper/notification_backfill.ex index d260e62ca..24f4733fe 100644 --- a/lib/pleroma/migration_helper/notification_backfill.ex +++ b/lib/pleroma/migration_helper/notification_backfill.ex @@ -19,13 +19,13 @@ def fill_in_notification_types do query |> Repo.chunk_stream(100) |> Enum.each(fn notification -> - type = - notification.activity - |> type_from_activity() + if notification.activity do + type = type_from_activity(notification.activity) - notification - |> Ecto.Changeset.change(%{type: type}) - |> Repo.update() + notification + |> Ecto.Changeset.change(%{type: type}) + |> Repo.update() + end end) end @@ -72,8 +72,7 @@ defp type_from_activity(%{data: %{"type" => type}} = activity) do "pleroma:emoji_reaction" "Create" -> - activity - |> type_from_activity_object() + type_from_activity_object(activity) t -> raise "No notification type for activity type #{t}" diff --git a/lib/pleroma/repo.ex b/lib/pleroma/repo.ex index f317e4d58..a75610879 100644 --- a/lib/pleroma/repo.ex +++ b/lib/pleroma/repo.ex @@ -49,7 +49,7 @@ def get_assoc(resource, association) do end end - def chunk_stream(query, chunk_size) do + def chunk_stream(query, chunk_size, returns_as \\ :one) do # We don't actually need start and end funcitons of resource streaming, # but it seems to be the only way to not fetch records one-by-one and # have individual records be the elements of the stream, instead of @@ -69,7 +69,12 @@ def chunk_stream(query, chunk_size) do records -> last_id = List.last(records).id - {records, last_id} + + if returns_as == :one do + {records, last_id} + else + {[records], last_id} + end end end, fn _ -> :ok end diff --git a/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs b/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs new file mode 100644 index 000000000..f5b339101 --- /dev/null +++ b/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs @@ -0,0 +1,30 @@ +defmodule Pleroma.Repo.Migrations.DeleteNotificationWithoutActivity do + use Ecto.Migration + + import Ecto.Query + alias Pleroma.Repo + + def up do + from( + q in Pleroma.Notification, + left_join: c in assoc(q, :activity), + select: %{id: type(q.id, :integer)}, + where: is_nil(c.id) + ) + |> Repo.chunk_stream(1_000, :bacthes) + |> Stream.each(fn records -> + notification_ids = Enum.map(records, fn %{id: id} -> id end) + + Repo.delete_all( + from(n in "notifications", + where: n.id in ^notification_ids + ) + ) + end) + |> Stream.run() + end + + def down do + :ok + end +end diff --git a/priv/repo/migrations/20200914105800_add_notification_constraints.exs b/priv/repo/migrations/20200914105800_add_notification_constraints.exs new file mode 100644 index 000000000..a65c35fd0 --- /dev/null +++ b/priv/repo/migrations/20200914105800_add_notification_constraints.exs @@ -0,0 +1,23 @@ +defmodule Pleroma.Repo.Migrations.AddNotificationConstraints do + use Ecto.Migration + + def up do + drop(constraint(:notifications, "notifications_activity_id_fkey")) + + alter table(:notifications) do + modify(:activity_id, references(:activities, type: :uuid, on_delete: :delete_all), + null: false + ) + end + end + + def down do + drop(constraint(:notifications, "notifications_activity_id_fkey")) + + alter table(:notifications) do + modify(:activity_id, references(:activities, type: :uuid, on_delete: :delete_all), + null: true + ) + end + end +end From f66a15c4a51e1c8f614b4c1609b2385a29762931 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 14:44:25 +0300 Subject: [PATCH 130/201] RichMedia parser: do not set a cache TTL for unchanging errors --- lib/pleroma/web/rich_media/parser.ex | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index 5727fda18..ab8f35922 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -36,6 +36,14 @@ defp get_cached_or_parse(url) do {:ok, _data} = res -> res + {:error, :body_too_large} = e -> + e + + {:error, {:content_type, _}} -> + e + + # The TTL is not set for the errors above, since they are unlikely to change + # with time {:error, _} = e -> ttl = Pleroma.Config.get([:rich_media, :failure_backoff], 60_000) Cachex.expire(:rich_media_cache, url, ttl) From f70335002df9b2b3f47f0ccaed6aaeebfb14435f Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 14:45:58 +0300 Subject: [PATCH 131/201] RichMedia: Do a HEAD request to check content type/length This shouldn't be too expensive, since the connections are pooled, but it should save us some bandwidth since we won't fetch non-html files and files that are too large for us to process (especially since you can't cancel a request without closing the connection with HTTP1). --- lib/pleroma/web/rich_media/helpers.ex | 46 ++++++++++++++++++++++++++- test/support/http_request_mock.ex | 17 ++++++++++ test/web/rich_media/parser_test.exs | 29 +++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex index bd7f03cbe..d7a19df4a 100644 --- a/lib/pleroma/web/rich_media/helpers.ex +++ b/lib/pleroma/web/rich_media/helpers.ex @@ -87,6 +87,50 @@ def perform(:fetch, %Activity{} = activity) do def rich_media_get(url) do headers = [{"user-agent", Pleroma.Application.user_agent() <> "; Bot"}] - Pleroma.HTTP.get(url, headers, @options) + head_check = + case Pleroma.HTTP.head(url, headers, @options) do + # If the HEAD request didn't reach the server for whatever reason, + # we assume the GET that comes right after won't either + {:error, _} = e -> + e + + {:ok, %Tesla.Env{status: 200, headers: headers}} -> + with :ok <- check_content_type(headers), + :ok <- check_content_length(headers), + do: :ok + + _ -> + :ok + end + + with :ok <- head_check, do: Pleroma.HTTP.get(url, headers, @options) + end + + defp check_content_type(headers) do + case List.keyfind(headers, "content-type", 0) do + {_, content_type} -> + case Plug.Conn.Utils.media_type(content_type) do + {:ok, "text", "html", _} -> :ok + _ -> {:error, {:content_type, content_type}} + end + + _ -> + :ok + end + end + + @max_body @options[:max_body] + defp check_content_length(headers) do + case List.keyfind(headers, "content-length", 0) do + {_, maybe_content_length} -> + case Integer.parse(maybe_content_length) do + {content_length, ""} when content_length <= @max_body -> :ok + {_, ""} -> {:error, :body_too_large} + _ -> :ok + end + + _ -> + :ok + end end end diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex index 344e27f13..cb022333f 100644 --- a/test/support/http_request_mock.ex +++ b/test/support/http_request_mock.ex @@ -1262,4 +1262,21 @@ def post(url, query, body, headers) do inspect(headers) }"} end + + # Most of the rich media mocks are missing HEAD requests, so we just return 404. + @rich_media_mocks [ + "https://example.com/ogp", + "https://example.com/ogp-missing-data", + "https://example.com/twitter-card" + ] + def head(url, _query, _body, _headers) when url in @rich_media_mocks do + {:ok, %Tesla.Env{status: 404, body: ""}} + end + + def head(url, query, body, headers) do + {:error, + "Mock response not implemented for HEAD #{inspect(url)}, #{query}, #{inspect(body)}, #{ + inspect(headers) + }"} + end end diff --git a/test/web/rich_media/parser_test.exs b/test/web/rich_media/parser_test.exs index 21ae35f8b..d65a63121 100644 --- a/test/web/rich_media/parser_test.exs +++ b/test/web/rich_media/parser_test.exs @@ -56,6 +56,27 @@ defmodule Pleroma.Web.RichMedia.ParserTest do %{method: :get, url: "http://example.com/error"} -> {:error, :overload} + + %{ + method: :head, + url: "http://example.com/huge-page" + } -> + %Tesla.Env{ + status: 200, + headers: [{"content-length", "2000001"}, {"content-type", "text/html"}] + } + + %{ + method: :head, + url: "http://example.com/pdf-file" + } -> + %Tesla.Env{ + status: 200, + headers: [{"content-length", "1000000"}, {"content-type", "application/pdf"}] + } + + %{method: :head} -> + %Tesla.Env{status: 404, body: "", headers: []} end) :ok @@ -144,4 +165,12 @@ test "rejects invalid OGP data" do test "returns error if getting page was not successful" do assert {:error, :overload} = Parser.parse("http://example.com/error") end + + test "does a HEAD request to check if the body is too large" do + assert {:error, body_too_large} = Parser.parse("http://example.com/huge-page") + end + + test "does a HEAD request to check if the body is html" do + assert {:error, {:content_type, _}} = Parser.parse("http://example.com/pdf-file") + end end From 738685a6298d7bd883fe81477b2e25ec94822e02 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 11:56:00 +0000 Subject: [PATCH 132/201] Apply 1 suggestion(s) to 1 file(s) --- test/web/rich_media/parser_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/rich_media/parser_test.exs b/test/web/rich_media/parser_test.exs index d65a63121..6d00c2af5 100644 --- a/test/web/rich_media/parser_test.exs +++ b/test/web/rich_media/parser_test.exs @@ -167,7 +167,7 @@ test "returns error if getting page was not successful" do end test "does a HEAD request to check if the body is too large" do - assert {:error, body_too_large} = Parser.parse("http://example.com/huge-page") + assert {:error, :body_too_large} = Parser.parse("http://example.com/huge-page") end test "does a HEAD request to check if the body is html" do From bb407edce4b512aae74c12ea0c1abcc92bc18ddb Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 15:46:00 +0300 Subject: [PATCH 133/201] RichMedia: fix a compilation error due to nonexistent variable No idea why this passed Gitlab CI --- lib/pleroma/web/rich_media/parser.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index ab8f35922..33f6f1fa1 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -39,7 +39,7 @@ defp get_cached_or_parse(url) do {:error, :body_too_large} = e -> e - {:error, {:content_type, _}} -> + {:error, {:content_type, _}} = e -> e # The TTL is not set for the errors above, since they are unlikely to change From 0b5e72ecf033ff78c67eb4e5a68277e5d83f5611 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 15:00:19 +0300 Subject: [PATCH 134/201] Remove `:managed_config` option. In practice, it was already removed half a year ago, but the description and cheatsheet entries were still there. The migration intentionally does not use ConfigDB.get_by_params, since this will break migration code as soon as we add a new field is added to ConfigDB. Closes #2086 --- CHANGELOG.md | 2 ++ config/config.exs | 1 - config/description.exs | 6 ----- docs/configuration/cheatsheet.md | 1 - ...10113106_remove_managed_config_from_db.exs | 27 +++++++++++++++++++ 5 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 priv/repo/migrations/20200910113106_remove_managed_config_from_db.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 75357f05e..88c489895 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab` (moved to a simpler implementation). - **Breaking:** `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` (moved to scheduled jobs). - **Breaking:** `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab` (moved to scheduled jobs). +- Removed `:managed_config` option. In practice, it was accidentally removed with 2.0.0 release when frontends were +switched to a new configuration mechanism, however it was not officially removed until now. ### Changed - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). diff --git a/config/config.exs b/config/config.exs index 88c47fd03..c204814d0 100644 --- a/config/config.exs +++ b/config/config.exs @@ -216,7 +216,6 @@ allow_relay: true, public: true, quarantined_instances: [], - managed_config: true, static_dir: "instance/static/", allowed_post_formats: [ "text/plain", diff --git a/config/description.exs b/config/description.exs index 82c7bc6a7..2b30f8148 100644 --- a/config/description.exs +++ b/config/description.exs @@ -764,12 +764,6 @@ "*.quarantined.com" ] }, - %{ - key: :managed_config, - type: :boolean, - description: - "Whenether the config for pleroma-fe is configured in this config or in static/config.json" - }, %{ key: :static_dir, type: :string, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 0c5d17ce3..054b8fe43 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -40,7 +40,6 @@ To add configuration to your config file, you can copy it from the base config. * `allow_relay`: Enable Pleroma’s Relay, which makes it possible to follow a whole instance. * `public`: Makes the client API in authenticated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network. Note that there is a dependent setting restricting or allowing unauthenticated access to specific resources, see `restrict_unauthenticated` for more details. * `quarantined_instances`: List of ActivityPub instances where private (DMs, followers-only) activities will not be send. -* `managed_config`: Whenether the config for pleroma-fe is configured in [:frontend_configurations](#frontend_configurations) or in ``static/config.json``. * `allowed_post_formats`: MIME-type list of formats allowed to be posted (transformed into HTML). * `extended_nickname_format`: Set to `true` to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames. diff --git a/priv/repo/migrations/20200910113106_remove_managed_config_from_db.exs b/priv/repo/migrations/20200910113106_remove_managed_config_from_db.exs new file mode 100644 index 000000000..e27a9ae48 --- /dev/null +++ b/priv/repo/migrations/20200910113106_remove_managed_config_from_db.exs @@ -0,0 +1,27 @@ +defmodule Pleroma.Repo.Migrations.RemoveManagedConfigFromDb do + use Ecto.Migration + import Ecto.Query + alias Pleroma.ConfigDB + alias Pleroma.Repo + + def up do + config_entry = + from(c in ConfigDB, + select: [:id, :value], + where: c.group == ^:pleroma and c.key == ^:instance + ) + |> Repo.one() + + if config_entry do + {_, value} = Keyword.pop(config_entry.value, :managed_config) + + config_entry + |> Ecto.Changeset.change(value: value) + |> Repo.update() + end + end + + def down do + :ok + end +end From d31f0393bfaa733cf68058c21294874daa286e0a Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 14 Sep 2020 12:06:08 -0500 Subject: [PATCH 135/201] Validate Welcome Chat message works with Simple policy applied to local instance --- test/user_test.exs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/user_test.exs b/test/user_test.exs index 50f72549e..a910226b2 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -440,6 +440,45 @@ test "it sends a welcome chat message if it is set" do assert activity.actor == welcome_user.ap_id end + setup do: + clear_config(:mrf_simple, + media_removal: [], + media_nsfw: [], + federated_timeline_removal: [], + report_removal: [], + reject: [], + followers_only: [], + accept: [], + avatar_removal: [], + banner_removal: [], + reject_deletes: [] + ) + + setup do: + clear_config(:mrf, + policies: [ + Pleroma.Web.ActivityPub.MRF.SimplePolicy + ] + ) + + test "it sends a welcome chat message when Simple policy applied to local instance" do + Pleroma.Config.put([:mrf_simple, :media_nsfw], ["localhost"]) + + welcome_user = insert(:user) + Pleroma.Config.put([:welcome, :chat_message, :enabled], true) + Pleroma.Config.put([:welcome, :chat_message, :sender_nickname], welcome_user.nickname) + Pleroma.Config.put([:welcome, :chat_message, :message], "Hello, this is a chat message") + + cng = User.register_changeset(%User{}, @full_user_data) + {:ok, registered_user} = User.register(cng) + ObanHelpers.perform_all() + + activity = Repo.one(Pleroma.Activity) + assert registered_user.ap_id in activity.recipients + assert Object.normalize(activity).data["content"] =~ "chat message" + assert activity.actor == welcome_user.ap_id + end + test "it sends a welcome email message if it is set" do welcome_user = insert(:user) Pleroma.Config.put([:welcome, :email, :enabled], true) From 25d1caf1ddae3730f2554d35d89a0c2692927d99 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 14 Sep 2020 12:07:31 -0500 Subject: [PATCH 136/201] Merge duplicate Changed sections --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75357f05e..e94f2eda2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Renamed `:await_up_timeout` in `:connections_pool` namespace to `:connect_timeout`, old name is deprecated. - Renamed `:timeout` in `pools` namespace to `:recv_timeout`, old name is deprecated. +- Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). ### Removed @@ -16,9 +17,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` (moved to scheduled jobs). - **Breaking:** `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab` (moved to scheduled jobs). -### Changed -- Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). - ## [2.1.1] - 2020-09-08 ### Security From 118bf6e92bc112b20ba1ce2f7d0bd3bb5db7ebfe Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 14 Sep 2020 12:08:32 -0500 Subject: [PATCH 137/201] Fixed Welcome chats with MRF Simple applied locally --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e94f2eda2..685d59873 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` (moved to scheduled jobs). - **Breaking:** `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab` (moved to scheduled jobs). +### Fixed + +- Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance + ## [2.1.1] - 2020-09-08 ### Security From 38b2db297b3207607072347b408dc7eacbac600e Mon Sep 17 00:00:00 2001 From: stwf Date: Mon, 14 Sep 2020 13:18:11 -0400 Subject: [PATCH 138/201] search indexing metadata respects discoverable flag --- lib/pleroma/web/metadata/restrict_indexing.ex | 7 +++---- test/web/metadata/metadata_test.exs | 19 +++++++++++++++++-- test/web/metadata/restrict_indexing_test.exs | 8 +++++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/lib/pleroma/web/metadata/restrict_indexing.ex b/lib/pleroma/web/metadata/restrict_indexing.ex index f15607896..a1dcb6e15 100644 --- a/lib/pleroma/web/metadata/restrict_indexing.ex +++ b/lib/pleroma/web/metadata/restrict_indexing.ex @@ -10,7 +10,9 @@ defmodule Pleroma.Web.Metadata.Providers.RestrictIndexing do """ @impl true - def build_tags(%{user: %{local: false}}) do + def build_tags(%{user: %{local: true, discoverable: true}}), do: [] + + def build_tags(_) do [ {:meta, [ @@ -19,7 +21,4 @@ def build_tags(%{user: %{local: false}}) do ], []} ] end - - @impl true - def build_tags(%{user: %{local: true}}), do: [] end diff --git a/test/web/metadata/metadata_test.exs b/test/web/metadata/metadata_test.exs index 9d3121b7b..fe3009628 100644 --- a/test/web/metadata/metadata_test.exs +++ b/test/web/metadata/metadata_test.exs @@ -18,17 +18,32 @@ test "for remote user" do test "for local user" do user = insert(:user) + assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~ + "" + end + + test "for local user set to discoverable" do + user = insert(:user, discoverable: true) + refute Pleroma.Web.Metadata.build_tags(%{user: user}) =~ "" end end describe "no metadata for private instances" do - test "for local user" do + test "for local user set to discoverable" do clear_config([:instance, :public], false) - user = insert(:user, bio: "This is my secret fedi account bio") + user = insert(:user, bio: "This is my secret fedi account bio", discoverable: true) assert "" = Pleroma.Web.Metadata.build_tags(%{user: user}) end + + test "search exclusion metadata is included" do + clear_config([:instance, :public], false) + user = insert(:user, bio: "This is my secret fedi account bio") + + assert "" == + Pleroma.Web.Metadata.build_tags(%{user: user}) + end end end diff --git a/test/web/metadata/restrict_indexing_test.exs b/test/web/metadata/restrict_indexing_test.exs index aad0bac42..6b3a65372 100644 --- a/test/web/metadata/restrict_indexing_test.exs +++ b/test/web/metadata/restrict_indexing_test.exs @@ -14,8 +14,14 @@ test "for remote user" do test "for local user" do assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{ - user: %Pleroma.User{local: true} + user: %Pleroma.User{local: true, discoverable: true} }) == [] end + + test "for local user when discoverable is false" do + assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{ + user: %Pleroma.User{local: true, discoverable: false} + }) == [{:meta, [name: "robots", content: "noindex, noarchive"], []}] + end end end From f900a40d5dc4285977bd92f3792ad04a2f34ddcf Mon Sep 17 00:00:00 2001 From: stwf Date: Mon, 14 Sep 2020 13:55:49 -0400 Subject: [PATCH 139/201] fix credo warning --- test/web/metadata/metadata_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/metadata/metadata_test.exs b/test/web/metadata/metadata_test.exs index fe3009628..054844597 100644 --- a/test/web/metadata/metadata_test.exs +++ b/test/web/metadata/metadata_test.exs @@ -42,7 +42,7 @@ test "search exclusion metadata is included" do clear_config([:instance, :public], false) user = insert(:user, bio: "This is my secret fedi account bio") - assert "" == + assert ~s() == Pleroma.Web.Metadata.build_tags(%{user: user}) end end From 709723182d69e1bb41a23c8abeb5d7c2c67b8c49 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 14 Sep 2020 17:06:42 -0500 Subject: [PATCH 140/201] Ensure SimplePolicy's tags in string representation don't trip up the object validator --- lib/pleroma/web/activity_pub/transmogrifier.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index af4384213..8fe430644 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -309,7 +309,7 @@ def fix_url(object), do: object def fix_emoji(%{"tag" => tags} = object) when is_list(tags) do emoji = tags - |> Enum.filter(fn data -> data["type"] == "Emoji" and data["icon"] end) + |> Enum.filter(fn data -> is_map(data) and data["type"] == "Emoji" and data["icon"] end) |> Enum.reduce(%{}, fn data, mapping -> name = String.trim(data["name"], ":") From 0b66e806e32055b625560eb06b9300cc856f9789 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 14 Sep 2020 17:11:08 -0500 Subject: [PATCH 141/201] Move changelog entry to next patch --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 685d59873..ac4a6f7f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **Breaking:** `Pleroma.Workers.Cron.ClearOauthTokenWorker` setting from Oban `:crontab` (moved to scheduled jobs). - **Breaking:** `Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker` setting from Oban `:crontab` (moved to scheduled jobs). +## unreleased-patch - ??? + ### Fixed - Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance From 3ab59a6f3c7b7bae2e69d1a8d1bf484d039a5420 Mon Sep 17 00:00:00 2001 From: eugenijm Date: Tue, 15 Sep 2020 13:00:07 +0300 Subject: [PATCH 142/201] Mastodon API: fix the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user --- CHANGELOG.md | 1 + lib/pleroma/web/activity_pub/activity_pub.ex | 4 ++-- test/web/activity_pub/activity_pub_test.exs | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82f64d441..f7a372e11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ switched to a new configuration mechanism, however it was not officially removed ### Fixed - Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance +- Mastodon API: the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user ## [2.1.1] - 2020-09-08 diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 66a9f78a3..5aac3f53b 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -767,7 +767,7 @@ defp restrict_replies(query, %{exclude_replies: true}) do end defp restrict_replies(query, %{ - reply_filtering_user: user, + reply_filtering_user: %User{} = user, reply_visibility: "self" }) do from( @@ -783,7 +783,7 @@ defp restrict_replies(query, %{ end defp restrict_replies(query, %{ - reply_filtering_user: user, + reply_filtering_user: %User{} = user, reply_visibility: "following" }) do from( diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index d8caa0b00..7bdad3810 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1810,6 +1810,14 @@ test "public timeline with default reply_visibility `self`", %{users: %{u1: user |> Enum.map(& &1.id) assert activities_ids == [] + + activities_ids = + %{} + |> Map.put(:reply_visibility, "self") + |> Map.put(:reply_filtering_user, nil) + |> ActivityPub.fetch_public_activities() + + assert activities_ids == [] end test "home timeline", %{users: %{u1: user}} do From f879d07fa1a046b5aa33de8e445b1ca803fa1d04 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Tue, 15 Sep 2020 15:32:49 +0300 Subject: [PATCH 143/201] fixed tests --- test/marker_test.exs | 4 ++-- test/repo_test.exs | 4 +++- .../web/mastodon_api/controllers/account_controller_test.exs | 5 ++++- test/web/mastodon_api/controllers/marker_controller_test.exs | 2 +- test/web/mastodon_api/views/account_view_test.exs | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/test/marker_test.exs b/test/marker_test.exs index 5b6d0b4a4..7b3943c7b 100644 --- a/test/marker_test.exs +++ b/test/marker_test.exs @@ -33,8 +33,8 @@ test "return empty multi" do test "returns user markers" do user = insert(:user) marker = insert(:marker, user: user) - insert(:notification, user: user) - insert(:notification, user: user) + insert(:notification, user: user, activity: insert(:note_activity)) + insert(:notification, user: user, activity: insert(:note_activity)) insert(:marker, timeline: "home", user: user) assert Marker.get_markers( diff --git a/test/repo_test.exs b/test/repo_test.exs index 92e827c95..72c0b5071 100644 --- a/test/repo_test.exs +++ b/test/repo_test.exs @@ -37,7 +37,9 @@ test "get one-to-one assoc from repo" do test "get one-to-many assoc from repo" do user = insert(:user) - notification = refresh_record(insert(:notification, user: user)) + + notification = + refresh_record(insert(:notification, user: user, activity: insert(:note_activity))) assert Repo.get_assoc(user, :notifications) == {:ok, [notification]} end diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index 17a1e7d66..f7f1369e4 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -1442,7 +1442,10 @@ test "returns lists to which the account belongs" do describe "verify_credentials" do test "verify_credentials" do %{user: user, conn: conn} = oauth_access(["read:accounts"]) - [notification | _] = insert_list(7, :notification, user: user) + + [notification | _] = + insert_list(7, :notification, user: user, activity: insert(:note_activity)) + Pleroma.Notification.set_read_up_to(user, notification.id) conn = get(conn, "/api/v1/accounts/verify_credentials") diff --git a/test/web/mastodon_api/controllers/marker_controller_test.exs b/test/web/mastodon_api/controllers/marker_controller_test.exs index 6dd40fb4a..9f0481120 100644 --- a/test/web/mastodon_api/controllers/marker_controller_test.exs +++ b/test/web/mastodon_api/controllers/marker_controller_test.exs @@ -11,7 +11,7 @@ defmodule Pleroma.Web.MastodonAPI.MarkerControllerTest do test "gets markers with correct scopes", %{conn: conn} do user = insert(:user) token = insert(:oauth_token, user: user, scopes: ["read:statuses"]) - insert_list(7, :notification, user: user) + insert_list(7, :notification, user: user, activity: insert(:note_activity)) {:ok, %{"notifications" => marker}} = Pleroma.Marker.upsert( diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index 9f22f9dcf..c5f491d6b 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -448,7 +448,7 @@ test "shows unread_conversation_count only to the account owner" do test "shows unread_count only to the account owner" do user = insert(:user) - insert_list(7, :notification, user: user) + insert_list(7, :notification, user: user, activity: insert(:note_activity)) other_user = insert(:user) user = User.get_cached_by_ap_id(user.ap_id) From c74fad9e06cdb272a1378082908448f7f0b592ac Mon Sep 17 00:00:00 2001 From: Maksim Date: Wed, 16 Sep 2020 03:18:50 +0000 Subject: [PATCH 144/201] Apply 1 suggestion(s) to 1 file(s) --- .../20200914105638_delete_notification_without_activity.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs b/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs index f5b339101..9333fc5a1 100644 --- a/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs +++ b/priv/repo/migrations/20200914105638_delete_notification_without_activity.exs @@ -11,7 +11,7 @@ def up do select: %{id: type(q.id, :integer)}, where: is_nil(c.id) ) - |> Repo.chunk_stream(1_000, :bacthes) + |> Repo.chunk_stream(1_000, :batches) |> Stream.each(fn records -> notification_ids = Enum.map(records, fn %{id: id} -> id end) From 599f8bb152ca0669d17baa5f313f00f0791209b6 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Wed, 16 Sep 2020 09:47:18 +0300 Subject: [PATCH 145/201] RepoStreamer.chunk_stream -> Repo.chunk_stream --- lib/mix/tasks/pleroma/database.ex | 4 ++-- lib/mix/tasks/pleroma/user.ex | 4 ++-- lib/pleroma/repo.ex | 14 +++++++++++++ lib/pleroma/repo_streamer.ex | 34 ------------------------------- lib/pleroma/user.ex | 3 +-- test/repo_test.exs | 28 +++++++++++++++++++++++++ 6 files changed, 47 insertions(+), 40 deletions(-) delete mode 100644 lib/pleroma/repo_streamer.ex diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index 7f1108dcf..a01c36ece 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -99,7 +99,7 @@ def run(["fix_likes_collections"]) do where: fragment("(?)->>'likes' is not null", object.data), select: %{id: object.id, likes: fragment("(?)->>'likes'", object.data)} ) - |> Pleroma.RepoStreamer.chunk_stream(100) + |> Pleroma.Repo.chunk_stream(100, :batches) |> Stream.each(fn objects -> ids = objects @@ -145,7 +145,7 @@ def run(["ensure_expiration"]) do |> where(local: true) |> where([a], fragment("(? ->> 'type'::text) = 'Create'", a.data)) |> where([_a, o], fragment("?->>'type' = 'Note'", o.data)) - |> Pleroma.RepoStreamer.chunk_stream(100) + |> Pleroma.Repo.chunk_stream(100, :batches) |> Stream.each(fn activities -> Enum.each(activities, fn activity -> expires_at = diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index 01824aa18..b20c49d89 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -179,7 +179,7 @@ def run(["deactivate_all_from_instance", instance]) do start_pleroma() Pleroma.User.Query.build(%{nickname: "@#{instance}"}) - |> Pleroma.RepoStreamer.chunk_stream(500) + |> Pleroma.Repo.chunk_stream(500, :batches) |> Stream.each(fn users -> users |> Enum.each(fn user -> @@ -370,7 +370,7 @@ def run(["list"]) do start_pleroma() Pleroma.User.Query.build(%{local: true}) - |> Pleroma.RepoStreamer.chunk_stream(500) + |> Pleroma.Repo.chunk_stream(500, :batches) |> Stream.each(fn users -> users |> Enum.each(fn user -> diff --git a/lib/pleroma/repo.ex b/lib/pleroma/repo.ex index a75610879..4524bd5e2 100644 --- a/lib/pleroma/repo.ex +++ b/lib/pleroma/repo.ex @@ -49,6 +49,20 @@ def get_assoc(resource, association) do end end + @doc """ + Returns a lazy enumerable that emits all entries from the data store matching the given query. + + `returns_as` use to group records. use the `batches` option to fetch records in bulk. + + ## Examples + + # fetch records one-by-one + iex> Pleroma.Repo.chunk_stream(Pleroma.Activity.Queries.by_actor(ap_id), 500) + + # fetch records in bulk + iex> Pleroma.Repo.chunk_stream(Pleroma.Activity.Queries.by_actor(ap_id), 500, :batches) + """ + @spec chunk_stream(Ecto.Query.t(), integer(), atom()) :: Enumerable.t() def chunk_stream(query, chunk_size, returns_as \\ :one) do # We don't actually need start and end funcitons of resource streaming, # but it seems to be the only way to not fetch records one-by-one and diff --git a/lib/pleroma/repo_streamer.ex b/lib/pleroma/repo_streamer.ex deleted file mode 100644 index cb4d7bb7a..000000000 --- a/lib/pleroma/repo_streamer.ex +++ /dev/null @@ -1,34 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Pleroma.RepoStreamer do - alias Pleroma.Repo - import Ecto.Query - - def chunk_stream(query, chunk_size) do - Stream.unfold(0, fn - :halt -> - {[], :halt} - - last_id -> - query - |> order_by(asc: :id) - |> where([r], r.id > ^last_id) - |> limit(^chunk_size) - |> Repo.all() - |> case do - [] -> - {[], :halt} - - records -> - last_id = List.last(records).id - {records, last_id} - end - end) - |> Stream.take_while(fn - [] -> false - _ -> true - end) - end -end diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index e73d19964..57497eb83 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -25,7 +25,6 @@ defmodule Pleroma.User do alias Pleroma.Object alias Pleroma.Registration alias Pleroma.Repo - alias Pleroma.RepoStreamer alias Pleroma.User alias Pleroma.UserRelationship alias Pleroma.Web @@ -1775,7 +1774,7 @@ def delete_notifications_from_user_activities(%User{ap_id: ap_id}) do def delete_user_activities(%User{ap_id: ap_id} = user) do ap_id |> Activity.Queries.by_actor() - |> RepoStreamer.chunk_stream(50) + |> Repo.chunk_stream(50, :batches) |> Stream.each(fn activities -> Enum.each(activities, fn activity -> delete_activity(activity, user) end) end) diff --git a/test/repo_test.exs b/test/repo_test.exs index 72c0b5071..155791be2 100644 --- a/test/repo_test.exs +++ b/test/repo_test.exs @@ -49,4 +49,32 @@ test "return error if has not assoc " do assert Repo.get_assoc(token, :user) == {:error, :not_found} end end + + describe "chunk_stream/3" do + test "fetch records one-by-one" do + users = insert_list(50, :user) + + {fetch_users, 50} = + from(t in User) + |> Repo.chunk_stream(5) + |> Enum.reduce({[], 0}, fn %User{} = user, {acc, count} -> + {acc ++ [user], count + 1} + end) + + assert users == fetch_users + end + + test "fetch records in bulk" do + users = insert_list(50, :user) + + {fetch_users, 10} = + from(t in User) + |> Repo.chunk_stream(5, :batches) + |> Enum.reduce({[], 0}, fn users, {acc, count} -> + {acc ++ users, count + 1} + end) + + assert users == fetch_users + end + end end From adb1b0282dfbced2b2986c90cff765be37dd5151 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Wed, 16 Sep 2020 17:23:05 +0300 Subject: [PATCH 146/201] ConnectionPool Worker: use monitor flush instead of checking ref `:flush` removes the DOWN message if one had arrived, so this check should no longer be necessary. --- lib/pleroma/gun/connection_pool/worker.ex | 25 ++++++++--------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/lib/pleroma/gun/connection_pool/worker.ex b/lib/pleroma/gun/connection_pool/worker.ex index 49d41e4c7..bf57e9e5f 100644 --- a/lib/pleroma/gun/connection_pool/worker.ex +++ b/lib/pleroma/gun/connection_pool/worker.ex @@ -93,25 +93,18 @@ def handle_call(:remove_client, {client_pid, _}, %{key: key} = state) do end) {ref, state} = pop_in(state.client_monitors[client_pid]) - # DOWN message can receive right after `remove_client` call and cause worker to terminate - state = - if is_nil(ref) do - state + + Process.demonitor(ref, [:flush]) + + timer = + if used_by == [] do + max_idle = Pleroma.Config.get([:connections_pool, :max_idle_time], 30_000) + Process.send_after(self(), :idle_close, max_idle) else - Process.demonitor(ref) - - timer = - if used_by == [] do - max_idle = Pleroma.Config.get([:connections_pool, :max_idle_time], 30_000) - Process.send_after(self(), :idle_close, max_idle) - else - nil - end - - %{state | timer: timer} + nil end - {:reply, :ok, state, :hibernate} + {:reply, :ok, %{state | timer: timer}, :hibernate} end @impl true From 7a88b726bf81e1610ade2b07ffd6af672b701600 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 16 Sep 2020 17:29:16 +0200 Subject: [PATCH 147/201] User: Remote users don't need to be confirmed or approved --- lib/pleroma/user.ex | 4 ++-- test/user_test.exs | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 57497eb83..1ffe60dfc 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -275,9 +275,9 @@ def binary_id(%User{} = user), do: binary_id(user.id) @spec account_status(User.t()) :: account_status() def account_status(%User{deactivated: true}), do: :deactivated def account_status(%User{password_reset_pending: true}), do: :password_reset_pending - def account_status(%User{approval_pending: true}), do: :approval_pending + def account_status(%User{local: true, approval_pending: true}), do: :approval_pending - def account_status(%User{confirmation_pending: true}) do + def account_status(%User{local: true, confirmation_pending: true}) do if Config.get([:instance, :account_activation_required]) do :confirmation_pending else diff --git a/test/user_test.exs b/test/user_test.exs index a910226b2..060918d71 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1676,7 +1676,7 @@ test "returns true when the account is itself" do assert User.visible_for(user, user) == :visible end - test "returns false when the account is unauthenticated and auth is required" do + test "returns false when the account is unconfirmed and confirmation is required" do Pleroma.Config.put([:instance, :account_activation_required], true) user = insert(:user, local: true, confirmation_pending: true) @@ -1685,14 +1685,23 @@ test "returns false when the account is unauthenticated and auth is required" do refute User.visible_for(user, other_user) == :visible end - test "returns true when the account is unauthenticated and auth is not required" do + test "returns true when the account is unconfirmed and confirmation is required but the account is remote" do + Pleroma.Config.put([:instance, :account_activation_required], true) + + user = insert(:user, local: false, confirmation_pending: true) + other_user = insert(:user, local: true) + + assert User.visible_for(user, other_user) == :visible + end + + test "returns true when the account is unconfirmed and confirmation is not required" do user = insert(:user, local: true, confirmation_pending: true) other_user = insert(:user, local: true) assert User.visible_for(user, other_user) == :visible end - test "returns true when the account is unauthenticated and being viewed by a privileged account (auth required)" do + test "returns true when the account is unconfirmed and being viewed by a privileged account (confirmation required)" do Pleroma.Config.put([:instance, :account_activation_required], true) user = insert(:user, local: true, confirmation_pending: true) From 73e0e6a8a2efaac513077317229f72b128f3a3ea Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 16 Sep 2020 10:56:42 -0500 Subject: [PATCH 148/201] Remove unused import --- test/object/fetcher_test.exs | 1 - 1 file changed, 1 deletion(-) diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 3173ee31c..14d2c645f 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -10,7 +10,6 @@ defmodule Pleroma.Object.FetcherTest do alias Pleroma.Object alias Pleroma.Object.Fetcher - import ExUnit.CaptureLog import Mock import Tesla.Mock From a781f41f969bd1a929005b2b5006a40d42855ae8 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Wed, 16 Sep 2020 22:30:42 +0300 Subject: [PATCH 149/201] [#2497] Media preview proxy: misc. improvements (`static` param support, dynamic fifo pipe path), refactoring. --- CHANGELOG.md | 3 +++ lib/pleroma/helpers/media_helper.ex | 4 +--- lib/pleroma/helpers/uri_helper.ex | 13 ++++++++----- .../web/mastodon_api/views/account_view.ex | 4 ++-- lib/pleroma/web/media_proxy/media_proxy.ex | 2 +- .../web/media_proxy/media_proxy_controller.ex | 19 ++++++++++++++++--- lib/pleroma/web/oauth/oauth_controller.ex | 4 ++-- 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7a372e11..adea6d019 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Renamed `:timeout` in `pools` namespace to `:recv_timeout`, old name is deprecated. - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). +### Added +- Media preview proxy (requires media proxy be enabled; see `:media_preview_proxy` config for more details). + ### Removed - **Breaking:** `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab` (moved to a simpler implementation). diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index d834b4a07..9b7348ee2 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -9,8 +9,6 @@ defmodule Pleroma.Helpers.MediaHelper do alias Pleroma.HTTP - @tmp_base "/tmp/pleroma-media_preview-pipe" - def image_resize(url, options) do with executable when is_binary(executable) <- System.find_executable("convert"), {:ok, args} <- prepare_image_resize_args(options), @@ -103,7 +101,7 @@ defp run_fifo(fifo_path, env, executable, args) do end defp mkfifo do - path = "#{@tmp_base}#{to_charlist(:erlang.phash2(self()))}" + path = Path.join(System.tmp_dir!(), "pleroma-media-preview-pipe-#{Ecto.UUID.generate()}") case System.cmd("mkfifo", [path]) do {_, 0} -> diff --git a/lib/pleroma/helpers/uri_helper.ex b/lib/pleroma/helpers/uri_helper.ex index 9c9e53447..f1301f055 100644 --- a/lib/pleroma/helpers/uri_helper.ex +++ b/lib/pleroma/helpers/uri_helper.ex @@ -3,14 +3,17 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Helpers.UriHelper do - def append_uri_params(uri, appended_params) do + def modify_uri_params(uri, overridden_params, deleted_params \\ []) do uri = URI.parse(uri) - appended_params = for {k, v} <- appended_params, into: %{}, do: {to_string(k), v} - existing_params = URI.query_decoder(uri.query || "") |> Enum.into(%{}) - updated_params_keys = Enum.uniq(Map.keys(existing_params) ++ Map.keys(appended_params)) + + existing_params = URI.query_decoder(uri.query || "") |> Map.new() + overridden_params = Map.new(overridden_params, fn {k, v} -> {to_string(k), v} end) + deleted_params = Enum.map(deleted_params, &to_string/1) updated_params = - for k <- updated_params_keys, do: {k, appended_params[k] || existing_params[k]} + existing_params + |> Map.merge(overridden_params) + |> Map.drop(deleted_params) uri |> Map.put(:query, URI.encode_query(updated_params)) diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index a811f81c2..121ba1693 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -182,9 +182,9 @@ defp do_render("show.json", %{user: user} = opts) do display_name = user.name || user.nickname avatar = User.avatar_url(user) |> MediaProxy.url() - avatar_static = User.avatar_url(user) |> MediaProxy.preview_url(output_format: "jpeg") + avatar_static = User.avatar_url(user) |> MediaProxy.preview_url(static: true) header = User.banner_url(user) |> MediaProxy.url() - header_static = User.banner_url(user) |> MediaProxy.preview_url(output_format: "jpeg") + header_static = User.banner_url(user) |> MediaProxy.preview_url(static: true) following_count = if !user.hide_follows_count or !user.hide_follows or opts[:for] == user do diff --git a/lib/pleroma/web/media_proxy/media_proxy.ex b/lib/pleroma/web/media_proxy/media_proxy.ex index ba553998b..8656b8cad 100644 --- a/lib/pleroma/web/media_proxy/media_proxy.ex +++ b/lib/pleroma/web/media_proxy/media_proxy.ex @@ -157,7 +157,7 @@ def build_url(sig_base64, url_base64, filename \\ nil) do def build_preview_url(sig_base64, url_base64, filename \\ nil, preview_params \\ []) do uri = proxy_url("proxy/preview", sig_base64, url_base64, filename) - UriHelper.append_uri_params(uri, preview_params) + UriHelper.modify_uri_params(uri, preview_params) end def verify_request_path_and_url( diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index 78df7763e..fe279e964 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -7,6 +7,7 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do alias Pleroma.Config alias Pleroma.Helpers.MediaHelper + alias Pleroma.Helpers.UriHelper alias Pleroma.ReverseProxy alias Pleroma.Web.MediaProxy alias Plug.Conn @@ -74,14 +75,26 @@ defp handle_preview(conn, url) do end defp handle_preview( - "image/" <> _ = _content_type, + "image/gif" = _content_type, _content_length, - %{params: %{"output_format" => "jpeg"}} = conn, + %{params: %{"static" => static}} = conn, media_proxy_url - ) do + ) + when static in ["true", true] do handle_jpeg_preview(conn, media_proxy_url) end + defp handle_preview( + _content_type, + _content_length, + %{params: %{"static" => static}} = conn, + _media_proxy_url + ) + when static in ["true", true] do + uri_without_static_param = UriHelper.modify_uri_params(current_url(conn), %{}, ["static"]) + redirect(conn, external: uri_without_static_param) + end + defp handle_preview("image/gif" = _content_type, _content_length, conn, media_proxy_url) do redirect(conn, external: media_proxy_url) end diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index 26e68be42..a4152e840 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -119,7 +119,7 @@ defp handle_existing_authorization( redirect_uri = redirect_uri(conn, redirect_uri) url_params = %{access_token: token.token} url_params = Maps.put_if_present(url_params, :state, params["state"]) - url = UriHelper.append_uri_params(redirect_uri, url_params) + url = UriHelper.modify_uri_params(redirect_uri, url_params) redirect(conn, external: url) else conn @@ -161,7 +161,7 @@ def after_create_authorization(%Plug.Conn{} = conn, %Authorization{} = auth, %{ redirect_uri = redirect_uri(conn, redirect_uri) url_params = %{code: auth.token} url_params = Maps.put_if_present(url_params, :state, auth_attrs["state"]) - url = UriHelper.append_uri_params(redirect_uri, url_params) + url = UriHelper.modify_uri_params(redirect_uri, url_params) redirect(conn, external: url) else conn From 5a8ea0a5b07c22d567a60af36345483fe880b638 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Thu, 17 Sep 2020 09:13:43 +0300 Subject: [PATCH 150/201] small refactoring --- lib/pleroma/user/import.ex | 10 ++------ lib/pleroma/workers/background_worker.ex | 29 +++--------------------- 2 files changed, 5 insertions(+), 34 deletions(-) diff --git a/lib/pleroma/user/import.ex b/lib/pleroma/user/import.ex index de27bdc4c..e458021c8 100644 --- a/lib/pleroma/user/import.ex +++ b/lib/pleroma/user/import.ex @@ -65,20 +65,14 @@ defp handle_error(op, user_id, error) do def blocks_import(%User{} = blocker, [_ | _] = identifiers) do BackgroundWorker.enqueue( "blocks_import", - %{ - "blocker_id" => blocker.id, - "blocked_identifiers" => identifiers - } + %{"user_id" => blocker.id, "identifiers" => identifiers} ) end def follow_import(%User{} = follower, [_ | _] = identifiers) do BackgroundWorker.enqueue( "follow_import", - %{ - "follower_id" => follower.id, - "followed_identifiers" => identifiers - } + %{"user_id" => follower.id, "identifiers" => identifiers} ) end diff --git a/lib/pleroma/workers/background_worker.ex b/lib/pleroma/workers/background_worker.ex index f9c767ee0..55b5a13d9 100644 --- a/lib/pleroma/workers/background_worker.ex +++ b/lib/pleroma/workers/background_worker.ex @@ -26,33 +26,10 @@ def perform(%Job{args: %{"op" => "force_password_reset", "user_id" => user_id}}) User.perform(:force_password_reset, user) end - def perform(%Job{ - args: %{ - "op" => "blocks_import", - "blocker_id" => blocker_id, - "blocked_identifiers" => blocked_identifiers - } - }) do - blocker = User.get_cached_by_id(blocker_id) - {:ok, User.Import.perform(:blocks_import, blocker, blocked_identifiers)} - end - - def perform(%Job{ - args: %{ - "op" => "follow_import", - "follower_id" => follower_id, - "followed_identifiers" => followed_identifiers - } - }) do - follower = User.get_cached_by_id(follower_id) - {:ok, User.Import.perform(:follow_import, follower, followed_identifiers)} - end - - def perform(%Job{ - args: %{"op" => "mutes_import", "user_id" => user_id, "identifiers" => identifiers} - }) do + def perform(%Job{args: %{"op" => op, "user_id" => user_id, "identifiers" => identifiers}}) + when op in ["blocks_import", "follow_import", "mutes_import"] do user = User.get_cached_by_id(user_id) - {:ok, User.Import.perform(:mutes_import, user, identifiers)} + {:ok, User.Import.perform(String.to_atom(op), user, identifiers)} end def perform(%Job{args: %{"op" => "media_proxy_preload", "message" => message}}) do From e39ff2616b6694f97ab793bc60b5caa7b509f0b1 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 17 Sep 2020 13:29:26 +0200 Subject: [PATCH 151/201] Admin chat api tests: Small additions. --- test/web/admin_api/controllers/admin_api_controller_test.exs | 2 +- test/web/admin_api/controllers/chat_controller_test.exs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 3476fd0b4..e6ad210a2 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1521,7 +1521,7 @@ test "excludes reblogs by default", %{conn: conn, user: user} do %{user: user} end - test "renders user's statuses", %{conn: conn, user: user} do + test "renders user's chats", %{conn: conn, user: user} do conn = get(conn, "/api/pleroma/admin/users/#{user.nickname}/chats") assert json_response(conn, 200) |> length() == 3 diff --git a/test/web/admin_api/controllers/chat_controller_test.exs b/test/web/admin_api/controllers/chat_controller_test.exs index e81484ce6..bd4c9c9d1 100644 --- a/test/web/admin_api/controllers/chat_controller_test.exs +++ b/test/web/admin_api/controllers/chat_controller_test.exs @@ -40,8 +40,10 @@ test "it deletes a message from the chat", %{conn: conn, admin: admin} do object = Object.normalize(message, false) chat = Chat.get(user.id, recipient.ap_id) + recipient_chat = Chat.get(recipient.id, user.ap_id) cm_ref = MessageReference.for_chat_and_object(chat, object) + recipient_cm_ref = MessageReference.for_chat_and_object(recipient_chat, object) result = conn @@ -56,6 +58,7 @@ test "it deletes a message from the chat", %{conn: conn, admin: admin} do assert result["id"] == cm_ref.id refute MessageReference.get_by_id(cm_ref.id) + refute MessageReference.get_by_id(recipient_cm_ref.id) assert %{data: %{"type" => "Tombstone"}} = Object.get_by_id(object.id) end end From 5e3c70afa5c02926a5578628431487e92b2175e9 Mon Sep 17 00:00:00 2001 From: lain Date: Thu, 17 Sep 2020 13:37:25 +0200 Subject: [PATCH 152/201] AdminAPI Chat tests: Remove factory. The factory system doesn't work too well with how the chats are done. Instead of tempting people to use it, let's rather use the CommonAPI system for now. --- test/support/factory.ex | 54 ------------------- .../controllers/admin_api_controller_test.exs | 13 +++-- 2 files changed, 8 insertions(+), 59 deletions(-) diff --git a/test/support/factory.ex b/test/support/factory.ex index e59d83242..2fdfabbc5 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -441,58 +441,4 @@ def filter_factory do phrase: "cofe" } end - - def chat_factory(attrs \\ %{}) do - user = attrs[:user] || insert(:user) - recipient = attrs[:recipient] || insert(:user) - - %Pleroma.Chat{ - user_id: user.id, - recipient: recipient.ap_id - } - end - - def chat_message_factory(attrs \\ %{}) do - text = sequence(:text, &"This is :moominmamma: chat message #{&1}") - chat = attrs[:chat] || insert(:chat) - - data = %{ - "type" => "ChatMessage", - "content" => text, - "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(), - "actor" => User.get_by_id(chat.user_id).ap_id, - "to" => [chat.recipient], - "published" => DateTime.utc_now() |> DateTime.to_iso8601() - } - - %Pleroma.Object{ - data: merge_attributes(data, Map.get(attrs, :data, %{})) - } - end - - def chat_message_activity_factory(attrs \\ %{}) do - chat = attrs[:chat] || insert(:chat) - chat_message = attrs[:chat_message] || insert(:chat_message, chat: chat) - - data_attrs = attrs[:data_attrs] || %{} - attrs = Map.drop(attrs, [:chat, :chat_message, :data_attrs]) - - data = - %{ - "id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(), - "type" => "Create", - "actor" => chat_message.data["actor"], - "to" => chat_message.data["to"], - "object" => chat_message.data["id"], - "published" => DateTime.utc_now() |> DateTime.to_iso8601() - } - |> Map.merge(data_attrs) - - %Pleroma.Activity{ - data: data, - actor: data["actor"], - recipients: data["to"] - } - |> Map.merge(attrs) - end end 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 e6ad210a2..e4d3512de 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1513,10 +1513,11 @@ test "excludes reblogs by default", %{conn: conn, user: user} do describe "GET /api/pleroma/admin/users/:nickname/chats" do setup do user = insert(:user) + recipients = insert_list(3, :user) - insert(:chat, user: user) - insert(:chat, user: user) - insert(:chat, user: user) + Enum.each(recipients, fn recipient -> + CommonAPI.post_chat_message(user, recipient, "yo") + end) %{user: user} end @@ -1531,7 +1532,8 @@ test "renders user's chats", %{conn: conn, user: user} do describe "GET /api/pleroma/admin/users/:nickname/chats unauthorized" do setup do user = insert(:user) - insert(:chat, user: user) + recipient = insert(:user) + CommonAPI.post_chat_message(user, recipient, "yo") %{conn: conn} = oauth_access(["read:chats"]) %{conn: conn, user: user} end @@ -1546,7 +1548,8 @@ test "returns 403", %{conn: conn, user: user} do describe "GET /api/pleroma/admin/users/:nickname/chats unauthenticated" do setup do user = insert(:user) - insert(:chat, user: user) + recipient = insert(:user) + CommonAPI.post_chat_message(user, recipient, "yo") %{conn: build_conn(), user: user} end From 582ad5d4e1587b3dba9d879bd68dd9a315c8446e Mon Sep 17 00:00:00 2001 From: eugenijm Date: Sun, 30 Aug 2020 15:15:14 +0300 Subject: [PATCH 153/201] AdminAPI: Allow to modify Terms of Service and Instance Panel via Admin API --- CHANGELOG.md | 6 + docs/API/admin_api.md | 42 +++++++ .../instance_document_controller.ex | 37 ++++++ .../admin/instance_document_operation.ex | 108 +++++++++++++++++ lib/pleroma/web/instance_document.ex | 62 ++++++++++ lib/pleroma/web/router.ex | 4 + test/fixtures/custom_instance_panel.html | 1 + .../instance_document_controller_test.exs | 112 ++++++++++++++++++ 8 files changed, 372 insertions(+) create mode 100644 lib/pleroma/web/admin_api/controllers/instance_document_controller.ex create mode 100644 lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex create mode 100644 lib/pleroma/web/instance_document.ex create mode 100644 test/fixtures/custom_instance_panel.html create mode 100644 test/web/admin_api/controllers/instance_document_controller_test.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index f7a372e11..1ec6c11cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,12 @@ switched to a new configuration mechanism, however it was not officially removed ### Added - Rich media failure tracking (along with `:failure_backoff` option). +
+ Admin API Changes + +- Add `PATCH /api/pleroma/admin/instance_document/:document_name` to modify the Terms of Service and Instance Panel HTML pages via Admin API +
+ ### Fixed - Default HTTP adapter not respecting pool setting, leading to possible OOM. - Fixed uploading webp images when the Exiftool Upload Filter is enabled by skipping them diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index bc96abbf0..eba92dd1f 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1455,3 +1455,45 @@ Loads json generated from `config/descriptions.exs`. "unread": false } ``` + +## `GET /api/pleroma/admin/instance_document/:document_name` + +### Gets an instance document + +- Authentication: required + +- Response: + +``` json +{ + "url": "https://example.com/instance/panel.html" +} +``` + +## `PATCH /api/pleroma/admin/instance_document/:document_name` +- Params: + - `file` (the file to be uploaded, using multipart form data.) + +### Updates an instance document + +- Authentication: required + +- Response: + +``` json +{ + "url": "https://example.com/instance/panel.html" +} +``` + +## `DELETE /api/pleroma/admin/instance_document/:document_name` + +### Delete an instance document + +- Response: + +``` json +{ + "url": "https://example.com/instance/panel.html" +} +``` diff --git a/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex b/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex new file mode 100644 index 000000000..2144e44ac --- /dev/null +++ b/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex @@ -0,0 +1,37 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.InstanceDocumentController do + use Pleroma.Web, :controller + + alias Pleroma.Plugs.OAuthScopesPlug + alias Pleroma.Web.InstanceDocument + + plug(Pleroma.Web.ApiSpec.CastAndValidate) + + action_fallback(Pleroma.Web.AdminAPI.FallbackController) + + defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.Admin.InstanceDocumentOperation + + plug(OAuthScopesPlug, %{scopes: ["read"], admin: true} when action == :show) + plug(OAuthScopesPlug, %{scopes: ["write"], admin: true} when action in [:update, :delete]) + + def show(conn, %{name: document_name}) do + with {:ok, url} <- InstanceDocument.get(document_name) do + json(conn, %{"url" => url}) + end + end + + def update(%{body_params: %{file: file}} = conn, %{name: document_name}) do + with {:ok, url} <- InstanceDocument.put(document_name, file.path) do + json(conn, %{"url" => url}) + end + end + + def delete(conn, %{name: document_name}) do + with :ok <- InstanceDocument.delete(document_name) do + json(conn, %{}) + end + end +end diff --git a/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex b/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex new file mode 100644 index 000000000..e0eb993fb --- /dev/null +++ b/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex @@ -0,0 +1,108 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.Admin.InstanceDocumentOperation do + alias OpenApiSpex.Operation + alias OpenApiSpex.Schema + alias Pleroma.Web.ApiSpec.Helpers + alias Pleroma.Web.ApiSpec.Schemas.ApiError + + def open_api_operation(action) do + operation = String.to_existing_atom("#{action}_operation") + apply(__MODULE__, operation, []) + end + + def show_operation do + %Operation{ + tags: ["Admin", "InstanceDocument"], + summary: "Get the instance document", + operationId: "AdminAPI.InstanceDocumentController.show", + security: [%{"oAuth" => ["read"]}], + parameters: [ + Operation.parameter(:name, :path, %Schema{type: :string}, "The document name", + required: true + ) + | Helpers.admin_api_params() + ], + responses: %{ + 200 => Operation.response("InstanceDocument", "application/json", instance_document()), + 400 => Operation.response("Bad Request", "application/json", ApiError), + 403 => Operation.response("Forbidden", "application/json", ApiError), + 404 => Operation.response("Not Found", "application/json", ApiError) + } + } + end + + def update_operation do + %Operation{ + tags: ["Admin", "InstanceDocument"], + summary: "Update the instance document", + operationId: "AdminAPI.InstanceDocumentController.update", + security: [%{"oAuth" => ["write"]}], + requestBody: Helpers.request_body("Parameters", update_request()), + parameters: [ + Operation.parameter(:name, :path, %Schema{type: :string}, "The document name", + required: true + ) + | Helpers.admin_api_params() + ], + responses: %{ + 200 => Operation.response("InstanceDocument", "application/json", instance_document()), + 400 => Operation.response("Bad Request", "application/json", ApiError), + 403 => Operation.response("Forbidden", "application/json", ApiError), + 404 => Operation.response("Not Found", "application/json", ApiError) + } + } + end + + defp update_request do + %Schema{ + title: "UpdateRequest", + description: "POST body for uploading the file", + type: :object, + required: [:file], + properties: %{ + file: %Schema{ + type: :string, + format: :binary, + description: "The file to be uploaded, using multipart form data." + } + } + } + end + + def delete_operation do + %Operation{ + tags: ["Admin", "InstanceDocument"], + summary: "Get the instance document", + operationId: "AdminAPI.InstanceDocumentController.delete", + security: [%{"oAuth" => ["write"]}], + parameters: [ + Operation.parameter(:name, :path, %Schema{type: :string}, "The document name", + required: true + ) + | Helpers.admin_api_params() + ], + responses: %{ + 200 => Operation.response("InstanceDocument", "application/json", instance_document()), + 400 => Operation.response("Bad Request", "application/json", ApiError), + 403 => Operation.response("Forbidden", "application/json", ApiError), + 404 => Operation.response("Not Found", "application/json", ApiError) + } + } + end + + defp instance_document do + %Schema{ + title: "InstanceDocument", + type: :object, + properties: %{ + url: %Schema{type: :string} + }, + example: %{ + "url" => "https://example.com/static/terms-of-service.html" + } + } + end +end diff --git a/lib/pleroma/web/instance_document.ex b/lib/pleroma/web/instance_document.ex new file mode 100644 index 000000000..969a44e41 --- /dev/null +++ b/lib/pleroma/web/instance_document.ex @@ -0,0 +1,62 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.InstanceDocument do + alias Pleroma.Config + alias Pleroma.Web.Endpoint + + @instance_documents %{ + "terms-of-service" => "/static/terms-of-service.html", + "instance-panel" => "/instance/panel.html" + } + + @spec get(String.t()) :: {:ok, String.t()} | {:error, atom()} + def get(document_name) do + case Map.fetch(@instance_documents, document_name) do + {:ok, path} -> {:ok, Path.join(Endpoint.url(), path)} + _ -> {:error, :not_found} + end + end + + @spec put(String.t(), String.t()) :: {:ok, String.t()} | {:error, atom()} + def put(document_name, origin_path) do + with {_, {:ok, destination_path}} <- + {:instance_document, Map.fetch(@instance_documents, document_name)}, + :ok <- put_file(origin_path, destination_path) do + {:ok, Path.join(Endpoint.url(), destination_path)} + else + {:instance_document, :error} -> {:error, :not_found} + error -> error + end + end + + @spec delete(String.t()) :: :ok | {:error, atom()} + def delete(document_name) do + with {_, {:ok, path}} <- {:instance_document, Map.fetch(@instance_documents, document_name)}, + instance_static_dir_path <- instance_static_dir(path), + :ok <- File.rm(instance_static_dir_path) do + :ok + else + {:instance_document, :error} -> {:error, :not_found} + {:error, :enoent} -> {:error, :not_found} + error -> error + end + end + + defp put_file(origin_path, destination_path) do + with destination <- instance_static_dir(destination_path), + {_, :ok} <- {:mkdir_p, File.mkdir_p(Path.dirname(destination))}, + {_, {:ok, _}} <- {:copy, File.copy(origin_path, destination)} do + :ok + else + {error, _} -> {:error, error} + end + end + + defp instance_static_dir(filename) do + [:instance, :static_dir] + |> Config.get!() + |> Path.join(filename) + end +end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index e4440d442..a4a58c2c4 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -182,6 +182,10 @@ defmodule Pleroma.Web.Router do get("/instances/:instance/statuses", AdminAPIController, :list_instance_statuses) + get("/instance_document/:name", InstanceDocumentController, :show) + patch("/instance_document/:name", InstanceDocumentController, :update) + delete("/instance_document/:name", InstanceDocumentController, :delete) + patch("/users/confirm_email", AdminAPIController, :confirm_email) patch("/users/resend_confirmation_email", AdminAPIController, :resend_confirmation_email) diff --git a/test/fixtures/custom_instance_panel.html b/test/fixtures/custom_instance_panel.html new file mode 100644 index 000000000..6371a1e43 --- /dev/null +++ b/test/fixtures/custom_instance_panel.html @@ -0,0 +1 @@ +

Custom instance panel

\ No newline at end of file diff --git a/test/web/admin_api/controllers/instance_document_controller_test.exs b/test/web/admin_api/controllers/instance_document_controller_test.exs new file mode 100644 index 000000000..60dcc9dff --- /dev/null +++ b/test/web/admin_api/controllers/instance_document_controller_test.exs @@ -0,0 +1,112 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.InstanceDocumentControllerTest do + use Pleroma.Web.ConnCase, async: true + import Pleroma.Factory + alias Pleroma.Config + + @dir "test/tmp/instance_static" + @default_instance_panel ~s(

Welcome to Pleroma!

) + + setup do + File.mkdir_p!(@dir) + on_exit(fn -> File.rm_rf(@dir) end) + end + + setup do: clear_config([:instance, :static_dir], @dir) + + setup do + admin = insert(:user, is_admin: true) + token = insert(:oauth_admin_token, user: admin) + + conn = + build_conn() + |> assign(:user, admin) + |> assign(:token, token) + + {:ok, %{admin: admin, token: token, conn: conn}} + end + + describe "GET /api/pleroma/admin/instance_document/:name" do + test "return the instance document url", %{conn: conn} do + conn = get(conn, "/api/pleroma/admin/instance_document/instance-panel") + + assert %{"url" => url} = json_response_and_validate_schema(conn, 200) + index = get(build_conn(), url) + response = html_response(index, 200) + assert String.contains?(response, @default_instance_panel) + end + + test "it returns 403 if requested by a non-admin" do + non_admin_user = insert(:user) + token = insert(:oauth_token, user: non_admin_user) + + conn = + build_conn() + |> assign(:user, non_admin_user) + |> assign(:token, token) + |> get("/api/pleroma/admin/instance_document/instance-panel") + + assert json_response(conn, :forbidden) + end + + test "it returns 404 if the instance document with the given name doesn't exist", %{ + conn: conn + } do + conn = get(conn, "/api/pleroma/admin/instance_document/1234") + + assert json_response_and_validate_schema(conn, 404) + end + end + + describe "PATCH /api/pleroma/admin/instance_document/:name" do + test "uploads the instance document", %{conn: conn} do + image = %Plug.Upload{ + content_type: "text/html", + path: Path.absname("test/fixtures/custom_instance_panel.html"), + filename: "custom_instance_panel.html" + } + + conn = + conn + |> put_req_header("content-type", "multipart/form-data") + |> patch("/api/pleroma/admin/instance_document/instance-panel", %{ + "file" => image + }) + + assert %{"url" => url} = json_response_and_validate_schema(conn, 200) + index = get(build_conn(), url) + assert html_response(index, 200) == "

Custom instance panel

" + end + end + + describe "DELETE /api/pleroma/admin/instance_document/:name" do + test "deletes the instance document", %{conn: conn} do + File.mkdir!(@dir <> "/instance/") + File.write!(@dir <> "/instance/panel.html", "Custom instance panel") + + conn_resp = + conn + |> get("/api/pleroma/admin/instance_document/instance-panel") + + assert %{"url" => url} = json_response_and_validate_schema(conn_resp, 200) + index = get(build_conn(), url) + assert html_response(index, 200) == "Custom instance panel" + + conn + |> delete("/api/pleroma/admin/instance_document/instance-panel") + |> json_response_and_validate_schema(200) + + conn_resp = + conn + |> get("/api/pleroma/admin/instance_document/instance-panel") + + assert %{"url" => url} = json_response_and_validate_schema(conn_resp, 200) + index = get(build_conn(), url) + response = html_response(index, 200) + assert String.contains?(response, @default_instance_panel) + end + end +end From f58262c673616661baf9750c216a07d239ae99c3 Mon Sep 17 00:00:00 2001 From: stwf Date: Thu, 17 Sep 2020 09:48:17 -0400 Subject: [PATCH 154/201] add description to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75357f05e..a7a4f08ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Renamed `:await_up_timeout` in `:connections_pool` namespace to `:connect_timeout`, old name is deprecated. - Renamed `:timeout` in `pools` namespace to `:recv_timeout`, old name is deprecated. +- The `discoverable` field in the `User` struct will now add a NOINDEX metatag to profile pages when false. ### Removed From c711a2b15761db9d2d30035e9fee0783f0bf77b0 Mon Sep 17 00:00:00 2001 From: eugenijm Date: Thu, 17 Sep 2020 16:54:38 +0300 Subject: [PATCH 155/201] Return the file content for `GET /api/pleroma/admin/instance_document/:document_name` --- docs/API/admin_api.md | 12 ++++++------ .../controllers/instance_document_controller.ex | 8 ++++++-- .../admin/instance_document_operation.ex | 9 ++++++++- lib/pleroma/web/instance_document.ex | 2 +- .../instance_document_controller_test.exs | 16 +++++----------- 5 files changed, 26 insertions(+), 21 deletions(-) diff --git a/docs/API/admin_api.md b/docs/API/admin_api.md index eba92dd1f..7992db58f 100644 --- a/docs/API/admin_api.md +++ b/docs/API/admin_api.md @@ -1458,23 +1458,23 @@ Loads json generated from `config/descriptions.exs`. ## `GET /api/pleroma/admin/instance_document/:document_name` -### Gets an instance document +### Get an instance document - Authentication: required - Response: -``` json -{ - "url": "https://example.com/instance/panel.html" -} +Returns the content of the document + +```html +

Instance panel

``` ## `PATCH /api/pleroma/admin/instance_document/:document_name` - Params: - `file` (the file to be uploaded, using multipart form data.) -### Updates an instance document +### Update an instance document - Authentication: required diff --git a/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex b/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex index 2144e44ac..504d9b517 100644 --- a/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/instance_document_controller.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.AdminAPI.InstanceDocumentController do use Pleroma.Web, :controller + alias Pleroma.Plugs.InstanceStatic alias Pleroma.Plugs.OAuthScopesPlug alias Pleroma.Web.InstanceDocument @@ -18,8 +19,11 @@ defmodule Pleroma.Web.AdminAPI.InstanceDocumentController do plug(OAuthScopesPlug, %{scopes: ["write"], admin: true} when action in [:update, :delete]) def show(conn, %{name: document_name}) do - with {:ok, url} <- InstanceDocument.get(document_name) do - json(conn, %{"url" => url}) + with {:ok, url} <- InstanceDocument.get(document_name), + {:ok, content} <- File.read(InstanceStatic.file_path(url)) do + conn + |> put_resp_content_type("text/html") + |> send_resp(200, content) end end diff --git a/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex b/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex index e0eb993fb..a120ff4e8 100644 --- a/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/instance_document_operation.ex @@ -26,7 +26,7 @@ def show_operation do | Helpers.admin_api_params() ], responses: %{ - 200 => Operation.response("InstanceDocument", "application/json", instance_document()), + 200 => document_content(), 400 => Operation.response("Bad Request", "application/json", ApiError), 403 => Operation.response("Forbidden", "application/json", ApiError), 404 => Operation.response("Not Found", "application/json", ApiError) @@ -105,4 +105,11 @@ defp instance_document do } } end + + defp document_content do + Operation.response("InstanceDocumentContent", "text/html", %Schema{ + type: :string, + example: "

Instance panel

" + }) + end end diff --git a/lib/pleroma/web/instance_document.ex b/lib/pleroma/web/instance_document.ex index 969a44e41..df5caebf0 100644 --- a/lib/pleroma/web/instance_document.ex +++ b/lib/pleroma/web/instance_document.ex @@ -14,7 +14,7 @@ defmodule Pleroma.Web.InstanceDocument do @spec get(String.t()) :: {:ok, String.t()} | {:error, atom()} def get(document_name) do case Map.fetch(@instance_documents, document_name) do - {:ok, path} -> {:ok, Path.join(Endpoint.url(), path)} + {:ok, path} -> {:ok, path} _ -> {:error, :not_found} end end diff --git a/test/web/admin_api/controllers/instance_document_controller_test.exs b/test/web/admin_api/controllers/instance_document_controller_test.exs index 60dcc9dff..5f7b042f6 100644 --- a/test/web/admin_api/controllers/instance_document_controller_test.exs +++ b/test/web/admin_api/controllers/instance_document_controller_test.exs @@ -33,10 +33,8 @@ defmodule Pleroma.Web.AdminAPI.InstanceDocumentControllerTest do test "return the instance document url", %{conn: conn} do conn = get(conn, "/api/pleroma/admin/instance_document/instance-panel") - assert %{"url" => url} = json_response_and_validate_schema(conn, 200) - index = get(build_conn(), url) - response = html_response(index, 200) - assert String.contains?(response, @default_instance_panel) + assert content = html_response(conn, 200) + assert String.contains?(content, @default_instance_panel) end test "it returns 403 if requested by a non-admin" do @@ -91,9 +89,7 @@ test "deletes the instance document", %{conn: conn} do conn |> get("/api/pleroma/admin/instance_document/instance-panel") - assert %{"url" => url} = json_response_and_validate_schema(conn_resp, 200) - index = get(build_conn(), url) - assert html_response(index, 200) == "Custom instance panel" + assert html_response(conn_resp, 200) == "Custom instance panel" conn |> delete("/api/pleroma/admin/instance_document/instance-panel") @@ -103,10 +99,8 @@ test "deletes the instance document", %{conn: conn} do conn |> get("/api/pleroma/admin/instance_document/instance-panel") - assert %{"url" => url} = json_response_and_validate_schema(conn_resp, 200) - index = get(build_conn(), url) - response = html_response(index, 200) - assert String.contains?(response, @default_instance_panel) + assert content = html_response(conn_resp, 200) + assert String.contains?(content, @default_instance_panel) end end end From db80b9d630f9fc72ebc269cb24142501116c269a Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 17 Sep 2020 16:13:21 +0300 Subject: [PATCH 156/201] RichMedia: Fix log spam on failures and resetting TTL on cached errors --- lib/pleroma/web/rich_media/parser.ex | 67 +++++++++++++++++++--------- 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index 33f6f1fa1..c70d2fdba 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -20,36 +20,61 @@ def parse(url) do with {:ok, data} <- get_cached_or_parse(url), {:ok, _} <- set_ttl_based_on_image(data, url) do {:ok, data} - else - {:error, {:invalid_metadata, data}} = e -> - Logger.debug(fn -> "Incomplete or invalid metadata for #{url}: #{inspect(data)}" end) - e - - error -> - Logger.error(fn -> "Rich media error for #{url}: #{inspect(error)}" end) - error end end defp get_cached_or_parse(url) do - case Cachex.fetch!(:rich_media_cache, url, fn _ -> {:commit, parse_url(url)} end) do - {:ok, _data} = res -> - res + case Cachex.fetch(:rich_media_cache, url, fn -> + case parse_url(url) do + {:ok, _} = res -> + {:commit, res} - {:error, :body_too_large} = e -> - e + {:error, reason} = e -> + # Unfortunately we have to log errors here, instead of doing that + # along with ttl setting at the bottom. Otherwise we can get log spam + # if more than one process was waiting for the rich media card + # while it was generated. Ideally we would set ttl here as well, + # so we don't override it number_of_waiters_on_generation + # times, but one, obviously, can't set ttl for not-yet-created entry + # and Cachex doesn't support returning ttl from the fetch callback. + log_error(url, reason) + {:commit, e} + end + end) do + {action, res} when action in [:commit, :ok] -> + case res do + {:ok, _data} = res -> + res - {:error, {:content_type, _}} = e -> - e + {:error, reason} = e -> + if action == :commit, do: set_error_ttl(url, reason) + e + end - # The TTL is not set for the errors above, since they are unlikely to change - # with time - {:error, _} = e -> - ttl = Pleroma.Config.get([:rich_media, :failure_backoff], 60_000) - Cachex.expire(:rich_media_cache, url, ttl) - e + {:error, e} -> + {:error, {:cachex_error, e}} end end + + defp set_error_ttl(_url, :body_too_large), do: :ok + defp set_error_ttl(_url, {:content_type, _}), do: :ok + + # The TTL is not set for the errors above, since they are unlikely to change + # with time + + defp set_error_ttl(url, _reason) do + ttl = Pleroma.Config.get([:rich_media, :failure_backoff], 60_000) + Cachex.expire(:rich_media_cache, url, ttl) + :ok + end + + defp log_error(url, {:invalid_metadata, data}) do + Logger.debug(fn -> "Incomplete or invalid metadata for #{url}: #{inspect(data)}" end) + end + + defp log_error(url, reason) do + Logger.warn(fn -> "Rich media error for #{url}: #{inspect(reason)}" end) + end end @doc """ From 7cdbd91d83c02a79c22783ca489ef82e82b31a51 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 17 Sep 2020 17:13:40 +0300 Subject: [PATCH 157/201] [#2497] Configurability of :min_content_length (preview proxy). Refactoring, documentation, tests. --- config/config.exs | 3 +- config/description.exs | 12 +- docs/configuration/cheatsheet.md | 8 + lib/pleroma/helpers/media_helper.ex | 1 + .../web/media_proxy/media_proxy_controller.ex | 90 +++--- test/fixtures/image.gif | Bin 0 -> 1001718 bytes test/fixtures/image.png | Bin 0 -> 104426 bytes .../media_proxy_controller_test.exs | 278 +++++++++++++++++- 8 files changed, 329 insertions(+), 63 deletions(-) create mode 100755 test/fixtures/image.gif create mode 100755 test/fixtures/image.png diff --git a/config/config.exs b/config/config.exs index 2ca2236a9..98c31ef86 100644 --- a/config/config.exs +++ b/config/config.exs @@ -444,7 +444,8 @@ enabled: false, thumbnail_max_width: 600, thumbnail_max_height: 600, - image_quality: 85 + image_quality: 85, + min_content_length: 100 * 1024 config :pleroma, :chat, enabled: true diff --git a/config/description.exs b/config/description.exs index 79e3cc259..4a5d5f2ea 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1961,17 +1961,25 @@ %{ key: :thumbnail_max_width, type: :integer, - description: "Max width of preview thumbnail." + description: + "Max width of preview thumbnail for images (video preview always has original dimensions)." }, %{ key: :thumbnail_max_height, type: :integer, - description: "Max height of preview thumbnail." + description: + "Max height of preview thumbnail for images (video preview always has original dimensions)." }, %{ key: :image_quality, type: :integer, description: "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." + }, + %{ + key: :min_content_length, + type: :integer, + description: + "Min content length to perform preview, in bytes. If greater than 0, media smaller in size will be served as is, without thumbnailing." } ] }, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 054b8fe43..d7c342383 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -314,6 +314,14 @@ This section describe PWA manifest instance-specific values. Currently this opti * `enabled`: Enables purge cache * `provider`: Which one of the [purge cache strategy](#purge-cache-strategy) to use. +## :media_preview_proxy + +* `enabled`: Enables proxying of remote media preview to the instance’s proxy. Requires enabled media proxy (`media_proxy/enabled`). +* `thumbnail_max_width`: Max width of preview thumbnail for images (video preview always has original dimensions). +* `thumbnail_max_height`: Max height of preview thumbnail for images (video preview always has original dimensions). +* `image_quality`: Quality of the output. Ranges from 0 (min quality) to 100 (max quality). +* `min_content_length`: Min content length to perform preview, in bytes. If greater than 0, media smaller in size will be served as is, without thumbnailing. + ### Purge cache strategy #### Pleroma.Web.MediaProxy.Invalidation.Script diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex index 9b7348ee2..b6f35a24b 100644 --- a/lib/pleroma/helpers/media_helper.ex +++ b/lib/pleroma/helpers/media_helper.ex @@ -58,6 +58,7 @@ defp prepare_image_resize_args(%{max_width: max_width, max_height: max_height} = defp prepare_image_resize_args(_), do: {:error, :missing_options} + # Note: video thumbnail is intentionally not resized (always has original dimensions) def video_framegrab(url) do with executable when is_binary(executable) <- System.find_executable("ffmpeg"), {:ok, env} <- HTTP.get(url, [], pool: :media), diff --git a/lib/pleroma/web/media_proxy/media_proxy_controller.ex b/lib/pleroma/web/media_proxy/media_proxy_controller.ex index fe279e964..90651ed9b 100644 --- a/lib/pleroma/web/media_proxy/media_proxy_controller.ex +++ b/lib/pleroma/web/media_proxy/media_proxy_controller.ex @@ -12,8 +12,6 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do alias Pleroma.Web.MediaProxy alias Plug.Conn - @min_content_length_for_preview 100 * 1024 - def remote(conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.enabled?()}, {:ok, url} <- MediaProxy.decode_url(sig64, url64), @@ -37,7 +35,8 @@ def remote(conn, %{"sig" => sig64, "url" => url64}) do def preview(%Conn{} = conn, %{"sig" => sig64, "url" => url64}) do with {_, true} <- {:enabled, MediaProxy.preview_enabled?()}, - {:ok, url} <- MediaProxy.decode_url(sig64, url64) do + {:ok, url} <- MediaProxy.decode_url(sig64, url64), + :ok <- MediaProxy.verify_request_path_and_url(conn, url) do handle_preview(conn, url) else {:enabled, false} -> @@ -59,8 +58,25 @@ defp handle_preview(conn, url) do content_type = Tesla.get_header(head_response, "content-type") content_length = Tesla.get_header(head_response, "content-length") content_length = content_length && String.to_integer(content_length) + static = conn.params["static"] in ["true", true] - handle_preview(content_type, content_length, conn, media_proxy_url) + cond do + static and content_type == "image/gif" -> + handle_jpeg_preview(conn, media_proxy_url) + + static -> + drop_static_param_and_redirect(conn) + + content_type == "image/gif" -> + redirect(conn, external: media_proxy_url) + + min_content_length_for_preview() > 0 and content_length > 0 and + content_length < min_content_length_for_preview() -> + redirect(conn, external: media_proxy_url) + + true -> + handle_preview(content_type, conn, media_proxy_url) + end else # If HEAD failed, redirecting to media proxy URI doesn't make much sense; returning an error {_, %{status: status}} -> @@ -74,58 +90,27 @@ defp handle_preview(conn, url) do end end - defp handle_preview( - "image/gif" = _content_type, - _content_length, - %{params: %{"static" => static}} = conn, - media_proxy_url - ) - when static in ["true", true] do - handle_jpeg_preview(conn, media_proxy_url) - end - - defp handle_preview( - _content_type, - _content_length, - %{params: %{"static" => static}} = conn, - _media_proxy_url - ) - when static in ["true", true] do - uri_without_static_param = UriHelper.modify_uri_params(current_url(conn), %{}, ["static"]) - redirect(conn, external: uri_without_static_param) - end - - defp handle_preview("image/gif" = _content_type, _content_length, conn, media_proxy_url) do - redirect(conn, external: media_proxy_url) - end - - defp handle_preview("image/" <> _ = _content_type, content_length, conn, media_proxy_url) - when is_integer(content_length) and content_length > 0 and - content_length < @min_content_length_for_preview do - redirect(conn, external: media_proxy_url) - end - - defp handle_preview("image/png" <> _ = _content_type, _content_length, conn, media_proxy_url) do + defp handle_preview("image/png" <> _ = _content_type, conn, media_proxy_url) do handle_png_preview(conn, media_proxy_url) end - defp handle_preview("image/" <> _ = _content_type, _content_length, conn, media_proxy_url) do + defp handle_preview("image/" <> _ = _content_type, conn, media_proxy_url) do handle_jpeg_preview(conn, media_proxy_url) end - defp handle_preview("video/" <> _ = _content_type, _content_length, conn, media_proxy_url) do + defp handle_preview("video/" <> _ = _content_type, conn, media_proxy_url) do handle_video_preview(conn, media_proxy_url) end - defp handle_preview(_unsupported_content_type, _content_length, conn, media_proxy_url) do + defp handle_preview(_unsupported_content_type, conn, media_proxy_url) do fallback_on_preview_error(conn, media_proxy_url) end defp handle_png_preview(conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) + {thumbnail_max_width, thumbnail_max_height} = thumbnail_max_dimensions() - with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(), - {:ok, thumbnail_binary} <- + with {:ok, thumbnail_binary} <- MediaHelper.image_resize( media_proxy_url, %{ @@ -146,9 +131,9 @@ defp handle_png_preview(conn, media_proxy_url) do defp handle_jpeg_preview(conn, media_proxy_url) do quality = Config.get!([:media_preview_proxy, :image_quality]) + {thumbnail_max_width, thumbnail_max_height} = thumbnail_max_dimensions() - with {thumbnail_max_width, thumbnail_max_height} <- thumbnail_max_dimensions(), - {:ok, thumbnail_binary} <- + with {:ok, thumbnail_binary} <- MediaHelper.image_resize( media_proxy_url, %{max_width: thumbnail_max_width, max_height: thumbnail_max_height, quality: quality} @@ -174,6 +159,15 @@ defp handle_video_preview(conn, media_proxy_url) do end end + defp drop_static_param_and_redirect(conn) do + uri_without_static_param = + conn + |> current_url() + |> UriHelper.modify_uri_params(%{}, ["static"]) + + redirect(conn, external: uri_without_static_param) + end + defp fallback_on_preview_error(conn, media_proxy_url) do redirect(conn, external: media_proxy_url) end @@ -189,7 +183,7 @@ defp put_preview_response_headers( end defp thumbnail_max_dimensions do - config = Config.get([:media_preview_proxy], []) + config = media_preview_proxy_config() thumbnail_max_width = Keyword.fetch!(config, :thumbnail_max_width) thumbnail_max_height = Keyword.fetch!(config, :thumbnail_max_height) @@ -197,6 +191,14 @@ defp thumbnail_max_dimensions do {thumbnail_max_width, thumbnail_max_height} end + defp min_content_length_for_preview do + Keyword.get(media_preview_proxy_config(), :min_content_length, 0) + end + + defp media_preview_proxy_config do + Config.get!([:media_preview_proxy]) + end + defp media_proxy_opts do Config.get([:media_proxy, :proxy_opts], []) end diff --git a/test/fixtures/image.gif b/test/fixtures/image.gif new file mode 100755 index 0000000000000000000000000000000000000000..9df64778b72095084f03e1dcb7b57273e58ce8db GIT binary patch literal 1001718 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%0D1hM&QC7wz5c%f38fi7Bwvmy8~`sEai0w+ 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௣v1hJBPF5c zr3&emu43vOks;izd4f!>2eH}mhF6#`t|ouA@`G4_S{;mUA?rS!gG!H zmA{UOmVe(Z8M3R!55#~H#G455yMtro)f5{9_`&@85x$J`j0(C9q8qW<;Z>iU7#{i{C?$^cho-F4%%8-$hvW^McBtG1B? zl$QPy0Zt~Lg)}x75rIV@hj=_^vvy4d+7BqnT7dtm}$R zW=Kps7)`X#kW*giQOYe$Zzxpr;t^OBE+xc&o&wPrO?VyZURx>hL5*p%=<)yU9heD5b zJ2vY(OJ%$Kom7_6hBpn^OBf}1CC7niaKTV}QWD*Qu6MIG2J+mm+31qu80D?5-hcjM z4`cKIhXy)PvZW)yE4V~I)xu>3L-Rz4b%3FCY?3%W=~+nPeai&DsknftX;hvH$0K2< z=5h32Lt1CufpM$oaZ6)^O(_$p?=ynu3;Irr``pw6g)1<@MC9 z(Q(9=Klw{4L>nWlN2@lje)UYQ(KIr{7<~$c)`cex%Ew8j8u<*&;BGNDHyi0ljkTg= zPtw6!y%X1_R59|ioq1zjnqVd)FeW;g$|DC8)FfG;mT0kofmzCqKjiwK)GR<+Y2x_E zM%MF$%6nan<8xQ9l%&BAhVV5>o&?j{Jkwv=MrLP8?o*~&j3Do>rpDN73wbXVS>`jI zPc7@2jXLS^7vkF$yE^_(t;QDrzM-QW$@r>2IT)T2glTbFZPrIa2VxcMIIu>Aq*XlK z4$mAazBI;|LlzMKXD6N}e*W*+)88{fJmTOhc*uLmLf~GK6%P86D+$sKHHu93r9NmbrV@gM zV-tr)|Nc+NmIo4FZ4=nFhpbkcFPxG>LKEp`fIVX?kuyuzAMtH1EF5K+PsGku zuOxa-y_}%6v{8z4iMLjBed|!R>{D&a)nYle0Ok?Vkv(RHz*pSNOuB0T2tuM5F2O)N zDNr2dC9U5LWVORsg?ct(cPg;fm6u()176!v97y_=V~MCwLoTtV{^G+`JO-k0%laK| z8gv$`_glM&*DD9w-?s99>*+B#q|ow@(2{duo3Gtozq(&b1-F55S$!KTI+hE1Ok7C? z-1?!D8X9i+AijK+v_eDMM4t`leEN+ zUS2h3YJ!hb$J#$uTK8Hj?bKiIv_%n1ElL9Mu)bF}ZFIW- zz7xkK2EnoKHJ7Z2N%o}Y7MpP_3fvUm*UbjeYp$wu(m$I7Oc})-DEX1%XI+ONxLUK>`6+iIS}6Go%+@V(I3(w_D2Q|eO|0S}Z&kX|TKdz-cCN%2}RN&q~?tq?)eH9`(iSOFt-l6YgR(Y>WUyw$dG16^)$Z9G$sFRx6*Gd?n&Ik-dY zDA`AK$thS(?5CO4MzU`t)KVNO3>E7f_IP@4bBnb_hSke;Z0+D;5(lSowYhP_d{}9F zh(wz}wV^!|b{2%^f7N)sSjAoFqD@6V{_%Q08~nZx`Uw&V(%>julY%OXZZL1@?X1%b z227HjC7s`Rj3x@Wsea(y96yrS${KgTql{Do$jSkapG<-5B6fX~ceQ89B>XF-FF;eb zl+$t4`h}OEwF!kQIKdX3AjltQyGLV`#2Dx3Fn~(&!FdjOzmaH83jaIL9`thS6A94z z(!&Ny4V7oHT7R?l61cu)V+3M!0JwAc#pl~5$e1~Gd!2ydl0`>kpJp=t@=8enY0-}ny>EYPP1OCe1(N;`S9kr_d)cMtyPPV+4}|7@Z+ zN;Y1IPfgk@-Sdy)_!98@=tRbE-0e_2^6(lCaGx+ap0+2Ong_DuU$IAb`=mAXa!&>m zkGJLwFALw_B|3$^wEQ$Icp!dP0OxCoq1Q@A4R^bTwc7PL!IZDVoB8Q>@cEoc{hFF30p0JVf)Yf zzuH9vZ95CUn=+T|&jKQoxapTs#iZTEg7LSefl9;#cGSW_u54QPiQDb zmE&MCNYTi^!nvZ^=vCiVZPIrkZ)Xux>N~9o0OEJCweOq%jxH2#Lf*JZ1p&vavf}uE zR6?oF#mRZ=#F#N*il0)vZNKfm%FdNY4#W*T5-?NKb;37`wx{&*)OUi0F{yTa`+vW4KSeaaESozn_cizj$Q3v#P$x5lN0p zhtEQaD_*;dT|^IO2qJ~p!?mlHm;3rVG#isKjZm3ar_S$3S|^((kLz_FhBFM9>Yqp$ zm^hrd9sVYH@R-W!=(9f`B1!p|?7oS3X{?1TF`nJV!ue9aY%AG@0FC^lwJbx{qwm?& zeg64Qirf0P@~Y4Gm{%OPxZMP2%cbl*tMAfDUh3bD=9-`vf9IC6wvrn4C9op8p84E! zI>bXQ-s$XwUCBB7FdJ8_{O(vQ)Lrl(Z-g^y-tKtOVcE898^^B_-d`K0E6 z?yxwXuv94d<5qK9(mCWZ)^h<`8f?&{1@%Ca8IhCq=-#`7zDK`;>H+0Fj!5pmt&X|` zJuCVT@$u-%i?3VXX0J~fV^e}aCW=>gDgF>`3`J33%OD6H{;BjdSxE2}?FRHe72jFi z0i3Pi#H;03L5}b$j5aZ$XCSGBkhHu;23G*mpV}o{g3|q{QN)DW^81_B_qJaD1*4)H z%+KHe5>A)KL_Z7=A}1X_Kp>M$z@Zctn?@&S(e7i8W~6iDk{98fm@V-cE=bOx^IVnC z!C9~P*|n0sTK$%#%E;1b>jK_Je!ZG9EEcvb5fkoq+iPajF6y=Gmg^P1BkGNki#u&d zD-;vJU|e^t3aM$}FY?9x6 z$AeN-VYdJr*oZMNK;F@Z&_Ztre|HVhf{!}h2U@y9nVRt$nIdd)NNl8Z?Ey#jR(jOF z6AaMJo2zzp$%|7*w7hen7=|S=e`hSf;fz&=cpuPux`CMdO5(>^tbJtXv7}4qw19?! z#cLzk%>uV9QtVWio7c}{oPx>PW6)6x9VwKAbQr}~05l{Z984w6(+NzRL?QPqd66rQ zoa~|tALqlGfp@VFjYI00A2K8X9+}2oxfj4ay6vd%V_F)pW5~m4Vd0MNMzZUUOWD$| zmuE9d8rm(&S&Q@v(I9$rrZ?3LD8pKf^}N0XFOgO~9okf$vhCWH#ucG{+^q~^lQCU7 z2;mHfuV;2-NHXi@*BO$~u0^=&%Vk%v;+5(c57XKugnM?Mu<|LVsV5*y z0iprvREFgNOu{J%2(b!V^U>aP`!=EeoV^wCX%o71z@QrLNShw2uYjK3PEomTK)wEe z)+lO(C}l|z7!oCU+rty7RQ|5!b1A-VF7O|PfpyghY%0g6wm_`9j!+H5ej$^KNBj0v zW@KDl|E7Tosv+$!^c(0XIzE)16il#tDX}lu3NKR98#s>y;e!%SKzJ-$-x+{G+WD{QO&u&0*)ebZQOV_{BCJ5Q1Q9Bi#;LpfQo zBQ@?pY1Vh1Reg^+HaaGcla$X$EssBXsC1_A^3%=Vp+&(Th*R_&BDL34lGEh-iV1_# zgMkcGbdSw6p1m3t$C^^MJ9{Gf=bOMlq|H%9J!jAQYcV&Bl9u?0P_Nr z;anfYct_!@sle4cv;scrWUPGkAd$<2Fjc9<`H<`+1(_PBIlV)bc#a*+Q*)Cl%8ezRAjQQq4<{ix{`yk>e$)L0Bjo}*O5d6EK(1X!iwbvPIPIR zVQ8UF$ZqdJ701rTylnn?KA10ZOs0{X*6>ybwF7se2&N_ps#Kqe;`J2X4xMGM36^xH zHxgw8CkRZRAy7C^4u4-mjAsj_C@u*=7fjZ`rRlvhJt?XaGHw5Jk41|14s~=*wv&e@ zRj^W`TnmeGRtXW|fla0v!LXd02(<>MPl#`r|ns)zELk_ z$#>z%Y`s)$ORGA?^ zY8{6xaEmh3P)p^DfK}08Mr?PT=Ul6O|18NgIj`s2A7gy7v&f~5?D$~>SSr&|)NU4H z$eD)HFojH4|EgtDe48v0`hy;7Mn|Cc^kW<;ZvW!D3#Y*V!iX@t4g=Dq#sRIZWVzid z1+-q3@sW5UwB6jP%TLH0?DX)8Rp$ese-EWE=_gV>`UT%=22W!3M95#<@Q{yGT%iJ+G!Mxut1FcIRZ&G$&z$VWA= z!F;aC8bcS)P76=s&Me+P#})#R3n$l`oZlU9N{Cg%iFMdy0N9dzoH#7x_nLfa$0<#d zed98Pj_-|l`eJHWVGNq7+hW&uRB^gI2KEyGG0y+`~_p1l7wu-6}AJjHs90H<7bhF8X4le zlj1$7sk)5}elu<_g%f!;5&baJ0%^+XOTb`=#2c^|0V^1Qrm$Zpk_BU+G(K`KL3jkT zbjt&IF`%1tOAf+?JM@*Yud1EZ%6dfSWqhZsM(K09gxt0}6NBp*!#^yQ0xqdj2})mr zQRkb+CXT5z$++82MBA8!Sr_wY;3uNYAyj}NuCky^fI&E?Vd?{oKb1IbF<;KfbE;1@=w{Q z_H*?F874TVhBN&voh*6ZHxoeZ;xT!t(O624g@lS*Zpl=`@$d?>!9Kekus8#ED;4}= zK$6o!=s)dQ%-85n8qjx~=EdZA9<|KRjv#5#|E5%blZ~{IxNp=mSB5j^svi8OEza#s z#3`CF$!uNLa+gBH77bB24a4_fDNRuaRqAcAY(d@|K#wU+IEAO}0 z4Ii9U$vt~Me}1jkyKzi6dY6d+0;e)_Q|OwK3w3;tL`27OyVznu!8pj{pH4s*R9zM) zDQug1@;c4*&rtbM^mN^M5d%KIUQ{ycAk2xm^ix-f9VU6I%8G}fS%a3ehKx@OL_ab3 z>rTrxZZtRKk8JcaruJ;OiH|x^Waqxd$SE}V;nNGd2KiINI50W+?X%FAM&X|N8KkfT zJn>*z(r1&ofN0xHbbIqY zQfON^&!K~MtC>Pc*$ul96Hy(_7Nop(~+Hq$LB>Eoz7m z0gC3=Z@O)@dtDa}@EUvpXo$}%z#Q?vndx0|jso9`f9e1r`$Uc^_1Vf|cqK{C0Az1t z)~&|B!xJSYm`sJh&w)0Tr{vm3`gpFI8-DrhV(8z-W_EZRSY&lyh(?4Emdk?TZ^W*W zGzY4vgj6fyD%oY}F0p4EJ=SOKva2fLK&{tk&?)Vt*iL*?O1>fBDk4PWqI2UWBQgt- zAQ=fYQsxZ=g5H`_W^Lnj2o`baFNPlY6UkM0%}+49hGL9}5vFAj@z( z;&_^pOa112_2rHW1)Y7ak6U=Mfe9<0Ndl9ZeYxP`u7pq`@CzFW{iX|e-|Nc81VLD` z*3foiGXYF0wHUiOtow$O8Xfts-~^Fokl=a+gBUSqg11$h$X?Gs_3FBKsSuS*iPfGs zK!Q+?ohX81^&N?dnKx|fF)kx#4d&M1Y&$k-@^M;LFL_%Hx^?s%ZK=kvGenHYR0KV~ ziv?)`#6{xi7!v7l@eIT9RM8{}*~Nas9i@dul#tZq0z`|2+fO}Ug#ZAA^5gOF_o^Oy zvtF`dC`3#ETD+6$Wq+{e4Yk12BESNq62iu+?OZLjR6MoRo}zvQY@HY(;d8uQfk1(F z;~hw4CwGMV?MUP3j3yiIl-vq$ZG2S9J6hH8`!HH1#R$&%Lw0 z2-2}ON@4ku`7@bB(B5D6yN|2fseM&90Dt7|fB`DVm6t`&exp9=WW!go$@3(8Br&!y~iBsnx9;nP2r4&-rhgZ*^^*BWBH~u4c zLqPyqE!FwW&F@mX7}SsLMh{sg{aZ84Z1M7t!~-iXK~?o5_@Q3HojxO>7r0zLPWL8O zt(PeOF3zJTdKz0C$#9P}7+-u}i$U8vq4vdV(7gz@YBe;}5^WXO)^3&AX>a)0@5^JA zbV6C9I%oY*?a{+Y+Y}ECH-4ZvX6$>PNY0g~wTC*>^!p>}L%X6I^;bvFLG2F1z8;&uo(M{V@ccI@2pM{yiM?7hHs`_M>(NrnU-C>+*Jvz6`ZxY+9(*W|Z0fUa{BFl6}NOQgS8PAC}M4~SHa34FGQYw-S*OXfS_Oq;_ zWR$VQO+&EIDLq*7gs0_FLil$ABLJXZ9c^&+q(L^v=j%k}J&X2-8lwM163v|nW`yFO zfZz)RAv(?#SiKCa4vKYis~+S3FR;|_TYc9uu;+<}fEtwAkHf_cWO-K#<`8)DAb2V{ zSOqQ#h?BVT>No=hBJMb;+h4cvB~^ifp;950tMKWO?cfg|2-Q@~G?|Sw1B>L3q;}}K zz%D5ToNeLhf#EEfIy^TRXf(0p*EmwPb$ zRA*QKfZ5d<0)SK%*O)9-G;M)16DeTm6;E~O-nV`x>mMR_9sDTZt9;vck<>GmCqatW zQ;Nl10I|e7Pe2lY#8p=fy*)yn8m09=G((9x1D6rw4iTl4@M;%p>!AyEg!W_rC>gYW zy+uQXG6Yj)l>0CbJ;@4=>$%EZP1}N=#)qT~C728&7Gy!(Lew^IYmE!eAB-Gy)|cNh4{APcn8`ptym9r^)fb zu@38D0&m4NK#4(V6OsA|NF9UvI^naeMdoJia!~E6zfgGIG~kvh+Q*)TBw4qkxyiTNz%xO zp#saBq_NppFVHe(Bcrass3}d<@b^y;2pCH?a&ffT0vsP1ZT>V4>&!ijR2O4KH3_(u z2b+QwG1UYVv%;=`f^nDs(>>DKwxlq&gH_*sQ4K16FMiS~un{;ANUrUx1XAi1->B^n z_-v%#9_1+$FEBWk+Pr;hHlp&`pe(HSL24F^pAhypfROj+?%ll{9lpW6YfeNY`z&+X-AR>9ftIuo@{HKJ1Zd9X7<}>o3s%yKkL?+__q>0c z)|z8W(IGB>n`pewwL3PESq1P$Jj4>&I)G;jx1JmfPGaLQ- zJIy&PtaqPDCk7BlsuI-qkZXI|Z>DOM*%$@T-3nU4m`h_5C9q&Q)iK^)5KM`LI0IYn zqIFdIDD8DQH63=&vEt+!11wD)44ZWTW%g+L$3Jp`=`EvRSF^A!zvFHK_f0 zZ~H(@2iuR1r9qp!Tc3|r0D9(~;CsP0E<@;lyOQnDLsWdWbS;eCeN#;zi{GCa=d9P1!h*tU z%`grZaBVuJws0h($6h1wkd3{&_FhlNR|Hh4=pGY)=iH;Ac{G>>0`%-3d-dX8n`!xY z$M2EVcuKhj^FgI@w!e3)X`bIPV0M=sy{-1)x>p?*qgdVb6!>CJN6UWmdTT98m|_Qu zv;_XLi^pR?OiI7pQ-`4@?Q{=r?mhXtsq48JXt8JQ<;et&=ugNPh@F3aHUDCOGKsS% z$GOK|{S^E!YiaTg@BP3N75U8=tnNS4>uOrI3j|GskCTq(;afF-^K=FXhdLU)f*TLt{zcyXkH)(jbUcK6nJE>!Z1rr4TNupv>?L;XdkgG<5b+@IE z84<0O4xs07PE-anA97CNijxo`&LZE3dwF3>*#b+Zt*M3fWrj* z9r{8)9^Y{sVml1PjRPOEE5o(*PLG&t)U~a@C?yHK0chhgSrY%OqZah?al$quDA@*+ zSLMo4)TelpN*<4123KqWD3Rxu8C7D2fq!e8ZC|&LwUHlzVDHM9N!NgC>hoQx_2i)n z+){jbr0|Kbd*}UgItim6v-(AYLeRY*R7$q?q%LcprQMPEP<@`)5aRP5m&E6PUjQ`3e~7Fa zu`fcSPctT#$bleB$2@JO8;Ns(^M&%fslxTAv@go&l#H)O@=?v26n9c)9;4rO8)!4y zX8?7JffRD5{Sd1+6D-uN>=GU1w_`L}h43Y22r}uc`6n{`1R@BIF`M8T(=$4LN`Fuv z@Qn4Vk>m^2klr&sM21vyakH(EjHtbsMMDWdv*pVSI7sv(t-!m`j}p{!+&LBpPx$up zbnWv}z#LP{$X6CiKPg^Oty(5ojZtTY&D*Nyw|CvVJ8AUV@#V_^!937ukGymEXuTeY zDvO6<3$x$arkiPgD*o&zU6|3(;0HM+fqJA>&fq_p^GA1HYu$lZi+5?!vOK9v+m77! zWCq&70gtiysHcqYOTxF;>MKkTSfHpGTu$Wgh{ojg0KnYNRxGIw@=aa*Alh&)@E|k= zZgOL{zOYXr=G&v7rCvE6$-;cYMbnb{}L76&S5ZBl0t2u!nKiWUm#& zV`rAA2mgJlT03e{MYIFLQJ!T9*+q2``qsX-NNT9k7KX*rLi~36#;krRnt|1avlMAb z{f?Yv#bR9k+%n1bt~`YZwd~W6lOL&0KB|Nz{AV&0^dUX)m5|bYptF(r)!RDF-)x0l z?33Bhzd3D-v%c@~k&CTef&S{l_|1y2dD$1=u78ZOsG?NbacxPLm2&13+c_i>BqteUA8*W*Wa32VI@n6m_p~tG9)r}UC z>~Wec>Dq!4lm?vFDpN`QSU+X(hsA>h4}pC6lw+cB0;LBUN~eu^Q-Hnh@!vR;<$yy-Cg|9ry+olBo4r`-l_BS3`_J?z(~}^F3`5#$3yyqO z!JD=ijK;*;8rsTDyu7Mz}3YTqmGxCsZ+P? zE})WJ9kf^BO&io&;+*spu!P@Hi9DP9acMg(l~efE!X=P?|9W`KopM-0e>M2ZOLcNy0(yP7ow|0R?Z$#PWdR?^*W3u&$z~EqG z^Vmc=OUPrr9}X1PTY4{8tdAN)p81l=~C{w09Nm$ON3n#6Z`KJsoU5|L#c>tP{uFWm_L*ii8*+0xVqxtQdiS=f77@ z9{k>P0m%KTReH(E6?rW{0e-2$&$Z>JTfB)mP`IEJ5F%$vN*ddKRf`hy$?(4D(GiP? zk|dv5@RR3TtEw$-x(c{kCV_XZC1WBaI%%TbQ6$l}b3=sEO7H*ObiZ+QF%Z7k8vJS> z^FwNIl)4cuP$mlDCbzi%MKf6<`Yc<3d&ZW-i_9U_{WUJ@vS%W5#>+Gelri z!kae3EE)ZLqTEnNA*s?IN|(jW_BJhYtN@KKv{s2(%=dSGn!RQ^py0TxvEyR)wV3Hq zmPDgQtBW|=o$cj+D?K9`mg3DprVM(9mj5=5*7GN zly)c)y__ivM()b;zR8!GZSu0tx+4(}6;i|cIn+@*#_P7@vByf0fLAMCVfVp#q5zS&vF1oFiKN`r;|cg3;4zS;#AZ>CL+_WU9$Oacj=2~dyI;@ z^NHF^}_L;Md$qIcxij5qhjPlX+^FrExcC(Wm2>272NB z(rxDK+NjN8n5uZC&%>*chz>NZh7=n$jY8)biy5JzzJcQT>6x6##D|@y zUN|y%{P!P-#fm zF5-4u1H&6yjyKTfS;Jn0;r2viN(dkbM}J_{vLyw^ogsMisr9>fsks1LIGVHIKi3l{ zs!Fpo*TGCRS-}0OX0d3_LAgtMBXfFZX1Er%yemaS6ZvNgy6Iiee5$X1myWK|m$p{A1?{O5$&TBvoiU zvj#U$wU)wyIkiwev$6&6HZ3P`fzn@!PZ!H)_MQ5DgWUl&P(*Ixof z-MdC)c#UYKfumej-U~{n@VlmLT-=lAj?>`#$7f*leni3?aZ0bYw6z~LrYYRHL)Ud zI!ly>4H{(rA`Ux05QgsvuUQx=6x7E67;lBAJ@+m<;iXit2_kzHHyd#@S?MFBR9(`V zpp;FIDx_I1`JpmrNI(ROs6U3a^~et_CUl2MlP}(c{p^~R`KyY9ETXAer3@0lmU7&T zIq_H`?0`VK-W2MQ`AwV=2(rinZkbWusjfl2G5# zmF?tu=u_;zA}0``1Q6{UTZuM63rwE?-a?5P3*O5hWLV&Fb)a; ztq|OlPCk7+z~J5~;g1}HFu9qquNj4v;p<$%o1}jPSo4~A%JnphFQyVsW}6@O)Ixl( z=d>(7B`7Z#6YxDy4f)&5W~=KjZ?wr-O=_|_6G`w=UTpX_mX3_TMP-6@8|{fEN*J$w8gQ8Do@A>xRX zCP43}R!Z-hzlanx4vTdr6h@1Eis_$le~$$mEbAwt5%&1-^L`KG)gWE~mE)53AWfuu z@pDJ7U~!GW0`a#w9pEl`s)-%1rz>|zgHO?@YZ0qJmU;~tHxuoFz#qTDYXA`!aw7!> ztN(f(0S)+L5)1n(c$5wFh-k^9Ji+B_3xBCF_4}+Sxd>t`arBrSgCL zktTJ5cG>|ih$$fo{ycnXajW*N6RDdT2sBhhbumXn8?l-|nWIFmSNx!K@PRq=jV5cC zdjKj>l$T>thUrAc%cf*k%RK(NJPHdn20MV4H&X{Ozh{MVI*Q4J2u;IM3cWBCYU*7q z1owI=jcMH)^;eF&%xU1tl@H1Ny`CG=mQ)UaE7T?!oZt@l^4RPQZ?Kd&*k*d~Uj*`v!vYrP=438^FIqI zMzGSS{>3qNX7Q!yM7yd_rB$xFDKx!YBqg0G9=1g)G~*r8(fD*O1nZzf@lMW?QISlc zdhq9R^)==9#I)j)^qK)lSyPuheNT>k?F|su`o+{n4dVagN)L(}PXiBd5>c79M zU7o}{?No=XKKk@?6WiMR9VRLAVXLACT7W`G)IK=4u$5*lC41|lyiw-~t=GKDG+=Gj zkIgTggZo>mv+OdK{Du_0rBWch;PI4kJGAux6&2m0<*`&hdHR=SVHN%1M@6~uS8@kp zAT*$*f&A`w{}#j4s_O%R*6Sx#58WcmGFz*WFcOG-MS{}rb@g3U(@3`OV#$#zxd(F9 z3uW|5yE##;;cuTT>oIkb6fNUozT7T26DCgx^f;)a?jqI%5?K`iC3xTLhq6@=8DO(S z=oOxp6nI_6b`}3-2>jImRe@Sy;GFT4$JVton4U8d0}lvSTPyrwn_GkK%^vIx5e0Ff z6C8^xoo?R4Jnes**#G)z|Ms{Vt`=ctPoA+unB;T&Hc-eMp5#-LpqIRC9P*lq&=4E+dmGgN`e$Gsy%mBe%d8c9j#w`NA3h zq_M=A{LNq8`S4V^wr_HC?Va7sk!mXpPkvTWwc_y1d|&t7rVg7r1Htj7Zagia4CWOJ z|29xtvr|ZMn#OzoL9RR{?hB%k_^OV4{=kt7PMrSAz8uf;TDNkhvg|d>4lsHT_y7XC z!cSh@d}*WF<{dlNbu;P4HYx(WxK>fqiJ_L^a8^xNdiot;pthW=2GFZqcJ*GaD+A_W zXRl8-N34cNw(;?IFb{5`(u4kx=@*ZNn89dwDX>m`$@kZvE-vLcZ5LK<7e1@E;egF? z!K^D@vXDADuCz*Tp@i-5vw^@9+b1`!-iSKYFkz^9d@^Kt=3hH;Q4!ZyD#tgS_Rfc^ zY@Q+ZDkqtD7uvR|l}ag*aZ|aM<+;5Y)k&8_#3rvjWzZ&s+OCKZHO$-pX;Y9b3$GYmkJAc@vs^8uD%f%mEJtEb&?Gd{_ zq#x3FTWK_LL?cl2>p!N0N6w$iZ&`h2{{nRQviack5uUPjc;xf_Nw!@`BqoN9{rKAO zR_#nD7>C`0D|?l2ex?1fv^G+;>3k+U630nAI|9It(Vy(LHkdhbD}UC&{FTS>02)Lo z=(!W(VKDT3m-af3`NlcR!xe4bZym$mthTBrRTn!p!=FDmE@4=s@dI}Qe!kWI>A$wb z^8Tmk?Q`?zXGc5a>*)Qazawll-+P{RH{jE&=?CzuccPwOxE@?QW&$G6m#MekWYdV~an+p&o5>*IlkKcC+?n|y!i>b=5( zB@4z<4Q`NddzymZ5ah;?cKO`rYCcm%6%JL(vb5{J*Ek??_xZ!^$=l~_H{`A_@npxC z(*Mw(0cr8Y>q7g_7dJ{;!g{z%`nRGndg@KYWx$Kbt9LD&QY zhe0n%N!5EK;xyaavecvxL<*q^H7jl8!hYNK(z}U|DaR6&_r{EM6?vSH`dxKjsbzv) z$L_N91kM$RjH7D0!IQcv|0?dMA#T7sA$Wk|*w|mcmf#HnTZ& z_ft{D=f%KTDn$2(V}HCL2$1UjvdVZ<3INF9RhefUiaMF0xgL`d>aNxCy2++|5kTrWq}#dBy28(=#NnG+0Rze@g$n(E6eQ$0ps}VgCm4+H7tJNdJx*Gysq~S z0?#b(I4hW$tHUL}Fzf?&l8g6?F$qJqxro0dRT`u4CNBm zJ(fz$8pBZRoFaUPr#8{%4)U_L;?9e(-1XtG6FN<}rt@pgBXbDcZfRjqI-aR5v~f%4 z$0rr}wI;$S3z|zaWfpuGH73fm>ph5hIyVHR-dc0b9h5dPurcI8%kkDoKe%I6>v1<_ zqsqrtG@|rln-$t`oa|P;v<_=%e}s2ckP#jbAHeGWtuPEQb^PQwLvRK7TI1=8y5^Hv zFD9L&yj|2~Oh5Rsqs`>>FmwN>YClZCqb^g1TBVu%cr7` zL6WE1UCOVTgU5xM{_Kp?8an3nx>%vLnP}U!rYa(0Gso#&P?@J$A~5lvuAjD3u)s47 zwtAfGCKl`%w)okaOE>yd`^jUfj`P*7%BXPNMS25=7jve?<|)r5+odL$r5C2pH-le) zJWiT=aIVdyEri!*2_~wOQPX3Q7duIrFzH1oU+3jsmV3+qm8np$)(SPlNFe%uZQ(?K zm=fRyfECCB1dv|?VE@+^1_7f>ls-(4-atZQ(R8T*Ab>?PgI)iBY~iBiJG3uyi+TK& zCPF^U=;VZiz5}#$H@&V#Cn6%qiF-sD&mAGF*+$Y+V_ZC@toM;Wr%f)`XWKrEC;u@= zY6gd4fBRc?>YP7%v%S7k&B3@?ZG*Bw z9BwJA)MzO5!%N?asRl!@K$fSWGhEA=R!2B!h#8mJ+><{40z^M9{>NbV*G+dRO)q+= z#Hab{fgNZSa-XvMr zEh%Csn-M;07C8ve*u07jRskCOvnsvso&dc6kRg+Uzzw++!Bqorr> z(x70_G)&1d7C&=ixp}zqiN+y7U4zB^58m2Zso-jYxqUwGOY6}TRtq9D=2tw-KA$@F z?DEUe4}Ad%q&hu_f)avsCOsx_^0u9ypw9dn02OC5b^=LnN%@u9WBC-sE~)co2Vwhl zfS+B-=oCaPYPK$DY`Tsa2OYMuhEck3oh4OQZ(nD97<_o&_3(94Q&LKuaZ*h*N*hM0 z1wrdjM?jX0>&GZ%qq(Ff#nBYnlNBGWbvDF}c1G!W*U&1H^hSg=L#ED(R$wn%F!p5_ zAv38>pYij6vo4>Y?ITs@z&{$&MrV@?uC_aWSQj4e4nskyZ`5JqUhlPN>~5I%As9j> zZXqkjS{ej37!qas0U2Sr8#u*EPy3X58xC83+j+m zMVfZJtnO!rzr)^=g0!??R4@^k*Zde8!2R}oybT}p^h9zpEaJx58ugxW`Gi5qmNOAj7CHXM=kJ2FU&Q+WlelZ?FZ*s$3rz&=ey)$s$NzMQmR$TOTc8lIk_6S zR638{{Kb2T3_=1>;Q-n4AaV`TKF#FUeE>|xz6TSQe+J9wk;uiquD|=)WOcNlN`A-@ z?q!xhK12x@IR>KDq>{R8L{nub)&fGcieb_);2a+Ycry7YT_Y8cNfI0Ht(oF_K@AsXF?_-#_LQms5?#^%UJklKW-@5+Zlirw?DD9#hSi^4JfBjM`mvvrZjH zzR~gjg!&Mbw^BQH%UV*GS0NX9QGu#LX_DgA*Zk1+xQ5{ ziw6XCYBB{7;z_%B16wTZX{U)~(jU;2hNmB+`-Y5f6!$_s4!od!FJ@dlWk`ki69R*p z)Q1G=Tt+EEY-Cd*bZ#fO+07pAD8TLZWu;J0ipW0FE)pXfsZlv|K`RlrEqC)LnLjlG zH0%I$^42%ATR3NaS0P1L&ka*f({Oqx^(;5VvOKA1&sLdbMqUd`;Yf%SxF+1?&E0up zeEm&bx#jd@a50+8tY>lY@~vqZ*jmG6AyM=V5*)L{W-1XDNXfKAr*JF&z4`forT?p+ zjW?ZE$*0emyFI|7>sSO$H2NirGepT&YmJ0+uGPB?v#Phrd7k7j5!MJQs!^J~**LW4#~n0i*yGw_RW&V#A<%n(OOB z(S?YH!E{QJjdA33ef2BXDwfw)b8|E2yHVA!-|*{ua0KyTgzQ%ePNEA}Z&=^H47e+9 zZjCpJUKWOCv zd!@?|J>0|LwTI#ZQHK!Ui71gDt3t^9xR)@m+$cq=G`d%ET5B*`2s&6SH6DtKXB|{U zpvgRVpejfUPEUJ*%h+mk!qSpI!!jhOAz^_R873GCs*_{HM@T6pK4W$SMu%Qn+3;eb z2Ekai(ZtM8iJwVpB1x?8I#M?}#r{Q7f>Nyg06+&180I1)vBn-qYl~|nJSaG!S}L7y z5IDc&zh`w91&#UzlcE5m`A*;a_d<>WEthTmkOePC(W|Ogmywa0`dK3erEve%2LMtk zey}8yH!=x~jZYLxOZI`7HK!RYq*)0;kBaT>^b)EuK)dMxZhni03ZRUobYPvFSX6us zD)29}W5Z!ewzUT~52_&>7nw@-m^@RBCv#CZ6Jmx&qG9)=kprulI~SP=C_r*E;1-c$ zmp8vTx!;v?!REP_mzh8$;JqhAhX`^5;O<=Og)o`nZq5MVLqJ3f4xS$J zy+NO2N5A)l@%g#EF#!;9TEGlX{G%8PJ+YOdBqm2uW zAY?zYDI9B1%Lc2_Lez32U7XWJG?XtjR78hE@KCj6NF)}^vdVM)I5u; z=(wtdPr1H&gWI+R+Nhp{K8T{58>B~~~UO6HH z1HMHB9lj|0*%FB!0>;b$p+m*$LuKu$RUDYei=o<<$&i?Wq@c#^ARXuz1=%<5_@7WU zumPTC8Nz`C#mGV7v&bdkOyS@7(iJc6-O4&UpviBjd?O?e1LT;EwI9UsH5V7?6(6ku z(?~nJ>T2f)%ft+ zy;eR0thE7~EM>cjWzz5}+v^Lc>khaE8QI}m%Z7V&@*5sR1a`N8qwUi9)*IHsfNOV< z5yGtc(nA6>!0JQjZhiDT)SdLr*G5Qt{1=wyRj!vnPP(2w*!;J4UB{vNc?hkpDsx zKr>oDcSTw;_Q-{pD;8|e3n&n{B+Faq;*?J>o9*D)>;MYa7U?B`?b2_4Zh@B8GM_el z%4lW6k@rOTEMC)-Sz|yyo@il|nlScFR|fc}8G0lic$k%-eGi5t^v*FBO|+Jtq@mxY zHiMB})@{u+q#y|qlqUjxrxikn2Xkz8xkeSY5aD9Dem^!iN#r!*Dh{0iR;VP9=BjL5 zARZ~T^WP0k8x4p0J(l4{SL4ARNVxe9xd)(jv$db(FDo`eNGY$a+5WAKG+w=g z=<)&2;?B18T4{Py3z;D7IKr+8UiBQ1OOTh$sz1DjL7(lQkd9as@D@K|t z;j4=T@RH?w!cH0nWWXsQs7)Zt1T1i4WFQS_OS|^lx{lxoH+;YP%L!7Tmwk!1JK2n{ zN5C9P!3eCt79avJ(8Mrc1;D$w6gxTvfdc)};V zfdE`%X^;!->rEu6x@1cRt-u1PfWwY(0;iD2vyj7lY`d_~woHJRb-Ro}sgvqQz*Jno z3I9AjVE_Y)pa@SK#pjyHRQ$L`d%@Pbv`f3eJ=eh=?8PALy@b&KVjO`%xDcaf##Vd2 zZO{fA00*ehh|(YpZw$Y7!3lNj2(ysKr@#X|kPCUt$M$0>cz=L5KeSw-QU`!YeK+2`ebPmf9iK@z@$pGMK z1QK8b8^DMjB@HR7QDjh3s~ZKooX2M1%RF!k!JNZuLd>|U37en^A*!-Re9ax&e$osB zDmuZFT)>c9z?gi!5P(RU90xrY14|3iv;$%D7K@@oh;H7fNG629j%>h)1&jZN;($G3QS$hsgMdxunDp$*p@h- z1&jy)d)0lLj4VpYzAD;R46ywob4$x}>ry*t-K)#794MeF$;Ts$C6;6P#ToWY8bH^u zb^tT2s4<<_46xS%(AR%$1u!7DQn0!|oTY{>1&KWijI9Pdz{}Yk*~LKFYX6(I+x4X{O<*0l{`jn}l}Op6ZS z1n3OhCRV}_OVa_6+{b;jHZ26LYz1<_0aEY?O7IA##Q_y=*wR1-QIHF}5GIYS#|GWq zm94hnJ>IGy4I=71q)NeFouaMB-X`kar8>n&j0bms2VRN@t!gDxFyum--?5$A{(S%) zj61sh*0ea+2yS9z%;2Nx;Cg+v0zd&WfVXvf;W?}XZ7ZT4E(NU+;%e{;XpY^!9NG5^ zm*4&7su1TcUXbeA-u1ZvDSF84XX7`H$mvB$Z1Se^wUkjxxF29ChXQ2-0GY1pkG1xyg) zudoPt_Tse#p&O=LdP?&TQ2aUg$Kr05m#^1t4!G z;;Ycq(HqRPO5S({nA_qERYK?y1?~Wv9%2fP*HjMb>VD-{{>~JR%rzDTd5r6@fXp1w z3X#ABWu6OZzTHHP)VY3Ry#D6gO5UE@-dh;JG#LRZYL}m|e(-t75RC@_+y;n1@q-TS zqqu+5-Y6_%cxce4As+`yzU`$Z>E90SCgCI)-~{CkVpE>(>;K;F?OxMD00VV<2~04MnaYdN1BJ#Z6u2-TG zf6cA@zpO_Ht(>Mz(|-jJbd9G&l+JV7+txf{UExju&(zW{&tab1>7iTmF}d!F%J&TL z?iEf3E@0yKEA>L(3avl}k6^#4{?BHR3z84;j)2ev|MX0dr9uys>um%JcY#8~^^*AT z>;31ZU)2D--l&iD(LU`4z%uzA>G;EVCCwwkD)%dI&Q3t?FVE?E&#dgu_YE%Uq5B0Q zpb4oU2SpF?uJcre=UeF1pjzX2To7tqQwuu{>PN1Y511_TZyc);L+fd>s7G>E|ALx>Ow zOr%)RB1H@s0Bq#g(c?#uAw_y5Fu>%=0RdF5R4Ksa%a{8Q6jT#=O963^g3RN+$uvm;G%YsuXCYm_N;n0@D zhA>&ERG{)DOPvRKsbpy*LWBgsfdvmHJlJnxz-`*tSg_y=nlFtZ%o#LD;G8)H86p&D zuyezRp&wo(ZP5V+2P0LlX3eoc0F)_h26)K;X8%muw{NrjB0`gv1P}eWx_;<+qE!6*vOK_NEjno9@Nbu!^&aA z`3GCr(EqP~#f&hbF~?%ajGz(@>}(;12x9O6(IP~kGztkgEw$D%)DVCJRI2Pl5C@@+ z0TOM~?L^&HV!#SHG?7D!C|q!X2qGSdPKigF+u;!+q{C4ON2C%`NbRhF`n z2nlda#omO|!GTIB0on)cgiu1!Dy-0fJunRPTaH3Bv?bdTt!>d08K?u&PoN;e3^N?* z@swOu!6lT6c9lH zjN5C^2*b+U0KGTPJC?9E5Xn*o0TFrg3j^~Ms7`1b{Onq6Bhpq|5H0~1TmxcT$)r4Q zGZEd}D6m1wPo!8PNHX0CCGJKK>DUcx6vAb~{cU0xBJQ%6kYR8@r; zRz;PyQ+c>Nx08T@?jjTz`7Impdf*H8Y!HF)V&(qiFZ={UoC@%bK;()kKy17KY8|hc zvzu|Id_v19{KE;&H6)+_&xIa0^qOR{$!H2ZiUX~H0*`{kIw8G64fF~X55B>b?zrF- zwS$CI7@<3>!Qv6UGgT-&`2QVLFo|u&LyPeqmI^GupgmUDzNeJF_4{F?3-tU7#uyXA9wY&SE^`ae{5- zAtV!2p*$hX(1kkC0Sr9wg)b<82~sEzBjFMTj$O}i*UMpG+OUAR_|S(Xpu!wVFhn96 zF>;$Z2t=6p$|e$k3-ptsY7S6E&s`CVpo0ko0w@9wJjW?NQNt^Y$vR_RXH@&TR8%O) zh(#PznOni5E=`;}s7*wGl0ssM+XvLPyB#T;f2?fqj1QAFB zj8l8XBBFWB)m=wy`*K7vdC-Vw>Q1Efx+5O-sIVoS#Z|^z8#oQg2^g3_2v*PmA;}Pl zNJzm7MbLs$$S_VT#M1_0Fw?O7^EU}BpaLiv&YYluT8iYADA8sA zCYrQN2mzSOAwv|z_{?as?kdUD$|-i?wM9G=j;FXq)mUn{&c+HyeV!upY0 z;*zYooapFW!T^i%v=v*6!YLN9ic;WJfmLC|G`zNp?Wh3~r7$ilR^c@a=0cg;p%xF?8FzXgZa+Ya1L{@00D$1%3(VyrG z=!3M%O4Y8mLVsw$Ydtbnlkl>(5#3@Ys<44CMgbba>DqH4A&O`=0;Q!eM=8|63rCzn zxvQ84aG!fY-Gyyb1FKr7wu8-9eYd;brSUh#3xh(of)iv&g7U2JOh=0jJ&*03Q0eFYgbnLXbi+903lZ zOmMkrwzHjAfsJxN;=|O8qwQYtl-^F|D%c@dkx->7@i1&{-UTlwe(+-)6Y|k11TtnV zEiCyG%T`ko0es{lJ-t2P)A{XhsS)zuBvwwq6mkL=Se+*Ta89)|9Lyz0ZVu|-m0;%4Ma>>?C}=cFq;mUR&p1a z98f;gyyb<-6=<9f0V+_>xO?Y9eF8$IoOVmg%sF=5VW1V@|vvJh5uUUg+o9pu47M8w#G7-n!p`9hB*00vjUh4#uj zCTl_{90*O^L{4lauBt-P(1Sl9MSbg>Q$$6yl0Gdsg;&T1tJAersD%(5!Dw=WHev-h zl*6pxlpb-4i@S1iD3qcl*UGMi~l6B1T4TtE69Qv z(z~hJ69m*bQhT@mdLQ^9$BF=fo&x~OVbGH`=qB9+=H1$)#vA+6pzufr8YtKI}7t>7Y=^req`wLv%=LJ0956glN>tihRVl;Q(B~1&!p$ z0h}uJ8A)(d2nBo}mAnWqu(vGBH!Y0GF02UwpnyzxJRCRyW74xTOF_V_g<2>Dec4M9U~#A9zE_wyX#b00N?0sO5u6y4*s%e7wlRI{(N#g)>aS!PH4xU&_TKc_%}FEt_xa(XV`{bcn0v($qN$&QFw(~ z(8cELg;fX`RSA;l2pguf&dS_{Kg>?-+D@@xM$l9&L;FEmNQLnv&xu4&^ppcvumnZu z$h|9)JV}%sjoO?DFX(}9VZK6%Nkw@+3lz{cf+ki7hi2G@Z~#BS^cppLg@PWUNX;0=cUMx&IZd$nkVhxB*Knm{Gj2(Hq6l zw4A~n?a_&Ff(g(FK;g|(Tofbq!i(|&7Z@W(=!RKS*G+tY8G^w6pDtR;h4-1Inv- z6vlAerqyesXU*HPm{CGu51p$HHF z0xr-H1Rz$4`ZAcfz$%DXHhP6s2nTGyh9?cKXv&IFCR90979@q{s8eNonu0;?9sPib55*yS#SsU~qw+$g4oG}(?U(Yll zcCFosKA8Zpnj*yG!i5z8=S=_xhF$>xgECNqQn23a zbxu|o1s))d-Z5LfsvQS~rt?MJT|ixwZCi4MTUD4_?tEY4aa|LV*Lnq~R!Gy@^P7$= zEy3N@0N#w@P08BqfuvoH{bX7qg+7;%;6|v}M{NdO1V3KPicM)FH(CV@>pt=o;o$<; z)%6OvMGLt#)0a&<6RM09wcp&eDgQ!J1@q9XBvUdS-eDZ=VILM)f(3!aRSo9rO`7me zewzs|OyV-g0VZ}-a=>0V+}<+U7kCtfdVJ6-<~5IEGcqzJ-LcLPeOnq!1v4ItF+M~y zmN7L3r^IsO8Hi(lontx{#{ov%ikJY_7=YsQ<1I8Rn2>}TSYk)LTC9b`XIOWR=3?QjJQ^{3b)%K};ag*LC6V9A&nvB>4COR8D18UgaMqSPv+$ zkw`~APUk{h1`^1DQh2j-K!73T^LiZ zSUXish536~60JWO^DdjJVgEwLm}Lc4=iFF^TwaA| zm_E_8T+UDE_ zT};7eh|~~d1-t&~MF{Fy7*%Tm3(ka?@<{4xURP(t%5Y-isE!mHFw1ZD-@#qwJK0k{ z1p(Da-mkuF22Oxwz=5*PfhVwnG=SEI+l7g<1-E8WC(cExOUzYpuAf$^QAOFPELVwM zXqPSO!hXH-0^{LH?Em#(?8ZJotA^}r8Q_bkYzDmS+(0_cE(J3<12A9%uhrBN#=6=W z%xxeC?RMfO?S|BjR0hQ`tKhQ_lVpq}X%Fw2%V@nCjpzt>K33 zhw$j*4hhaFKIPUTcK$6kID=&<0}~U!E}b~w%I>Sh-X`6KYq*9cZB8p@Gd^V7)0^$^ zgqYiY#umtf}{ScMu8f-@ii6g0s<%$=@z zL(T1mxqj(pK<(6Kg#XYm%VO#~2$1S@ksK6BBT4Z9rm1Q3D= z&Ve$(0TPIFMwoM6U|U@%IJfrY6uhuiz+mXYpzQomafnJ-U}GUf*A&Iun{}JlEkt&$ zq(NPoGr$2efP_Bq0Yy*)EOm8jk~}vOOl$?e zGz6|%C`=Kyj$*XIZx9F6lXB#Ny&c5A-=JCgP1i3@RVI*wB6t9wZFb@Q-!JcIt)_?x z0SV4g3I9W|cIL%)i|-!`l}asED(cd=!R9u0c{Y6F%`)1wFPWN!+KQrcfTO( zD40OBccPBlb-it-HleYgsX}W;v`|%oH+Y1%^vA|@$!<#oKmm}rC6!QtKfZXVKf1@; z_&yMYG{6ElAmmbrhFutjF}1Z^C?-+BR>3U66f8_g=*b)ysXGe95cO*wOwptkhH4H5 zS^x%200tIF&D2b%{va>p*@R8#u1d0jTpfDgiXOje5z?__VTI;8Ft; z0PRvh@^2_rsIZ_4HcsVS1%bAmwU;v+eDy%|AZ1X7K6=@gMFn9n)A?i1)HDSdozX0S zB>(CeH?fNzB*s@{Iyh(s300cgR z@(!@{H}K#@6PzKDBiuGoX{-pbk|r*)u3sJHQo{&R+OuZY^5AjZZCtvy?kY2diUpRx zLe8AYbjAeX!}8@T5+We7m1Bn?`Sz$>u*>HtQ6j4z33M00xvPxQ|JTu}eJTw9ckBl@D zUM{@oV#;BPFjoZwL;2?IR7R`4L0Z! znk?0{=9&oH#!~?p0>vSnbbeS^4tK}Z0L-Tz_nZ^ z2^iH|%4O^K0S+uQ-B7y~O@trK8QE+a&h+Z+QqOrKaKla)@;Wr&M#+*%pKu|a2@Kk3 zBaSk#Fzm>q({O`L)z5T|XermNQpzgTs*y$!-jWP1Z)TewKoMlH;4~*>yfH%oJ~8kB zfpL>I_sw;e^x(bru9=fgyJ8qP@l0i6#TcbPvM1u&WV6dK!eF8-D>@Z0bNIkW?2LI@;yP8yCt z0R|#WiY%JNE}SI_NJxy5kg&xfZc&|RFoK$DfWs3^XtHvNGCvHcLJ>AV1{l80G6a%L zD_;pqJkC;0wd9!q`K8N25)KOjtHCl7AOuS+O&GL@V0B)x%4qKGNGzNer$M<89V@PIpnBEeF#$7h;)ELDXB?M zTF*4Ffd)eX7-5hR3>N8P7dFLdEqc+5L~Umm%KzX+F5>EgZ#nd#MBNPo>Oi}senAU3 zsLTTjq|sJ!w4*%y=u~f26RZ9NtGg6i(MYg@We{ZoxA0&d1->nIR&?f z?QJhph+_g6OfeLp2+L;EqSjSRY8QABhyN}@fdc{;Sd=q(@ryBYVI7PB z^#V~Q6K-sUg?r%)_tFY1h)yVU@r_4X?_%Ji3xIhMiX&i`#WptA3{>z01!zGFF!=HY zp0I!qlnaeFhF634hgcp@C?*pY0Gs378VzAM!^3?K7LXwf59@*#-^hm4)Z!>8zx5lA zP(YQfeC5e}Ap#pn!hb9QAQnU-5@diu7P9b#FU%O76@i_r(yY5R%Nbuj26B*f+1^aJ z2hWy31)ux8iyT;S5pm6hGL#{XZ-fHTik6eP79h?`e;Er&U;;w`6p17x;V&M@sHZhD zM+1mP)T4fIge8pXR1;CFto9UqrvC`*T<>}pfOg9*W|3lDi^CK+Xy~t7ESV38^9NSQ z0-vm)00o3W2TY&^EtE|L94r9TGYid&N0Z~jVmsTX1}?V+>23E2MiJu9HM#w4R!99e z6vC)Ru6{JQSRsEVitP&I5Jq^fp|Y4ubIw59mwpH$-H@K4-fp{kJ8@3 z6Dz!77;+vagdqY*u!tZ+ zom+0uwNS4s1ZdeHy5h0L+yhwTTI}Eu5M)+|U)>_(@z-7#S)!UHq-z z?}b9HU6NgR944%aLkWNrVL>pwU@%yNHPFH_$iV_s005>@L2SSRZonJ7fdWK8%oM;3 zY?%ijfd?qS8*D%rEdKx+$PGtO;N0j~dHEdz0G`opVDVg7u&50(AOpy$pD+*uEbQ56 z^&WYILL@xFHXYX)zyJ%xpbW}jDr|xgNJI{z&JYogn4i(Ol-`NDjY2g+^76srLCV-(bfFT$X12Oy_tlfp5Z3PQ#K>hs< z1M~+b(83(fU@FK#78qE5^xSA@85z_ZC$s`0YQiSyz#Ckj0ery%cz_e?&?M?nB?3~f zaESN~2PSq1#c`PW4hZ8gzW>SsghBP8fiiNR_kCYXTq1j&REN~rG#=M5^@nDRTQ+JVDUzTGq96?P z;kK1eURi-Fyx=*aqdKmm%xKgMAORmPKm@!&BsfhZv;Yu9z#@WLF(SbiG-5wqTlf8= zYrup+(iuS#omWhuy-Hyj)&<(+_g!I50>_Z?LdoN@!2E4O6afqnCo242uHi*7 zy#J>tHffU{rzjd{Ft7mgwFZBhPIRtli`G&8sAcZV3I;mdX+CHP?WmcOUykZ1G)m|e zQb6&+;gJdhEVQ3qh}#QxsPqH_z#S)JqT>cgf|W*Qm29biUMGxd=b40Qg!M#R+8LRe zX-}3Zq}nCRO@(tnSv( z>4e`9O|JgvqfV-$V&aYFRXBB7<^@J6Vd`z7qcw;sF}z?ZhyY+sL>r=f0xsYjA7%j`k|n=w zKvVu-0N5*R;Om%p>1pWejJn>>#0j?ADuk-+nQCjn4wI*>2L&)d`fvikfoh++LK5h} zu`wGHq=G7>g3vO-Y-K@Hd8}*rT(qu}-Pj~d>;$bYg`{#TU1sa97Ay<08mp1a3~WFu z0G!jnLRIQ1|CR0Aq2t%S&<3Dry*jJXE^V3QOo8&)(^{*)0_={;p4A2^)(!`&?PUCH zK-u0V;Tr4oI1Q)*9Hp`0m6i&jy6DoX#@y2F&j7&PT5Z+N<(c-aQi#q@GXH>V#o^6z zD&p=Rr+zB`Ew0!R)#F0$T1sxo##v0j$&Ko5wvOk@t}LDK?L0Mwx0K9~@?|hMZ0XX1 z<8;NsIH0p2Xy)*X-`Zu3#(X{%h_AY@O(C?|O^)4e6uRoVk*%;}nC3 zk)rfS4=rfHXROxq>RtZ8uG3cTE&1!-swR(uXWn+N%c>gRN`eO@L{KKiovLU0eqek) ztp7Exxg5w0WM2VD@PWW0UO{zmf-*&B;06xfd^!o5!_oA zbO{o3uo8Rl^&*86kFfXp$_ZoQxJZH#!>JZ`u?(ZaiH31_eI!N901eyFw!9fii z0Uvk(bz%erDu8o-8DQL734|=u(#sutFfQq_6F+hPW)ni*2|C(n)237f_k1VST7t63IXaNpJW(mNf6g)x{DF1<%k%2E4gDR*(E4%?o zIx`0_VFdIW6Zj$r$boap!Cz28p>{+?OdDI;4Krq&2kV4S%!ZCybP200IEQoW`R*o) z%2QTe`e+6&xI#Lk0z2Dc1+bl?>3|ft5iBTydMW`C5Wyn^EfYuq6XbIO*5f9$0w=gk zD@emX%KyKCG1k7L{Idt$OfdQ<~QT*AM^3m9-Z&9T62tyQD8J_ zfE3uQ(DL+Lhr(ergc1}3EabIb?_WN1f>%7k4nP4Eyul}kfCLP;1hfGtFE;(iku^hh zL`(K$f3Q{Os=(rEc-l*5Z*{79^m_z`5WJV@kW3x$B`TPLdCXs6-Bm$E0{`W6E2sj1 z5Jp4PTt2t<+qFT_4LWe@Cn7395K zH+G{i;fW66a5sBoI9)w}cst!*tjcQ5fCA`Wz@^Ggvp^C!Nkas!(9(C>+#I{4Uc#G$@U&r_(#5oj5P1beU>fpPyi6~wJ94SFpVx;9sKbZa(~?=4q5xubiF)?WLye|Dw67wJ&O7d(L$ zs5d%lK_AkPF^ZE904EtRAY~Yt7C)>DrT;=fYeL$}cf5ZseGjxRGJ!Podz}M!aNGEB zTYz)oc(5Y^BH)3-UjQPsL5^pEt0ud$^AWQ%YJ}V_qBFYgN_&Mt`L|^_$g>BiY&*&D z#s{c?71*q+%bg9_zy>rd3*bO0X+|Xc#aWv|ouVzfZ~(pMc0S*`(6)C1CLjkCebGw; za0|SDTR@FVzy;vJ)8oM%K>gDhDsflK_|D0rdMs1 zoI%NB$O6bg!@4@9C0or4!J85%dL)-AM8_+p!q4(_d-FBW`h6<+Vk_9X6cF_i8vUI& zJ=52C(@Q|pNBz^^!PH*>=3~Bb|Nr#psf979+aqqcdRUx5QJOFq-oPm9llYRN$E><-~tFcGeJo?9Td!mKX2l(L= z*yedyLDz|NEc3o;0|YHvsWds0qbU`WR*yKTO7&1-t5&KW6?;TR%9{-v-*DjY=F=w& z5-hw4@&@I`4I?F7z=P*POqnw!z)++JhKxA}4j>rx6KGJOLx&O|fCNBNrAwC%2tahG zfCN*iR!txPt5vOAsbbB_75}VPv17@WH7j;%CbgL;TqR2ZuG;`}>C$yd_rZfNHej$| zfujxs0Sq22(1Hn-DO4;HGGS&=lO`sdU=@QkkV)o=k2rH`#UbRU4IM#;lt6Ms5GboP zt~~7$=1kd$MBG$lg~}YLLXGzJ{oD8Mp$6uj9SatDa^=h28h8HuYl61To!7N~eQw?_ zMT&f3AQXOWqSCT7ecD|{5C80LtaICYj5Iy6Yrr!AC(LZ+3JHh3*I*<@?O zCY-V;!2q5Rco4z}ftxTm;fM+VIjMSKTTGQ! zGLtMl_msFSMv3U_EdRieMhZzKmPqcVzjEBsK9EKdA+(J?;qQ|-{v(5olQvS4 zNdw!kB0(8)<0;E5duuc(47co((&fOslq@ney{;@yJzycR#n4M=B2MBINEKD+gvGPc zepG3t{zBuRl^u*sslS#AjVZQ66SN|WDdvdb07!Quz}TRO1GCa*xxy4$tTvr?L=vxi zpa@J%QH-(75;FBhzi3I71z60buN7(Z+moaqEx?af0HruGR$VXX&%l>1=-^O9Z!^M( z1*RZ2LI)sl;QxjzflC%B03>DB*@&r&_DgD~&GcF;65}@2j$sLRT#sR4NEIfe`Dk5{ z-c<>|H|CW_8Yq&qKqiuCo(YdTV3MGXo?(CiV1Nal;)^&8zTyfD4pz8Ah5;}DT8W*d z7*mTcmbOF&G*%1~TI5va;~P;;l@?Y@X2K(s@MBj3(Kc8cWt943sb-vW)|p=;5RpKH zHekc!iUk%x`i{a2#{dHd6jzwxpd5}`YD%fT)auGPt-=b#P{E|!%UDoCiN(h5xa5;L z7%gSCEzooAPl7t_wIyFF`~nFOd5LFUUn1P_-jj9$@x~i{I@-v+oV;Soue(cA0WjAb z6?0)JSO1A({F1)o%sfh4ZTw(wyY*aQkICNH^o32Pmz;!2U%-361L-S5m_LNzh0pSF zFz?@gsELseQ+d{5o~9^Z1r}&ddgeM63qqDIXE*kES(BKio^Twlw~depeawTS?qb2MTn{}#&H#pGs3 zERYlLa81N@fex%}CB?)kl@&S^kyImRIk7XAbW$Ll8TCp!2V(_Ga7}^Jljkup$wvI- zQ=f#0oj#wrq(lU?e0$s%A4^#{DE`5ZU4Xzg75Woz7OyJD0cS%Q>c5Jf^E(*L=>JmT zLID|KK{4eiMifK}Oov>uq$d4@2=sXxm3DGxr)lY~>L}Bh=3#zlr5{eAc!e(9pr;E( z-bBeV)S%84W3DXAMVktjq{5{NLNEcMEFslmI3g5n${tor>bylqK3s#!ig`L;`$~NpIqgeS0np9|1P(sH?||}c)W(_cJ{|12;?>&TxSPI*vQV& zqIZvnma6o%3JjQzg^>#7rh3=}BtS(ju3Rqbm5doPsxN(4+&VdaHO#Ps@ni?A=CO9b zW^MK(7vd~uxDI)E1IROXWBH-GR`|$&b}9`#P=~gB<;YOZgohy+3jbbcLkyvyDx@Ei zRjtY)nZ`Y?1j0&LPq(xsHnTvR-y8x2)9GRPGcZFcaSJ zu5D`qETF;>xyXh#gbj;&W);~Xkwd;Mo$1Fq``MlraH!k7h7n#n1Xs8&sv!jcRexKk z;THF5xhoa8aHkH-5Hxt4vu@iy^4+?~Ml{3_h2P$Ljr->JzPHLZ7UPq}#|`+*^VorD zx48*9hjUtYs%>unT(k%%@~T+~@pDQ-5*+Q+Ic3XhEQDeV*_cKSs>g|f;9KP?e|e_y z)N=f8+Qu}$v1W0e0i9d>#|me7;~Z{uS!T)YAF3AC-qP2PoBv?2K1c&EMy`e%sp9IG zTsgnD>hBh(RKFP{kl0(gV;(ob>}!SMTd%~;wF^b)ali1ZHGdW{NvkYyQOn)&ZiQa{ zS{qeITh`?;+``{8%>F*Eem4y}#(%o(O^D);F#uYgUY;md?0j7bJ^Z|mXzo}MGzHjA z`qC@n*JB`=4q4Cg*l(Tdkjn3WnSFcalAXsHFgs4;O!?mfUpU71v-%lnPUVZf`BI*8 z>9Me0B|M^%1*v}Q@pSm_l^O9A58%XZkDx2}&{_3zwHN&Y%7c-2n9g4Fi^?{3k${|7j(glVnouI5Ks2a z7n%^+4v+TqYYM4Qtae7A#%g@@MGLtQ@^UWiy1)VG%nWx!=yZ_%h^`H*!#acz%I44t z6k!b1U>Cr_Y|e%Q1~2OhPs}t80K1R-m@S&f$Jsnd+GvIm-K+z0ju#=3t**ej=*$Ky zF(}Y54Ks0zv;u%WFQdo{6yYET7~vZ%gA+P1UH^ou`U27a@GHh%(TD~tnqX&8VnS!0 zYZrTw7t`(z7R)!4f*37vF5Xcde?pNuk?HJi%8CFErr{aXAQVPsWLiNAJOTvuZR?f| zAyLquJ)k}c+7QjUfKls<_h*1#e0;3j!d{JgNOCeb2&awrEu5QOq98*oK{@Tg#G z`Q)z%kFa_yf($@{<*2e1w-J2wiMT+bCI66!jwE0NMxX;SXbnan=M*#Na`Fpzk^$F} zDDFZs`R6Se$xJpy`OIs|5Df?Kd5>-OV&i0gEeL|=@^0!F|B zI$&RBa|FU5Hybl2*=l|;00qjjGNFPphqG}mbDeZaGY7-G&Z`Kq01k*iI#bdk^v(6U zF81aKPfV(-O5!6{LN;`TFlloQaI-KAGYlZlF@1B2+A%4N^Fq`TK6j%6GZTg+C8?T^ z-2}_@^v(r{U<$zWWen0lI{%k|3`~aufZ_=)jZZ>j*&;MTEA%{p00?sQJi}5a ze^V$faz2aVBR`ZA-|+Zg=>43LKM@5E#vlraAO-MmAX5?h)@E+j1}0Z$Zhj&NPT~!6 zR7VSQObZho>E{aKKsbjKDm3!*jMOcWl%no)Fbr)D>5vWn6F@IwAWterLnDY-Q&wW7 zh+wBbQsYZeB1|V#M;p~ldl8C2AV@cqO$UKEiWE+jb40tSL}x3?npE$ibWfq6G(rRB zv~)-54pmWcbOai8M}73{<_82SvNztdQia19Jv3A2bW^(susqeN?i5kj zKt-qX8c#|ny3;{f^+8!8Hvd9oAY zi}WBV4fHfX1@b;j6+v6mLBAACg`{TsgHVme;p!8q>3)0|S^^{N7g>`7OHKkP}7}7@FY+thVWNFn*d8`A{ z^g%TAWv{keW0q5lw2K@TVqFV61dV403sImmXoXg0Oky?GHX~evPgW;L3^hW((LA4a zLb3RMCI1#U;9 zUSwm(7`04wGv^Er0`#^W`SyM;^>2qSa4Sbdv10&QcPV*&IBUH}SQVBdIBxH1{cYg@r zSKk!kw6|ut*MI{+(5fJ?0&B3~pbz?hd~w$WPM~}-mPN@Rc%k4+p`ZowwIqla7E0CcTnSO5Ljg-jPYw~K%`)qrETdlOiJYxt2!APvmG4k-8(C|H7Vmk5+VI&&9t z9rp!V;6W3$RYw9hEueYtc50p#@r?F!41^IYg598vPrwZ>`F5pr2jDn0;`k(Jb8hgsLc?IQt^ft7q-vYykE_>^ zPnU8CSyQ_AkP(@dT{k=OB1K@g3Ic-x>fn)JfGN%3k}=s0(AW)T0fZYB0#G@XjbfGKN^7l#i(uJAY8jlnWZn5U)NlMZ@b~PDvF~eRmn~bisIl++ zz7HY$Qbef6GO{Imc4L<pN2OBk`QG3AxBDNM^FC*;_jzCEx}LAc z^GsC^`IPfl;shDWMWQ_&AWfW`=d zS(G%&v3ghqU|Pnt;%VQjR2&iLSFshj_tMo>DlG(1%00viiK^PjDubvZi^7apkLv8@ z@UL;HmvC@rZ2lU7p3!cFLl zb|kLghMjsBxN061bTp|lWN-*i|3{0%^%MbR4cA`mzv@?6srpvrczUh(*UEsNQ=$YB zqK~WbifR@84O37xz7hqk`ICGRArEFFXrMh`Ug9}Za~c>+7?3z0_~n#%3kUbZb%aJd zN+u^2{c4S{&S}jh@m2{qtq#XNuX-$BeXBRze|6wy7g(H3la7W7MLv$emg@Dw5>|LUaY29!7F7QTFIpPxUTbq)l%%ul9 z#M7!FjfD318}b98>WdfQyyIHD<-P!72^S};2!pGoC%Y_^bU$DP>^Txdz56~yv*K>r zw^X_;N4SiKc8^11spK3C{mF0o`sO~aQ1ug_I4}tKyBf`kV!D_5p=9JnU;9V(D{KHF z4~V#LxAcv7@{Z}`pTDC2)X5hdAj4>}fO`Y954sqyZ&dd#HuS=AypczJu#~j9+>LuL|3I0V2>3XRXt*ZoJm~F?7?1u7QX^BDx}r>ZKkjl;37~1}2v9?e5K z;Db6w^zOauO**cL%v?`DV?iP~)DW8X@bAhi9;$T=C;*2n<~!KM(#6Cb-23CJ%lDb) z_dA-R&!4g77p!Dh1)4UGaL9cXHD7wP)-SsGkCYAG{d~RnYw7ZTnqLKP(6C^s=g>&t zbwRkoFwMm#_2NM9;p>O% zGxE-R7G+3^W8#XVT_V7pUl+K4-2d1=>3ic#w&siAmb_%{%-Y`14_{L|0=FF=fam`m zfl7b*Ui=7kTl81ilOX>bB-6fU{}@fCnf&|b;|(!IzMpHwKP3pzej*hM88M3a`{azC zi?Fltafcdxs&k|LzU$BUQi??l4*|^6IjH^t|2Etr8PKQHE4z$+=g)}nb^_`F7Cg@I zZ{s80k_soP{qf5mr)31Tw>IY5=_Le(V$2$<^TS@2B_HxsEtei zrZO&5kpUFur}`RzA_BI(e*S#_HXia(<3xF&|0HD5!2e@bAN?=0$_@HoW|jW`V^-Dm zb4GVZGg%qf!K0(Cm2aM)|A$%45=xKtRL$ep+Igdys;4H2(PTE@LC_fi6pTN`O#iB z-tPZ)J@_QT`3n?}#wD&iANn>l$joy?;m$?PAC>0_DzTIXH~Jq`oXQ1CgAS;^e|O}i zGxRKaA1Zpi41U&$NB9geK$y&k);7*1xwXV#hNO}81eOO?vFu%e6qe#+rcBv=w4x~Q z?e_1YE8#$1=ny-iJrdw@Bk+G>{}?!886Ux0&Q4YFefyIeEBta5Ax=2fQBZm`<#I`NFiPNY50!_y0yA@H5^4>j8I{H;|Oq2k;`jMYwtR_@K5Z<;h$ zdd(quO;S%2X(n4iXvYqlyU#%6VgPm()t^I|_SRpzog>x{c({0XSCdwH8AdO`~58jF0 z!E3fimeq&wvWzPU&QzJ@G}EmY_DDPG>&Rg)gm1EN3(N?Bv>7zEik?q18)M}O>z9wU ziDn98E)jf@vay3>S*=>MS2H#|SwbYgY1t?@V#Me?CCgg|G@b*loe6h;AA#T%40;Yq zg;C9}#MYIklaUX@sK;qMFIsU3^{t8j$WnU&$_!ef1wu?TlI9D{3Xy~Xls<|vY;d$6 z&>2*2A+2)EWvRy+f60u6Flf}ec7C{ZBNjR){3b+hRjS~c&4l9jy-&2)caEa9fFV*O z+XKBBZI0`r&(GhgE37NCJ5wH>{x98Z2{P6e|LccpQAa+h#*7Tx{HP&mGvkUX|My#~ z5iLrmn51@cE?CJ3T6%f!?khxSOKLWx?@tLp&7?N$kc?d?MjBF6Lru0O;b6N}VWL!YowX&@XiU?u_q_P!-C#w0VvzG{=IbFl@L{sqsM z?`j)>g-D2z(=@oj<0Ff8Jpr)+e=X-e3TbA;LNw@^3H^Zd1lia*!AfyfhQtT^ z?lE=pmM*sFem*ov*U-Z`tsf_M@Ew!4y3ay43+S_WkH~9bo~-@O(np+r4N4DS6*4l9 z70Q~;a!4Rk6)(NmehlQe%TyZ!hylhVCaPO%wTM2zXnxo-JS;m?P3L`$2<9uj>}ft? zkNrYChqv51TxDS5eaB>+uDm{g0j@TU8H!l8#*U|w$?KR|bT9usHf2|40b-LP=i6I} z%=$DU*sg7_mXHI_T6SBE*3}Akx+^8|V;M8hE9amnXN&{tC$)44%#R8fjs?#UYT{~= zT@YUM0F`+I()vYKu+JuU70|)v99F~@IY^Gn=$`5z++x$mGOLbv-QSjg97ta7#}wLL zIYr;E+MGx2VC*=@rXfBZ`EczPYpnAG1J-n|b1V)_Nwzs)y{rY7 zz?Z~gQRa~xoQ}8!svV<-0+YNQqH0{oKPj*?0n02$TrR5)ZwgSaz0#LmE^u*{+ z<;TQF==_NbI%uGFsPcfv%@1GGpgdTZzb8L@H%N7KE?e`CBOcjpX%p<9z#36RU?rx&zezr|9mlOe;B{7e@4 z`9FQZgl$M(veZn-(;U=tq+|FQkACBe=w%NaqtYr&-|B-295cb z`q!w>cVGQkV-vxE>Ks6hH*i@LkSpD?t-mfAs&F z3d{(W3eZ39XzuPBM6@xRSn!aztgq&m&kWb2nbP(=p#spje}s6%k{BEjd^m(NNM zq8hE#|J6Ez{F(y=+6@1M8->6YiGH^kk>=*}eb4K^3R?I~T?)Aq6HG{>q=Z?0Tw*~e z!mqaviR>XViDEi$5ZTprFlmPG6E_&M{b#l=gj+e_w{C{cHU&2Ae{cBx#`W6N@s&T| ze!Be+%zFSlGP71+ef1yx;!k~8jDW=*&07#N0-%@ygXP0Ic4FwxaNljAr4WQ!1=JGf zF$mY;+Pkj+f1swT(-3Z(HUe{-c~JjT^jImlQO~y_Ttmy-Og0>?e>WOIeyA8}4J_${ zsTct)V5$@2hS9YpgOv1QCVt}d&v5kSP-UXOFB%>~_U;n7Cp8kwtNdUu*R^C3x(f@u zHT*zi?}1ppcO$~eIm6X$5sGH8>eEJ(!s8Y5dGf`*IobaO^%06N)IpX z1@L<5{qZo`^7aZ@dU(6*TKFEr4gHv*#YaEjNwIq|arPiZEL0Idq(?Y-5?q$6{U7^) zo=_!^oO!!1+$+topx%<7+QIAV!b-#vg)`zjN8KFGV!3U?YnI|va#L=#r8F+3#QaP_ zXaL2^G40-|U-od_KH=QQ2_9rB!wi>Y*ey#!tjQ_$n=@+EDK(Xng>9IIZH`Xrd#GHf z_QGEBV$x$7JTwYySjql?p9te;06)ZPD8WF%`svC(>3jAJ2TKn+&eFwHfbKJxZVM=c z$Wu;Hu`-@;lf9oJGH5SOsa2n4t2_&4T`;lA2_Lc2DLXa))po_1fD?Y7{PodeI78;G zBpoSz9o~#g+x>taTbUAwtf<{+K@|oBF&Pq)b@^BN?P6V7N3l_SK=kLEPm0r2A-HwI8;7u=Q;d@m!@{}{nZ z4R%yXclJ%+O-irdr7VHG%bY-!1K5@wE=i=xY@rTvz;mBb^Dq>(sXV>Q8E)o@kNy?H z3xJ(o2IOzayJKMk1vnIE;^Iz5stTgQzTjbot8D>dhO>Y_1jeTlag{2oc%S{av*gQN zpyF3amwsW@g@eiCO5i#=TNOxVBHrhsDry~r9*=<{yR#Wsbm${M%<~{SjE1#m5pNx4 zZqQ=YI1?=P;E6b!ViI6GCG$>g}7FilAP%?i+{#CMhxztoR%zy&8W|V%u z2NLRu6=(tR0A&QqcG>$12VK{PXW90)K97@K(v7v!obLL^^_N_$~Y^u)f_A`F&< zW?&wQ<+iVEj{+rUP<0kk`4bwLt7^L{a)d{Wp1~T}3NrPg5S#{eNriPBAyto}U`#1| zV&)O7%j}<-vRp;(_$pS%>KEo0K0}@XiY=f_ip1^n)(t{Y4Lv;#jO+wzv9Jf(j-jd=S-w?oqF_k}gtQb;+ISs-xK-OWeXA$zDDzKwH;Le2^NR2uP~eU?h`Q)_jN0>pP+?4f zoE#MTb5)+#mCF6D{CobZ+R0{r>ok^9No&g0%N__RP-VD z(QqpiqkWbH3prG8IrW5mGgaQ981I;t3WW`;{JkWog_2#M5DuU;x$%jRjR zMV35fBv61(H#gz*;hSB=*G9d?wi)(|X9 z4`pC5eR-^;F53Meq7-D_dCREnhe(n&7V1a@8y>p^+ZI{Myv)QoSag7lGmudeU`ZnN z(6yJvK-qv;TGI!QH%suu2}~EVR(Sk*JF*3o+Q3Mp3@^e0(RDNz^<4$m`cXz5HlMp4 z8d5^KB5I0yzFc#6muM5e+}8A`>3Q^PZ~tmt47^+hZUn&QuojdNB2}4}h72%62Aj*O zy+ae=76Oz3MUzQ*+3WuzNU?@%2_8r;6I5+T^>64-Y2ZbJ*CdLWu$dGscgv{XBD!uj zwZrx^@UFh#vs2HYFa~yvTjwf0TNzZBysyhZJ;?|oi4j94pjQ%!K_k$5nO+7I>E4ea zOG#2OE=kI-YsRVU;5Vrws^N?iE(1W;Qp1_s2P9(}eT-Y#B?f~aASHCqyyIZQ&O_cm z{dN8Tguhhna4_b)r?4LI%z$@O2=ErDB}Z52pCQi+BB&nIOJ98J-VRk3YRtlT*ce^J zW8Q^NO`{ze7D_>29oxIc?+Y-Dh!mGybz~^`-1w+)q*P)MfwphqdE=Ya>U!->UqsK{ z!=MK4(&*JUM71^_hgYXQv4_8tUU5?!ASkV6y$Bvy)*+Q>2(p%8DyI>e7c)i?cyEu5 zt?Z7uagDpg)K*K5R617r6i-hhL4IldFVX;3i9sd(iKPRt@4XXW*k0%Ry(X=`t@;HN zih=|%@HC4dHvHu6=$n%6uV!MvbS6^_E>r2i*iu^WQ=X!gNl=bnJAr4Mx33G3m=PcV zmA?sllH~`e!BTF7WM8y&g+6OEL=64z?}gr5XPP@_D1UfH!oSsb!qL@S#;=CB)2z08 z0}~yPv@|nnH1CY3ys_|kHJWVau{TA%6xr2_tLXI~?SClpgK%e2DS&X zj~gCm`7?rWpC~R^^s0HAf57X8En(Sm?>z(<( z*dYv*VBGnLLd?YNu8-)>cY?En5I(ZdpGC+tU}Fvq#KL5-H7nn#o&dxX-22#lGS8MVzh7mlIMuf78x3> zv@q*5#9V!W${E#y?HwxG@tcOOxja8tZZMw*=>oL}g`at1b}LJE?*%~vaa07gPc*ns zs?s0JHRb+$5q&p{A$59>QzTeGqYbK2nE7QT`$6Yx+CG7nDT+xucSxmuOqH7E!Px9l zOr}yhMn0aQa_5_^EB!!wcn}r+f;}I@O*B|}`dNYUsacl34W+W3(W2gK&$Ex}n|00O8ra2>h^68E!#W?&^yzEvnI0NgqT_N4 zy7bbm%)T=x0{Ukk9j}x+Ui<79w;S_}L`$rx*jxUj5C; zyP)7UnLaR?h?@#M&taE7ZK8B8@&1ZgS7!TjDz4X4VD`Od z?H%HR@kjZkA41oD^pk&FHGsa8Tu3)Z)i)zsuh4qVAU(0$+5{+BdaM=;S8Jh>y)o-e z$IyapMURe=HR6pGLYHRD=^iO@3vv9ij2(X}$tqz#>7hOFhK65bliz{KOg~59Mzewg z6Qh8jETc;|7&HtjRtf*2J@c;C46K2t6L!oI1F8&irM;Ht_pPeoNEAU8O|)rr=1Fl@yFf}Rx_8}Q!S+DR?^l{fPhX~aDyJt`k3C|)spa;~2=W4Lrlir7DM;&owM zaFu^(>4Vem+cI4|Jv(yYEObks-nhx{y^3Ai>~q6QufA*K(dKSvB;VegPZqnY@;y-4 zWZd<&Arx}gdg;FVaQc>>Z{yJQt+*Tsc~X(XizLNms+%v8LsBmj73qv;D(O7#n8zhb z=F@qJ#GFWIpI%aufV7#4O%_6=DCdf_;MaIbrUd2I+pqs^wb-Of zb6XN$$RSXIG~#izKT=`yo_7?NwR%-*0+6 z|0{O%B;ILz37x7M6(|-bsaQ{#Ovh%2OeOO5l1*sX2^9%UHH6EFYEGR$lma@|I-Lp` z#jrZNbql{TnkR*SI=67>zns39OC}kM*ahZ9qjU_byV?gn8VdS-P9! z)iPa6PT#S@=9x_8){R1yxrvuusGbX9#VY7HS(eZhv}uIR*vEsYPr=l}RG$Qu^lD7v z=(MkKZmTF4S8l7hC3c$?7*rKFv4&6I+x3OXL|72iZ-wpciPa7GOsyX;qLf(vOMm2C zsyMgrY?|3{MZok!A>+!uC76v~(wTq2??bI>S#cGE=o^U=mGk%L6qAcQxW6R&Kwx4u z0&z*}M5kja567|NC5B%fbUDG&*mNJ2GTYk$(e*K169^Z&-H>5?XxQ9X1!nG1F9>NA z63e-MhdA78dbcG~yU(=VkyIEw3LN_nYOoqNPcIkW>fL8#9mQ2@!r4Vrt<8n zfuZf3_S2a0mxY5BTKp;56#@n+l>*0QYpD@N29tGdw?8CW3I{M3=I*tbw=xxgmGAv~t-xh;I@ zT=JZ^73~JU(2OUl$0ThV+qEo|Oouaavmrezkeq?TZofCdd>9Yb(x!UJmuz%F7yES&-R`y6NJv4dSoUEW0EBHU6O{{lJb`Gf8_Wtu94234qDv z;<_H6&Io3vZW#Q?6}$9a1^`D}4PSbkSUi+-eQ<40TKwfR}f|s_a_a@5LTu0U$L}wGS3GH?sPUDnK(LqJ| zubS(nN4USTaIt7h8`W{q-lj4bY`*KCz;uE-88MM~`>w3>Q{63m^-CA}i9X?HaW1s} z$V+x+syWW4QCXjzm;rL}9r=sr(MO+6e<&>7S^`8XLJqHMwXiU*DhhJ(f3VE?#Hl&0 z(@7gYk5t{%D~%GDl2E7NYp^wJ(urua)Q}P}o(Pm*9C~%>N5;LEW6|p?7>)qk*G)F; zt;n8`*KVpI^q;u)-_<`$+CD$ExGOxYNz~|FT48T$^4PR4IT+@*Kn59~vqG3FHFca& z@IvJ48eXXDHSr>?vQ{= zDsQqCT!AxA9y`pK+HO{h4NKpd{g9x0HNbZ_=d;_}yE(Or?+Ww&tlG@(hu?U6?`j0c zPzdbY`5T|g8H^%9u^L-gQhr{O~a{4YL>h0!Y&IRgrCJ>6d2!Gn+$?R<09?!kiK?mig*b zns%4tblp9eVk7KA7ssmyWW`+0f{3Su4wB}%MEGI^FP&?&w!Oj=bCW9~ zkCu~|`Y&9T4N}mpet0puuyKy$fx%x+es$eiL6+UaOoxb990m7t0yH;? zdWSFdbB3-$y5e3u6Ym|;B5Ja%U?gzyPRG^k#rU_HBu=BcD$U$ckN*K;ofu$ts#!7A zgRX7E!Ab3N1A~84>Rh*=J^u~2=|qMECO>nyY}bIaDX4<8h>}Pnxblp{}2` zs*``u#X#Zp$2p8g%bF5NaZZu=0CUJY%^NI@_&Y*Z>{2A1>hO1ku3SwT?5E1LQArDE z8Ri}m*E4T7UmB(rPx{k`P=nyeGIr)2|_r_^`<#lpSy$K!>xRfw=vO-xc)fqupK*hWLcAzRw2;lWLT z=W30iW6(L4I4QEEF2|Sy8PqQH+S|&=mVr`zhPMbAyX!gVD)u`4znoQSlt6v zK6vRmWlQPeV;-Vxx@By7v+ea@<8&dn;ac|ezUO4sp?LyNf0{~v@4?Gq8Z$7F=UnzJ z)9131`d+9$K!}6z<=0OyCkF1}gYwO6lT7ejFuoSNqNkBlhMB%SbY;Ib>K7Mz67Q5$ z0+X6XEReQ@j2~8+L85UFE75tJo`GC zcg(|bGO7RHVOf-6m&ydum`s#SlEg>ukV7uz^C z>9c6yPKFj(VN=GFM3&Fm62w?JvZQS!1v$3hK7#8uiSr%Pq3@4fr2c7CiqU|yz1M)4 z!um9fbNgHp@T4kyh)vCx1HIL22{gQ;GOX`xa^VH{IjosMt8I(X!;5^cGqlj_R`n7snzpdU5r?>g)QG+e5Gc++juW|RowV! zjC44h-N9tDH#}O*UH$J=LE^+$5aYh1ua0 zT@_6+U!W9AHzdQ^6R)QPJRxBf{MWcnG_AG!9OVbDi1v|gW?K%l&*2oD9)^{A4%{$w zSa=lcMi(2>18B6e%89Pdg&7H%Ma!R;jQc=c{|yUW zur7bn>0)Qa-rh%E*N?ZOD6nMsnAeg{wR7!Bt$YIX#7{xEroMT*`ltC!?d*J8$u%=C zw?Fb926+sB;!S&+Obc{2dPxoJi5n$rZp`X*7le)hy@Kna;8aolcpboc|0ppqe_h85 z#tto|+KIKuzhXhGcw0~QiSJauOHVK9@^0Ju&rR^bxwXyA=8tNzkyUz@=9PlAnk)A2 zr{v9-Ry7&q*v8g0WNI3t{6Tr!}WI3wl{IgkpmwV7XLM=)!PY{74zH% zXM`U&t9Kl;J6mcMUZD?~X1NRRka2LdFEwrO)bpO~*`|;10{5)dNTNTPuCJKEw-rQK zNFAcg{~5Od@mxOJ`@@NMi16D)6S>BEiht{Kr+T^`e=8C$=|K{iev5qXD8EV0(D6n- zRx(NQ%>GWWHn-cY@;1&BaCE0)+u6AY>NoCRuw&N2eNyfUrCYL6+-xyXLdml2t8QV76zn9f$bG+=CsHZzHs=9pZR{wqcpPNekQba)0L&M$8jScM7xN zo*qeuvdt;pRu02^$MZgQXk0qq>TTQE<~lIbUi|Y3knCB{O?B%rL$OYw8>`Oqnt^XP zqbG{<>`QGcW2ND`KjvS$gDt{We&VO;Z%Z0^Q*qV-ROc=VHM%!qQy^UjZ+qRF)(==i zAQobHg%&WynB~4YtaDtgn=RQ9=A}`xoygm#s6Ce7jI|rbZ}6BJ(;5?OVXycOmP{5M z3*0>YU<}?#wLCbaP(Vnt{sj~hYhionJmr_s+$-7w(WPL>$`CHGc*{LJr&autfev2v zvv-o0X5bPJ>%5Ne>x3TLdDElTYJZ6xbrYG4se3%73=*vR4^J7Oe$Nl4aaIH)Zz1Zr7$d@J* z4VN-VcqCTdK5^W1;y2f{%U*Sp#Y9LKybiyc*fD#z9nbXwol}H2`X0jMN+o%7C$D7s z-{&W0l`{la8^%%a#ag=N`t;X^_RyM^gND&>2g~2eVfLVi*aQK}q^!6+MniWAA56vv zC-Gj2{?eK_Wr0i3xe5;(vgJWJyr;ACj?CXp_71D=Hd#ujL>>H<`OoC8km;A5s~6MH z*tVQip8J!1ACx8?K zE02OKltD~5kTNdevC)+CS6d=_IA7Pu>b#X#>PSxRhmFQv7w94ZrJp^Va0@PB2PEQO zLLa>Wul8hIP*KIxiea3W=r1qfV8HkBn1diQ`7*DRf2QB*(LZnBcnk2c*Be17xVthA zWR#T1gHH&coZ3?syU>hn;VoPJi95y5Kb*JDfX_4L^RzL6NlGtrX5o4iFADbFBbM^?Y(%ILHj)Cejz&c4$bjHz z$$Bvy@+>YT5@<35JIuz?V&W9+?)=R?XnXjdD+JQ$9lo^tjbsA2OT-DbKrBM;Nf6^M zc*O8|>v;E>;n((4wg>mR6?F2YExA80@%qnTzLI;Ebd0ee4)cVSwzz{Qzef@9?w2wA zGv`y!Q=Va;3gK8qW@4#iq&c31mXw4p>@HSga7_Tj=I7qhllwzanH8+yDj1c1pKW!k zN3}7Xe%js3TKIbVRNl)Jm&CP`5yTGWlj$fkF-It(Xgd7 z<}=)`Nnwykk^I)405dYvu>qsR9LZvHAl3t7(onKh1FajKMU&rm@%N2(^dUzF-zDs! z9&fUwuH^yC?S6}GfkptZ+64#CG#NpR*8uR3lcUc+uaJpxpxr4NWe|)%GrblxM0If2D;UwY9y^7GmY!n*!J(0adW!+11*+#Fa!kR6MFw_ zPwBV-mByvxNbrG4n5tyXwi1=YAak`=&x7u(E*&n@=O3BAmpVK4`7|PBu1sWRO+>s1 z{`&9hy}n0p&qf*PoSt153UG|A^nR*5fUWr;sn$C%>O*Lao7Jp6#-Rmkjt1iWUnnyn zMeOHAppbCZ@9qGKY^}o^PQ|ayN{Q`y z7(Qo6@y`VQ@V=Kq+3~|KO95(64;`-Rgm<)pzT}WZYWt*2+ADR$lM4n$i()J~t}@(u zLcSU^=O~EO8C{lswKb3`eO*U4HYn`=S#72^>vvq41Rui1QYV9vS=4xs464v~QMz2M z_GRzW6AeE@As}|AdH@l2RYm;Sef7&9U8##TwiT*nHb)+45{X6%ANB;iwY@8-$HXfa zJdBHwHj0JCspoGXS8A~C;IjK{NU`=A-NJcxWwl`*W^Mw>1ID^_)?}0Cn)1w{u+WGP zT$|!3{>tR~uSGdq`wA1f`&|qL)c?gLqeNP?!)pAf^G=Lgkc>tF3D1|3Qv#z|*`$VW zrqR|gMVayxaZmkkVlUV7Wa2@37OHJwn?ZU(-8*oDb*bgItrf~35<>JR>!BsUG^IZ4q=ex-9-4ZqJ#j5!r2h%HtK9^cjDb z3#118-mi7f0P_|`^$4H*l31$Bymk)JI6O5E$vQ-o0v5OiJ zXR=RqluWocZ8gZDKht>2;(64=fo01SN=-OMgT_rc-BO%^_rzp8#!cfAcpkxb5?L?v zHJaajI=kL@CYYysRD&}iBRS^V7w&PO^mRo>s-2{VLiL`mN{c&PkPrh?qlK12-cE18 zRs|}2?_HU=4~fl00tg?C1Gl%tKIg3kyGxL$4D@-KOX=^6JM%j)BL-DeC-D{){A{<6 zQTkOI)GP#CZ=@2+okbd1Yd#puU`-5aA2UfC9hSVC$)M6vgUYHSu)XxD^Q9$&!o}iP z+i)Xt(nN@x7)j)9&B)cZ%xgh0H=W2?&1bW%7kTfp%|v|i;%$=Ljace5*Q0(8KH$tk z_}Ob08kQTY$i^YkG0t?wi&SI0vF0`sh9WQXyG^~z=>)dkgB2NKTdQy9F8K;0-8qeb z_O!gts!HDK_Id@iCs3UXC~O*lSe-U={RLyCe{@n=9M`k-X>tfb97U-dH?kJzs}?#x zGzD8uAdzR9FVk*LXO;h#dtgoDi~^c7v)Zea>bZ}qvycbk3l4*k^ z4L3CRih{bom>Din%}x{uqpB!e^{z@e!3%hTEV#GDxZnMnZD$!P`PwLaRH03&W#L)q?2bATgAmUeQ8ZnYWI!+<-M=5XnJ(j)Z=Ts>6(v(%d?(m zmK|0i>XIIMJykg(7(*AXcusw^Equ#Ubm-Vk8(EcT5#p&qqqe76K}hXB8EB52Y8d)a zXuVZ+J7x#fXiZJ?bZD-#)80KRi;KJ3<`)qrlmT^Pdckacen(!7!^g+AmFOrYgb2@V zkPc&n(HFCITq=Bz>OY3DN)lc<5cg6lwjFJ<7&`e%{CK<~7ryT(f+8lVsfpxuvLi@r z=xT8&V!Xl8XDGR;J44#B0(x+LzGu_K5Y*p-lM&&kR@IN=P{PJvDGqg<;}5=9d0??( zi7(;#7ZPZ&?V5X#ZWfjK_M#rQDG!)>zUagy$k~yS?6ghUhh^|`nzCdt_Zem83WsC? z;)TwkG(}i2bE$wX2N63^IlmXK`&5yZo=xf!9J6`=-jtHC9eVut)BM&uZplVvmZE)> z#xJKry96QPI5C^a$J_<-q7KkttJG+0iKR6JjXfi43yl)+sd;G6<|b1RQr%0uQc}up z`nK(&gzsyG&bj|gY_8uK0E1WsS$fWNF^ogb?vdR57@ihDvjE#YvwH(k33;u@m zkn&)!E`^D&U+~ntn*I>S3Uz`SKOM*vyHZC9vw z@ZQ#i$sU<@^E@srgB+VB$Pae!`pK>zF%7}k1afyuIUh>@84S4kRpSkq=66t-Klgo( z%`Ut@+Bb6OrY1;S&hq=gNhEgwnz~sZCS_Spts;ruda7hf&Bg$y)+YR6JpLY*A(Nn# z;kMY4hl%*!_v6YCVJZK%!r}h)Kfi7+?{@dz|CqX-QOC`@*&}w9eiE$AGPqG5$2N&M z*@i(pN$>!$lp0pNYCzT}&bsRT_hb}P&J@q2#-s&;E0V}96FWi?zCws_JcxE&4-j|M1*ouE=fQs?f|olwj0!tAd*Bx?B}xnV?{KtHHDUsoZ>F`6@%J8 zPWH{MJ}VdTTWH@$&(FGV5H&aKS88?aj0j*+jktOx5UJW6d6vq~3X)dCs^r}ipY%|zuk(s3~Y{8v}=BMbQyorT1RV03ww42E}dnSBXB zb;U6|dY-DhS#ZAeI^1onukuWdb+y3rN#q-Aby7xqmB>E}RvCApE%dw%WRsD9b7M;> z0jzmjlgXN|T#bl`u`HD>XTH9{e4QX+jc#z@=b8leF$LC^UN(-^scK56KFv!PG)@et%KzvW(I76MD~4h&R}__IpHA zh(fKex(kRzkEN*@z(3Av+K|f`JmRh*A#x0M##^p~>S(DgR~bzCRR&QhA&u`k^8)`C z+`uBJgHP^9B%ljnVP0bYQ%j@G1TS0zC zi0sghm@5Q!>#rBB(?KUnugPBKR{u>^O z|3@~;uf6T(^Tc#7M%S$~rmj7qE-8J_CWroE&Bf%@-(4)r-d#;!8y2w$c-^5!74I({ zRu&LlOby=krV#^L3bmUrA_O%=pV|mQJ*px#XtG3nsX^Y@PLu2!v7B{Zu+MOcB3qaJ zWi|JG(rlfOCy04xJ->AGsz_BusjrHkkBQEu@1XHF3AFfFbBo@~U89$$noLW;Vx@-r z2Gz)1WMWD`Ghxn@fCL~wH9VBAQhUHmhV#}xAIX|$E{Py~vdP`G!hJl*EKh{ph2Ym* znk;wuk;>&~o#m1-;x8T?WdGhTE3K#DIG4u(h>alvj^|`xPZ#boxZ7`oA!c$on#k@Ui0!F)%3x z!PEfA^-H1kaW5^my7?T$(FNi%8qk{0L#2XX*Tp;i4KgDx*X!vs=Rdo%i1kZ1^shfV zKl{}GPl8xlUoXuwV4MD48$Gfr8M=HpVRr9^`EbN-s8#=w+;}Di4ee%2kwzEv(;%H`ecr zoO(WCQ&<`nyLC7nRNiY7d$0KK>OEsROI#eO=rTu#6$oOOn`d zB=!IbQmDa!;(nc5e7At_7bSFUgriEbOnv~#^Pkj`70@TH43KZ5Now_A(zHpy?zvD90d-JQ}oz088Y?-s2KIT^uw3#}f06+a8BZ z#j%=`;C_!lTVIP)VE^4VoQMqa*gr0{q(r^B=qDJ#H^v|`#7~#=Y3CPbRG@OGc)8=$ z`_e(o5=-0}B*6>~rVJ7jMd@shQwYKQ%0>U`i)F!(SP>-dx)5#-5|~4St?rv0;mF!g z`m;hX4@uTzEObrNcP~pCwHErPSMt(VUEY8xEvge46y$XPAimN3>8>5S{|N;xH9iA4 z4>5xBAjBSVBm`j2Akek&us}5!l4SY97IO_YPZG`IgifcZXjR!*8sCN;>UsIpL2nYesj2jz+o} zDcuN2_b6!{9U_jwXl10NbVx~ej29wm!Bp~1bEE$2xENL|oSA1izrD7IdAwv-3vdT1+t(xR05Zr#bFqzkl7 zX}7&EZE{#6z(axRsu;C^R!xlbYw8~E>3-|O8Zfie_>Xb9NGotj(N!Hoi`KbiIF8i#NG95+P&7G3 z6+CEwRP=wWPf!DLiWEi@!uR=p>32~{M=84#pa{@4OJ#^>g9XsHI!rYxy`iSt z@8QpeMn1hu8Ny{#ZZhI%B&SB&oa*cS-`Q}4; zT~FUojuTFAk&94qWYW8?~7gmiMuv<&RU-Dv#E(fjy>LE z?_&To>Ns%+kT6Er7C9mEL79REi5BTm5LD#U8WVXg^V~wAEsFrx3lEDTw9Cguh!4`F zc2C|*@9fRJS`6M^3`q%8f4h}q8}lcHV*UDN`DWs;G@j$xux<9tGJ%;N;2(;Ewp#C; zniJDc9z4Xt<8&x>_MSS2G6c!l+&iOUAE^*Wjtlfc7}Q={M6qv=frx|&!=Y8R-@f&Y z>++u-1zp9BdjyQVSlpNh-$_t8EKfZYkYLkZXpMXV@9XvPWO2oBXHtK(eDiDZr-pzs zl`zGFkcV=W-2W=XFJ2jb=Ms&3|8DHP;lBwBAXSCdYD!Ay4Ad1h)MXgk5E>0wdJ6pX znRZK$n5%j8#JM-`H%t#p;kW`=z|c;9ctNj7aXiHHL780>`z25=#9emmxlEP8q$8vH>s%GMve0PM6Z5C;S)F z9S~67ce*B~^Nv{|GUmtkU(9|>0Npe;T0*W)oxJIiW#2473`#`5|YLZfV9C>4vG<&Fa$y^Bp6#Za2Iof?qf)G$Wj zh1?WAND4I@ha&(ePennepySuJ37pBgW>BD{MQ(Xtl?rM6(q9~5x!LJ&uNcc+|Jtmm zW=kqIx4~}L39R05N*Z(Mpmsocjv1T0>3QY!!soWVNkso`r3;}y!>79m0tOsOrEMYO zQiUfjArJTI?ksR|6K61d3e#C)zpC|Qx^DhMg*_4m#c)~HZLzqZ>)!D29Nnnrife1w zl?b;){wJf2!yVK$J!Y0`9lWI`T6173b4rk3z_Lj?fZK51F7((RL3vB^molIBu0~+r z#c7FIsZ?z@A?{+9^{?%`@Wz{>ah45lOyuUqcV!l2n9NGObO!AB(@vi>92*H+@(t4BcbVlQo0VVlZ~Olg(Bc~bs5y!o$LZ1q`XY#n)f zr&T`=o@vqyTrk?_!#O(MMqm9|wHL$*70h~_;}jfs3w(OuT@|)IPSOIqHCH6r+FjBk z3nfyI4ceMD$_4pC!@fHC)p>|TjD;9LD@*^&l3NLA%6{yDZC%H^f}#jE$y+)+XW2$f zbs32k;r~7?q}r-StfotjY}|sA6PVPh>RT2cqN0L3)(apUMMsTkE}Wl8E;|E`*Xat1 zXo`I5nyiDPB40|Mj9BM?R>QJ6O{@BMF(3X$IB;PawUuU%bVJj*(8ZTu)IK%$?i45R z=d?Kv78wpH_?G=;IyO_Ds6|%x?z$O`B+ERtb$xu+dU+FW1sk#-qj)}mZl=H2k5z5H zxZT>O>*6p#6!K*@uaJ%U{WE0A+Rt!F<4nS}=J3Gb1pj;5|NNl#zz>SB@QyRDe09dn=iw%--ssgERYm#h7f(z`zNz1q_5!R4RY^0rIyChvX|pZ4)R ziP{^tFlm(3)b0&L<^G*#&x4Pf3gf<>)t8@Ryos|jts5P)&y!Cr$42zXV2rO3eld?Vd>zg?fAel<7oL|Qs9Fe ze~*G$GM)N$wzqZqi=T}&zP#t-c)+27sA5dw)2j*EJ1 zvxi(E4F{F*Crc&>w9nWsjojlTbHpIW6sJ^YGnN zugv^Sa_&+glzxU8>((1`Z~xJIB;PJ-gU_{k6q?6AgaTesA8xRzA05~Hwz(m;-m4OD zdqsl-J^u1bHSqduSDgo|u?|#Fv5bjWfOGm#nW^|Xyvn*-hXKo`Ge&KlB&uhIo^~rg zk|}E!t-aq|sZjsxc8e#5e6`B8Gr6^amq~Y%P-&|8SFlz#1ak;{AgcGa_!iaVDwSr# zC&NPyUd|kPb9HJ7+Ev4i3zTh>^Hi?A{(FZv@kz~Mvo}V*MC8WiOQ4IVj8&BbS&GB$ z#0*!lOjURrA&CSU+dRIKnz=eZP`IHZ?U>zQBQRL*N6%wikT?5)vo6%WPlvWnu)*^d z#k2LQSymmtd>L49rZ#1kpT2wjZ~L7}JsBHUBiq?4A%H_pXdfL$?n+&@AXG}d=9Dq@_AaduLNTxZM7 zcyO9HWBQ!xii4=0K*ixlN|26A5S!sT^2MP*90WcpPoj4E=**r)jY69Z?GA0mM?5s8 zwMVTdI4P0CTfY3)4fkj)#RfI2V(eO(Fj|hsk`E>;nqd9vT)F_8s=T`OaBIckn&N4Xgn}ZgQd9jM8OU9(kaUW=N^dv__ z4`}{d#*w4zW&&KD71b^mp1@I0&9flpt2K8~#Txp=SpH9h@?_u00z`SJup6#=2CqAVsH^;P`i zkU0JJ{3Zj+a=Me?b@oGbz7LQ7SH4rB*dGSdOHoK{Wj-IF`Q=DJ}#VWNxKh zOx9k+o>JsK2jAMG?*jdY;aGl`YQH~xnMLC z`)Ur8`es6JT^PY92=G@~T8-1`%dgjeK>!!`5c92w{01MaY+<@dAL)E3csROV}$>+HdG(<5%9&ix&)Z6>?&|ZO)?K{t9-;TpS{# zP|;fxM@S~{^LBx&KUNa(g>&MwPB`Q?T0FM$lS5K_5_AAbDL zwaUl|gi#Pla?T{En6|Qe1=OIT zeC@g1`~)kr=f8%p;<^A3tTVu@Q({U=k+GB6vD2hRX8i*VaFcvqLk>xkiwa5fqhSz_f=%h$5y6^vIj49@^M-}au$19JCsoK|#Xp1r$#abtx9=?YW3LQ_5t zp$Gs_pfSpcE9%sH`c&hH*Mb@=xwrB+XP0PR;0Ec_h2Ia|~B6OtDIybs>Xi@CXB^9Bk?ij|K8sBxP zD+D*5(G`b}7$K-`5uhE``o7k3E#VZP1OrN}dNDyeD$j6`1d9ttCwH8?nCoVA89k>E z&tcKaNCXzMs2m}v)3vCHq#LdX+COJ{wt4Vd;U=AV%7zt`1K&-@6d;p%X7)2?yxvwV z$>#Jk=DFd<;{LZjX|<+Tz#o&S{+>Z`0aQG1EV(+N~)4CEV&rG7UovI2@_a4aE7>yk7a6i@fe?Mh&FUW!gv z;3PZeX}fz7;(g<{`}dGXsEMa!au1;2d8TKLU=T|{qa0sqqxM6O6 z>Vy+;7E#3Xc>;!3oqY-54S<-{cbD!in-^%Vu^d}Qaku>lxBC2@dkfAFmhncM6!Ld(7{#1t|WY?y2y##=s*nmN+F1`&GYpD}keS z&2(CxMLl$7O5#;)!JXY8^$MC}ltcH50X-}DNtUBDHW43*KFAMx^eSjcDfsH@hpsq@ zasyzq)D2~87tfEd{mka{H8O$*74)+w;*!k^$c`2#QN;GZ9xK`^%YbfSf3*_s@+v2N zw+k)9hl;Oz`571ON>nz!nqmpa8D)L_MdMvM(p*IRRMuGe+0%-o<}$ zZ}$Bqf5yK39{Xoz{7$c{;>zR5cS|(BzE=Z!!*5!x9sU?sQ9WXb*!~6(HPOpdnK;>@~=H+^fl7r9|JNi9)f`0UEUljC+9eXw0i!DLWFe!of zQ9w(rL=6s%fPHL!VywM#LX<2qjVe&@!(0`l z>_^=;#lQ*>a^Qs2tU`kXEyqU$cpdqAvoB5GDCi!C`wjb)D5MwX1qA}h;D*TXl{fpFzDBv;)z(B}* zXDM@|HS2!VBj;Z^^PUB?Mao%)mh31hqoODGiw-Y=1ip>aVJSt)|*P^D4*rB`1m7W)vZF=Z=j zWg%>+ek_$YCtZ*ud=y1TM*`Hul;8VWTAy!J*;(8aRdJ)c;u(gDA45}sF&HKgxh{(Y zoKy@`?f_#0Ws1{(tvZ){uV6%nB@n3bn3~y*nkdH5Zj0K@uGo8Qs81NG5db_=K&fK(EQ1{vZlzh;+dl^ShYW=ijHFsH7j{>rwS`tX~ zTv~1Z7o}5MZT6h)vX1Q`Bnn{yCI9biZO>L}?h3}=IkInH@g%qwp>w`pfzmnO_)UI_ zDrf}JW`Dn27X)J>j19*Uvm5l=P_!l7)yjRi@6ZnDkoCnd7=vscHw$ShRFzR&^Rz5Do741UEZ)rjSv0sPF6hX~QQ3|Ra#cR@~G`c@kr=DVj5rvEvVg&vQ|9;6SQhd^;p`=&r?^B!~@FWGffamXIC zcBx-P-Jk`g6J)S)sZ@b*OH_Ux`wA-iPn+wRZ&u`VvQxa)`fXZH+4IS6wFgvn4boK% zGoZSvUt7$9J%`p!2TT#hZ~?%}amcmhfTmk4pOcbW6?^h`V|e%}X6V~{^gmMD^weDA zHqEq~rbcQ_**QDseNALPq04?=XS98Ey%%0V`V6YyDSQcXkACuHRtLANH>mYNPyeZp z0bmlYki}rYtU==;+fTiWZlZXYLlSxJQ)4yF7mSE+s43)@&7%_y_T{SSBS<`9;e>R^o4dj-tjq{vko<8u)#Z&Gi<#mtE!I-*X5) zpH{3vCYD;~PJ?DU;SB^?@q2qn{kJwDr~wsWD{RAmj{ieH;tup^CU6*3kLnhb59xYFWmR^HW~^Rq}!CCXQOFC)ccm zj_fOnp@HUb@GKiD5lS8;SqZBE8=?}VV!vjfnjQZKN6Hn4(3+#4ytBJ#jXfuTuOE+5 z1e5!sH>`jvq1e(Pl1{G~BBghWXrKiEG7QZ-;j z0ISk3-0-Fr(1VELAQ+iY8=+|3^n}=#qNf=<7Q!XsyoS4;%+hmtXo2TyB>ahnE86?; zhjH)Om$l3kXyjqjAFy%{;3Yi$2Y{zXYXZ8FNze*ZPViBhkmEiE8h1*~x*^DVgokp* zg@W&i`rJ@M0gEF-5}SD{;rj=`pY040aYJty@+ht#KmETx9dfBW8j^uvM;K|tj1Cx# zr*Jn9vZ=FPb21_SGuqO=Q?;>h2h>Z+=aSY*hj^jG=#5&WZd}Q5`CfH~^pmG93`u&O zi1Lb%{%fYs z%!LSVn34#9J#I8(2%1#m`NY9=tNTV{&s=)RLZe-;7&v^y1N`~BC+wvdRBlKs@x~O% z(HVfN*XC<+9V%jE!w)l5$+mJ50TwD8Z?>-XR;go&Effy*H|97|bQ|&?_)3yF85KG}=I=!yM*CRM|^47u0`3)!`tFijsEzxNfIKP5cDgS@$Zs#em-)Oj$$=w;T zS1eFH)&VXk=Ko5L2)g!EL$f`ml8Z^6r`U-05?8z?hDz>2D!LzuJqx|TB2J4c!j@*v1ObZwr9fUg-506bh#pz@P+8I2FL?s0t5ae9_gZFY| z-lQj^rUPt2m7da-dslTtgFcD7_x!0NnGBo_tTaxF-|)PEpxT=|(@#EYBB<>)0IFAi zVLU-&RCWMr9<(I{nuJ5DV3N2phtczk4$IpA-o(}p0|YXy-n+noobt;dnKQXbE+m%O z;WEo4E|MK#A8W;(`MIl_&+NHr)PnnmFF__hMO32BhQI#BjOQ{Ra4(N#g)lttw)HL5 zzhLHh4M_8E;A7IJBYz=@=w&V^5c`Gabhj^ra=V$*{bBIKc~N`4>X%;vmvT#JweD|G zD}G5=64UEuO+@~=cj9?;zvN$h4&h|zl(^J8@~#3r$pWm=CxW8HEia^Pk|6$;x^&Z) zL0lMfT6p+2kz_qg z0ip)Q$&18kgoMEhFkMa&e9bz1z53<{`munl!0xrU-vroWh2C} z%f!F8$G)$>#cF8M`ozzC&HL{vBwFWTx7__7Kb=MGUHIA(|McD`eis8po6GuQmh|KJ z$1q?-AiZBS-?=dr3Tod4w9|qTpCo}#0YDVa#DUxv#e-hHHZ2_Pv#KxbknEm^#r$`> zxhwv&p-zH;y%7evuAg`wm579cXnPXX3sVqiafUWCZDf+3sI38yf;Sg>AA<3={ z;C!X8{iYU|(}2VM6iLm7dE!OG3$zQTV*HGf52J2#)|)X}8hm=<{@E~6p%Zou0}D3_ zg`!eM&!HamDfcfZ_}T#D-HAAy!>nSePaS5Q7(jt{Raa)qlfwg9LK4Mq?ix&W-e3MI2;K+#F@TW#)@DU#N zMMLc|WJfTI1Cf*l%}jDgg#!UoMi1yQnOw}$?rpA14!9N3G$0-aW&mtYDI1`m{&?_X zjMrabzrJLScYfI2RL44RpdGs(cTKX?29^;YNy@Vg_e)eZ5<6>1`BR_5afQ$QgT$l> z;kAJP82TQ(AFt7yM1P7m;>>3C2b1Z?AuXQA6%eE_)aDn=8v*t4OD;z|_TJDhWJP*) zr@Py`OF9@BMyO}A=5|qJb+dyJT3LM!DXub4$W$Pb5=hO@a(6Emf&xrmU^MNcX&s}P z((;mxv(s{+=ChzlSy%%)-?ksvC!FKP5?_8w>35O#nFU#$7s89r;Il07WdRCC*p_@x zkKwoJ`dIMYC@V_qNmv^27Cx7bBwGc-k0CP$R6HLXVhj#5IXJSDRZ5MGvbXi22FtJw zj_YKkuTL0Sh;w}Zlak!~>D&)2EXwCUyrtx2;7$RuCnR%Tu?MHD*#)B@P5N@uXX%Y9 z6n<@4YVh)&i{duNCmhRA1`fe+C8cytSQJ9;mnQ#=qJ{o6eTxe%hV_2MLd{taC)35AAsxd~Cp{S~SE-2aOfSirB zyCT3RMfrkMRnZu@7fW4%NxYE5vwWvU#8J^)jRtq+QyG6VMY6z&YKo#Ni5X~OSO$#5 zf+2)@jk)^AxTK8O=2sgHCPm2i-e3s^Xm&+(T@pn!x{*mMhnoP@5uqp*3wJImbGfYL zQ>|)D$L`0r?gupW4w$*L0rvEu-CUqkH?bbH4FufOS7I_Av$E0K_uJEk=z3=lTv-8epQ>eAj?2cxFbCw^CO}Hth8E^2AB#iTVjVdrf#zxn zWJHo_85WE-sfwjIIO@p1QtgN#^ru=T7>R)03{W5M4(4LsaJoM!}# ziw!m#3?}y9hnZZG&uRZhea0ngGpoj{S`NAJLuq;`=iUrW-5*<=hq&zZ zng6DI*D(BsJD!ia&f`ACp4tc~1jwEi&Wap34jedX8jug{?Dy*YYcl%N^iE&(Xka9O z*&j!qg49u;)H`mV*{XR=Mj8&)4;A9=(l|^iCS6&&8{3AmNi|s&5T|BHmgP{^@)Xhl zX8UPOm}A_PrK99ix0Luu(-ur3h|G z9Se-M94Mo%<0VZSvCo7q^vF7wH#U`j3!H$X!6POVXTM#PCE^}tdO{FskloDWxCI?9lXF@AE=0HS9Z)W$$rx_mF4eQsT>j2u>a zrap79HD`x@Dlk71)7TW_q$i3P^}>Sa@YV9B6eHU+3hWEQ)1zr(g~ZZjy;7tB1I(!c z!m|foTS(IpfijrEESDWOhh9i6zYsx#-VVKZyFSI)+_D|eeJIjcr#@56-Qg7jR2Ucu zyD|UliW;crUE&oA9@-)si_Ooe7a$s*nl#yjXUhhX1e$?iZUERDlV)X^ziK)}p4=;4wrG><}*O*6xG%dph6#z{Dh4nAkD~8on?fj3dQ*Sd@orYIkKCe2_OwV(# z6&F97$!KiYUOYA(uQMC>rQHgn0bU;j45ovmKl+gGRogU1pS1q*)&sF! zd-5HJ<*qO9P815l`LCOsPVLXE?Cq(Y&!2b5CBrik01#qQcoFbFQ<5~-hoD%z5oG_Y zWnE>MjTcI$_mm&MpQC*>*)yfNGnB>s;YohGYg1!TqlR(o2gKZm)YA`pyzAvx-}vue zX4(GRjVtSQdb%vKv)^ZWxa0u!`Z67g`tM+BijxfQh?14cI1@C8jQJ&nzQ1F+8PPfw zwK$aTvbY~tYs(2cq=LuajHXLM!mkX>F3TznvsaMca?<8~(A((m`V zQUeY)7KD90ii8N7onUCKXgXZHGL|R4r(?EQUoA&#N5s&4LGG9?z+0o_=II zYFQHp8lcsEI-F#}E{#Smo38)-d$)1?U%SfX+5K3h(T1P8SJiL^K>SrF<=A&1!v(d) zWQ65K$*nRq63B`7)s!Vo=`z)#Wo?cHtn?KA`p?vxp;f-}FA-N?whJG9%qpp@xI4^` zerl!?fA~y;HvQ@GsFTs+Ny?jAw$``Q4C_B70%B(*`$m68QZvLu=mZ^>QDXo~Rw)_; zVOKYWnpY0Pk-a+wh-fChoZQXL6Oy`BhGyBfYVvGDhC~bC7Um7J^7O2#CSRsm*Dsus z{FA*|icPMK@z3!yiPV%9O1L&oJbO%QRh`bjH+E#(WRNMb+!!&oF73gN7`J9yf;Ka$ zHV<3=pnIwo)vA>$O96tgP<%hqUtT|PAB8~ZgWD!ywv5QG8 zqVUXfcp0X%1VXz1snW_7Gv~h6PjKwu5RsF0HqQM|?#ETNr=A~Z)qmP-G5co1njqaL zzuR(VPfR@i*(@eol&e>fse#!$Jo@l$%!Ir2)010!~v+rjp`+P@?b$k{0Ef36ofzA<`d8 z#ZZa&@ALHJA7>=p>i3_@!Sdf~FnXLQsj^?__ZZAmo^jW(F{lEYE|Ez*$~ZB(2uOgh z-R=N4ZOMI_?LU$uU^qM*o@@U3w|CEU0`UEtDF`-nJeDD$gVv_tZcJSOT*D^_WK|%> zaiXaRPfEEwgigZ~;)b^H+bYqowL(=$90evr+*4;<uJus?O?4?^Mn%ilWmUDQ|Xb)H0S^ zr0o^BhFURxGhEhpI($+Px^?45AzJLH9?(;a;zeyBK!U^Zy1*6(-V?F2r+ObURCwxE z*AmwjyMr?xl7r3iv(3aWgSt{m_l8X)Q$d_@o8PN-B0?t~y^B-RKVxHD(*J4{c=r!$ zc?>ckWx+O+zeg0^`mDh?o9RI~Z(+yJo!6a2odnvU-5byh3}~naxK%48xgYZiRKrrf zQ)%wW%zW)h>Q5msp~Y<0i&?LD{Ysra{@7vmn*-|>Uaml^(h~P+_Evl~Oz}^hOIAi& z&#ekrxg=I(kYv1YoFrddBj|r#ZME`rFR$*H-tg}{mK8(<*2mE%P_=2}SyI(tnVzV=NktW(su8Y`z~GBuxSv6*yu9HA;ahro2KjB!_aLOD0I#O?DiF>@;_}&27Yj%E z0nBEcpJSGshG`%9clr1t$@s-ZKmH@FJKu0ik)zm5L?xxm-3? zpsD(Pw!nx-{@mX#%N+kkAk_D>?#fTBC(^97g~9T%Bq z3BkUxM?4>N*uSbxNzu&0i6fqIq9#@gOtqE2W<|RjeYUKtk_UjEl44!?n1KJ0@8&Y!nvysplRe9H_hJ5v>hKCU)h(?DI9_dkrD-^yxVS>^?6 zXKEf36>jfU^6M$17~|U;^Lc9{>pIBfMG+RiceIxJpkTnac-$WuiQ3N@KefMQ11mU% zMGD(O^Ew#936y@Kt*qVv_UOuaxU@2;F{97`iIiw%I}~(LpT!Bxv2%aRv5l7?P1bma zf2@;epH`aA7Wo^eZxsxH*|h7hjaXxJs~-_F?u1u^GXcK2?cTXxeDXRGxW!=h8&-v< z_3STGGd#buW<4;tfvD8oImLvk+Pn-LfCdKa98chj%R`PcKbcF&THlYqXH#XJe=~y$ zHqrC>s(q<0=+66;-W0~u>S_&xz1wf(t)#Fl>AP^(zF72IP369I+PkL(dn<$JNePsZ ziejI|?UQ&&%sln0>e}`Ai~r6?!e09x!Y|Xo?Al}WkNhZwhc@YF>NTJ6_}5&Ao3kJj z8RD1w?k!YtWT%3Bmp=PgCjM@(m5CD2QS&gssO<}-QNHl>Z20z+JvFOFvCN~HrR%7; zTV*S+F7o?Hcsh!tc{6$$M^}jBp6&$z8mDvOqoK3ehdKlu(K{g-j#}h#l;P&3Dz&>t z&7Q28sBX~!tBj^It&s4w6@k*CAMLHfNMjETr$7Pd-EU5+>T_x|ELO*V={8Ru{-l0+ za>eN|A>ei~lw<@dj)E~O{QH_7s6v13jpIQ|S!fmM59L~Ky4&|Ewkj=_GXamwx1wQH zors&iZ0Vo%hzPM3jAtus+#H@U%3SA=skDH**98hH$_FM;c4Oy0JIihKvHQxq{s*Q`k zzfU@E%Dzt?T@Qn)kg^*KN4qe7$^uEKpumAU_Eo7*h9KY%Eh;>{O)18D30Ia?IeYFS4*4D3wQT$nU7Vo+IBV^?l!^kJHJM3~~u z(z;ws_YYEEd0_4Odb#IWID@7JbIS%ZsVKFQ$Q3Fh$MaV{zfB3pOf*y@E(3Mhq+uke_YDk>y0+gXH?-W~)==H3nSTc1K1duCpmYJ?|IR zHqdn&LmtQUH81SeBqL|n;DCCCd6hWjMzIvr;;wg(=Hv_(03ZX7STTvp##A%ZkOC4q zt5bg0FFBaF9Qs?`ZbQuKjleY&bZ%Sh<5_byo|E0E(?VjbJ!q+eC9h@|;*`6TQ)BV7 z#5`xxg2zLb4r#nC$l;e=2Htusjl{$VTHcpf9Pblx^IkqMHsfc(z`L<>$ZTCk++BDI znz(#78a9{IYQ^w`E<8!U(8!9RJLHU0OaXkgwvnb;*yxg~>RM>c4xN=Z>dSgqPHb~e#=+kQs){4Ak{GbxZK4x# z@h*H-`frhjDv+I&VDfrSem_mWVNTOX_*%5JzN$7pbctS^s=MZ8t>36-?MsapEZ0^o zd@mpc=vj-?C0e+p0`ir9i{W0}>x5-P<8%F-XRlLa#_O0tJfevTM4W3h)M$guKBk0< zD$D#8knc-7>B32_@O^ADX=hfmt6pU;gc^h-t!7%SyQGKe8B>@-Z87urE0=PQ6$kTp z4>leTg9h$I*zMW8a{Zb$i&*ggD{^Jhy*AYh=0YThp6VHqVL%T1&l1pOZk%!WxNf#y zgtc|nnVgr&;JLashxx>Vh>2_G>$MnDZAk}@7kQd*1T8w!q0v1h;WjsU7Sbj4M7$RN zQ_zB40AvUWqM|kaqPSxTwMX~cJ`Y{FAiI4cFanB-0O1Fyuw+9Iyz`CwzZPtax`BygZT7myS;oK_?hE;H2Ir|E~-N zPSFg}5aS`QCUrATFL3UBY=5Ah(mA`XQ z`+>zo0T({IdvUv0!a^=C{Cc}3+(1C090^FKINkbS;RF~$3LX-+w@@>;FldsVB+=3Z z)eZGD%iIfw%yRgcN+h$l(9#8u(d zBng!~zpcG!b{I?261MnH$Rc}U+_nvOb8$dJ4%|LOaz4lBNbG*KmHP96h1ctC*aysd zE=b}B7bTt?c~{!8y-g$*aZbio;Sn_*qj)wfmP&`-Vh8Iw5qAJ=_1XWs64?>pEx z3jZ}U3<_@t?6`z@&f}nXcrqOXPQe@u9%2Z~R{P zi=yx2!vEPw@@~#~e{7Z{Ju}g8J>9w8wHNli7hB74XTxG3H!*mtd|l2%Ps1%%#;RaF7U}Y`#}$P1?ZOK@Vy32^qJEkq;cxLFtxlzUr$l&1N?-!MZLNIC8L9 zf`CovOpq>2;AF^>kpYPt6~){rtb7za2=mFD4Xhph?3ylM%!=_L02SMCnuG*_%z)Ex zoQlZ1s4b?dVvXMRmL<)Fvbv{2>5>J4m|Cb)s&gF>W_ob?W*&6Qpoi%KbPQk; zFJy0s4!(GNvUw+SwoT~w$mdH|fH9dav`pkd0(nHS{D=e|8Rh44=zGm++*NZ6nR9dV z3oTWe@O#H?3TXU75=!mOnMVr^K#3U=1#pOU~XAU~P~ znYJVV*r)$Y?fJ&x%Qf`B|FqZ>iIPwQV)8v?I64Vhf@#nR{XUPCIHY1Xw#n{T=sS_5 zVmk%$C;*umuwq&Sx?YGr{GPrg1TAuIU7jN&jg|L(EOUWnz4FH0$=ou)tGctf%$)m| zJ*`s%sW~KRB7htiuq@)cry(@aFtRHwQ9P-6_8QdQfaR&f%PYN?P=m`I^ase-9?)H1 z4255=stiz^<7dcqBu{gq<4w5tZ;&J+aVj);Bl2AN-q%S6JOz1Q)A#d!$^obbAj5za zKm(7s!94#%MLn#daoC&DZ`(Afa3eSCG&>_87I~A8nxn~eU1n{NuSyB32N!c%N(s>z zRgU}ZCzn*nn7k{{7#~={9pebR4+J0K!a|e~L=DZv#Ot|GF<|8^6R&(lQ`{VqxJ0pa0tvDVa92WX6=2j6 z=_|kvO-X7s;GpE`XwzeAdOrht^zj0;8Mky2zx43;s|xm?22l!xXDZRZ-uirvwx{X3 zeuM>pjT`sL!AuN^J14OJ0h<6gpKm&zp)-SB%&ZWl!Oyf0p;ye{(Ds}pvNhdi zjoOc$@_Sij|NQkSDa3@GheL-00+%5PEr8^FUp4z%*Cmw7u?OM#^=C@1`Gqnm%FNKe zsxf&Yr=L!`@w(x5Ia9;`ksO^U0S8nV0;a%o2F8H0!%!Iek|oDaKP0#Nyg$BbQTr)@ z zzGT2Z`)D-kLnVIE52MUl{m0gA!%)A@vlyTxbq`zAfIN&T+WI*J1$6p6PD7^^zQ7d6 zJVMPJ@0y=&Pi+~RtHx^bBqTOr&2w}nbcdgOoS$46M8MS*_$^mB!$Rs~c*?Oel<612 z8A|WZ`QDpXy41!XY8k$>3EY{1wF}C`MaDwVQGDFYZd>^GU_rfljUp&pi1h{cO>v&+EV?L}* z`^_|;I-ECBGXq|kuGo=Mez9f!L73bo3s1)--O=l{u6w;#q=d!70WBoH4*`Ch-WP*)7-0}S{mJzu3lfSd+NNYvs&*DXk~<2Mfy)i7+VI6KiK(MjefW) z`%h&Cf(!(4u?Z15Bigm;HH;A|NhFL9o~cFas%K1W1=`bdD$e2($MRzBtLaF#IR9yZ zLd!*cTV;C5$c~M5w|SG3<3eO>BDd6677F6x4^%}NotnH@V@OM4-bFe8H%L9WEG7~> zB~WEwC8h*5weS{%&6ncwr+83h~PhX?*!*X#Hz&K6fv* zi@upIi5pA>h-bm)oWMVNmoJn;E-gW>k@p{ksYv0T|4SV=Yu&Je>igWjFJC|HDm-m{ zC-TCwGb!}JpXu)rTOU+0VwxoBl};MeI9uvIF9eoiCA|_VMs8v(qD(WT!51hF*9xD* z|MG3~^}urX;+!MYlP>Y?lXj}Yj8nj_+T-7Sk*KwW4?bXoh*0RHP8FgA0^K-i+c7>(Ac3X+kyZyv z1H?>D$jU_?soyw7$=QnL!XWTd7l)x#j$pqc{9e&&y|s0IjigFd@v3U5GJHlCC9KaIGm6|S>1qeWUsuWRC!$1XsV9k7RcIUgrV2cn0z=eKlO5okp=)N+vb6K#^VuA|Dy8d_+GFg^~sc9 zVY*APsg3&cXZ|)!WDFlW6_MijC5$g|Rvg(_%U4cOa%P&h7A-|>yi4A1Cp5YVLNYy%+_2b0KNYt;ol1!=P+7Syi1>JoYDctF^OPOb+$yBRunjp5O>}N zf}X8ZBKtW$Y%_$k`DKtm>McwY+Zk5z7U=|NF@a8F?H>tNIy)8^s5+aD z*@pUH#}xm)!GFjvWfz&coEXt?T4P2S3i}@bx)q(J>sT!#En@U3llnEr-h5UPJ#aH2 zth^V`$A^aO=xB2#irHq36O9$FMDy&BL8Xf3$K>BS`uTQeiC&^~@lQ~XVhF9{9!b7) zUw?)+naq(byr|&=p{56u}$&9 zX0Yr0D12@fvgz;D8vXY&a(z}*E~>rIjsC2euT+e3ou009LDJ@Sea~hgEFiLayg|Hd zOFiy8oNz&1z;rm-X+{OKcj8~wMTN(;pS^nJ3wk^VKJ=2*Sgf>ctkYSw9?r)QiXr_2 zT<)7pVQO?txzw)W$P@y@71S~*ABZSg>4`g+8p-QN`MJIoRe0%#-L&d>6i;`(yeSpy zmM4O{LzY*Pb#rLicm#zwnoT+Eg3%qNyv?}!+uT$c01>R6XLl}Hh*70EOGX@*hXHVv zvg>{8H|Tu)Yq+9&8jGJ6kVfgKYw?TFm^4l!`H{hrGggdhd0eiYN-Qe%6%(BOjqKE4 zvjfpZ+FEhX4Vo0)fG~qvfZxz99dV;e%#2@qn=(!F9j8KJ`Yh}dD<^etD|(9E?x<_#=<~$&hJjT&5D>cY zYpbYkeCmfen(PUHx3c&*H&$;(1)ZGtn?eg2jH{9&btaW($sIjG!UXrchVCE&h7yMje=v4RIdX^buwR2c>w|rGZ?4phZ?9b=BP%#_@v@ zYaOTNzmImEN~o`kd7fZsjm?08>|ImXrE?;{0*iDuJAFwReYF$mt`?Tch|C+vD`#_7 zx2T9#6W4YUsAVjxa^Qs)@6VJ<1mZYyw&*#E7!Fe}o@1b%D*xQp z*XGQ`F_8jD4&nW;e2Lo?;%dCmZ{mnGq7`*-Ph)|IHDK&iGyns{ve^x6bNs*-%yMA) z9vkxGhEIXy)y!~5=e|`ZF%}mp3E%@mw?mu|SM zOeS~|^{m1HM=mN3a~N2j@ei-NF&kT%+fIsg@12QBd4Lc-oNAv`W+A|k46kl<%yQC zK@-4$6-rL6I$IUM!hdcyrhTy_VrZ#WPW*vbssS`%JgM^LEZ2InuL=(T0&ZoyT7<;_ z?YS-8xeF2QcD0q95mnYgZxWS;DML|Ytp#M}K)mGp5||@Br9L}lk$da-cdur5!OoEf z{wSWJYN|#SL#ZmWJ~%_*2;{&$cMM_39!b8xNQH}{8gc@}O6JAKU37O{P2F`B_WXn0 z>TGtc2fz-q7(A-?jzz)8bD#X$7C3myUiQEquLZVGD z8*pZrg%E+E4n*LyjZlL0y;9L>u{LNJHeqUPEV?~2+8kQLY14Nkb0mhO^?p(bRJwv-A z<8$_)D=uMOCHn(@`@!plQl$5_H;rlNJO;uS3 z8bH9o!%%Ak-TLxN9Ta4tu6PsOc(@0;CW|%5~+MxLH)~ zVBLM9bSzaqTj+$lfahVgY1!I`ND?-nnM{>mxgOoXu#LA0yvV!0{jhgPg>2D_W%7`D zeV>{NWUj11q(4km3K%@RKWv5~w5KD5*!cgu_OSxFy2ZX}V>xnTInu*qC#Gi;UzV-&>rYBx>Q_1fGi(>(4lKP=)-}&EyE9Z?tzlDaEAP2qbkRlp; zegM6r1-Yi`ClWS>XcZ%q1jxWJG_E1uSpFbhJo3vE z22LKYZ>5%e+LVFF$w{HxDx)PnZK$b|g+yOrPQ*PT6~fHuFxNU3>3`iR`<#1Tyg5 zWQ&jlXTDw--#Cf0rh1Q;t~tx*#yAPI+z@dLTg9y=4j@QG3>}fW@OH#V@8)vqMNOZ` z=}!gG70aiWEIg~Welo;|kwE;}l^eKJ|n*4{L6TC$HfF~29i8%A+c(9q5%<_x2zhPfn_!Jl*KS> zhBv17VuUtlhXsC>3f{pqM)-e@hd+u^I#TnR>-2giP`+g{DMf>{(Kh}7bnDr>A+ZKq z6w$X~qM3SP{8rqL0*%n5c<0R&7&6MX*9?bc!7U3#3DSvv7Y?nI4Nt9Uj65uXl^j!g z;VL=KZ6xXdXqA;A#Dm(6fI%HcE&?f!x$n1^$0?rP4;{je_nGZc{GzAK(E!2zXH05- zD<991-Z7x}k61(x))=1oZ?=Q`HKKL-7v{$=blM0|?o>6W*@q}WPwz0zg6zhe77YqC z8`ZIik?rGqH(MJem&Cm@-d_lA0W zHGKSsl%(xqqyf~S?$mby%$27{v1nL4#$hB!OM%?T6HTp6@C0JRg#^j;d)KD|ve`r$ zf&+>p0|5Q!0$&cOVMr!Mq{5#wVsi+y6vARrB4(h&bSxnAUjysCc>Ua}DCx0soSO&X zut#LI-X!=#1gFt66v-V`pWJIuxJu1g76}$agB;=Mo!~{f))xqFxpyWd1Zd58qN-OLEU{RQhZ3hSJwSF*AM}p~qBv(%S=Ek59o8!cV*;fPf!nl3oIoPb9TCVqAW? zo%gLUJP88WT{Cn_03}<1Nxp$Ny)i9#cH+{ju$%lQJjcph#N1TZ!tAbV{B_nP`jb`_mT)n39p2k_!(J)EDR_e zofUOF-Yxg)ztH5zxD!_Ba^zLY&$Gy+;3(PFv<~U?ub1!dN+a1xDh1v=5xjl<3*SrQ z)4)jsJw6d3tV|vNT zc{n4g1eG29L`g~gq?QUiJY*){@FTp}FKFpa2XNFMuk^)rkVa{9!V0hF$H!mBNQKsF zlqfA880GsAK9=SSaDC4igDDJHvT8PE3SX{JlwK z88B9a7OPkZbg67C46{McD=#0FnZEn+MU5o(xk)`73+pxdhHsu<#^o)++zw2o_ zpR0_ljKr89%q)HR%Mc{|!V6X2d4xqp3A`rZbFCaWAZ8k}+#c`ec;!hBa-U<63XJ_n zj{>z<%qtW?6^#KusHomQSi$^E?Z%%FY*ds}H6bG8+q?lw+@LbkHW)q7p*lgdan2Pt*rAdMxzZ8e~=APssm9&v6=&oW0WSBe&g@K zS>j!wx}wyH6NWoOnG%l56tN4EpFk41NmOJH`@_r0Qm#SU3kgbI)$>NaH=LLzK?^kl zqmS)(nR>$m$zrqkbhQ;QVGcBB%0#4b=A_It@v^ zf1eN-GYrqP)rpdhqm#KmikXd~6^Z62x021;Ki=^ja%em#8~tQ%>LYO7tY~6z^&SHX zE&U85{(?&88`J(aOZ=4EbLckMqSos1-WUJ`l7LWe1S$z5Yzmvzx<&f2FB>+p^EQrV z81a&F2GnT>X$*Y*sOP^puw%RKKk8XfT^p7lUx#dFZKi}yyg-Lx;nYJnSYQc8uv3g( zpKTQ1e8Tax4GXh9$9~H>R$Wh?m$2F>@O781apB**MI^l%2}MJOZpy!ja4MR^GMX?W zRNSSo@}4MIS)(%Y#o!_^)@rO{vo~;;{>j6a^XG6<8Z4dd>QE!+L1nIHOfnk_V|;p@ z&C}KI+{Hz=_Jw~nb2pl;3iyvlwiv$D;JfFQftb>oD+t-!TbtUh6&4w|+B_;Wv4FgMF7M+Y%=KW21%MBZpm~kwr4M_I<#~5mi_i6^Q$gjy% z_rsR=@akQ5i7p|t_q+OgJ4M*PV5_`gj@$r+hwqf8O9Efdgu0TS@;|@KeY0TE-NdGr z;B4#leh|GQI5{7!oLHOm?|_IVT#%6IVB4bp;_4uLAHH}o#3jr=AWCTB`2Lv1P4KA& z=?jNd);-6ixA$IbWK?Bcb}xxJr#_9Auq`{H>CFP&xdGTJjA^t>q0({&ghq@iDyW}txVBD6{{8t% zCl3N}q>9CmsyS1<$U*SPi1Qn{>gF9f(*0CdAwYN!!ziAiafcTxhqe+@`j0VW(T>T1 zYcRkiaso$WMoZj3+u=&+RlOq6Obw_^cS$@gOX-vgJ z95o)hRCo*3v8}pF@CP=!Fn3_5BvqW!u76g5gY$;tN-qel5GG{rKk8a3^CI78xdVK> zW>&Bi{7vjf9UAWo&8rZqG)X7Q>&f+sA z$|ulAL~^4f^JvE$tu9K9bAjaU3CXn@{Awm83xNf6g9%c0`z9~{UDkAXIWlW|gM_oT zAb7sR_Z8Et!Z|Dy#Wm)<^u-Bg({xzgpXOzw7wuyuERb3!>ccg4=mP68Tb*7P!ghWY zO(q4dCM~O{Zz3#^^|xqf7(Uuc|7B4bP2EaKcQWwcBPBY~7$CA*!YjQd+rRzsFul}p)?)fYfVmyM| zDrEI2U!72nF3N5F`$PyNR_BH$s_nWvf)VL{lnb}iF}+mrE?Fl*yaf&?hZ+^r@D|E< z_YFoPc|CknxgM;a>PU0U%g9*iqp~+L{nkK4v zfG1`|YNqsoKYKl^&XVm)Q3O&>#0CrJ?9>I16`skB3916(qwb2xGkeFt*FuToj7x-c zJaCgAyA-Cac-K7CBf^+ra$B~?Y_3>RMG|zH33!L&eh)ycB$+G|B@Y6!Da9M`*`&=<@-W=cqz@rQ89Ju6S ztRIMC7_(l8?DmI$%m9kB+P)wo-mJITI0RN_q@=|LR&EJd>c)Nkn8V{|R-hVlKZ?cT zqia=gQ`OPjH}Yf;=zUR7h)8pmf_;vU9$9@qNf-na(Iu{Gid@w?4 zO6DCR`zM|F^X9;b!+97b;Op9E&%3^tKCiwpU`x1rhp(O^qgl(KWz8zN#B=i-8o?h% zMnaX0dY+|f{r>h1(%Y-?2voWoMiT4rtF#aq z@ZI6te^R<3IvwOGOw5X&P)broVJ);|`c0023IMBV%rYr3h z@T}O^tjgi!vD=HPtw*6fxd42A?c36a<&zRef0OlTr@sPU{j4SZw->vti208UHjY0+ zX#gWArhz`^C>T8OZB&fXO@5y47x6RvMrxm(Assp+eu!rz^zSI{juo7BKMN3_dGvmH`8(R^<>-4SNRpq* zNp=DUY+-o&Jomr3R)K%ELpHy+WFD?7vF)Rm9%WBf{lO9dVrT!Y!|p5n?)^^y3}VX* z7)sC<1c|+A#&ELu0k{(Z#-{)vH;@{6&u|6+kPut4kwuiwj3mDUi{agS5dscd@CF5^ zE<}%JjljUCBm-Em9R^;2B`rX~n*ku>QpnLXz@^njdEtuY3<^wzKEhCsy*U%3qyNp zo7O*l$P+Gd67)PC5<|&Tim!r#$!AcD5>m+@5o?iS(*Y|yYnkjRL7Sk!aCQ&jQ;~327na-*x3C6q@^x0M|_h%I98uw zt8pd^2EI<;Q1C~uDT$4R(;K_9T6kjoNSqykVWk8jXx


7g8`^5K1@~1PUgwH403UxDON$iTLtRyLL=Ug`P=R+9{xmSW>GihQOX7V+Z0SYeQ zp!tt5GhD~IG{H}~I!Z;QWU~=79}oz@ehY>W08sxA>!JhF0Rgak0FdDS!@8hK2&P^R zCnkI_kN5gyTgAIH9M*Ll3U*47;4>LH=mota&(%s*%#a7G7G=l<9Ij7w?5UB;O(xsx zoW-dyi8xKzhq=b%lWKGQF4FC)x2RW&$U=`+H(0fJjU-b4=@Md;^E7#F)9*Hu*7GoZ zx>%348bm7Fa=0G+6EShX#MWFaAJAgMzo>>$`N$fG1)*_{(Uo3D3>hw;g+P zPIDy&cJ9LYz5Z}n<_n3o^*nOA2RZuv-LCkcx3SFM&O4I$Jm*Gq^8JMmdyLXcZ?~PQ zBlDUIw+Eg2`-18j+7EvSRrmio#g4|^vu5&eFL!|Y%N-uBORaNilTB(xfv0G9nkShz^~ zxTdE-lNA$*q!REmt*6+5Yb+mvj61$Xew;2RU71D;W{|uv0vEk&T_T5PIU)#3Biax? zM(G%+ANVanP3lJ5IfyLw^L_r_)19C$cj9WBm8I%NV(~FbLN1T}GNXwtV1>5H6dfUW zmgb=20T5AFmFqn11u1oBJfyt}lKYgr7gUuW>4j@7feRPCII!idGgnJN=Jl)kh%5cd zp{3Mch-wj+??d^IaiBmjQ-R=R+F2R+$q1)Y>jZ4Ee1@NTEe8P!P`X@Drz8(OI|aeB zY^wD&u*R`ryC*s$ru2rh6rv3V1=Vl zyZF}UW8!%Up({1wMsnyFIq5TZh3+4P(mHb*;@T`>7);fd7@k=pUHa2 z0^pSDIDd;)lx$*iKan|l*70XJ&-ky6W%fxzKtZp+$yTxKkz+^iXXHbvDy@meF6vC$ z_~l=s6l}Y4cpGK&7qt-060HIxTv((*ilIwX-ov%xXU<=1y?KfTfXD!7 zN}7;<(Xp~Hy%)q36uX1934Ts=WU!?XGPDW$DbQwe1f)oVZW!E(^`ld{ot#i>Y%0TJ zwjQ0hm*E-Xxg-fh(5-<{rEz1@=ltaH<>XHsA%cqRpeZ#FZNWl&_#FJXu}T!(xM!x^ z7!d5aUfQC*Qz=QJ63r#FML@fYV(=${dHjw zCM|c7k>0onIKt1SSBAJM#XEzOTLGMOz@+#W(-SCYC;Me-!gK;!;2Yqrqyi9+4xnOw z=3h(J$ECa>SVpjS!wP_L5n)`}4+Pjo>8{D+yv?mSxbr{7z#XhFmMOP#(GM8oU%4kB@!}quXhwq zk!NE6m>JqPM7M^4!Unb^@~37=#3%|#UwTs3uKuUzKZAGo%^r9}3r%suRN@HA$#{?ig-x*=;J<|;>Xe;?cv_-B+rsZ(`Q$c*+mC6?|ie~64mEems z^+jmMvQRk3gj@ZVnJ$S9Ijq6B@ZC)6# zuW=2Wb|4C7M{;>t=ykU?=XRDgl9FNed+9J)*|;iuhF=Zr4(@y;EdGg)?+H==YqEqH zwnoyuj1bI{tOfmnw88m?H!4SHxS1_uVCnO_LBigliy#Q^}o~Q_uzK)QjV`q{E&rJ zhr#`SHlW>N{(@(Rz?Bz(Y3cgfwQe+xw$qAia~3$^0C3+YW!g}bH0B{ok+Ov^P+&3|4e%(u<+~RhJTl`<*0*z zH}ni5k8S^Y%lOEBO$-ttx(?r9eC=dld)7tD7EQygj!V6wqC(%%oRh0v5lfb|g_h;V zYcPDwVD1HRpjMuVB-_Wc7xQ(S{GQA|yxz%zexBa@VTxBtNz8^24fA-kEC6rRdH(tB z<65y(>2H7bW;B}Pno46{-T#TTMMcq+^s_LDb!+;Xs*$jjLAj|04?$C9kTJ{4X-wWpZH-E8!LZ|mWSzgy+TPW~G ztQ_Ycn2@*!v-XFQmOw_&J7Qth(bCyk*kezT`)@v#P;KNR0s)$Hv#%Iq&+o@a zj07f>YR9;~im!C}RTGlI<(obR`C}zsy8Y_j10X_;dwdks+6=dF(VgiMPud-I$B@Fv z#Y>%Hwa}krjTt8G=emFjr4U!K=OAfg9=Vqc*8to&f^#cpfeKVYPWw1FjN&YUb|LOE zH|$lsc9iui1UPtK+BPlg(IOS-@qKADf3Cj)ottPC2RmC#UObTQ(vV2o=x#AaP8{FS z(~oz>iEa|G_|9Hc_PHer&(aYuJ_t?f=m%VI`V|}+u)>Vb3;jM4F_jf13yVkH#9ex5 z$JA;wiv_sSf-2mi7hIXz7_3*{<1TX~hK}$l^x_6Ugxsm}k$+Dr^52XSqgW_+r44zY^ zlzfaH(n|1%PBAP^aWKxHzBMEPNMma$p=7ZiJyM^pIC-jSFar2|_uVh^USG<+d|V13 zF9o{u9Q$mk5@6l!Kq^qH~^HECp@T?a*v;J$`u20 z%5VSxO;-WA9U1H@0B(TKr6qd5*3a`I(R>F;Yn{U^lO~Y=+LJ%_@tF=X2P&TqCD;oc z&GC?*%A{!p4)dkQTxL2g07pY!p{A147oUl%D-6{55B_?Q6%Q&}fwXdE9%{cO4w`ydRHCq)Fkbxy5Zl2?Agg=eG<2FJH?I*UO?=?GG3omEYU8rvEAp!Z@Q}nf3SELJ-o&YrU%E;8oU((4BOwYH6CC2uU zG13)GUgg)^KhLSRDY>!+K4w!BBPjI3fb`iQQU_^xw*>Mx1aFYJ3SQbEl_IAa4qTa- z3cbdDw$}7i(Hw!BCtL9+`C=Toyi!+upb0pWDXR?zI9aE<$i=dI6|~>ruIftIyd$X> zbexcZZBt;DJpE?;_%~P|;X@xr)EkB8@d&PXrx3_&Z&cl{Hwt|fQSznQ?xk5gD8jx{ z>I4-M@8ZDLO0vX&nK%H;LH47%(0#rnAhL?Bpb8IJ1w;uKyMh@3_yZUa3!lT>Wn4HP z5XWFWv8@&tsJP1y3q|4MY$Rsmn#jDG=LPr=3h*Ne@Y#_NEicx#imXtp%GU{%#0#a% z_irmx*D9@eLQMp!s^wl<{RX&CRoNC)+1momQ4gKS2!s&OkJJ^?0`Wq9)xH7_67^Bn zyfq<6NLWElKtWgtvLOTsjHqvTwbp-i)1{mIvbKI`0_eA<|Kc{PCJ`SOGwD@m*ixwJ zwQUJmXt*J)-RG{2;})<2=$XqGL(z>>y7++B#;z7aN~2W@>_Yn{X*(5Br`M^#ur^F`;#18H}=HJp@N_Dxc+A2`2wHndwuHr=R{d@SrQ~ZQ%ogc;5wR zq-RI3Zi~;0mccOmVplu~Has{I0&%K@e5lo56I!k7dC?GV_Or+Cu&h%%$;YcH%BT0j zx+GR`U{yDX^EYIQTYwRZSB4@qU8n%O1>W;`%E!m%6~0~9gPz`o^4>Fg*fey-8xKXs zj$I$`Hbf)$B2qy3>pl$XB@y|Ba8b}Mj(`?SCj)w z9$1@}zOe+s0hvN%1jgxVccD@Lxif@bLn+P(m@tFPcf%QHu(Y$`M^6|IYq~-gpi1>M z`!gfghc%*4z-M9j3A*_*;ra57qupO>l?R@x>X$_nj>W?qJhP=I^Q}x zAuMddGLW{h8Yi6zUPqdy=eo>Jv4l^gwSsk#(|YOCbwv};H8aHs)1T@01uAw#gyEM& zzw2Sh*0LR)2+Kc;9{r<^9~tg;ccc_UNZZ`LKoj;1O&FjhJ*th~4 zWITAvuXUJdV6H|V4A%myBd2SLM(*9K8QDOJUR@mnL+wTHdJ1X>o;1p~8Wy{|$)0ue z94U>@K7F_TRDE{LgMMHkd;yoIFX;okZ=m;ao_qWv?0Fp?>#VcQz;Fftu8Wx89zgyl zKL5QDtOpo5wW;U*6ZSl;&+K+yKq;GU=c9BuEDivqzb6ObTl7frxyawn7RV%Xdyr#INQv^tfMrZYh;jKE=) z`g5w)6F4m-H1acV`sZ)q^N&)>>64qgEw#gNXOZ-!Yr;=HzKwp&%l=Jzfx_;T@i{R` zb=7Z|8=Ds194`9;s+BQwcd!Zy+RrQ54u*R$_})rd3NKp|I0G}hIWt&jTOeR|oOt=6;u^qVjZ$X8IuY~yeq#;G+{S!e_ex2FF&)e&Fcc%Tw4D8= zj|O6M0{bt8mz5dvy=bC{Y-ByD+^uiD#-rwKea-n@^Mca5z`Ip4#Kyq7mr>LPcjX3! z`!e3_BnX2$k8aW#HgOy*m$*X2*zjE(zVIdK_icRPMH2ENzG9eH^-y2O2fv=JcF{f= z$v0>TsK+iS&A>{qA;#~`P@q@G*a@O7QcFM=`KHDL9~rVfv9m3wmtQ!#ftU2#6jo0z zUJ|;aw$oBRv!+aY7JdE0y!(#%O$)wyMEp=!BFy8$U-92OU0}l%(cYWl3{>)l`VU97 z7duVFOyhMgw^}TF*xT@hfKx|?3MHL8eMBlP(@d|DEevNam5p!YO z3f|VAmk_-kVE))>|5N7iN0yuEOI~2vj83un&`s3Ca8ik1?1w#s?FjY5rz!7^IoCEy z4uj_o?fb3>gl}OESK9sOG*55sPp|xqktztV74a(L7eaT@)BGxDSL5jit$4no*Xbh1 z*Dt3>UwU--{hT&jITB9xO&{Tz)hXZp0~1BbleEJ{_xJ#Au+|&H`^%7swWdc`3#@@L#YZ#J{HW{ibvqAC=F-n;%kN67ne@)D%s) z6OD|YggW#e4aL6k1(3mOjc=X7A0kBqs3LCLvD4WPP+Y15W*@ehVPwWkawyC(RJOh zMHvE#9{o}D{i$+KLtc>gWZ~RXz=Ff>r293Ey6%dWTlNzNj-ZpZ`VST979_dN8~x9# z&Q6YK&mO~RWcVgk-BiFM$$MEh6zn4fur&5?wDGFM?$RxH*sh=H&X(F=_5J8 zU0MDZXg}{iRc{?0AR&|lm5GkPM3vc?+h;jaiA^kC^D%pDGD~Ahv`*1+u}1RWw;D?Ga{9Cyvoj{1%7$`& z*G#G9gtLze%9{O(&_4zheL1<@;73?Ubnw3Ew3-I~{QOHQ0+?zbgK}!R;(;D|R$yyH z6z`9syNwmMY|=j$9l9hPdH=}Lq}g&3VCn6)PN<(2xLv^Iw=M1d4y2T(io29hnK821 zq0EXm2KU)h!fCP}jcFP1Kb!dZpzkx-r3wXt@_5*KiL?y72Co0306GyFwT===E?nGP z#x)e^mVcjI*&^pK#Fk~a8U3;z_i7S=(`0@tDSV3Py!z2E)*foJ{%lliBvvR{j1O5X zs=D*8gm_uVvn&ppuKUt$!)j(~v?iPnDqRxr;|Q6(BY9rq~y zOCj^+(UQzg-U2+jlNW9BtRKnD<%>n$u;rm`^qjYUaJ<}=a!CE9X<=;iDm{4it)~z06QCvyU!7&J3 zxCx@7sGk@&;ov1A{$;-3S(ZhZrdP-gnY2LH(+Vh?>!>X&hq>Iz98zvQ z`o&yX0)IaqfqWQs5HX-Q& z=ec}vgU8%%eC+e=U`5Ab2h0U*MOkRRJ&4hs(#=It3mN+3OZJ=F2k%+!*x_jA<_v0s z*Ie(OP3b=ssjMKfftjs+6p2k`Pbh_Ix9*O1cDPzT7;HCZY>CX{7>kpkvmp`Nz+h>QDAJi@*ZbvK$m401&7#NcT_ zVMWq@XHA>VGZWMrQ7T`o!-~3Z_sC76fe=0K4^um4EPeL*1o`0i{N+Nz-z{;Pf#rXQ zxw%EJKY;gchhLc3g9jv||IB6-}==Iy)T>m&I;5ip?jg;z{5il7x`s-rq8 z>rUpC+rPSD(o!HGf>l|p8G<#YXqN{}_i?ta1_iyhId;h{oPIVS*x$Fl{P*ukYm$Ay z+qCE(m%6QyKmUbADpSX*ilI4-*{8TiNHVEf z!Z$ZAH2JzsBp{D`(;|waZNkRR5n_i>mP7(c+Th*t8KA_<{Y+&JKB#rA^6zPy&`-*n z*rC%K@adl+D+(zm!H4R4N_;BRT7vagp9m)8qyS$=_+`!*I z%^K}d>b78$RtOtYjEOZ^(o-_chlU#&o#~C}VFP)h5H#rsVbiz7H__RvNzd_;mF)UM z`%okMC>c<80jJR0j$9BzM2e~&->!^0{NX)28HforY}Xq@p_VanBxOPd(e52)r5a&> z61|P5YL~8HS=&cEOczTaZ$u&Q8LE2tWxx_cll=lu5!aXMn6u00%)XMxDr40?q_4$ zTKcYIrZrqXBMGEM)o*DWqn!ovnv~9N8w*@R-7O3;SMb9@YANxYBPS0m}dCcY@#NA zuXyL5vbE_Z0jj|>w&c)6BG^sMy=m5KNuhUg3R;!qtU+8+lq)f(rcrisK+W11Q)@_0 z*1LyA#kb^|B$UEU+j->qd}t=^8)wa^aP`J`^#Moi>@C0-|Nq0)U4BLN#{B}GW*BOK z0cnPmE-8^18tLv1X&gHJIYWs^DhaiV6mEc%E}!owfFVaPNDq zy}xmN1lcdr7>nD z18N-Bwm2qa9X92u)3ELoB|oqRM32Tx%O^Mhnk}x4oruJMh{SC71f}yT_M&9X33@!`q({19Md$hS$v>Bb|``jYEuEh*sy!&|I!5jg>=>~Hti)%E~sWXllC80jA>^-6kz6-v)k2O22FGYEiZd==Xc z5*I`gY|(Qj*1WsM^o{vd7V6yV%rf7XOFE37bQyyLLdJiF%=fnqSM{_?I+#%O2^;+d z1!;`PLa7#$%uEwfD@#ksE&wbSc%?ltD1$+c-;9!UVLCZVHlMLS1T1+yKJ(O6>-Wlm z@3M#}1w4h=e`Y#*&Lvb~R7pwmGH)_pZ^Ss^vC)I2aX|~fKk~P5fQ4vW^m&7~^^~>$ zR6z`*T_`u@)=N+b_=^w3Nt63j|49QaA72tt$G%s|EdPYqKGFf$LD8_{-_X@q{wp%c z6#)31aKr_-{R~D*ti>AGEqJ3vq3n7jn;+7@C08+-h@MS}dqc)17t(^2&$ai5c=?|E zv7>&OrDZ<7%Bi4B#Om&t=X*8^@-SJO7g^@ESjw;5DK?`5o|PA5#4}_(f9zl^RsYKI z!psajD7eBY85eJQ4c#QI|I=HRd9up;PhoHrk<)17v7%O;1z4~{ouMh^gtVXgKaTep zvql_TOD|91auK&>w-L}sOzQjcTh{Ud z;qmd7PDtW!h?%D|6)^*BPfS36FN9kc%N}!ut1TUhs^=X$={)NwN$6U214z^Wj(MTeEQ&a}9NrNIJ3@fny&!bRko zKw-58W8x+Vu_9h^B#8(x#W4VhUW?7%%f;DM-mQX->=l0}FYAnBvrdq%0o?_FZ&*Vg zTgSJ81_T{M5e~*=hw3Lkx=fHa8A@H@ly~+gJ1fp6#MbrVxq+knwG@AU7mz zUJU&k;Y@vezzbs4J=OE7sC%IkOK%9`*8%y-GF>ZFMu~U@0f4EPCs+Xg@f(5y6U%fe zmxnPdmSM2#qPwQD9AI(e(XrA5LYsQl}oBEnTX^R^#r zzy=;+D=hGdO(ISTcPyQ;{@-T8ed9!94Aj~gf6&7cwxUwWLumX^Cl6+}jyTbg_aV7N z~>{^;V2Y@e*C21CD?_4i6yb z8Ss9<^naga?!ALwfPn3%p9cMMu#QW|0Tf^SOhtv**I%QsU>O{k4F{z2@-^yD_&E+? zWb#>KR_?Lyi{lXfYY7%y@9AQx934 z1kEpjP;e43BS%-^2J(&^LZSw2ogPYhP{)k}+pTVBVu5VCq4I2Ttq3S10crtYRJTyj zx!7(*$QXYQr}@L=mHX4M`lnC$XWxgE4}{%#F>xl066O;Dr1=-6(7nf2;^ECXp+Nb# zg;&5f6jaU`EbOJKw~(kV4$~L#d3?9?@e)(l-v&0U>Ah<9z~L4V^o6w5cNvw7)WNU^ z<)3dyq%dU!N6|h$&?g74@vLOTa}zJ-x;$VtAQq;tY{x1$YOZ5qBK;?!9>yWr;==mV zLT%^L0rc&yh+BGe7u=ZO=bQn>_XAwbo=PRUq$vKzm0ehqA3O<d)B@6Dic=OK zI;=+dW1zMz;UXnD()8`NyNRA>QtOw~e_mIVY=gS)|9SrKPY`2^iB??6qkd$^pL^vV z5&-bvd_>Lr2oW8yBs@~M282L@G_TWYB%sY!m-Ji%Bq}@O_RnIszB9?RSMYtqi%&+* z-T&+}Pcwb*5E8CmZ%#g7#Ueq#zcBh|`_l=QBqWj%{+%&)sug6m3+>U0@j^XmEbKA$ zHEt7En`uAqcpNJ#e|50)*XSlg87Bksy!Mz34uFG@BG$%$;dsOiT@d&l*Ju*mO;eQf z8TWV!i(JsM04^3OoD*~=U=|P3(HjW*fJhLu5SB_$l9w7$Pi4`{&{d5c^~x+TGs%)y z7>j$9Z|1Ie&AFUkV_mQ+(?*|_kN5_!!5Et}=o}juH~y3_8US4H@L8hs`d_RoXafYm z65YlUoQq>7KmEEtnifk&KYsBwWs)t$kd#p~Oi0%89|$Qet4yY^<})#Td+^#T(~zJY z2~XWWKKGV#f@%0u{Sf+GPu3*{=h^Fuhf{<-d~EVl?rbOc5q-E_H^7l-gjIxmX2b3s zFW&lZHY>t{N7jf5d&7GwOHe<@VopTi_xE|L)Hh_QuIn#&RvH|Z(*1V;EWEU+BqZ&T z3eH6X2Vogvwzdo;pANMTdiWI&rkcNdyc)t__$!m#I%)42^Xy$Z0GMCkn?poSW~q%y zz}eZfa7t3!BzI~}bs|rTz@8)O+iRk?Tm-AYY@jkMrxNIvdj?fl}?Gc z*Ee!&)z10qBT7+pjNV1NpkT;~WSQ*V(C8FT)mDCWu}baG2)XV;Ekq=94d+$XEULSb zu7kBuvxd2cVklL%@8NM268Ve>H~|2JA>*H5YRa}XpVysqZ3qpxB8UJT%h7dhlu-;5 zhCw1lptxwDAPi9~@v#?fn#M#yAtIvjO{2YO>}c7-ZccLI#)@O1MOQ!HTU9bE9L|yr zoyVpIw=zy{0?Sp{k=Ou}%tvB#wd2vjYLsZkPvkNC0HfLECdxSEbYTzd>y|G#Z5ABMpPnLAQiPx;KyBdiqSK5In;q!q?E4>}GH^67z%~%u zI?lrN@JZ9g=v$fZn~myL-3j2$ROB|A0k}5^+@xZr%*2{X$LPES+477QR6#^*C@aS( zt&AKatq=m3iU)624w$d}1$wiA= zu0g!m?7X*JM~sC1mK15Jy6j2_;G<8T!AOw1R-22_zQAcd5QFbLKHl2SzD#9Qj{#J5)XOYt+u#G z;(iprHDDZ+m{B2-n#Rf|1d+c>a`=|wX-=dpmctRFuRV!iLS*!Y^?;PfZ7*ql*x0%oBHqi3H)+|!ZAi-knFC}!viAa^fVsK zmPBknLg@AWC)-iRF6#X<#P&a*&`yQWYx=nUZkrHMn8KJy6H3@J@QP)=in(Wc!egJ^ zgld8?iAOCxSvVMe0u0^trAzr>e=Jm5-qNWr)HMTHlPZ1LvI4n(+jtQKv3fDADh`B2 zZuYlX^`0J9Q|F!aKPh`HB^yL@Gmk(%w75U`ccq12jctERt-WHtAen@xI(VA}0+doT z*~C@z^!L-o-w73nWsoI64Ryjr#_jh~r5Yap)0JbGKn5lW&ZN*T1rjYE16f?p-k`u_ zP&u5>lm5&7-Z3VgwwcM4moZ4z)gc&bQp>~ezTuXxG6uBrx2Nh2E<0*wquUJJ7HtXf zTM^K9$0a{Y`A^y?d1r*B;i`2TRNH*3O7ZF^SJE>+XWoJsMfhzh`b)cDdbfz9(8?)|ZPjK(+s}l5)D_2^0>5Ynta*PNaB^*t&F>8p{K}LcZv?yneF7!t6M&!rSDE_tb>B zY03F{xyU7Oz=u(H4z9}j+6s^@@P&VgnG_eBJaU5l^G|(gBG537T@Z{710Y*q16%dT zL8t@4xhHlzMxlY_anzXvaLg{<-Je7BP3Q5?B$gJHyQwP(alv*&2(=n@tKkK^owD_A z$DO{_%GZG*g%|TU!za_3yHFa!5ZC|?>^)t8Qf_iVekNkT$1TC#pI^T>ucOmU5{tm| zxSwgt^>I-Qo{!1dh2MG=Vin(k6M?J3(`t!;L8LaRNl*2&BT1300uAL~U`}Gh)_0n2 zpUP_h;3D&w57S|f-j+AmQ}w*qHhC1gMZb(`&q~^hF1cZP;jREndf^KsxZWAw;Oe-fuh_rcsJIdQLvP zgJPQmKsauMmEKrwXidnhr&8?}eP~;gJIEEz5&$~<%?rW@xJB^}%r#iTG z4IJ&J3&;Kt$956tl?%i6Hkba89o)`=3CG33&Hb|^R?wA6xlBBV%dHh=n@#-Yz0E2C zWY)1Z2Hp_xv81#|RPFAqF{!Rs?0=rx+WNcJbRr)#u4o99>y(O}XL!43Nh%_ECq0y^D=-yj~=*n`1 z#R(~{X-eZASjQ0T+=|KBQXmmnr9*_y7Ax-$u{V@#s$zsqr~d#eP>dkP98E3|=WP~u zu|D3{FP7D$DwveVR%V&bnT<0$@NjEhj{N68VpN$1fZ$NHaxA6kDc7q`SK+dQKefC- zX@LBjGC;)*eU1u!1bexr3FY=v0~o<<)|wYquI!=8uD^dn2T(x12h4Nm!fIyCX_*WH zpV|}I_V=I%s$>oLEmh+Ej0zQ>cc@LkoWZ6^dHebPfTt3B z)>(#R14m@rcFwQ1oUgdHRdKL`dwB<(_Xj<1Gj6+GC8F?$SbqCJp)K$->RgEkmiMH| zX9XwlTaB97c{nf$Aj5-rmG?d9^a;p=5uAiF(LplK`#96!;gaa zf(%|i5OVmB+djzBksVWVzyuf{W$8QAg7{(V9A?umGN`Y+K53d{S)3fh_sAxXni;&W zE6*n`xI|0RVPDH`(#H~!_!^PP;UqO$h2momDMx67*ONh`H~P?V9Za9<*3ID>vWO#A zj2D>{m*dm4>(Xx~qjx5EEhrJ*_sTG@2m{w6#d=vej57_79o723J&fL?sK{V*m;FF zGkn_LkUqsc9edp>)G5T)6-3q*;LCoz@YrGOMiFywodHt{4w_~7;Q%O0U4IR;qu+S9 z?SBw^BRu}9LjHqqY2w>qC0ul0;efVtrWP`(b{Ostm)~X_5ZL&!dB!1N#lLyPWgu zzBXB2aG?J}Y{ScG!!kC1i==vo^>=WA&%+S-oA;vE86* zEgw=v<^Gu+U z&HD{)bn*C>fKR%@pB1*T$}}g#Uj8wsaI71$P;)saE& zTi$z&#@}D5(sVXle&Ew_bSt`A|8aHt=Qi$Tq}jpg=U-A)UQ+~sCd45@*ww5!@U!7anZVftIK;=eY;nNz9e040PD%)+d^TrUz)i+K);%*UB3wL zZ}CwU$~uUi?cIk`?8JT*|906N7=YdV4-aCh1iB@|`@gjGm5@)Ifa}k&TVE^(TXx4t z60rFe*v6TK{EUTh3H5;Lx|SPFz3?dPt8mjz+U6EoPD#3#d6b--RHPG_TdGACj>>Cj zvJ-PERQbm>@QaV6d049~-&&hx{MT*asMN1a#euA)D>pj>DXcNg> zH*4jxa}(VOlAiej{xTF{(SD~SNOq%IC^%Ry+!Sg&#PSTt+#@Nv`t38jjsi_9J5N?y zANBljyDG&kwN(j#oM)9F4wdv>w@gZmI)&l5EZWVa<55VZXn6ApL(ck6BmriZ48RYenq3 zr%LU6P$0`tW9T37Ue@c&&p>|&)4G9mj;z1T6CL_+c8T-1x?gOUy6$S7{FMz47?BQ% z=K7p*U&rHDv=aVUP-ON$IscbC_oV@_QMSnFpTXDR+7o&TU9YjZp|oB=W(O{O zG{#P#ml98Z(Ct|$_wbio=(Df&0azUUuM?3W>Wtv31EBGjTPnfjcTa)w(OuSFOYz#_ zpF2KMI>`e(FQWG_C=pd;MWfTco35lhq$naXdMVjXOp9r)U9ed@n)F@mA&|Uch^{Aa zo%(}c`UNLtk^jdT8C7O zWB%I(J{vVp1ByzQ31bFt^^G*`aQ?-g7`QAK@Q&9<+gbnV?2n$f+1xg_X8$~Ja`nxm z`gLl@9i%&8`mZXzJLVVs=gWx!)j)x{HO1Bafy{Yy?uNGibs}WDYj2rIfcJT+!N#2;&+xr8b{k~gJYya~fAuF10*sYKSyXCZ^*@h9fhJ)Q<*S9hco$d;a6-?As=SR z5A37a`}Nm1q7kXl(MZO1C*48 zr{*zZKDveqG#E?|`1~xEqB#h)tPi<3n3~Q9B!o-=cT?!K6lgWi0lWhj;3W)AM7?Rw zn*GY$ne0}hF`tSOJk>-J(`c?lg`?1U9+Y6ZWOZ0%re*Bi$pBXPZ{?Y;`O3ccTYaa5 z&Lvk>2I{vQ<)ZCxEnawZT3GF|<*ZSrDiI!W1h8jrg>8kN;_kkDzB-5#hM>P3K!B1E9 zTLF1)N?fpfj~NZw>HQe0)KW4rV?!IGbUWCkN1j{L8)KRtV&q14cyagpzUwfsSK>wJ z-%iid@7?k)aS+KjL=nQ)j%z<%H+D+!mQsmKT}ReF&E4QTpW`N8wfI3^jraO?-gN6f zLA1Wg;A(u&UjP6fbl!0vh@<;6EdD-e2>){4u<+~;rOM{X=v3NB-~?Z)V)azQ;x|1M z%e-Q6uig*E8mX7@&LN8qoC6-qDppGBC=8Z8JRN}i+n?@H!hTNqb@q8gx=Z!%@ZI(X zcJlq_;U{sg9>ua8*F2i}aYBLo8BrXKkl6W4p}fN z`7iwqsrDavF8{CJaR<$uxF$j3*TH8m8DBK39P$w7KzV~;%8UoF*~0CMa3u(DHJ+Jw z3Y>m($lHYCKZ@mDxPcn(0^1T9c8EgJULT3g9vLJsP!>vS~9c1MaI{r~U}JU~PNzzMkV|L_m+ z|BrtFFieWyB#_i`9FW+gcZ9P4#Xs2YwpC0$1F=&w$F`)*kTsF31BBvEm~D7Vasp46|1qeJHkWqCwdI0OPMUDFpG5r7YIlcPJ~dm zpXJn8WTMy70b^J46qHD#d=E{~e2g{N#A*Xr=0KzQW!$h~etTua%A+zT{yw zS~;^rMYQdydHZIY@cOv>wL+;CzaFeVGoh2Ih+Yfc zGs=yK9|1WnU_Me()Lg#FM-B>B*9ZP4>9Db?0PrIeGSW8^ip4$)nz3Lbl13g`{gcq3 zNu(ZHxe+L>=bDwG<;-WQH;bGS6>qsEu%QD6Q4|D83(pM>~s_A

ezZc76|E%Ok(oo~cWJE-0t@wJ^$Qf4)rL#vx+7HO5q3V+&z>!1nDegA5Wh#qXOe zwS*8M2F-}(VxY-N0GA*p10B+)MOc*>X5 ztG`P>H1Sj7M_9V*ER@c0fijj}$>T-l*n+IWP%zNa;|r|~9tiE|hNwQqhdiWQ zJ|1-cbNwII9=EjHhl*U1;4`PSztA}f5odK@L5Ppr!v*v!sxw6di# ze5sIw48r70gu-?FP-LG-x2FR?+by0xMDvVnv4%WqGw8(Kw5d^NKV<~6Fr49O&K+sE zag}+mDak1$IB#(8_BK%hU8Ud6K?ZiAvmUs3gI#AxF^-{F9tg3&h#P79Hgq`#q>}ez z)Mi7fP~r$TS#3~olC)OM$G`IrnT`Rf+e8fzNEIXS#18Z&F&-xSIzqL_6^We~qdgM^ zCBcC=3NYhRSEc0IGgc$tV31^Q17B1_F_oXO5+W9m_%Ne%)RMa|brcN~fV)4G#sSr~ z19_77jo8ksOX#Lfld?@&nMVK+ern@zBYOaalLQdz&PB2EX&n?L0n(ESgfO-MPEDt# zExY`w^44=iR?i;ExD%uEZZRVjZ>X6>p+Tt6ENoL=gNg;OQ#sZqfz%S*9OFh{YAk@n zb{8k_mEs1+@pegM48!9~-E(8WNbWPJkcji0kiYIm(m4FQF^=w&B{NA-(wX|40O#X*GkZf)Nzpt1Un@1N=xo-@@L7RQ(j4-%%s@=l z8AvM;3mRm8B`1JEBbMDkDz&%=Hf_-RN!3Cg1-j(+1n@0~I3bf>BbzWlo{b#_{x5QY z-c^i1Zt!u1F=~)U1VA;bq1s;bR-Fp{v>;7m$RiCGpVkM5I@J_YYV{fN3lU)m^W7WD zQ*Uky?Kb9AcpG>p*P0giRYiXi%;P3PO}*~}U+N2yH&!jjADP6d=&wCWW6bu|RcJM$i>jn|hWj*ZLNkUm zEd{DbW~OwT60N)kD2e)*a*zyttM+-`V^zMVh za65#fMBGVlBi^tl1(|lnSs`-B(?np{ld(H!Cgzt7G3vbA>WRQ-Ty*RTLB3|*Ui=h!-pyOp zN|C}dNXY7v^_A$Go=uPMFV5};%M&>RlM+?9SN}5$#a(}gIb4~qzUq0^+4O-8+~3JX zS>xer3wFQ*%`pq7RObW=|7o6d48n-(n_13TtO#sR&~&m{u{*)Yg4%deFZdfgs?Yns zpx&I#p=aagd<4=Ea)x&_aTHYJo~%P>%C_qRd%fu z&Yu;oI~<|N^R_}S-TUHPh_sAh*f1K(CxEAvu;`$xnOnd6XKg``WM_-?tGBXVZ=W$e zJ?ZLV^9XxF3u#RI#YQRdrI=(=M?WSfeQ6Mq4*h$qbMp&vWC0d`9g951forV{@KaT{ zUyyD20>Fzv&BR=8i6HS1*_LD32St>+$hirl+7piVr;B@CfNam+55o4PUW8r@_C|w`ic(Eg>JjGT+z%kv-STpsESgyYUBx%Pq{@B7X zP7=w{o?ofljcFL2(IC+lw6!E&9kqDHFA1stw61)pFWPcP@VF_9u?Kh7d-4q$BMlP2 z*(vh9XV>=X#pOdX;2wq1zmZ=9D&`3y(yT9!Ce)R`@#L$M7*o)GHJ*cj31!*k?2}0M z!s`edV%LWq0yKZN`$}m9zu$$XmpcT|`4Aw36B<%0VNVlvhi}F}O_V4WfIs2|Bf6b^ zor7=5+0T-J&a@t|Oa{N{)}KiLIv``YlYm^~>Raz0+|7*@@^awIfXV`#Ov1&AZg@>w zLS>l(r|*FzT7Zf*V2AgHtTkexh$!5bD zoz2L-jO04K9pU(h+?dZlW7<(5LmcdD7k*_G{||UQ5T5vY89=pQfAbG`mXH0H{47+009A&2YZ5SzNWqb!<$eODkS`!IMOQBMeQ*OG@J=?I z{NgczDcM&7IjrsB3Xd>N4A`IpG1Ub7Oyb`>dhqpDELz}Em%yX8#MtnpN93vihL%T& z4y+Ut0EkSY%&?@yrg(?ORd_%Za8b$_iPLOsQ8kw43@Q&GYZ_+O9JhrqCGWzM88hI; zH8?y#kE;bB;T~KKf6#CN^*T;wS;Hee*cDN+0dQb<#FKW*5aEmTo-pvsq`26wNYh_{ zvAmS28Vtp4TUnhX8$!Ho3(!nbn>;H8uNBICH+0+*m{^|by$fC!fPwOKA(OgAIte$N z69{=vOD1(&DpU=2gJ_eI?O`A!37PIKpYGSg`RgL_&t&?)$@_1{o{-@|VDiw3@k|_3 z63s#eCGtA4&bD+SE>*{i6=x|unPq=BbRtY%z6A*4VZknhvhKR&ggBWlfQCF10`3~g zSR`!7f@o!*$#_4jurxH6fPRBNNqYYbiHudfofjgJ)zS4tiy3T=3{UO<*6Em_}Y7u$p~v;efwrtU2qdT8jp*WGF||Do=u_sMf@bc~wFpEZoi z86fdt-Qf}W;VbmF9!ir*V$x?Jc@7eJ<9ErflJYX;$QX7#+1^T#k>_W6$7M|c2)`h7 zHV~)lz8y25Et0R6_N3y8Md%HRz z?@JPCxx8HOl63Q^h!qC9S;oH!5Ok%vPw99~hO{iQLdK1fJUi=ghKo>@YhBinbb&2^ z%e$p&eo|NTl3X#u$@e#`?L$GQZF1N|H7>atf+y?$UElvZF=H$@SOSWFTLaf6(?irw z3f4aBi_K;U%tcfgG1pBqc?ql}an{vx>c*Ap*177YjLSkPdw?Ptu*{aKYlk9Yq1Y|l ziH!)HzbFgtOR&PhBX;ZMqoB9~vf=7xBBJ5`MIurH3i|`?Od@nmHt0_ip4J(>?!%hi zEF)+3k_=9fhSxFcJ?GL**+Dc_*aDAGx3n@KuWP`cem7sPH+8YpxB8e-TQ@g(8wvL} z_migEE)g}{Of6vHSSJZ+G`UKOkE`zQ8mdo{oiNX7W~spoK#8Cix-MfysMEP1!}L=t zCq=G_7;9m`-F9K&7~FK*jg0mPmb{ni?T~&zLIyMe z+n^C$G>xdG{?xLp!TqnR1MQZP*4t>(-?MGoYAxJk%i7D)o0s(-eEhgzNW1GYs>`GB zsbXFZHu)(Xu30L|Ebs|DX}3Cj9SZX8=C)QU>F5UI8_1^{-dJ!078>G&`4av#kiq~v z%z!6%2AFI*)1P!^3io;xV6MR*_g(OU9;}f(?F&mTwioD&aBrBdDm+e*(KIR~C6d*A zs(!%I629BV<)tKL45w(RdC;HUCENo6)b{Hc41T%~!IT!??lfgCGmIPn6m?Ef6z}Il zSG^!EEx>EHMC1&{zVI|aH?StY>n(-5J~7mOLZiekueq!=do(kpYs6g9-4e+3jsB7%Le(y!i`%&=)uOUz1HIQQw~rgI-1Batl)nV-0cj9Wo-G#5;iCzde-B6X|-PfRqWPqJd_=X&~YH zt!txb0sapSb2i$yTEIvQ_3DN+i~&>rdM$N9Ca>$TEnq#utUK1rhoZg2x?6pwrXhN; z$!@Nrzv8)l-gdZexuPRPqIJJ+I!yo7l z@ds?=>A2a+28ad*!b7(3iV|AGY}R~x$|YuSUB7!Rr2D|gQ`b>6SqjU#hQaIZyb8p} zshyPms4a)K&#SkKQg99vZAxoh4l5q(u)ZzWD+)5rH=z)C?ihH2qsY@-(7%WW;ylh`p_P9hP*>(lk_w z7C040M}gzRvY&5e87y4>Mcw$kIlr~U?i^lfQ1a#0aB(1%=t84cKNnZ7u%L+T{nKlPKT@fCcV&S3#g|4sWmF6t$oo=!3DMxt;mv38a5S zqHYO5VZH3Zu0qpR!sBJJq9V#ygf_M{l;a)>1Eee7(>=|D-yMDD2@!{Zg8H<&%gamJ)C_WuHWaKq%+`Q1@cbX_(mf^-vQ7?wPzAN0LnPf z60`7p}DW|ZT;=|Czz77keQezEjw%g<7Iiu|~Knd(09xAu?xclWOr zHdB_r6|Ocu05Aum7*pBmdBa0&It^4V3U;`dR8DV6_iprSuM zc#zVt4Qp=7d6xQiO{>0hu;30Z(BTw5n6?BxnJt_P-SE}@RF_cc1$l7^4O=Zqu~ka( zX;5`o7q-vq00Y#iPanQGiFtLVWS^b%LB9*?Tdf z9{@hM`l#Fm{;?(8t_{0?Ms7}W>jOhCHfQgk7v87c6c#%&#r^nU`1#J!8=v|%H;V5n zdQCpmI{f3!o_`kJeBi+ z!1@6fQP3;za4yW&o$W0yQu$eE!$}m)6^`nv)#=LRHvlhA7K9E{-92~WBzHA}u@U1& zIDfis&64bQcu1cVsF3d0sYu*o1Qh#yRDg32mp&5(t*8#c`t@Y4AccZGrel|aC6%2K zgSJ`Zoq|D-4ZI7BhkALEeY`>cZ7tkx~Nm4tYWfp)`4v;U(o|N->mR2~Z@lHE%M}8NwS-f#d9UDv| zWIrjvt?`&a5QdP}ewRS4rI^STd3bQhDoi_hFdO;abAdpvuVlO4fvYyGzfw$%`r*4~ z+3NalIGdbAM(*;s2i@kby-qZZo#ksE5nu1UlO!L6s%+jGNDm{PP+W{r;NvLnXRJAV z9fg{!g&iYZhCpKPx$JwFu3mY-sim6T?RTyo{Js3~<$W_J5m2k^*4VjhUtcG);%X*Q zSMNTOjA)WyLwBQ+bV|iLYSi@*`@i?~!~|^7aY<$o@|Df~)1Zc)cQEdEg!pYQoid3Y zy%cVW6hbV5XOd@r;QQc3tkSRTJ0B7+70jfn77F~@stGA{5&}yI6mbwh8}Fkk<}~sV z-*~W#iQoLzw;(6=@gr65{<&>%6QiTf9!h2zTOp<$VHcaSSMy|4ld1dDtNvt>BAMlQ-^(#)Q+ z(b%9(Na}1t%@xeN;bYrVrMmT5p|p4VsO+=>56TW4S1rs&4~R$o{W|cSC3Lw$klVxi zZh&3Tw~Zn|%3_Uy=8q0cNTC{1c12!^!J>qtMHLdo7vZLH<9v1|L2>5er`}dC&45QJ zdxDq6%-{1234A`I=q1? zwoKK?(+azN7pmY$Ko-8h-Lx>Urd$2t)kkQt;z~OX)(q>n=sq%}wH) zt>XXIX={w+`HoRvOQZ5jH`MLp+0vF%2+?RjY$HLk^JteI>;@Qzcr zZ5}66RlS~eDF$@VO<3GC1pHarI|-`p-|8H46p^w8ZsA(YP?-@%zP1d{+gUmEO|DC9 z*Zo)HoKg0%lfRnKgR!{(P<@7RvgvtLL6EN z0_WiDS@SNIhK%t?aYcFwIX9*>jbBrZ=(+QtGr`)*!;c4}HhCkR8M#QNSn;Jerj!sI zlKQ{EVERk6;E;CTor*;`(z&w2`O@$Y$~i}Bl!t2dN5LJ_$LYkPRCDRhY$}MVyo+ES zb5VYrmf`~T@qsF}t|ZkR8{;w)Yi{mbKoPsWaTMJ@t5IrK8S(!zjTt20-+rAx4ISMD zG=>~L-DOU)xe9dnHR>rg;bB%X%U`7;sLSAvj+N6XXYi6tqljpMYe|(t!O!b3^WWo2W3h)NX^5d)A;cp51zss}f z;=B985Y-A)_so+`$yohx;Km3DtyBm|=D?X&_kq1xVONqTHjY$Rjiqj4E7jSatb}q0 zaa-U1o%9HZDB@b#CM-q)$y1QePwrN-*sPoK4Fx?2nG>dYpR>wzn%!*X0)WKP1f>c|#U`tZmu`1O+N9S7a}g2rS}2^S5Mh*xblw;s$xwQ=6$F#5Kybgt{4Rg}dLR!th-nv#p zh~*atA%JUcPCbzJn#m6~KqVlaJJWU{6Y9Pv@CytOXmymr*z`Yi=Z*Kkf?@RUW7fMUwFzH(&l6!BZ-|A(uy{EG7X!}TN#>Cg>BcXtonNSDM=5&{lV0|L%a z(p}QsASI0sDIzE-B}hvuASfzdIsDc+ug*WP*M76t^X&b(uj}6XAV+4N@n@=V$#pa& z6Wd&M2}E@{5n!f|``(ri4?)CCKwA&DKs^9CLf_!)6zE%~w<#6del}NH=Z26SH?!fp z3igSmb-yep(WN-6(81{!&mEnHfPekAfbBj3onM&0TF&&+{CgT@3o#l}wK{Q89*nP+ za6l{3Ykm3eL%em-rjeTo2!+lO91Lf^`<%n^pbwR3Y?1?8C4QI_=Vwu? z^RL%Fj1F$5fa&|w_dNajj<%hs4-%cz#Cmx=F219_|HJ}l{tZ1`Mz(<_C@95Hq_P~FWDlH{(McJNj`(h45?BdO-*wm(Xa z9={}j1e2z`;Ovqi)hff5uQ_7{V$}UmIfW_@F8=F(eQPt-$CN0}*mJu9~od zav)8DN`yz%*)p@lMfTe{Y0jn%PQ`Kl153J&#(@(dkW zhH_dEqd4f56E9vnpdkLc z1b$~DyX{<7$4MyW0?w#ms%2!xiI%fPx1T=jp1Sb#P{Fx=Bf0K7!Rsh2^~68yc#+hE z+_ql!d9y$rSPT<&C!I)?s8g|rCfW~^+VgDa;;8dezalCeAdEGCCMsQ}2M>k=|5Bk> zCnK^c#^r<~xTIS8!R=D-|Cx+*S{RgQ>i(L|zSB);l;LI@TbONzz0NdDZKij_VlC&h zlmaG}cYunBs9;h}wG({#kb0x5VfgNwiR`Ic@!^bw<#Njap_I<0#I{!Bf(K8pCu^qR-~-M>mT-VSW0 zK7R)!McT*sW3+KsIB`iB;HU`4%Lir@geKUlTiXwl4Cp#e(dnu;F!PmF>hsmSpT4?j z>hO%+lGNVj()hMjVixvJa@6o6p;3}fE)9h$ zvJ)w$tgbN^frda65kpzynHgDl^_G3|A3mv?55m1R98|q`}Y?TcMY-50fgaz^sP~%`O#oGEd6y9JvteNxJN2yaieRY^-4v1 zPc6zP{T?1TdNjhk{6Vi+a)~)tQv$(?f!?3jun9ERzEkpSb_LyNjgiW8vQWoiz(me4 z3M|kb3)D)-QHo(7q%48+L7WGR@Ci+U>UVj|37*VWu7aOj$gub1Kr-m)hp}MhJ5$Vz zhDK*qe~-{xbskgvd$6nAZNF=b>BNH54IIA-F-Cwnq1;2;04oX{nXYwk4iJ;GgmC~6 z0a)O0-C}x~XATzFy^jFQ|J)Ob=o$$?bWb4A){yV)0S8#3&iHtQpX*iqs3KMUysdeG z6-t%`1+$IC1&+lARp$lzF6Fqd+*v1JtyuC_Qj|OCp}Ar~!^-bITN)Z0(NpjpVy^(3 zW}EQwbK9j1oSUmndxg8Ijk_b(Xx*bLpWymfmZ>I?hwTlg4K2o5GQ{qEL+&ldt5gyu zvN&D)=zPmthKVSJIzY3hy{+%(&FZL^&^1x|2N(HsA82$#LF+SP#k0Z=^Xn@rHW0cp zpdJdqj=-G`wjG-d47W!Q6|e7AaEyo}o|$(4Id_< zV%RzFJn2*oNj1Pj4jTLM1h(N|5~>4>h5xj{p)11W8}#OoEbh{YPc(m0$JLPb@QpvO!hY?$PqeKXO`tDzDSN$%xsp4o+ximxjdWtKzB6|i?+C67s_YxPy zDBlK^E)X+fNdHO9U0Ic-oW1QzN=oOt?xb?fp-Npnf(;84pvO89>`Tz@8kxm{|-+g;+kS5c0EvMy1#6@n;NGSKYdWvFaSW z=1?dy-~h3;MiHaF2G{H|#d+iwgLCFcrLLpqU+5WkCag5@N2VUaL?-5-RXtolY3!KF zozI{SL};-rj)qv6Kr3irw(L`H%RL8`^Sy!u4s1cp*P!&^uP7d`R?BkwcpOAZF+cY( zzs9wDuU-Lx6Q96I>^a`~A4)|)vF@G~tPPd9CNa)EKn*T!?}jp4=6e9Ij4tQKhqgv1 zZrV@Ff1i7gMD7=SD!#KlJeQbJiI3{sKpDWn-NyE`<#qK?V*~gUwj;JEMXw^uNiP z_X+~Y4{c6u9enwpjyb?I`Ma-M+zdY4bF=aduSxI>_x)Dl#g=_qnhvpuix!82@5E-@ z`@Zz85Z_Ixp$T+b#=DI#gJnmxaX)GOEL(Ld9m(G~40CgRX%Z+?G6gZme>;ry$kfKl zAr@HGVyMjSK?ngY!KV*%A$q7Y)7){w$LTQM9x1u+>mtNd*S_WZ50RBgdtQv(RWkce zfcJ2(xXW;q*N^o#?zKkvx0+VN(R1hTNTEMznVk0Xb0N2k05I!!f76?DAO=e|4ic9G zmb8Eg>cCoJv1KB0TMwhU@h2P=ia#R?CNG+J)4$Qw`Wet#uoGFp@K`|rkZKrvO&?Iu zb1t;yp?3`cE}u*P@+%HUuh)a9(gURLoE#HTgcv|n2gDo(HAMLRXGT8tX~M}XX5YI( z@m#>s8X!c7b{^lA7xS8ipIyOA;qZPYED@n6*8Oq4!CSqTk%>~bfhPC++3pj^W(R05 z?{L;d7fpk{bj7HBJ1c*pJKT1~1fD~&N8dSEn0qcXe;uO;fl?Dk4}{sM5kyoCfuJ5B zAr_nFAMDxf&;091>er=o9?Fv(U><{Oe+apiL`2_BkO<*X6Wk%R2*1AgH+4-`prj~) zNP7N!oRh4tvo;Ql%?@AsC5H#-=iSRg1M;6^v-z$|u+=j;kg``lJEwwyW!U2AXa#4m zAYT*%=7&Nn$ePZN2i}mpnvzWYm9U~onMjx)85Qc`A4cc{(LKHJ2N1>+6}-i^J#RKh zWBW!B{pad;5p~dWYu&qWg^Vs(1_5UDg!_kFrTqG_eudGBM6}PWr{#d|$^CAiMPe_`0+XOqKt%-w9XsCXvu4Oej8P z{yx=n>d_UY?=*f;WB8VA`mg4fTP~>pA|wPm5OEUuGp{mXu|`D zU=E#BP1Hq|9*EDJ((~|wdn#W92tdFOcs>*4Sx{F3pPKACWLV&3iRm12o{&wuw~%BmL%WQGPEAxcmEUJBi*~mJ4dbGGA-;_B z?_;9cT=8e|d|Y~&f=0I+=*>+6{TG?MRApZCy!%rsz%9JE1^>Z}UVWyBuieq7g@$H{ zt4XYSvBI4YCBlT4gp{X#A{_@a(EDu8OD&S1`LJ1lhxj3Yz}^KHb3c|Fp`KxLzRd(@ zw*PeUACD2>%Uh3sNR2VV*`uXWzwfM9N7pv>-emYP;|#9){PZnqeo7%zm>e?&hUG1U zs&L|5D}aHLHiD*J^^Lf~6DSo){pP zrbnziQ9!&Me+v?NBkq>x50hvEQmWcn0BC$kZFe&`)PA#Mg&g&IAk6>RTIO6h$g`P~ z`gp15_2GK?^25|dXDHK{>on*|`-p0bsOI!CpTkUk9vXyR$Tws?D^Tz(tFNfz2CLg- z@Kq*v%_TZ!C=I7q$sf&B76u@Bi(x~IrnS2CE--<1Lz!2s9n%VbPfTm|4GJ4@60cku zt$MDxE4^E!kDJn{T|YlF^Fh@|b7v!=flL6wb*NOf_RD+QD%u&DS8!e+p-mmIq zs`qSr{TnAEHw2~&oa!1V2$a)H06Cb>GbZpz5%RE>JNO{33c45q2t0cWR z+cNd!Jx^EgDV_LntXMv=;OAV*G_fHZkLqJMZk!VFAHf{+#Fl?+so3ddiR@>@i#n6P zgIkL>9>op5Rz7916@RPSG1IUvO1+h4G*%``;Q;Y=H|u@d@6UmBpQJWSRJytiBW@%5 zLJZ5lt=}Ekvsf}FpNfZqFxl6+&6$%%y*z{8H+tU=Jrx?F;~JwNg!psqZ?Q^91Aq{| zfn6_msnDFqi!0_VatY0i1$(~4K4)>{E{Y#$HQjW7XzxD>5Yd^74LWIAhmWFFAtd(x zw_~86X}iwM%s(=}s-*=ApIcx6CRlf`mpI-X$Ap1jgM{HIpiC7_e zAmChX;$aa|#$7CR1z*bJ^KlQ=wPJD}!frAQ7lsKLGj3(0o)!pzh}{9uH-IQP6zciR zaTK{f26lMZ9419k@h-7W$AhI!Sx+is%)%Teir)3iUDNy?Xr=Z35S6s^6wIYZKR{$# zmPyO!OsFpNlHM#0K#m8{A+bP~*A!s6(ee#HB%z`JI{s;Rb=V(FfojA4tqaZ~r4Pmc zgjTszWo3aF0uk(j69`v|R>0hNo>ZDIJ~Kyim44br$hdtsi`@p#XRtDEu8z!UG%N$! z6TSCO)y}OhclY)QZ3ET?6oc$xO9?h5RFUL{iNwF zlK&tFs>1RnRkp~ig-&OUElh0OYl>6{EZ;re#3%>|k@is^36kg=Oqr{#v;p#4RN6&> zEKpiBa4)UbXhW=kc};3esS!mYP7zPR%OA5tj#HQ=AeF{}Z)fPtvKkh$#c5282lXv} z{F$w_o8qujwnJtmOzHR`eJR8!rCHFiis{m^sj;jkq46VK5=1Tj#f?9YR&)C8v|g4> zH)_)&R=YB0Vb1YfoZMI&V|8p>2*!t)lVpJjE?qQ}*k~{QKziEjxTW;JQyp=M=UZK! zRov3TTnr2ZQkyYZN$w}MEF=q^C7E5C(gGdm!nF!}tM0$szTRPl(wmt}xr1{@ur6JG zsUm-I{~mQ1&H*TZWe%4bzYry)INGJX&&1zYL`<^m7n$HCb_RLZ6YqWT3 z8WjZ%#I{up5Jj-Bnv_v4hD~q33{Hr803fvK_@Op?`|#~k)TYc=H9CGq4jDLs7waX4 zPmBm+<>_4dle*47#`8H1U%}_7o(Wwo{dhee>W!blkD%nsiO)##lT3$1X%mJ(1WY)l z$CRNJooum!C+3|O3vX4GxmluoubqF_yg~Z?_>j zLb)foF?jKHl4owC&Hg(V1<^$MYKY@!BsDJIQjkdimW5no1N!CxH39N3$89sd$@fJ3 z{80#Sz~u;B17l(3`c-Spa-CwNovoMI{$mI6X zLN$Tcmji)-@^fm-4E#P` zcNf)K_z>BpP?_TWfS`}uq7JJ<7p^K*X98k@ck=`^xpo8(eO5?l(p*eAl%`YMpe1Z8 z%5m}du&wyz55Zx>4_ja&SIwGsnb?GOg{Mx|V(sgn`~{1Q=RqEQ+jMV!XGj`n&#(9I z{7v%*fz-LOS@&%kC{)W*6U#&j&7KMKBFa2x#Qmy+*v5Q!n z*El<Lb9Us_P@t}gLTE5>mGN`f9BPgGp7~l2b${aih;%5ofD$)+_P^Eh<+%2lP zo~qGf&ipRmZI5ZHFk}A@$oFSQp>KajzP|+m27Um3$u2{mQ8rH&w6VvFu2Fptt{*7| zJb8BWZ0qFkzUtUT-jd>y=>G5Zkk^Y9I)LcB*Q&3&?e`nsNPWKQ_gdz){n_zsul>N` zv8uDmFAL~37_ecS1S{dHQvL6cZVg)8j8)5-SZJ0K()yBqy_Y7`?S58wH>-|~2dX+}GYyM-`JHxRZWteFK zH;;%A0A~C#!{)TRI**hSNFse)8u8!O1CMe>XmF{XJ?c7x333Jjgq2}-V}2xT!ZOQ< z9?}vUmlFTUz0!LSjYpA2su5yK!_{s--TEWQ$BTE)%l^J96|&!=aVhTia!%kcJ>4rV ztFxi_r~9uMl6&q%^$GDi$BCM9liaL)_mz|VJM|M96pM-hTw=4nC?2C`yWjh6=D(6< z24FY^Tkk1^`YvbCz{ae?nknq`?DSKorxE3;Z7I-YlYQ$K1zT0UvoRV~ptWTz=E7;W zZj5vUn>s$yP3Lyu__bHs73)OB;lifjAdB5m7-qvM#rpF4u{b(!e7{)G(3zO~6YPpsa5+R#)>@$@ zB(~KFHf4y_mKE)Py{Q-BQ7}igIFMWCqVvU)XHW25o--y!&~d98grqVtn?a> zh@!VaI{`5`+5xrj(@|9r;+}9#n_gwR8q_Z`-cN$_Yd+aK0CKgqu^`bGM)r~csR{(Jn>0e zn?2=UeWgrnrLmW?%v+!wAq^jr44_uz!qX?bQL&A9u6_Vo)xsQ=#OjhYW)|!gZ2Wij{O(mJ@Zu;4V{!rAiyJ7GNq3UfB=haV|{cQ)Yu&P zD5vh0Dqi=1M87(13fNByR8<(d&R{c<$M=f}u<|z!(3*Da9~Jx?%dpT)yf~)2ZfqqG zG7dldP18ikajeBHG^wdYJUM5+y+(0owKr9JWz{6FPn+&_qP?B*R)l6k#M84Y^<&OS zP|*n;26+$G*hc_bP`K>RPT;gWVbIP+^gXnQ2_6rFJjH}QqZ;i~is zl0|qvwF_hXgz3jmmukG13AWL{YY8EObaKF5{Q?5d<(xlHY9 zgNUb)4@P;VFT+#L|9BypA1-10S%uFt==;2jj!XPH9byQC0esj0oLckkibwc({N?9w0{2yX z5hbJl6+no~uv9lKNPYeiXe(eu6sU?Qoqb%)hjuB0e0Nko(--^8C_G4s_R@C$5iCY1 zN&vhDLXsL7ZA3iDTcCxocsFRL_gRpMxq*@&OtC?BLaZZL=;y<437^FX1aH4<_=)jO z&#>K~tBi+Xh5TeoVhXRefoytI-7!>Hbp192*z|o>z?MjHajTD`%|{#vfm0`W)8F?W zj}UB;ICU&>V{ANU?ewqjqNI4+#{BfOC-@snV;k!;akjT7Y+#AdyRI4=*gfzpohw2A zm3YFtbLM$}H@nd|ISF>UCtORTSAmV(FUu%NB&aGW;Jr-(FC~C6?H_C}xSxJx;B29N zYf`7#9ukgVzIV^A8xKIG?(SisslR+J|q|~Dmai&@NBm$wg z?Lvg@{7da(8WJLpCjj5t$7dI%1%G^@=9KL?6MNQSn&>b6-beJy;-T1WfMjEUd+U$q zGck&90^Znn9RHhDn(rVc>8RcO;d~@vagd?FjHVW^PUBl=iR{MOId(2 zTau>WJJS|pD6gcphLKh>p-xDr4yTlt$q#i-QDJB&5c6EJ@-oXL@M)c)LBAA|@G^v+ z#7HB-i1T!9Un>0iLiDkuW~Hf=sI+-VzSjDs3DqlO-dPFNz?ek?bB`b^)mIiF%?uwU zmTM$QZZGS?5hX#dvXfVjV3(Gqnjz^|CHc~JwXf_51I0uM?7vFyd5PF)RN3gnIsTmn z7G2o~SU4zNI`jvjNO1W|=B?mG$xn^ zN!3q`jzEaU40LC)qgob(xd^j<2~2kH80@~Okj<_OiO`V%QDd#+Cxi}vSxKD)DL%Qn zkyWI^lfr|uoI7yeWxvif-`5n2W(vd}kH*waPK!K_dld3~>G*kw-+jDC{8woJPj%=&0`Z|*;k&GwA3{Kj@@3Cq`D}O#`Ae+{`2xbeirO7!i=+L}1xJp(iu--* zWPez8tSijJ?n5B|kI9byzf3mG|6{TV|9>VMq=w0#@L*?%79`cqhk+o#c!Wmc|7EiI z%t14f@V9BgZZ4nrG&)F`HJVT;RK5E)Y-4E72OCSmn~ z$Gn#StxP#g^|bAbTT^T_g?1lj5K&#KF#K_AvVIezk;LkdY4D(spH1|k|r+DzEM~;>Gfc%ty{LJrXvR&l(SKrm#fY4+Fgc`*#KHrN-;x#|80(MlI!*!6xON zF!=4=HoHMzB6i?TA2&|8MX2ls5a7331>zrn9Digh{&U$Yf@jZqBxzb>>7%SnQGy}m zz!FeW1QO)lr?^?%h^3EP01y}f&c{jIHT}Ota^)V_KU-`AGBHS_Lo(EI4lk)FVF)}b znlBtT3O@io*Nj6F=%o{Yq-V=%-D2XM0=%WXwzK|R@V3w_+H1)2~Ek>3uBmvX4v{!AhD;}6v;sv`bDmIak)n>5%gr<68F}!8x z(-yS2r^zY=_hNQi)djrZL!#_W?qlGD0KYg!dVsxD+jxDg4A6z~p;(AViOTO=%@NT3 zbimsPuY<#*Vw2RN@q0)^G`*1}zc*jGO3Kw}dtPW6AzgY45r|T^4DD6TcM`vk(6Qh< z>V7DV5@>jojNmObPvs+ECJr|pCUu%JQ73YmK|_eRKF3A77!Z3`ymZ@ypAetFYMm!( z&k!%g%FW1R=k*7D0@G1j8;a{>TiLmGDG|G~_aI6G^X6OEQcC4`r1aKX`&D0M(!E$ZB;)~_!~~4f$Q1v*Fv7-a_-KT} z5rb@_Vu>~K*YS_37k{f7%6PHL4n$t`&{he_E||QT;UKp)F&)~F{eIhAS*0x1Hd~-8 zgg9)9Q!O8+8{bNb2HmGNjREO3^zKKqUfy*f6@kUo38=VU+@beM2Iqe2$|RuBCdEw! z0v0u7$%?c(eg}Tk)~u*u6yuD8I!_c!tOvcBQQr;w-mFC9bcZT_9ezLkd#*^i4cqS| z#a90z?y)zxO84Mk2wtdh+nb>bOUeT=%MZn}c0YYLcGUEC>(6nkN3nm(T|)r`ShiXW zfO51@+!*_*>7wBAzoH1#Pl;C6m}q!<08ju9V`6{+J(%gOxk8w&kU0M&?FNWwmJw0u z*;Uo;;i|6?Xl;qPF(o*Vi4RY}L{#{v~&EkJA=1sfh^XW#BVyE~p1AFGhC&q@MVo-QHOYW|W6F>b>usM;9df zVw@JqE-5#$eLi4AxG&y9$Qm}nM0rghGdUgdCdqwrxHXP^nbPvvwFYcsyt6uVNSC2! zhmF^zN5e`eZ+sWDY}~D??Sjup&*lOKcWMIc=8U-ByUkm?dnee10%a;hfz!?)qT6C1 z5zNS_7(l)OzJ_jt4M&CK-9mX{DkmQ!Wm@E zUuAPJJSAF+qP0*ozBXZL0L~CiM*wXN$WcpI*Nq0mh+#HKENrlHX{`X!hd@Fz&mpFo z3FFk)lDTz9SP0h)jwBF8MvKe=eots{7@kG1L|fJ0yj!4>aV|4i^k6yU>$(@oZm1cE zv|=d(F6(6hR_w5v%`Z&1mjUbM?1V zdXP>Buqt$*G`b0Z#QrIVkc&TBgSUMPNm{K#R6ccBiGNo$$p6++zz6Spdd)EATzSI1 z=t0pyx4apxhb%zv6`Zq)nTjEXOa&h+$&8x?W3b#Ox#zeCo7ZUuR!{=vvzYc}*NbwLi{M zT24uS4yt@=qF}bv$BrHr(Nfyh%$+v8bgip?J?U~DUq5h}(w6LDxWm{;2js2;{21tQ zqJY`t$PW1W`aVKY*$feD$vufSC)l!TFsm7US}QmWgYu!!klod@xPbaS`0}}hJ-K*7 zdEvz3*e1YTT@C)8diC#m+3gsaL^En1F+?V{S5V;#Dw{Gj1{4N}F6qTc{d+U@Z~*sM+> z?FXkRi z1bhR|2-@@}VQ$4OOGk$HmoY8E%BOpEiFQ*e>r7>0UOky=bN8&>4U?@8?Vj|P z?<)=bBwPVxlC`1J6lieK7ke<-OhaKrByAa|5{a*; zAU+oE>B4pcoP5+be~f@oE#QDb*TYmzsDo~OHA1$On7~a$l$b7l<<~oNE)kImB?eKL zhBB&JgIv0|+4)<*?OkB=u9@B*NFl%*`K3P@CkIhEi{`D^@{fF@^RwvOFafv0njYIl zt9*!!#NO_Usz$~Hlw6EEA~WwGJ9?8sDhBIn>WWqo`ZH@1*;x?LK~^J0y&9<(lE5U` zE0;&shcJ9dHe{4nXDv7UeXTn^-tXgAzZ`V{xmW~!KBhJIG4nF+TXjSlZ>R}fkb!KZ z!Shgwn`3X_A;@hUFayo>E2XG6-bD0?elUv@P2D!)rYoC{O zX-F^YKQQeMn`|^+plBVGsSGNY{y^I#>yIazrZX@)o%i07)8n_s;@m)2 zy_AbUf&Oel@A^ASt&XpJp>HVkV+_ziERR=PaR-*QKam$<3rGG+B_Yr@cpJ4t2QUuF zZ(EML;d>r@1$DfH7}NuVEm6YUIWKyP33;_iP!MetSoOA**|ZFjB@=z>rafPmvB(#W zU;uRz0mF0(FIRH8LQ8+u7xJ~1@}+x+*5^It&l=)~^O;!RuMLEhzc8i)Tw(GxY_q$2 z(nw^&#LB36xwE6{i$3?3M{1}O!wcq2OT;IPpT}b9#A8}3RI0qJO0N=1 zr3wn+Xw{$u5ZyuHT?#&e0X)thn3M3raH*_&xd>^S4WS6j3ef1YxueMQO>Og;Cd*y2 zp)Y@C$LUF1hW|2lMn)m;MO~%XN+s}5r9N+< zIIS$d?9=W9w48GE+~bUWr`zf!&U%5Z%3hhTo(^eyt;yHNxk9e<2+TI?S3a2w7BthfnwP9v&F9w?PFB!i zVb<_c@{EQC##%VGG~h)hziq8DF#s^?vIGfw!iOfsH<}V<>oR8h%VmcVSO1OAzriFi zPBy_5BQKvQ-vOd-aH4x2HJ+=vE0Yz)-Zhl(>)jHuYjK3W0+n0|Ek^?F2dfR=j}p!W zUfv<}0{t$=n$V{WQBNCQQV@szyJalK+Yv_6Hg!!zkxrHoCB67CS^R@C&H@EdSq^dx z0kRsjt%Oz35xx4ZSwl9_+3}*L^F^~?K?~=D_WGk1xLCx4<;oudtQ}$eq)!^X4I0(0 zeX@1(p>2Vr3ax*yL&sNMLZ22XAJ?ifbw)l#|EO@)-UJIF3F>||8~^R(_pYFwaavb+ z<#}Y@6@!h(!X))89SeJT6eEHe%jPr*+XY?1Ds;eiF!HVjpe}fd^Lt9GrKg> z)t96*-Ordh6&}h_#dLPiQMt%Bcr`S;Gg{!6>K|`b!)x^+u<)wMnv;fJM@6XfBTVtr z)YAUEIn6#6Oy77-ae+twK_W?MP#Ohi4wnO74GZo|DH+ zRE{d){u2U+b}tP%8>lB9 zB1g{BPWOJzpOtN&y|e_W5G|Vimv|%yz(p*^MJ)0bFTOY&%SnRyBIWn%2M9E4@Etyk zA=7u%IV57b_VYZ$S1X_YjJqrve%iJ>S5y*h;q9;SfdG$i7AHb@QsT*nY5DFq;mbY6 zYnS#PX~YPp=a;q7(eYhC^SkK4Rj^4}{EOn1qUm|guk$Ah%`e<)SdgnBs8tyDp~B?b z*N1qW+Z*A(KbO8MjR6sWecuhF-lApkMqkA8m;SZL!v4+Q#Tj3NMjq9;@w-1p5~Q_4 z-v9Rndiq(3dEGZh&s=j|QX%hVrL;;qFXHq1K5XbqW)z2EKQ3a!tYM?yaN~4+i!iC5 zr2f&S7vzQ;G@26h#{F}0?q^N-y!hbf<>VRg>rVucn~xnz;pvs~A4&trhSq%t^=?*= z-2vOm8w{+&F)8^OhRf8b*G7J?8NY4y{n!1zAx_-`5|4J{`KS2O-IsLG{JWI@zf+JK zD^wG|Qt#sq580kSow*E!lFT&J>$3)}H~dYQ4Vqj~djjy*ol`Yf)^l7YE!h1^_HN*2 z*XZ^Gz*J<9rEVlfj>VF{!=)Y!3JoWftgR(1epeoT@q6nDti*SQ;7-%7 z#1dWLC-RI2;#LNkirAlCU-?)(0FB&KdgYt5*7=wm__Cm(_7w2ox^&;>v6tZPzWZGl z4V<%h_cUUoOJputfMX?>E1rt=_hUi@PA}GaU}b+WolF*{wqF{AhMkmr6AE|tiw5(T(6x$0|^{_9JcPxSxS$t zY#G6;M*%+A9rLDb9Q}6{y>Ss;e5@<-Gmhm%&N- zPa7vlCwE;Z^Ur?gWcf8LSi<I$muQv+=(bS_=Axd z98ltH#N!PJ(Hw~Q1&do*=fUr7cWMsBU?FD(s!0+FQAbkWS@o}lVz%762Q!PuOD)zl zhP_X|PTIn}SgMTH@V;O|SwH5g2TR`^212hGxlGFN*ciCD%mANh1!^QgILhtwa@$U3 zhK|*BrrBEp5)tz%o9*mmlOm-DNK1td??o0vsQY+a9r(%Mg*VU~io)~&sY;V;1D zLUvt4Uxo+O@Ynvk@6y1ijnBUW4rZ&tVrO(>E`8KAqM8E^+pedZW3svSkpLP_COMz< z&GvwqLIYKULn19N^9IXzaCv8*Nwa)~N6s;&6%~4kjjhD4g6mJHl7u>1u3Zv0m%{`_ zAldWq-a~~;c;D-P#6lIroj;5L@f;FO6=STA{FUe>C0;6B%Aj5j)A%AmH#R zA10SHM2xM5x3$T;-oRQ@A10q9$!PY>R_7O35c6Xgp4xmw!aSlyG(+EQUQzCTpssQ9k(9rfBHN>!N{1_@ z`j5>LYe1e4jvU!~HM#I730gR=;S3#?gv(bS_;OBT3&hAqKmxLhWNGBc#S3y%9bf!{ zd5(F|y5zZihZPNlx#=f6mWKD0wltGLUjUy^y9WTQNWGY5ZFCBZ&OV>kIhJVsM0&;% zM!BWKWZY%gz0jqQ~lZh_fVvxC3M}@Sxp}29_>2wQc@<|kh zb)>tYXB9Rj9g89&WzBV_gQrSuRi!ms32>xSQrabnYTtI6`7{^Ix%#R7I|5}G$o$^b zm~ja0%~jPzj#AoIZTi0WF=+X1)CTg=D%^Cp_iN-W%^{G0cG){x76uU`uAz!cIE>|m zCdPA7efu6$BPt@y2W~V&AEyrf6Yy#KF2}Ifv1qh5a&+LLThYxAKk)7KYR;POVn|y5 ziG%DER!o2*Q8*bcOteY@&`@d1i!%kp&yBSkhO%PBMv@Qi`$KA2vxJ2kQsh5)AGauf zC(fABVI4dnHPHDRc=+jO2*-$>&g|9Nn~@hkOU`p`5h-W6ZCo3`Ga!g$g9$sDJ!YBg z6{B86Qbq&iR&ue?&D^-m%+9X1Cv`QS{k)G~x)nYT0tC7$u25UlsC1rc#Rke}eIRd# z_YeVs1KPj*cf(sUXzKRtW}Zij!FRgvKkXu`S@iFzsPXqyOlo z@n$91`=wc)etJ~Te)G%p`#zP?cy{CXVR0bpF0J+6VP8h0@NkdQf7L2s@wrMLmKbZ#w57$i z3YK&3u+Kf$mTvJEB}Bp;QMx!tlP70);a>1jUAoQCRI2Rd12`3^M}b<5SB-vw2$LSo zTd+l)9RTT^N{{y11tjXnSN%xUiqX0CN#@mlN3pLGKvjVGo>W22&adOqH7Bl<6UL8q z5E^EY`_Q0uy#qVuGa0#=?ch`*MX^1Ab~;HQNY*3}a?gXJG%oODR#n@V3t}l=bwINy z0j@oSb}0g`8%_Ur-$QNY(`di2LIz0nl9dhQUn`j-)h zR34-=@v6A4MvC%XvN^;E=Y*K<#QA0dvC&**(H}!ysbSKkEVlUBiR?M%igdbvZe znLxxT$n_L&qodpYqgbk#-||q66rHE^snzdSBR|Wze97SDV{w(!oHr0NLQZAOOiSf>)7cN9Ff zc&J(Fzr1So>o-ZQ(C}j8Pn&)~-G`QtSPB#OLf+T^re1>HsT;&;aq*|K6F)QoOHAXJ z{~5kgRq~8+nVyl76uNBJ8>+Lgo3VYQPR-^)4^knYC}KxXg}oPeLSk$xqRNS(Kk3#Ri8;-}kW;YBqM3 z6eel=dj`dG&+|QRtYS_sa%GxopM8h8A&7r>tBnn{=IT^Ao4&j^%XwMG@)R`Av&a3= zW|TvwNNWBv#%viJfEm)uf`l5%Iu9a$PgL(e8479keRW>+y=DjSS876iqZZc;PpD(x zll)lW=t8BicdT#(d8wAq#F(*HRlQlKL^q4#yMTn@6D&kcUVb!*mF@km<64Ns3vcqOJX%F7jR>nv>a=keo`5PqQt} zLSllN$nXA?T<_%VTirF9v}U!{d2*Jz`6%C|uBKwC8qAobz-CDz6P5{B)a$$nj{C3H z^wsOD?D9f6r>rRI6vvo2NyQwN>j%-lhCa8Gd^?fU>7QQ^c`?ESIKPv#cCGU$U;s*f zDI^)3EOb#cs543(n`BrmLaLle+%rpcl`O^TH=nkt1M7*xK7m~nW%_?51y8T`9p1}# z_qo7JvZl7k0bz^|5B&$eM#R2m4iOzY?ZD05K~1^7n% za#rPBBJ2+F`Xfk2{Jn1E?I`I_zd&;82jS$30?rQ}%jf*gT0i!)wawJ;YA5;^N|LX# zU?)x_*L)lec;($;ArAQVLxu20^o-<96*w8>iWNmD{gaEex8dPHgYT$IZP-vQr<81Z zca4AayChYf_PTs@!M`Wf=wswxejCVukQ9Tl- zeQZ7&w{O;ZzB3Iw{i(hKY0?#O<~BU6*ceMxEKdxCBD}SRpH{ePK*ykL#~&zz$ep%{ zVywfxKNo;707>LtX0VU6T}XARKeJRh){)fkngI?WEVwjYW8nMAMcHPx6Yvno;c zh!uqr6c1#+1_qCe9N@+*ZDPIR)iGzLS; z>jfM+E*XP$cN-^nM*2mM6K0Ql72#K?;_t}kdzdI6C1TeoEtMiIeha=N@5Fj+;;p)V zXPz$CnAd1X5wYP;Zs?RIO}|kUi56y zf~)0%75_dZo65-l8ag0IsUo0QGM!Fzs{!ve7oFD^pHYMOpOZZ)??3sQ?h*LTlXL=| z^?%5^%ZH}lxZ(Q?1|uEaNHfwQHPX=`-5nCrf&v19E|BhS21qvul1i6=fOLs;3n~c4 zk9+5N-}m+8`UCcO$MHQrug_Z>{ks@l^}p2F60;ri)<)MEpbG+(&_y z@hV1uzRa#}we;0CL8yloWv*@$H!3RJ!E%<9=L;Xx= zp|O~$;Xm4q&Qn{$eW)4ghH=twyr{M=fEo-)-3Ssw8C>cb)I^|b^Akap2GpXXf8yhr zdx6pjaJ0zl$CeO{_U0F9G9fP%WDan!^xC60`mc3zwSn46SVP!KY#kK*-5bmU|3tAq z{ZkEdHHcm_RXyCCq;^$A{vD@b2OPsmSu8;jkBD64-moE{lwP^SI@u%J77}!_b*-e+;BafYB=9GD?;18V>V^fI2C}qi{O>$ z)u4gl;OQJ32`mQ_Vv=;oMVw!;wK^pMseL^D11t?7q z9Qk@`2!-4(!wIAsJ?V$@xRh(OfEF;~K91)aL{MEymJx7g4n9Zx0g=w=XQ`p8%!gpr zf+aK}87Kt*A9yVbH#084$wp(qn z=hYG{LdtZN9C0i|7!oG5b1PUCM~BY9e+n*)tx~9X)CXV|*IflDo-V|!FUPJ=_YVS4 zuV?p@jpd3N6I%@kY&w~q6jccvCnrJ#qvc>&7Cgs@F~}1ACR&h}w@<%fYv$i)-r{6X zexPOax>d}n6`wi~+6xGDr2mn$Y2`)3c!+Q(|OrcdRozCW-anBju{W6F-(xG zB%sL8_qEKcQW-1}w)Y!JedSX3ABl{Oi3B;PI?RD?S%WRX*|y`YYabQ)uGf;S5>h_Z zaG2~d>skFGqidbaPD<#Mp0t8!8?nHb>2ODksk@_wzgC4DpMDwfa2`yE#<~EPY@N6U;N($=l`BAc8SJN`_l8g-4b_K zk*UN8RDw}$pxs!k*5;$t*N)Clo9F%T$4#aY>t89%w_{u5SpCrL$#L20iu^Q^QK`d&CN4gJbItV%1UlYE%SH+Xet^ zw*%i@AMChOrPg~INPDDOZjA;5XwjI=M38hZMve(D0zbf+L-;q*zY&=c;y7hz)>F9xS)%1!~7ck<;#N+VW&N|0^>X5L++XH3PJPkO*Ak z6gF)Vgl!|bWoY-Hn#OQ$@=qw~J?xCR+1%|E+i)P>+G%tVpV?u5=5rKeza;IQp6TO2 z$z*;8meImIVn>rzs;c*5`}Mr6%rkk!P1eoWa(fvBqtTxd9fY2p0o?)lZu zhy$^|0Y4#mw?}*D+*4A9Ci>()CphLRj;s;OJc89T^vZ*#4vxL^tcqDtcjkNmkhBDR z=X!ekcVQCE=HHnSAqU6uF3Q(x_@{Gl_9{9`TVe&!7a(LzhCYbB{o<>6Ea|WBc)&Aw z^0%9f<@=gMDat?YXj08;l(}3{X#>D4mMM#8lYChljc@ma-EepDnBX#s3UI(`1}~Qt zo}ZeG9TtnYzUXu__)No0Qn_^U!kP8avttGTA~^#2-uFfMk7W)(FCPxYd1>6B$}|mR zPj>anHLpy@`tsX|7X|Xb>*U)nxgR7VEsAN4pxVJ8#KFDN-Jh}oSEJc0+(?k>^qJDD zXVk$#?nSQAT8=A{ zsDZNh=ls_c19oI2Jqt2Rzd8$XsU*5uzg(U<+~lSZ-GO7XqHa{AJRaS(VhQ+)Zn6OOu<-^PMpQ>y`G;APl89nuB(cC>iE5cvk5sn7cmWA z9WG=zV+dvWCHldiLaD7ck6(lWarAi19rT~gi* zg}!)uxzL38FT zv(KMK5IyVDfQTK=$v4^=Pu{eL(f(+d$d`Y9MIkf?BqD*w-tzl+&tY(^dIdBnu2#pT ziCmdyQ{Gn+2Q8kOH9lUye=@R?p|*VNp5CK_D+31DM2hzzg~3~R6ov^z42@^!351O( ze-@)Wz_Q2#{!yLLF_nZk6)Xr>)OFHfG@62YD7-GgFxNTKK>zA zm42L*&AHhO)Hc9S}(o}5@(seoqGi&YtP33&)fHMA9TtlC&L)5 zc9Qwh5mBiRXWM4Iog%0))EWT@OAW5BfFGnZu}prs^MuOg1oPeV zgt>=uMV{sTrz`pUV?2z8D!{)SekckDsL-t#cgxc%T5f6?>5D-I8B}c(>mOUY5sH_# z)}t&LVUn{#4PgM5qXn5SAPM<+Y+2$zX^$yAyR{#m>@4Vi2CCB9{ZuCmG<=`+7=fui zX^ds1du3r#`wYW0a4faq7$tfYJ|>QnDpMejkl8go zWM}!}e)I3i=40CbZr=S2#9tf9Wa|SuE%$Bx*O@KOE_av2cf?LxS6|AXbu4bkZsHrf zd)Z#AB7}+mDF+Q4{b>3q_X)K2@As#sSD7K!E={z+2#{yv!@5pR*)yF0}`roblv*d-)h3A94(U zMuWr8lEuDJqkPj=9Bu&s09fG;x{-EM8EV;k#op*Zx|3A^+CvrN9o75#dQF5X6>3kP zgnbm8CYB#9C*tkJSp%J*>QL(A3`38iV+%5zCf(p){z#&1C$Q&1J*$VI(DyB_JK;+_ zoUt0wbX-oH@3e4d;_RMAevE5ws7FGP~ zq?28a) zA$n0RpY0)zqtfe(lP?S6G5mDp@FXnSxZEqYCcp(S*D)1zKRws-uo$peRXPn%PonH| z$rr+YO8%GP@{f0C_NA2WBdR%FY297fnx*jw^Etb3-f&$mIX$apK}k#PBE@gAZ^9xk zTsSGK$~1(g9b5fl1?x&s)jd3>g?f_KpFLy0WPIx@Fy-$?nWI_vNG`*( zDod`lmP&EK@(qi8wXc|~#jVuVriP9#i1S;vy`nq)-7(`PDr}Y8KQD&T{Z7&P3@e{- z;SYWSrfS5{*wJn~;TvnCUgKu3R3a9A3D5a={D$>|goCruZ?iZ2X3b<}-i|UsR;_N* zTII`vDRP4CQ{x#;LG+^b+N;WQ-!qFFY(%}tkFCknp{6~$o3je?beoQ-$Ki9wKSG7q z$5&Ds`!i_$*|80!Iafx7K3`wue;mosc;2~p>G<3~Yb2EFInNL!{a7dYbjp+fQm)I( zH!yGGA80X=eV`nrkgQ@ps1kRKS(HQcNvBTV9`w||`qTpD<4*GnJKI?5_F+qV-Ak2PW| zpnr_*y!T%NBPm5Sl*Ftaz6l}@IGN|z&jR51ypk*Acig$7$3Bevsdd}VfTFG7W9rUq z_%P#{M23bS@YBrJZdaa%6+v25E!p$hZtoYChBvYIaYke#ikVA;{+abyW1Gh-5IydY zg_baRZ#Oy-z;xQykBp`;_uk)(-oY;=iyQW}pG-1zsLBF}+It}jO&yar;S%{WddvC_ z^;~%VrpiBT780sxet93s}9HMqncDH1w{(+N?%%67+_dtko+M+pe?p(DZuax^{^-NA5OXPw{|=z9}Z~W ze`2Tg7-6ZX&nbK>^C9OEN&Mf`PxyyO7;#X)ue!Z^HN zF2V|0vq@CF9a{;%sM14iFLvPNONYKmGVttvnvlHnR}*~V+2}$0#rM-^@t@%Zi-Dx0 zCU4o>w<`GMpoq=i?4JvMuqiCW0GF(ppUrtoag>Am`2IS)u&Zs>eCcR(tPGRm{ke49 z124V9#>)5XL&2xHwt^$ovqhWlTlzOz^txgH**loTCSJCstoz(!5VY=yyhZfIM)Rc+ zPIo{KhuxhoSEmlCfg@jlj)41FLrk0y20USS5hS*0D#iI6&$dfROGamx-t-WX$!X7w zo*1(UEH*gPTW=;fL+YvLL(1pCe9{e0xycQ(mxkn?pCfeFNMenl3wUD3-qM1*No!xI zo=y;J+!m@_-j%u0$Au~ zl#BLhf&#{hiN%6Kr#KB0$NZ?6rTS~(a-qwRlT|>`#88&X7~YTz^`w#|{j`{c2F=#t z)C?&3y<>X!J3Uu*8W%C0DQ5}u(>^}OJf54ccXb}YJQmag7XM(1xJc=^Rg%G`4uyP$ z@K}05{YNjXh=i{6i+t!=tRj0nU}RH|9?qADPJPYa$*cF^HWeu~;xhe2luDW#^DY><2Ed~m1m~=h2e=wVhnWp3dTThDf-pR)MQ*M@v zTg@@9dHMHT9DK~)GtP=SxpH!m6F?qhs1qBRk&PMqH@joalhS++wtqv2P5XSec#4!&kIyViHUAO3vS{K;p7<=#`}|1I+?q!wB+ zB)D>*&f?2G#40@6%KV1Yc(2NQvE>#ocb{w|KAUyRT1pJ9a$0lUn~!YTKR#aeu=<)wu)1<>x+&30nybR+Z?G~x6sbLuu1wCdlg;DjBY41 zto0C|_I|+oB-EpF%x@!=^Jo=?0(0Y}FXxM{Q}Yq2manZ}XEpKu34Dw>EobN7jk=lv zCO_`G;1M4$j%;&#ld}_BO$&5+oVex|Kkn?$&u?3H;McpAaFiH#RXGB1N9)|0M{z)& zDG8=;Y`)+=Y(^fWe$U~j@klwFA!ZlMATG&x$sb`Z;Ou^w`SdXTWz`A%5XV7jcNUdX zD0mlGnpN$=m;+}wehllc$`4|cS*R-5V!KUvQ%Iv(43Jxy7&Oz4i?FS2wt2kz>xT}d<-IJO< zD>RrugF^7~>cqAky!qAysfo z9?`u~k}Y?aC{y_T9=oTQ=ZEGy$;2+xrz5>&rRzIu_Uo0Eg60E}WrQ%uq|-^CC!>J& zLXWw(8wXlnd{BX1q*%ulPL0aP)=CBKC>m9_`!bA2YF{+fVz|*jwSu~F@0J;F`sI_% z=GoEvM=`OvpFnjL<<+C+o`o#ghP5KI$(Bu}|9_3vMg2}F zob0c1IbY6wgcH`*=zNr#O|y_t-W$PC0>4daFb+D75QRW^BQlvU6G5FK<&gsC~m`RsV<6==x^dCyQHd?4!f z_JrBbDr?`4K_l@qK@?4HKhV7YkN@r+^OoZ;Mdzu#r20LmVS9@h0S@_r!EEO|-|#;g zlT60d%6`RoJ7~EVzlNjGU#WljEPYLV>OVJ_#v>`-A01l8MI2`t>r@gi7V5&u>VkZ2 zWelR!WHPN$ydb)(i0p$vnbesy*`}#I-sl-@j_efLIKlc^43s*CSxnl_RhXUMWDgL2 zTph{emkgjKMJA&_tTu^#kr}o@a@$NEjTc}TEnqY?w1U}u_)g4WpNU37&n+pIRv!&` z91&>EG?JnUAKP!>k%FnLkXAut`Ek)LVn#?p|7Q+ZvR$=PYV~7Mbopv)mGLd;YY8nW(TYP4RqT zj{4`;$Dx`wxy|1EMES(NX_b<5=hQT9lJZ20U z1D@i76>YPe)YOppyZF9G!FH4n<_vI3fiN>wuHWSH-P8SV9V+W@Td664YUIjL{2!F2 z#69R8(hmQ&A;H0=a zz=LPFA6#|7=P>9&KS1s}!8hREXfc(IBkqe4hAgmB6>|H2^MlM-X-)b28*+gTEJvu;zk)*89C_8V)C5NxAm0aU zIBSBa)r>K?<_iEN?bWDEJf~-fh&f65G6tvpEVp8A>&HtXEQ!(~2IPSiY{}6v^KHn3 zp$)=(VI4HXB+{*G28?3U7zDD#F=>Z~2FG~|5j-~`E6wX=EX1SPIld*&k`KU?7%;9% zG`U7y{8EP@lMgv+(_m~IEYs5{F~^ILsXw?Mg^OcP>;0d?1Du5y58GKQlL6B)kA3%I zG+*3r$&sOOeDIv?0jJ1Y(1^$ZxwoHI#8nFf8ScWQz}Q-$_t}!RuDp-f)u^%_n8#JQ zaUME?(zida;WI0f6(H$2ojfe752y%p(P2i$qYEj^xOl$_^tkQOlF2Iy!59F8oK!za zqeZGIQ#~!BRnl@{>~oT$sN_l`W5d{W7wFa%S|(Au$TXuRx? z+Q?wlqqKNV{FbXkp5B!8Vr@sLhx{&bWp;QsksW^mif^2QGBrcZ(S5|6%tQ}3E-5v$ z^FYmOZHaG*f#@^Mh6 zzUpi}ShCmY?EPGqb+LehP1bA51t(5Ks#Awf=#j?}`qCj!sSX&^KM3p^%cBb_G`w;wCXdX! ze$U(bqN$q!(rd#=^7~5wigL3E)$v}kp0+22HRk}EMW+wHMB9A+bem8qJRM;;mtal@ zklbx2s#1Chq{BMSR4C<^%)NO_o%3Rz+{L6bZ|_7|+RKiV-BGL5SHDV+T{g>}dEt8M z-Fq8K47Ek?(nkgigR~(L^Ug96|58J^^ItR&%KJ`PB&exndLOVdpJRmUe>--*LaC)p z8c79GdRTEFgP{Mcdi&qnfy=K0g$Q&m*XTew7ut8q&8YT-Sc;75+&9=n>oryOyXiU# z04$COqygLd@a^FRLwmeDEKU8*g0guN}&?KXn zlnNuo)%r;O#YfneG!h9yLz}48E&Ih3E6I1hQiWvieR-@ur2D0q{Buvetich0=zMMe zfkpAOz>_B+y7dE&4%OMajXwz!_at&?W$HKjmvUNve_Ad6o_(F{_j&b-RF>*b(Wwrx zaGw*{2Rc9;hRE-Q_mSwhcV%v(A{i){lBj!Jq zVC!?|s38A75)#9AK+zOp7s4xh2BRZam@FqTnWYpziBzp60BCJkMjxtwf#05;VS!&?Olu2m( zaOD-==C=ePi3giI`k@X2wU80lQK3V_fDwM8^Tp_3H)k-3jfuMf(h-8$r87rUSCzVr z{Ct$50x|~)c>oxc3^5;{YqLV5rhY{-FGaFkKlfS!e%|+3Y>gUSg1}%TCcW4abFO1L z9Hn7&q~*(n-~>Aj66t7MVkNl26+*HYS``(eQ5ln08DW;3c>XK!4}`ES2~0@k%56Tj zsPyh}3w3M>{9P*NkPNXlByPDz4=%csM0%vUX?tzPr4GljR7MVH5fmN-?v5QBje_~5 zh(hjed{(^RN(exa034&EEnzTDU<<#0{&h4fz*~7KPz8~g%><|z0qBkbbl^mix6Epi zIcY^pZU{uugDbGe6(oE<`d1cV^jjQ)Pg0ElJ6_OxoCmqOTP8|@*v}*VqBAI#lbI=#%GUwFw|hTD$No`IYk%zx~AQ%y~-I)F{ zz$kH=8dEm*Fuy+}@OhAyZyOLj6cF_j^5gld^p12cp`5sMWrB7qG%DPWvCSMTr0j_M zc2j7_i4_>lb&Dx#V8;DfF53J>XcFR4E1r)dUtUDnt8eDF4@Cr`16AQ^Lme@BOZaip zSGvK0`OpF~M~F2ZQdyZMI~KAW6T>A}zS2=(T_JwA6ky#8Dlqavw*iexF}}e-kE|g7 zqe9>43Q4)rsHmd)m?FyL(%)lP1)+djkC1t$H?d@HjJF6c3eU95c`sAXGB7pZ{tX~A zv}!abe=HIU%7lISzex%Ub(X5~F3n8PVoUfWsVBmvo`C$=_3v+tW)c;x!QfiOPc zSyhJkO61E>tfWxoW5ERZqawiX6kuoNM6N5PBT#z;-*)9t7+sZH9cU0+of(^&-INDM!Lg2ebx|h@4wHp=^_`3g1`OFc?;xRbhgwE27?2 z^b27J$@1h@;uS*k-dTl=henINiSD+lV^|3sWJuHZEL&g!L@d`y-_(VglK?UyyP*zd zvDJqp&sxGvcJA*`OWM~J7C&ohV@hw9Gn)ln12!|sY(g$(YGXZ#?xX$m zR<%AJm7fpZ1pwM(gxVL85Pf%0!U4WE%P;oW59D8OxnGyY>TKp`lLvQBlTVwpDy|Cc zuzy(28!GD10^r!Ec`^-b&#eeHG%&bLi=5Il7@7BH{N?>{Ue@ip=9On-lln1Hc9;C6^T7(#BF+L)!Jtt5VJ8?JtcFe>4DgB(bDXiB&Q%i(emd z#@p#&y*3Zi=%(8#{HhjWn`FCtHM*>j89d>}H@sb0jQm zP}95IwX?$nEzUU5tbrzMYz4;L8al>I$6ZSH$F{Z2NcX>gqnhdcfbKxj?K+ZQq*Bn< z(=BWmoi}{FR~a}K!!JA%);&&v0;>2CKgb_RkRPdG8+jS_QQI~LoGh-hJV@?nKybK0 z0xk)EBc*m9Ur9LfP-w}i5fk8KthDa%qT^fybYU&BA@7~4SDx_1yXNKoH{G7FO$U{iUd7UE%-XGg-Kc!WDWTY*5F9M{p45J<@^xS_8xRhMx=lm2l z{i$13t85Ip3XDeR4aAn>b%$HzXUOE=iV}$gpkqmFKl00eI7wfcAWr-x<2h4U#3Fd5(U!B9gbR`&LL{{Hv{- z55RflXePUQy!B*&N3>NrY*sz&Rc797du=+V_S2ask>~geM`dEe&(FWSu*GVq@-%-| zP}H?&lcE%zQ!6OC3IZ4ZO-Zxpy4O1Ayzt68uPLBA#!?gjnjV+TsftOMx2c4WdXGG-6 z6c<0!WeRvNPR*n|o|%TU|X{_Ec+6 zPqrv1Mzu*z`68iGzS}e?_#+Z2IbYkzt!;uJRem`(TRT?$Vx=ywRCj}oRQ|02)h>}^ z*=BCjx4PB3TegqUVp|sP)65IEE=02(&Q>4Qci5j6m>NR2UBNz%6{oE}BUzYfI-;^P z&@AO-kp4=rZ;h<5U3tvAzsv#j953k<6EI2}5&FBCp-YgI18mi9yizN_;>Wa&rHsOl z^`YsgOL2|q!_Jijmrcz_zkH6tQa+TEqy?&Y%Ec4f_sZew^;ESDV?{OVMHS}9VWJxk z?Eqtk8+~U}V>bs$iM!tvKXv|_im{&`(mxz|`KdEMy;>8ZfjIY&fsy#S8#e+=>K!48 zW0U!t*(XXA|DAHd&X&SbcHZw$HSWBqyG!C%-NgYo>1kRQ`qsXF5S2Lf>%S?H+X0^U z-;&n9jo!Xb2PN&H>JTJJ=YNDeIwXC;DXLHORwm~i^^#lYlYGmqO5w0d8v7@|LypCC z0UAsAE-?V8@4#lNivQJj3*TL#58p)z`-Sd(x!+LFWev32JQ zf56Y4>qPs@Z&Ls&@f-f0-Fx45jSFtFSxZcN4?Utt@XWtK;;$K=Yljd$c$xm|P0R1# zJ5Is39Kg>J(C}}+9_8q(Kl<~U<>l)q*ORe;eeZcIhi}|Tmx&xVTu;6Wi2hC6_>V09 zuiG6MgvfmKk=h_JDUJ1sWwXmj9D_1ejm^nvaEQUs9@UL38H%G*%M4q)XnZ}wAb2m* zY5C2-M`3YS`wo*I`ixLG8)`FTTLX+&W?kbnoI5ZAXlIDIuFM^NF3-6S!RurI!9Y;G z{Ui&g@Ir%aOCq1mLM^)5W4_*Xb-@P>^xvH-Bgn_~F3=^JNE50*l9CatB}ys|rGwLn zzg!Fc&J9a8icStOx*pnMcw!#u!EJUlkuB{N3h>$o(RVU_=i$V5hAJ*^u z{M`@j74!3rLa}&Z;!{VX;br@crM^U*O4e8?x6ad1-V0+8R$*#N^`2s0XYW|gFXLmu z2OKYc`YWxxX`cL0H%@k518fz#uiXp_XcpR9@jP$esYGaj6vRYyc_Mp1A9S+6(eW;M zt-{UyI#Mp8a)`m+MSGY^1%FY_x{hlQpnEy@%%F-4`m`FL@HrOC_s^LIrIMs@`%|0f z;;EO;_7#g`f5f?E=>&b3_b3GjR#V*sKR26ErPiZc0x~O3*Z*aTNJnC}O45@>7_GS>o~$aLC-fA{MCMXGdl@=S zqyof;%?@ACYg+AYKePJ_#m6nyzPy|i=1rhT20G9dWNkFXQzkxeeID**1rfe3Nr(`U zOj(hr>dBn**82zNmDJQLMwl1`rYK|)_HvXzJ58s5ZS6C3x%0-&CfOn6nb)i#PvEng zcU&#apT4{$GBzndK}FaqFxgc9?Vg_dBd5vkahi|* z^hA%<@ufE7rbTVrxJBUn=cA)b@Lj{(FWt|3!Vd;i)Mg+Qrc`z6{%;Zy z8qR_<6K;hvJeTnrF3*j#maiiKolv2`$72={;b4XZr)1Hms&}#VG`DDyFj&xOT-W;>-h6cRDFsaA$3su z>1ykK5ozuamO=92E6H}{w*k{Q3!@_FUHU4wuj=9EoxRZiB9V;!$(|CmPE>Q~Zg$Q+ z`N#c<&i4^mPO=O29V=WsjH^d%nlwfw!~mSL!~=aF7iQAEd9)cg)S7P)N4yei#(_|A z(>@YADxHJ!-cMnNeI;^hRHblTVrT5UAmaY|HO9~-H4z{lU1hC(w>YW;rT z2cx2C&)ZuYGot6z$ft|2NK-D4r224@(sjh0;l$FCU0L(!KHp7dxM-RMX)L=kdFU8= zmro^cEswh2a8eV+_4*;cm^s*SyvmHyQ(zNFq28ZtqVz_NLokI(?~*UDeh_q;Zjt~B zNed=^P1WordDopP;Y;A-G-e%+Of!ZDiS7YqFC~V)=GX2=lCdjC8vB zNL}C?C(FYS6+B1IfpMW^onV*mc+Y~eQS7h_;mq@Th*xn8X(*KFbb+9`H~Uc!74mbYSB2uM2Yl7rbhPEDg(;TSJ0tkR*lszVx5BAy{zf(AZpj#v8vHBdqN)L&cPpJ!c#Ov9ivL%$*>QtE$=^4; zpzYew4+p$e61r%HHVGqyv3IW%X=CI#+#}eM6;}ponL3#cU`h9=1%{j-G>|KevtpFw zl(HY)=lxA8@cF?~qks}ub&O3PJuRwJ7_})>EO(9;2*&bUW3KY<$^`ea`SGN#b|zI5 zafMIWz~C&eTB7K7U@^6m>eD>DT2spFJS^5V## z#d6o!dw7fhx{1~wb6aJC>o0wm+5)b^qY|nps!8+rbuh|WDiqY*=bZ|{q5b4I^c0V> zNLcLK8Cv?ED))#~wWtS}M2blo3&;q$QcFb+d5jVQJdidZYuh1tk#1-$wm&O!MXU6! zI-05-?Nt*aY>8Gu0T%qw#9C?5XNyacaCa?x4MGEJsJsR}q)zp;KWKbOm zs3q?)#N6J6mGyfOX`qQT+=)U5WcrG8!zB<>rKM8KrLoX^K9X37C4k2roRvO=I~gWM z^4bAW1(K{We??=7>JhW#LA4k-XE)*JT9!l{$*~jM8IiIa@`RY9AI?3j{#a-1rEQf| zG&(CEOZY}8k_=>qM+lzlSi4Ymc)qudP>S~cXmhMha-*%6s;1ftG)mQxI8f`~mO)xS zh>T&8KY*|Q$duq}PdFS=+8P)9e`BV>6HF+;n8L@>#vz-Z-K}dX@78n+F%LVFA5M#4 zf^>OkkRTdAOjUX=eN$#*=x~iqZk!dZL`fSJ0(+03=CXCy(L+qy40y zznu?c;nX3-?8s14Eay#Mm&FEQ6*opKa^LC3ons)`*x{f0>)nMutF(4sb-`u#V$=+_ zYaccV;qF-lr2-5(-c#6*qazgqMMWR|hB8hzvL8KBRh(Wyl)RNy)UE8g|g> zk-CCevVpihptQRf_fpYGGL}xIh9#LRN}T?mZ5qN7F#Okmn%#&-DyK|~^^MS5Ld&?& z#i(O&w2})afEwWD#DV02jVpHrr)OlYqft=lvSNk#jEE9eHN(MdhG@+=Q0R{?;}j5kFphm4YT-G&#H*fWXd*2&E3?~%R8N-O z9g=G`c{XSgTZ^6-1~U>Wk8qH99G3AZhV8zo+IqpbB}?TEJQ6KC5D$=a|IAY`K`Cq~ z+cSqAH*K>t($5$K2BWzNI?fSC$28Av2#|&qYC2+7Me(J521ab^moG2`Tw&8Qe^Z&k zith&wCDDe{*k>ReE^~+|&Ba9q?rq{Y=;ygdu>wn=0WO@oA`gR{`sfe30X7g!D(?v- zcDB8c?=6g&ZNWFMnHfe8{tVtg9@Sa>J8>qw+LNIF7eCx@$tl6D>CiVnTzH z(?C>905#WmT4p{mSFo{cMokX-p1XC$Y1v;MbXCC}JIbD?>}yY77}u?@xZR+6;9!Fj zFeAY;o}=#}ZG?M4y3rA;>i`nkid~knj2DQ6F`IPCY5Ni!F#u52qy0NO0o7-{DB2mI zZmZp4h19}*z^ye)*$6ih>7o~8rfqLIbEhN;^+UrCt@oE_3Uoh7#9}Vl0Ox57;dX}^ zT}v5uyV)3#%C-A&@aQFAwF*qISNFofaZDKcTz$HmPR8>k2FH~hvkl(BjjRIuRh^}Q z)(sHCh88A)ti%Yn7I621?!s0m8=p zVDPp`PVC+D4GhbJQ+zC*ELO8FAD{u)=^ zhk?K`AUKBGkcg=l%j<4qKx2|^!*X8P4e@jOwnK`Yyt4qQWqG+yv9RexxhdX==VepH>!nV_-Jq;R+yvFdHqd|U_ z)RDkmluKD)wq{v5_4L9{VA3@Nty9?iFmpqGZ%%LFt9Tn$loLE^hB1~#)8IkO1j=`{ zgx*$U@ZW_V=%>F%%OAw>mbnVQcU_!xRakdX)MsrG1u@lN=n)YLR9h#I_;;-~=cDl@ z%I)`}cRi#BJ(U0thuw4|)sEM9p&{s#A&mdt9?d9-6$*ZLx%A_8Sx_b#f`07DZ{)S7 z(l2W9qTK#AZ0d3N208W|&9uA6SqKZrjE-l*$7)4WMdM~N_B_tI_evi}C%R`9ewLee z6WrbN^<{WS7i}koSykRo{AWyRLQ0;Drm_Ukwa;rsR?PdkXC}VM^7YJ?wq?_>&7~TC zx^O7Md4N4zVs|Z^#iDK04?XlfX>C2No_V(LlWY4KgEKrB3OvO{_BrbT!m?1cNzc0S z=!{Nm$(24`HmI?%Kg9R2Md|ns9`jbrb}Ig;uIw;(gSbPSpYR^zS-mSVBe<^tx`7Xe?7fHU596l3U>nic@{=I3TuT-V6^f`3aj13W zeLDm2S$K+$67!msKCVtCV!1}=<}B-Gt}pm5Iqe-_MzPY#r=9gaq?JB2%oy@uQnh4K zwO+7-7AI1SOb%toCzSA&<8;gSsG49z0k}Iz@0`n_*sHYM@Uw-DxJN;irsb!2ewMiD zc=L4X3yvq>rN0TAa$f-eQ0}v{*h znbUpql2H46x;o|I_uRh=n&d}_tzZAwHaY0jHQ-FO_)Rt&c1jdq0`yz0kEXeI0oL@p z98K}=;*i@UoeOVeO8Q<4_eS8qfhS#{GZ*Zy&S>C39nvG%lYQztxGcm|g@dzO6R#xJ zj)_zcfB*>qp7kAm?_}pHR`|o0wvDI%&JOMck3qGds5?J`e*1n25@e0ZSimRABt4T& zI=^Fyxf=}Hbvv6c^iceAA)5`BJb1=~rY*Jye|$D})h^9il{V%7~nH-DyUrPmK`-`iPO8-a+7%mHl z4ZC&ERC}7{NiJAH$LfuT->l!z-RKM7_Bj+pwMr#A+^WX}zW;c`$erND>$zlwEBtCx z@-Q$p^(;-eJDT+_Mlz^idHr{jJiEfEk+HAO$GdND{iCy8^1psB5Dv=F4-$Tr;8~E$ zBeLnu8(93x^%H4OiROK&<9!(`pfHgCBOf**=e~puUet4+YU#??74+_RaGa(E@_B!# z;DPEW;sON#Rtjkr_Gk%^X>|;23kb|eRx@c*o4zn*83+NafE!Lj*q%bAC zI`(aO*5lkZY(w$i*uwhL&wNU&R7&fFl|TR3vj2VCcBuRMW=!HP0~%~=sRQ!~>(O-k z_?_E#-n*|n?4c*DBB0;M8YAoA>F_4Z^Z9t^-(%LN*r(}ozkVv`1gvjib0}el;==Qv zuQpOcZr_+7i|$Kvfd9h6&bIq~1pbJJdNHw1=QcI2dt=m{ri*@ zc>7BoS&3_M@ZaO4VX?J-C!fQ*^^4tf&F^nRn{nS3h6elzSTSjR6e7_=dhwUvf}TcE zs~~7^C7tntL2)1uD%Pmoe-KR!LK426{~(&EEIKt#Uf=qo(9mE%4`+cWXxIuMHs^*t zEFgzrgWG?#x!i;^HAno6&)Qr8l*6M7))~a>FaoasYI9YfI83Ae(dJ?^Y9u=??he(E z;KP0$XI76OA<`*KL34Y+54?nUqKebG3OewyiFi%=2HJO_dA1TD1n~V#U;J*R>{_d>nidAuerK7i2Q}Mxa^N z^y+)|MSlbK?DO^MZW%&P<$DqDkLB4n#6R;Z!z=2{9n}kz{l7nrFiair7&Ejv?t*;l z>^V1l{#nGg8x5R&jKHrlk$^$^>N}|9t63-vxfpqGb^f^}c$KgxQ z1F_FBH*|XTCgaV`uHo!k%c+BHf9%63X#k8nusHBbQ4YdyN&c3>f>6hZJ{j5+r=6Ji zhm-^ZkWfJgAkJxfPRim36-IjYwJ~Y)7aDx`5mkwwaq|KwkpiGtL3{BW-t30&_%lbD zk~F4A7cwfz(^xY9TEq4=z*$CH*_gq`jyXf=LHQpvUk{a;yMl6+ZP~c!-kC!t$BYa7 zEtc3Kg9u`m5#(3#L>Yn(WV47BKi>h+t0ibJfKMivBjM>?+46gpkW)WroexWG>~aOc z32^rW`*!B4?&9*Q$XEJRcr^{Ll}}__PUEVTd_~sH15mlfD?TqOZde)KKKM{>$(%=8nR|IFUem#Sk66Baym%Q)8-X$tW{rkwdjJ{|F$fl zYEhAZ%%oZTT@nszcedoNsdGmpAFu+~BPpX6XJWr%BO194v>41&6}})2Do2$34k{`4 z8h$85dIY%Gp$7aoV%Mn4+Lx{8X*)qx#uE63X7u4QxpM#Q&Z)}vKbMbCJ?gHr+rBPF zpcyr7aEf?Xi^RLB#JetU2N26&K$y;xn9VY2kK`}iR*|gyha~STr z=;yq(7qeVV^;SE!s=2+9E}(+Pn67Ku!l2|&(wQpy%O>=FCKZi6eS9$fP>ej0DA~ax zxCfkJcCU(gkiMfTPC??^c$uz9`=4q>vWf+OQb04EMmlqMBLj(J;3vvs*5~L^1PTXp zZC`qQQf&hj#bQ8no7XHO8!Upbfq0lLfz=vwwtyNc{pI|x2FFs7zC6YXEfJfCb5_(6 z)zPhNxAkyJq8q_@aYn6D3tOxgppRMiLmnSbnn}Fx7%TZI-#>KjsKFCWDk{XddDbAD zEYzOWvU1c2Wyg{Kk>sa`v4jP`KvIvI9iOH0q)p6Rx(;O_Kjna$#r?Tge})4WrE_!N zDu15!s)In-`IKMoi~L0ilD4H4DfEOVXu*aatN8NKv@yj5eX!m9mBc=NNZC9qCDq35 z=yIPRgFwUq6`M@J>QtnTUYdN8%JIMKkML=hz-b99dD&b>P7>&+$nW_EpoH!eh-Wdw zn@V#flR3nl<|osla>b?P7dhumJp7vURD)7|~n6 zBgd=~&92+Izfk@Q?hRya<(P4A zBZTkPrkzc)vR+QPQJ$>Mr&cjxJ{hAWTgZ#6%?X{wX~??|q2%gGBd;+n)5gFw(#Fk; z*9|#-hqmG%cr^wCeNU#lxn!E1DUO(EGF1`>0j?F*I1TN7;0QS2blX(H3Q~>uZLaHIrb=$X>+Ag4_CIAkM z7G2F49DAJ??6o^~Z)%3Rtn+0o^DIi)&+5&+ewM3%N33M1IUX)4Advcnh-zp%c4BJ> zhsG~BW7T)+?7bmko=-{YZfZEV*Te0b;MDhOGXwpB2{MIVk*<$B9p8+`3|h*Ya@~4Z zpGU}<`U`E^ko^~)0ux&gPxYg1lRIo-?W1@WFW!FFlZ{4@8@X6CW-|$@-i5G z#@&7#5s20*TvGt9&whwN*WAf)_=}vy>^T_Mz9woYDKlYa9Bh(*4a!;!#GRs5wWOH8 zrp8zk`*lRG8vHe57^hOz-9;U>)T+wjN__q2LGrQUlIZwl^nkCc*+t`G=iBDbrF!p> z2lA2wEJEE{KV6F7Ft6&G2ssyv|7=qUnsfUp@L_=3!y#3n=j-WtxeWJ$Y~#Y(GRsXn zBhitEW=PbspK#s|cG2&u59^mgf}g#TJf)BFBp=^4^!TY)uQY}1+@%PI5Y#z_?pN>P zIKBsxVEyS*3jK!pSp@jRQ^-y0ng9L5ATWlE#yfo?afx{u8MZjZAJh2g!W1UjF<(%b z8_{*ZIutZ*{P(wdIw_Zw=4N7QA-=P0!y63a_PLio&Q0?czsnicYk$Idokmm8aYaL) z*_86i@qXiEr0iN@@JlaOWB!r4rt`|;mp)9KjgxVkqz%sC3xR(Nr<#)?I_O$w{C|lm z%DTlDfVlIZ!z=k{M@qj&eS#s*MeyXoXA2rj-o~CcpF~q$?&BVRn{X`@#gb=9W1+pj z$9UWDflYE|L!;pOL%`MMuRjY#1^SP(G?y)gRfz(po&DwbV(L$l6Tc=@kR;o;*Wu#l zs63AV$mct+dec9QQKOajA zta9x6wP^{Th5nUn_(5g3LHlo)7Bm?y)AfGWc+?ew0N^0NQk!y!ucf_&V4)qb1p;1T z=u4D%nITQ$1x1OmDsB4+%z&e30e;3=rTia?l<@yhB+~yyk%<346zMx02CCmlPb9rN zBL~^o45j{`gpHv+ur2Pn$AcDicQl`Uo*pMl_{A|58ld#+e^I0kElrtR{?$09Pg>== z`HFEW1uD%Pi}bI?*|^&>?LK_A9E)SVXh38$TEs|@^AARv;%cT~)vL7DZFWL{R@{xS zr0q1NT`H!BhJE>#xOIm3NC?l?NE+k&g*-o&JVED2m#xY63$jUsOe48^F7{NPo#}zZ zBndhOQ4(oIrdnsqFBCIaTDmccM#iMAMhuR5uHf%_HR5xI~ze+hpPo zksUHuSVcGl3Q;)>XKI73tD5&LqD7ncfoSvHF(44#+uiUmrmR3b6wvNjKQ3<ACK4QQ{ZbYo9bGsi)+-dvhKdGB92>7SrvL}jM*3M6w-s6^DPc8#pl<(DAw-TOdNIWZZ#bgBq8^Y?U@MEeMX zm$2we^=F`|IH^Ti!81Gl!$3)fL2e|4&1eP+r6qb9TGGeTdW7TK_~9~A3$-1V81Cks zIf!J}lRT53nH5|{vCThY@0}Nbj;*K{1O*hw^HU5{kaOjhCTho7A2qrpX~%#>(%@ih zOD-)4j!CVvJNet9SmWHm%3@vFOZ7cRUsS=k}NjgUx^Esg)7rYfCnDQy+ z283DDG=wkA7>+V6%35_xYbGca1;W5f4hK_gbg-hSfUyeZu4Pz}3kceUz5#vH8){*Q+IbLh=TLk3}EQtpwZ1 zp-B?+MYe)Opcqq0iNfM4P$e8e&Z%YK7Wlumfjs3-adn zzR`X8T7YX5aV&kjrr0BFlng(eCm?cI0kQ3QqVhWRL5Ps>wbc|1X)`$J37%H^(A@h5 zVwdqX7cU&m$P;K7XOmebGW3e;6xYZuAL=vI$K$O9Rymo!?KkWv#Q6#0pz5RC_#s7_ z<&msVvx`-vH9)djFV8J)1v=>+p;Ms4GEUgV-&X8pL6dXEJ^>Ju8Z%>vou}gs!V8&> zhHzriWxwSSkQdnwv-$0UNYkW`S5}6r>a}CQ=@CQ+BC@3Qb@ElYy@Um02IV!%`8zeUh!gV#N@$xB{V9<<{4##hy)<6!W9Yy^>-G@*u@beY0$2ok?5+Z zu0@p&stH+%QBj%>-DO&8=wm-&VXvae9D#S*dJ#ydccS3QVX7RsnEQe>v!aJ1F%Hud zOw78rpu#{>m7-5!hmW_KXyEhdOTsf8rMh`+a?`OgRp;M2v3W|7R9%5NAT_XK%szRE zE{_E93M0cA>vU><>z9IlvPX$YAe!r@Jn<8xRmq9y%REI2EJAWkh(E5n^W}?|N0*eW1^KGl0XAhlHs<6?#Q$bsP~KVLZUW1a=HE4&=Xw1{GVT(yRnu(i{E zAwsd2PeEg)pD=SzhkYZO-|$)0h~gDTiP#v|V1B~g?Q#RjC`>@jxIvaXpWf91BC!z* zF`hfygl^Ik3`CHgy3*f;^dlD6#U79^a+{Q9m!Jz3Yc8EY8F-?oR<}QewGPTDS`_83 z-4=a4V&5H*I0mXq+Os0!UKY62?X=&M0GpWah>pHeYZzGhvG> zs?Ia6N7-zQ1f^`#;jv2uMUyB+mApZ+@Y}7e?YV^qDXLpp`-`<=SRf-Ww2nD8cX7z9 z=unL}hxpeM7VTTuYCcdJgC>KQgpn^*VBF(;WZ|Q@w=esN3%95_dodoTUI)_`I?`p1T_Y?AXt<`yzq+L7WnU$z~<>_0efBM*DWMb7USM230rEauHmK7VYP2c}JMHtMT z^c#C_{YTA`aLq$^dsuAFdk`r)q)o-?!KQ1p);*BmnS4sb?1LD!1`}6lZHwvA?-JuF zxxP&K;}r5(y^qx{l8uOBQvxX73-j@@srM6ShVv+|G-0q zA)7?^pUvnHfx;=L1L0Zf=co@Sbt6H=J~%XatxnMt;%yZ{l9lgQjah`DUoVj1}k;44_ z84NzfBy|o6O+FUXvE)aQ0)U^xvnG52A^=elz5oGw4jVoc)fr<=2M_5*;L9JO6m8+j z<$|-MZxluxKGO&Nb@26t`)0M`1;T@b=)jl(mL!G{N(7h+iGK3q?eBo#Q%B3o8^D7w z0NpU`I@Svr>xF3rCLFOa0YGhl9(zrcQgrSZd;vbfs+M$KBL4g^07q}Dx3!hW@L(vV zNX+yPdHZ4M8WbRXAlOaG=EI;TOHKr)3@pbUB5wt%zX6yzf+&&bYFd%rbfD9K;Lt(8 zt1G~3qc9n^C`v*a#HSf>>ICMUc>E0tsX01+x}VI)i)t zHHZlr?TiN%*ahdsSV3Om1;7>TRzk^h^avEJv50KQOJeBBY>5YSJ{XHeg1prAA{bW zhP9eD5CoIyuutDcd{Z|!dABNnloWFwLp6YFX80S|i> zAl#eDVw66{mPK%ePKk%&P6u{me}7+|m4^VY-X>KjS{epq`LIU;=~6siO7c__BTyqeKlS^N%Ihq2~oSfhvBalZ*gbjlimahkDXVXA|RH>$8Kl9=cmtVw}JLCW;B_7EH0em{XcfRkf0L(vApVRD9w`=;&r4! z6o&sLYpI?|rGjYDi!vyG5wwdHXtov_c;?*_m}qBGRuoj`EC&4%RF+oy26kVywFnq` z{&*|K@!h@sj~*~MI1v3KKYLg$DWE?WHegb69#FyOYzg+VWMD`TvH~AQBhowKvP^0d z$-#I45q!KH;6deTdw5YWFi;vVkWZ~VD^LivI7zsSoG8LEq0G6Xis&e&fT^024)r4) zPzVOQHjbMYv2(b4hehX)MOTBe{t?AAd-y(&uidYQoxwvJg3%ivM3Qpx1F@7_59KSu zTJfRGr?}?fXcP!9IsSt)MjN<$ZCEYs!eU zbVNP`AO||UP@iYJYYBG9v%?qo;3rX$Ss_!E^E$qsLcG+650#(;5MBv3?Ff&9hm+rW z@H(2tN14*YP`TIZctgrSUR6ZKuaOk3^TZ&^UZ6M9Rj#a&#uzGUn)2GT30Jx#hYvb+&6zV7#N z3#*ZhH)X4#R%<{AO#D8p=O~WZ`D5H|YlLY@PX|(|D%fVk@?o*_WmOpEkG59wcKlrK zjE8z_t9EWYAct!pc-1?575IVp)%k^CLPnsGaYq^E=dCC4q^iyiPmXGLb|8;PTz6v1 z=}jZ}thLGzN`%ZN(&|yHZrVIdCs4HOtjr5;j~lLjH(H(VlO|0JuT;Q831^2|!x|n3 znH}?7rz-4k8tu(k)Hqx-jqkeoI$JzD-|VeFYv!`tdo3daYZN%_jwvf%R|gaAHd&utpz5K-wui`f)0Q~3U_Z8&8gktrNYD~&DwDpg2 ziNoTP1CnYPhKbEkD?knf5bo@b<)bwoI|w$GlYW9}5n>G~K+NJJ`be%lY!f>8LOS}% zV7&}k3};F8oSjl4$;PpMaFZ}-QLrD^Gduuw)~#;ks)L>iQVcmGfqDgwW-A zs=XJzj1JBW-^Wmr+q0Tt(^ZI4)Rq`p7at3-8Zvxr0lAHaeFopH z(Cn?XePalf)7KOMR1)b?5v{KgxnAt=iC`!*P9;#vX|mdJEWX+D@@Y!!fll@?vS*Tm z>??&h>Wf|pPrMu{m^UMz+RK~fgn2&eC-^H-J4LMxE70a71iKiupkw&9`$>o`K&$#| zZlp$RO;!G^8uv7BC`xV3be-CW@Z1Ej+*0{~D!ZHx)G|JV2|Cx|grheqMxH zF|BK!Kw-vEYwSm*w(wcn4rh`U2uL6e^`iqbX!#jSS5zd;My@YZJ@%Xa7?%#2jruih zD4A_+Uh4w@LTcwa9D#g)J?Qa#`27^0YM8-9V`z&@5{^Uew`uMbGns}A6GotGCeWLy z^e*LIR3WEfrGFxcyr4 zG%wo@SsNamVTy3XO@q24s*z8UNGN>`h;HlYt`(Gq2ciQ|O7?uO9sgCZ-rup_DcNi+ z*>3hX-+iaDfvwK=jSsKkyl|B4#onr`q?-QRJh!W_8`~Fx)y(2CT08N1$hkHc=_tr7>^wFDLY0T|E+}kV~&8=KTx&V0vE2z7)TB6P9)}8mK$XDXM8(^9t zGX*QuX&;LG%)+1~w+geyC0cAN2pAb0aEMe0UMH^$CfC?%q9jLcTyteF}q#zm^O5#-?tUrKr0K>W3WB&YG5eArtRv_Nk)&o{^D4N6%- zI_~5F@xE!jMHl+ApOx#rVS$+TRV)Fyq$ z@yMto2^5ygMJ|koa;d0#$q8xV!HfKIdX#^H`LOrHqb50}Q^9oWkH@!h(W7|f%5w>* z0Auah`+*`_;QKb-b`>a-j(p?$~mWB!;XB99O>m;^* z)*bE_o*aG2hIpM^=AF`e9v*7+L|dFE|3xsrIcMYfiiuaX{^7UC6dMVj7A~VpLIaoA zpnXDv9KQ6gB^($A`=zrAC0yV+@&`G=ey^^%b^HeJMDi+R^~3;o;;3LYcKVOX_HGpS z_C)+S+pAKPULj*ENEBV2<3G?;fvmod7TPB^lYUe6G$1$ZyXm)8srOtG+uuR>g;mp% zmDuDjtRPMTpV~dv<3Ij6#<`+Qy)~-4)!e>Kv21(ixtQ_sd|13W`w4-Pc9)fcmg5KH zqeYvV^8WOc`YZ}KmWIiunsIq=U%a9z&On_iL^n5A0|;pW1z@n))M*NwtE4ZxpuRu* z9*>W>ct8jalaUqz0K_7~;9E)C0mR`mYm|sQ_wqhV*i5=sW^qwJbjvl1wzP~FkM(Pe zn?3aJhFr-Qfke+JQp>SXlry=O6+F$&q|F(V-`D6_!WK?>b-GVE`+XZkFFSoVC({p= zU<~~?cr?$9_klMMqZ@rsKAHNRJ-@$b)1fw&a;8uw2J!2oQoZ&%hpCq+nNVvXERi@N z>nGz@&qbatckw#22-qJS+O6eVuXuPS=D&zTn9bCy5Em4XsP`g1ImL1>Rrh_|v8*gv zH$$+X?n1dXEyK(gNxC*@XGThWY z*igJ5m=tP4Xq!{Q%f$n-rKZN@Txnv-tx zFq^4kzdDa&jH}bDgD~=RftdwgU|!4%*jMqC^R=t$>IoUzy=W@Q)$!C=@Mt6aD(Tvd z8xBo6#Am3+IZoD6Ko{iKX7Rb;=3#w5#Ho|~uWEcwRiGP&Jt`vDEXOy*{K`c8{RJuo>m%DO_K<_ z(=}}a>;kq`$t}Ppbpdn`X9H75puKB+C27Z2Tr7hk`fRKe zk8dfIXrf(D6m+lTme7h{B*w=@#1UawMxY5y()F{R06dGzUgfTk$&XJmd!D>&FBEVy z5&wDtuSUp;w?^^P7hL84HCOe6_XSX2vnC6~U9VNwAkv^bNPsiX^TP(+iRAUV6|A7g zR;7#dZ6k`~ueHX`+|7xLDSj@i`t?HkHIK&=C$ z(V~98U48|7!-?T+C5tg<*Cq(G4_{lw8sVp-A*ocA)XW&K;TMswApou#M5shD7ysJ+t zSKF6c8dXu*!pdjJn{iAxk3(-LNK#2L!aVOrSJWaab1bddBpK8FU009ESG{BGMz zQ|Jcim=86-dvPU6uuo&a6-=k;eJ(7}>B71gGuuAI_0%xwi$xFF8P=rJTY`MniesYOoVst$Igk77%c6@}uZjJfy(g($#g{@%2SI z1y_xJU^8MHM+$STC*3;mYLG|z1!Mhl z18&$$=6(&ijDpt|BH%qqLmgzl(nj5~b|*FbQ!wZD++B;&-O%s1Lpl8!pqzG4mL+u! zBARb#;o}!qm~*G;GmY`NGjiq!ueM+~mZReU`jbA3jshX0e*sEsd$%@mr(w4CaP*f| zyF3{PoVY_Iif1r+Gc1$P3aD5D@=FURj&Ulcerzmsx%xwgGFysXZiSaaZYEtFxo7KP zG?NK7CaojbN3r@`Da;R-BQCNTLQK<`1*j~dQMo=-{|?++_kE%HLw|mnyE&0^Q^@kk$~(UzJU%f z*;VJaK0AKSFC4#(W#fqyAaJSC(3pLz(=<@UHt4!jlCpuhr@j`Al=(W%_YFu7zAj_s zns@n3;(h;CJxg~W5<7j9iH<(bKl0ZXRpzrTde4X@@=w3lhd`YdXu3HI+|1pT>LIjq zONJe133Kv8ZakAwkT+KogZ~iMFG7FZTd*Cdi>lIJuhink~By#k+O0S0W1|{~^@mvyP3?k`p zc9B7LwqEg7ajZ4M7gzwo34VbRN~+6SW0q`9Dd%(FJ@iD_VlurkMdSj!^+wt7o5YJ zm{?d4bU{RT7@>%OQsha)tFg2k=LJ^lbArf+9`~*YqelhUgQ@oh{;o1vx^zqWI(FsZcl|GKxhJ3hqe$6)YK6_bwpDMQQ~2cOKB zhea_xML$l?5UE!)s&9yk_Q_2NUBac6{*$r(dhxK;b=IAXRZJQf`A`pMp{qE} zAWI<6{&*PvXJZnj8`vF!Q3n8Y+*J@(X{lVQVohmbZw~Sr!HLnLD9&b}Y!UZ0z=~D) zgE5`0w|D^^;YkG!GhZZmeZ$*?-hlwjn2;8D%hs)BWvzq9vOp zkeqe7d*?ZuMA}1=ps6`K0l|vF19X~zW(q;DmQGA5Uyd|3?ehq z!R*x^Ys&H@XE}3;u-e3sl>cyNg=d#3XK!v`^;6riAdQ?2#J}>Xeh_G!2_)+UaktUN zpz~UN!_gzh;MqxFcTML0^~Fbi*|)n%#ctVOe*vlm;E!9OMJzXPg+Fn%84xrBVq~=U z@iVdF;O$9Zuf_SA=iX~Equ;7V*0QqxSK9o3>YTmdv^hq&Y_B<$BA#zE&LR8^lun2q zj&=yZ8l5*CtbK>Q*ePwy&!ksoE*s-+#4+=g`!uF*i2&6SArsIL$4t%If%`nR|#xF&hRdnRz$o7TQaAiTakdz4`Sb z#X=pjEOjf8{=Ut!|YWxV_vRM-XSS zJrGVW9eFae-HmR-y03AD9WLG$$q9q++RK@mCWEDxeeJjCe77(|cc3DmhgvJlgSJ! z76&+4bQMTMIkF7}F6W#wxNYQkttP57?ck1r-mhfuISjT#F~yPkjLu<>&jLW>vocp$ z;_cQ7{AV8|Wdp9*Aw$#Qx5)80-QgU~eJY8_H0gX#iRKj0lKxFlBl3%bqxxY~3Q!OZ z7nXs9Uhl-y;5xL>%xl@+kddQM9X1Um;^s(dlOO|0oP$z;Wg-}`tiy9S0M*J?%s9a~ z2*Yp7>2_@*;@Q~A7J{86HjmW#IOTyQI*eMuRupi1;mL@FVQ1FQv1g9;t@}=m z8!X>GXZjEY@N34wv8p8z7XW^u2s~M^SXmrCUW&0^k@8qY8AhJM;HR>F>QIU9?g0^)1hTDIUDtn9ur2<{UUV z9c(wnZHdPNy6h(ToN&}mZAyVb|9GNQ!U~N5*kPVHtf!~{V1Ekvcepn3!x9LDz0gNa z%MT*greMBYXWGLKxS!puOTBt&y!w~C%3eZ<@uI3o&VPM5VR$-2A@*eUgi|?s|6B4X zC_7)u`a?caJLQ|e{lohyrHl(R^PCser;Fs`A%;cZm8T%CJMS{rDUJ{MDdL|sNnT`GHe01!4}ul#Fw{(RTFo`+m3wVqoCVBC_SxxDgn#T9au^3&V) zxBlpR1yB8lc0SIGest{5c&gmkS7&6JH(tq+i4DU+~x64RRQ^JBqGTCw!!#`!?qFXUXeGRT9RbM;}j(rM7hF#aE z;-Zg6@Y-TG8LrhjuEt~s==(K!EGOXL0W*3Y_NE@NJ$?AE9+XD_q2;OSZKsV-*h-9# z8H*hG*Bl?iys-5{C5az~KjJ>`v6gDq_~nI;D;m{6a?=MM(F9=!dygnrp${tnYQ6`; zNX!87H)W_4Pu*HZ!Rx+7iZ>r<4N-f=AJPCCZNX!#f0Mjhmu1oB6}dK_UT!VN zKV6{4K|rV&czk>^GQb29ez%z%$_!DdzNCF*;YGLd;bE$6jGDQm0%;-bt&fKgNVw zW8?UWa|MaT=*{JN?WXwNMYYB4M2LB+&D-*zCS;y<>!a+=Yrd*WUO1GGDD;j%n(JGw zVf7RLFvg1)d!v~2#kFqa-`6JTw!J;XZv@mj{V(n}#EF10C~zPt{Ug2f!f=D*JWCD? zvA59?5H?kDcQXzwh>a}d?BF>nEQ>Dgh50t?a0rofWf?t)T}R>u`FIB2J?y74hJ|5C zb@@!5TH!MNXqRxJ>X~_;b!+n-=ytMt^L49EN;nW0!#WqZhh9Dx{-Zr}E6lWhxzOVG z(9K3DV6YdCO^XIIilk2Q%kw9RXDfzhqW1#qfq`}(!fDuV86s(TF0Dd-1Bq$vfT8u$ zGPt9M^l>f8A|-On#rh=)km5y~2;O4U`Bbdgoa|(2V(14T?ipJzs&?>Qsf|LR{L>O# zO)SVF$tqZ%8HA%{M6Ux5Euw!*#Ef7m#7-cm3s-CKV{z1q_+XX^L9mch5Qo-Vzg^nD zI}8hHI4n1Te_=k%jxvaU4Q`)0gC^kW*-@61Dzv0mZWvb)l$DaG05Cd=UVszG@W*KD z^zn_;(mLObSyy$|Cg^y5^t<5zc23b%0VZ)ia5iHt#b?Q;d$*V9?99{$Jo51gI$?VZLdJpGiPy+#&| znA^IrUwC}#JWt&0Atoh)b%I&h82i21YbukmxAQCqpShmAA!1v%rC!b#3r{7b)bmZI zMGO~0;W1PHLcGJ+A37U)S6l4QTKGombQh&mSaW?~E1D7BR1-I*GS-RHe?a{-v2Jf5~zD z%5u&sc4`yT>e8rQKT-Mb&04r^nb-ShN*dB{S8Km^aWPkOy|>eKrHc2nZ8i8d@~gAk zoR!AN(C9FautmR?6MhJOSDn3lKUtuA*PirprB3{FhtvYuc}4lD_z5a$2;9zc1c&u{ z=9jc=;n?@A9O)^rhv;Pwsd>ISHh;e4Ls+R+!>wU_rvIbTJIgNz7{jVhZ|rZT-|1Q2|vx%b2@!FUSv~VwO9t0lK3D%qFhk zIhZyZcnX8$IGSEcSahUS1B1j4Oh%jG3|OTi^7tm2Y=(mL*gLI5_oDb=R#@Nv4J!?E z3{UG(kZn@1m#4FsOhtMMt^p4jWLG|TdAWc96bm_ud-ciT2aycRSbRhLxi5?Wcw@3> zZKD~IU(>NSDCkC%lo4e7ngBXDOLLoYqTgJ47*;9UQCqf7?%Wdq9}|vaC|Y9LGLxAW zwa=7nq|D0$0pu=}@QnPB)g<^8{UU?0C@ww+Or@JX1~H<1Lq6y@Ou#$#uFMFa1&~15 z@n7Dv723R2{V?_-g1`(%gwjUM+vFnu6z$6RFbdgqoG1X87@a)xs`^xkjz@>)GDVsO0prW3~p2e#*r&gTX! zDOt=F%NBPoEIq}%pTai}t(t9A2VM`N&=_&; zXppY*lPlG3H2kzr%r&lMb4K7IfeC>kYvX9{A6@OM4I{mWHw(29PszV zL$%%xW9$1{$mZ0c9oVdi+0Lea8kRkeKf4m(NAAlGE+0yJnaH(068_Eu`)z;G26>w~ zk}mYx)7N91D~lS9T&hWK%4iwH#&f{WFgQJh53-GgVZ_opX45mRh(Ad4yF9XDW?((c(7Ni|C z#lGVQ=$*vO3OEa}JC7Zo(nW_gDkN3ggHCj}JLb!|q(Aq)JNYE}a;Xo6P>1b}TWyL- z*U-UL!*1xf6R+LW%b=E;%1wj__xjprnyRwKr&@PqM#S>KDTV2PlKm;M`ZCCi!K8{awW4lbTlF+LZ`{=;|$$9g;@6;=N z<6&HZvhW0Q_yTX6OkSj+{7+U`7x1{QSV-{WUMB8+*}m-OOwq|cfKLVBSo;Z%@px4H zj;Zs|R?`)-QvzXT>-}|-@(!qna8=HJV*>&K=$EI6lHr7x&k)81rfEWy+{j;}$hT9ssoFMFn{3?e6RfDm8;Y!oS;G z>diWnpwgtQ1^ZK>L?1x$%U?x23FAp`1wlySoo%TSrCp zeevJZLo*-^;vga|h)9D&cL~y|NQpGkFhh4JT>_#E-CaX>h;#{pFf=L(h{7{|zP~5d zdj7oo?6c1~d)>LSX6}CPm)_s?aQYi&^Csp}KXKvFNaRLej%SD!Gl@>6*w?pcbH*Mf zO&WJMNQ%Z!+sB!JZSv(>PfW#hoNq z2)UvZn~tediYz~ij7)LKhoZ-dFberU1@!c0e>RS)kK8w)+AIIKH56!M8TjwUJ^+Tu zN1>`9%n$8vScl1$*N|~8^-w<(zC0*;ijxh2^U&yqkvvGz>7gg(Lh%!8FXRJ=ZIT3a z9A{-3pd@~}kZ6WR-!75Z^(N!?tFUztUeXjF(In%VCjw~@W;4Y&&vyWfaiv=tcehb7lWSZ%kBb`PSgMe zqF7g+Tzw`(sb5h?w|l{U{tBu|1~U?B|i< zn`5_0+Pm(&T&2&qtLkIJ8$>)gG#8MiX4>!nm`OKsk=yogRkda}0|cL03nl;t*yVB+)l$-dvZ`gs?{7 z3>b{mAb)3X4eL&Yq`$!3l$gSl$np~ztvp7o;jp5vZV;D+Lby6XjgxUdkmvMu+R-n` z-?If2`drBRYe7gOLAZU}4omb{Dh>y`9TZev6x`ta3m!@~0ZcqZ1 zvV$4xGKMrh2*rzta~cR{L2d&eu&3jiX}a0DD<9~GeRLm0=#j{txVZ$| z`a&j@nXCYAy}r!9Q=;xacjN8(iXH1wv>y7mdw!!EfS^0m2xofet~IkJ&z6;a-z+?9 z4zj8EuvM2Y;m5mM)O`wRYv&;w~%=SjF*NLHc zWLz-jN6O<9tco(TmLj<|&=QMd?wU$v=Ub0|_R_%)qth#T9R_@B;Loe&LCV)kT^cH} zQh+=gng8UT7d=P_}0{z*=n4|2LiXf8!$ zQ(iMJN9BYt_*F|!)cD>6F0}9ovp!ex>wvq!9ou`CXpf?w{Dh4SU3HJ4nv_`c$O^uX z#>vq01MG3I;un~`&hDNkkDrM|9ZT<)$x_@sAUA0(Fx~ZkAM~rSvYUS<6_C>mU}ms7cSO;Xyk4=n=Toix zzWjewALAPDeAn;}h6o~+^+D8HDQLwmgu*5Ny7!jSH$ANt5DV9O5g#4M$y#cZaTG^l zU{ys+gNP8dudQI`s-W+xe^0fN@-`{qRAAqa%Q}3WBEwn8^5%IvOscB+i2**frhG~u z`}Yj?Na*H0)CRe}C>be36jdBTTPU`H;w7v;sv&!XzFih5!eva?nZG9e!*@XN$|I8W zP?4l+1H>Ee>YF&eQ00K5NUdIM&XeKPNR4oI-N?J^&=es07-oY zRM&O>Gjz9Gck1s`Z*!qU++@t-#BHpl@IvLG-Wmt9UuV?w_0%zJ?wTiXvY9 zt=~XgiEyEoo}bWaqro!kU>z!!2`VVBf~`JHfV-DNFFmGz&^zl@K+rs3ToFDB)eID5 z4UeP-;2iZf9ry1*o*+C8;lcWx;M>)N%5vfyfLD%PP+n7@>>$8^-t(|2^!?e>Z^d?o z^g^jSwzITaHdDq9gTd$z02?dxbF@ic8vpH3@CfxST`M&EncFIi?yJeO##1$JMTwVfJ7zX$<-&cF&y*6By$EC(mV9Cj9HiL_x+xl^Zx>`R z7$kiT0HZ7EN2Kmri9BK=6Fv(JyJ`yU679NEJ9Z`y?`$ zAu7}!v{W4U4IUr25ENq{Kfe$qD&~b1b%RE_(EWPGd;+QMHOb_Zw0S1d@BoZt7aF-u z@1zTR>}uMoNGK(W?Gug2ne%QSG7?3{ik(Fe0Rf(fIOY@LZoCKDAd-v0PuUKtdJ@Tk zgQy}y!?1w^FyHv*P|BoGuI3=a^hoL^FS!#tA;POXL-X06G-8OD(pfE99T6e!H!uPw zc=x{WHSPupQs~iCnC+Rt&n?SyA9#*IN*$3I<1_@5RgpoH=RRaQ2wbq}5a$`e~D?xKX7QsRbF$Wd@DRd~>MOxjimoH#*;Gs-I|^z}{> zqJ%gL2b91;LX4uqu*uI`lI?ucC>$ciGC~-|4O~imB#njYV2|$mru!JbX*C8AG!Dp5 z38If-#wr>5o=|y*428^$sk)5#l9b`T01#VdyHT#`D>w^5n=uu#er|iWI@24QN_EYc zRS5&nP{MU@z*0Z)>v7=3ezeZ?5w)+|1@5KREl3*lgoI#l2ImZU>**+2>S{S!%# zEgGm#ScOUeBFWnaWjR`s7`^DMagn3Sm^+-3GS^a&%mG}CPFm*zkq8DoImt6-^fN${ zYUC3W09FRZg*-lai_Lkqi+Mj5lf}d=#9Qq?h`PG8_)r)=D(MgUYb97@$0KfJy$qq5CJW_@6`A^;ye zeX>$N+JgjL$+D|~iq*b%v4J-)Lhp*blN>4z@=LpGf_3r4niAwXIzkqa;2MuK1(K30 z?h<9SlKXK|9!4$BLAg3MOVS z3p1Dv{FEv`N0GSH4_^9{LBlXVvDC4E4$t&ItqrbYe&)x=vpi9y^sY=0VM?Mgxhk(mSG}@U^`ru z9kSd)Iq0KUT3~gtYIZ&42@q{k&$Upmxty#Wn_PSbUHk&HLAc7vFm4|9gWq#tmZA}E7;w_0deh#p= zNg>U;&o-y}7AHhuzu92ESy2)@H(H;fjy)wd)iCs=z4i}fC2lR?ZB#C&g*M!*p_U?o0jNRcc#XG5Q2@zWjPj6 z4mfIU6f)(P3ZIw0vgB5mol)teYEqXe?xzSyVk)wrCHF;)#V4OsvZ;0+vG^T_?s(H` zO?9AXYxk*mkJprE_Hg+!Hk8@7$4tEyA_4a`&iCkZDqjeHz@oylV~Gn9lx*+qd8m`i zgi})mbd|*_C1bK^=h6p`i#9l%1U|trWEpL z&@uwp*H*Zk>1)oCW^~Z~!MAw8uRGcdIw*zx*j&EK{5C76TSXEOyj1*EawMrVo!jgU zHs=*75yTun0-$BDGgG$E;kqJK@I9ymtShvy06Jdhs_=pC{mxZPdU4kkHu4W0Ul?J{b&t9|edlJ=(Vq#%kpR_}=@zaJdbjI@vM0YQyN3C| zME~L>q&xIkuwp9x3w&5(#$XxE7KQO)Rr55vk2CjJN)1n3)+JIr4g_Uwz|wTw`4{= zu;Mcd_#R7}_D$fEC3mU}WJCqmW%dFGxdLbWv}5x$|K;@SS-?FmP@U4^K1cue!46|z zSgvxt_Q4#62Qc?{F`jhFPOy3MI-p+k_gtCuTD%I4Ci%q5Zz=5U)4WUc?X8ewnMeserL%{tY^fwN3Ml4&M!^4v1GnRLK?I+QH>tl%s!-tM4{n z_xlNsKn_@6&I7pWP_Y^0dxa$epqCCMLBdgGb}VFDi}9=S39DdCsC-^MsCviOxg)@0 z)s27*VjWS-o6)Gu=DyA;QXi@C{IvGMYN0;-Ye-5Pd&0s2pT_P|PF_UB<=-#-7OaG- z{g6E$evZ0r-&CmXj?Bc4e`j|PK?>sBEj0nC$y>@Z$EyY5>DFefnM?I$KFhu`^%dRi zE$oU~?ai2Iv&RNpR+#ZnZ*G2zb+`f~7()3|Gv(0z3oo~TxV<04d#h{pH8T4(L94Pd zc=y$)-14I^3w&$mKDQK{6d54&SS`U|!Z=9qmDfQ}>Oodz0J)M?STVB_K~WEwm*ZFG zB92F_w8#9}sqftMcRrF_Yp&DUuT9v&J9h+)95p5EOP(JkXZ7e+1AI`uxS(DG`CdaI zK0d>*qI`Uj*P**v_YheY+aF7qC9J^f@yQ3mL7~g5?=+Vxv|7q7PGdBHH-Zt$mZvJ6 z-xmF`@uc6M@qK5E?ff1D#7I3g?Afl^<$dAFkz{%KSa^q4-8k`R(h`qEcB$NyU+V*SLYpM*=D6 zdj|)o#vPY})SR+3ITB=db`buY^P=lu;_4u{JrYhiPlkS75Z_-I=ox5vPM^5*dF{8i z^kx0kSyh3ca)c15{2ZR`qU`<$&WP5kmojsB`&l_t z10kpyc6}czm=7o!2SD?n-hY1wXah@R_JbZ_L*AY)FQ2wlUC~ai|L~pfdi1mV^O3sN zpK5Xh3_`);vp$+i;d2xRm==_O6TzNU?(n*R4H3^hr{e~2SMpLYR8oBady0%}e|3`3Aai&lA7 z@fP>zV|;A(zgE_M(1?>v!+cKqqoM?8N(G;f*E`IY*b416d~j;3Xj&;;(iB~1@|^14 zx*b*~PLl0^)DwEt%nsRS`XSgBJ5X0yu+IvPzVn7llJfnj5IY(Gc$(s-#Pp*6+W^C} z>ZhUgJXmcEc`Yg?WVV*aQDn{R28wsdRvl1QJfWu34KJ&&l_joY$(OtLt@WgZyK+h} zj7&!OM{7hY_)9ot|Nar>>qsp>Q z=gSz?r7Su35nkR3{ZYQQnUqR_%PjdZ$?sO>;q(hqKU%5Ut1D+7n=(|jeSh4SA4@y? zOjla!V#Z6GC+55`M4;2iDpYgp4bSv7R_&AvcoSNUolnqz{or$J?dejZV7%)mO(;*k z9(dcxYV0Ay9(Gobe1A&5zuD)(9F2qG=3 zueCJi=evpwKgQ>kFBOo&v_hQ>xVuX49h-R+x%^*b}(*iXHJEkgi%=~$w#W>*^gRr z#778OgFW=9MT$8S7DP)D-}#x6tk$+x#*^po=Tiuw%EM8PMo-~2-L|3RA{ZSHg>Q1M zx5Kr=jFDT|!pW);KS#iQZCSTj|Vj9^E95%sfasxSy1D3#31WW17|tnUU!Eo^twZ#*p&ysxa$X@&^>`q;Kbf`Dr1 zL6?0QHv;u49B);Ys_}B;BVVQP z*%lOPRm!EIQSF?@S^LIQus3h#*7hzoQg%_1t2|3j4bn`~8)6o36n~nwUfWX}oHm^RM1Fek ze!ZA?YkOMlBdO&baP}({#OVgG;E{7T38>?q%M0Zvs&|DeJVvSEE9oI6eZVi7r^-)_9w%or?_RKyMD#)MLq+z8xx0}&KPE#Us>hlNz8$d7h;E6Yn z)=^SUjUvJ)8T_I20k37tW8s$L=)-KJ)iU!3m6@{-H6{(g^I|ienZ0CEs8Y2Q9_T$C zpGGQ^@x=C0VvCc;Qc(PcvHV3gSN9FzLVVRg%(wA{bH*PU8~+kb7uP+RIBVt7Vzm7)ILSA4av>x^Gc^Z)^#G&1NypXw;Ahy?q1>EJB-LecjQj?J%HR zLMtwKx`gdc4|zZWxdK@F9Chtv+VfUD_c$rq!}`XZ?B=*wW^i8*{mKnu8ys_cYdxqJ zP9-mLTb@j~_raZ>5JVJPQG~d9CleC<`s(aXO1%VmPqgM+h$ASt4;~^~h@^Scthf_pk4{G0;@^JQ|wWJ0;Y5H}g zq+YQocsnWCZISuL4P5&dDG4)xw9kQe)=|cgcY^Dz8ODrAtmF_<_#O_;AT>DiOq$6} zr6FdhE=z^CL?yO;sCi__Ujf9n2^P)>74QkU1eprfW$1*HC%C z5HBB7tFR%>86&O={Gy<|10htNh793`p5!h&^<`z17w-?=V2fbQL}ykZ&- z#;QK4PTwBC_9MK<7So_SCun5A>>gwDVK?8ACc1eFE!zw+)u^rZsjaoAbsmsadpy{X z>J>+UDbFz|G0>f;M;7w?8|HD4b3l-|0CC0I7Tr zV>=HyXHFqD8kKAYHL2c`-p8~(h(2dgVzL&VT+;Z_HkrIUacI+zqtU=1HG~A2Sr|fo ztk5H6b)bL2?@Y5f9@LMdba#E4%0WIL>qz-?+Vo^=@=BP{551q`97Bx!czzjjGa5~y zqO-%&M5dlh^i`gzrsQ|M4pW6LZ;LKVxYEtP6XH6U{yrcJ(R3nBIyu8IyI1zaDEc~9 zEj@1ddZnD2J5`0Jf|@t?UTc!>nNR=K7ET}u$SW2?JOvJl1Fl^t-8YV#2#uq0pqz`9 zunG9Y689-E`xAeSUTil3UkoTP8zUB*1ZRNQt3yPh0CzapV@!qa{_OL*R3Ldj6Vsxj zqWOTAA7D^1qYj5=H*EOk|(*w`McsJ~^{$F$|wI>YqlJ z%?js$3j;80>x1MuU`u}e`26PG{g8V`L-e{G+8PGW2^}O~8mM+~4|qs9X!i0ElrE@o z0Wkmsug^|^XmJd>-RZc?G0z79Jdv1>wVty*Y+?>Ku=k&L8V50pg|H)a{a0tZnnBml zSt7Z2akKui=ni@%j)jni3x?)~;p5XLW{<0ENTSA)KcRlRdLcHvHmhL_mSJ+dY+UZ8|CYn}*NvsB@i~TS!&-Bb`qVd> ziwiS#ZxZWFl4DF;q>WS$P2$@1)88xA1{&)C4PE1z`+FW@b9s8a?)OTsBgCdo}|NX1-d-c*{Wp#B>8bE_y z{Pfp+R+@6Gx)ip!HvYu$`0tuMx#hRjRWUSRxFT*gmHFq;8xWDyS)iqgrrCDxXOoK0 zzZEf;=2R|flwZP=uj4xabn9Xjt00lZD+Mb^o*KM5E>%a=tn4NcY@Il76`1h(NZ4v% zcAY$LWNDa;-m{g0*?NbdY~Efx8rNQavO#9M@w>s;>qRtkly&2wrGy}Qn43sD3Q!FVUZ0c^JgLvPp8Q?i^4ZcUO$tle0DUh^`vJr82nl4>t@=|&E?Ez9CS94 zTJ40VMy*k-(u1wF&5dJyo7=yh0bFfV)+_}700ezPC|z6b{dziOZY^VLb4|XbWBWxH z7TRzQpcVW2tZz&E)0U?5bHl5xp7^iA&Mi&nXih*Vqu6u1uOm0-o^|Wn7`|#1r?b`7 zYUc%qQf2@J0buzIOuG74sjH_3LC*}G(GDNB`5RRQ^MOqHTW_D+K7oz8{o1g1MuUlL zJritfXKbBvH4Z{t^=p^u8fL9Dy)~$NJHSn zoBsh)HrMCjemo6TjSK_ z*bAoR7m^*C48Q~2g!;pX{faqVMz3K)C%XotgSI1$o=%p^xv7V#$=3}|6a5Dtf}E0B zccb&D?!XSG)tmZmwV>c|zZ>0ku52ywX@tvD;?lB(Bn6E;uGJ8~{e{_)v@y9dEU?CnG+OH{Jb~ zbTqXp|7}9+gtqCJ&W;y7cS647D%MGLRO!b2R)s#%!Hu%)iTy?cl3 zZ(Ui$Z*zR+n0w{EXY%zyoIB-UvH;fo((D*E>3;LGo5*XoYvTT7A}m-?;OG~$cZ@=E zD8ZF`FquLJEn+wLB*bH{G3lv^*}b=JEZyM(-uiIJ;V;_7A9d4fOD_-ZyGtCqODBV= zd;rhen|yft`{yha;ex*?B$am#zpqWKcP5ihh4CR3t=@=gRDG*C^7sZjMF}{_?4tFt zrzkTo1DBtOofi{;@d4635(N*>8Cnyfc(Zvg!)Y%~ftKi+Xrouk{1XE*W=GzlM4WSE6kk}!1eSw$fdX=sO$VmB*_HeOd{g%M>^R{5nq*@Ugo6^32xk!CBnn z&o}t0!&DXkwR+<*Z(nCw{?1ZD6I!%)r zi`GYf5;zrVgTLzt^ziR+Jx$k+Edi69gWh?QSe}u2YTLhHb4HAG$$@K{EB{21tZD!HJb1od6*SrOYv7p1 zQKP@UiNS>uFk23meu|zk4Ac+^4tx~+RO@=c^jZLOSo-wbZ90&^@N3q-H`bJ4`6<{! zU;{6@mOFp>Z7yiX_T5<*!zv|Om9_5DPWkVo4}U_?=BjUpiz4=yW4b~kThujWMhYd@ zAD8*--Na>lRWz^SQAebrrOe=JFXpRv1||OQ_)PFsBI>#--+<-kgTy~)J6Jlgkd3?X zYfV$1cdm&}uSp#H-+Ctwy{%m{0SPi3b?+Eo_x*2R??U&{kD=h}wcjYf@n6yBf&T(= z3dU|+UeS3zeob{7k;8p~KFqo3^Ztt;IqbN#`dZuLacMH03WgF#+_Gcb^X9)H>WhQ_ z4b@W7<1iZ(bbw&JOznXANI#*^m;P}sCY5C)6=rGjIQ7X7$I?UmQ#hoxghgcUFUf z!G1#pD36PVa|Iy117+R!{*V338V zL^w%xOsN6E_%9|QQ!-IsRQu=YCCp(b1*MopAN5I+UMagrC^& zjQyVwryF>0%2)qo0jm<5ax{i-ik|KqJiltj4@MighSL5E66n}@a=$A7plk5;aWDRJ z9IY6J9pL&IALy8H<>p?vGI90s`3BzZ9jY4Kz36#A@rU)&r9UC^4pvqS$OJfv?R3eV znuHg+o^$i`Go(6xqA?0Hz{N#xxtgMjVVUAg!!22L>y zhuGJhVjEA^Z(@_A{E?1y30EYZAvchrdcWeWbPw9PT#XWc{_{`tetetbu{(%xZ{8#U z(5?qw1LzMfs@?BL{%oIeKRnyO)5~)rK{8yVG4K=a-M`X>i7cQKtzf_Z%|E2{`!~Ok zip&VaMDQ^@s7iv=?*EqVv6~3^t!+oaKYw*N*@HipB}0M*RXn3F0L)?&`sqhhw}J?F zIQHn6koEh002Uov;deMB z=>dj_11P=^u>Rl^?K_;z#J_z4P!Z{$lepLTZ!?F=>;BO}*C7vms3{(u-}De7JZY5H zeKh8Z?i#g$el9DjJe7}5+PTv@QGLB1ph$g{mH{GiEa>rzl(E4 ze=*+A2|2S)7>y|rsu-Wbzm3KKdWssNw-T@LXJm=fCNXhW$hbgc`DcPpsh>bac+!1( z-}`_5#kXm*tN0uLzYXjV0*dyXO`CMaU1btBaBxX*kQaVd5$?53xb!?COz#XJO!wN3 z3Pk=Jy&|VgxMqqE$|hW|to~c?cvO6@pd&6Qdnjmi^*_toCpWW(2zUFz{Hlx=;S50r zxqA&*O7FO!oS`c=noU9!{4p3HW?SoF7Z@8fK`fsGr#LmVyQqM_iv(n`z_%g8rM5% zYaz$~?Nc2>R0DS*DIN7!~bKvRZKja)7To@gy;7k z&-~x?`#CSiqml77|JM7@;&hu2aEpz6+6Rqdi$?)FsRaes!JX&KKMA9yBt-wOPD6yC z(_jHI0s%zVfd8LP1GdTa=iA9}QY@>G1aJcY==*<>CtT#zQK2?NZ`j2ei}<28qck(b z99bE^ba#*ahdfc!F9>B53{K+irAg2$b}CfM{e8MC7Xwc=@$~&xI9X`b8*@{A1`|nZ zGla^Os8d?1H-c}s@4jCTfg*BmBXJpJlM%xveLmu3Q197(>U?!VA_K$j@L!=Fnddl|$ zO$0v8B_)FI!69$HWeZCZjQpWy=Jn{W*OGhuI1*@GPw)i6Y zIg<+FNdplv{XBW=DVUSZzG;=zHBQ!oNtfkUrrv?9$Rgy1@I0*&>jFGi;qP-Sn=Coe z=^)b!;g5ZkP*x&k8dzz;ml(cMpS9SX_r+8CPWsS6w?{0%4fpC@6-%XbHtT}G%vHhF z2$e5Ns8?*BQ?gO~e;UK|baApuuXmCKc1)*-oC(MD{% z-&IM(*VWkbSKuW-44LiEsEiFE3xO%F4Ihmle-hvBXq+Z_FvgFoDXVUGTr6X-@gYbr zP;mZJGRuI1p6A|B-%JuxAJ=*kRvPk$Nh&n)VQ_gq9Xs1!;bcOk6#1l$Fa~>s2v8I| z_I-(Xb;G&60Y=3&hMenADi_dT>|b+;x=vQoC;qj{MIm#|=LwWcKY>zfdXzdSB`LE$ zWJ=M?V}xX6OBID%h8~KSFooTdD77ye{k7{X*%AR29wn=TR##cPAcY+2Y?3xxw)Cwn zKGy9%j)rUY)3cr;%A$s1Gh|`Iq6H;^8OoHHd5g$=?q;^&1V=D=*bxq2#N_+?9Bh74 z1a%!W!86N_N&dKGr-|_|(Cw_2Cl_1LQK0K$wg8=2+M7V)MC-mXCixDNCV}K#!+AY1 zehl~?Fq?`j849hxGP-^?M%T%n?DBlu^ya}ArAIALYh;a|Jjv$WCR7K2M8~z@@2is# zI)x#a;w5N`2L=61RRu>8eYw2O;w*f~cM=6`1^v7uCQF((0;Ii@4i>`7PBTUWC>DC* z#?NIIe5nlh`Dn;Y5fEC6m_R!l%gZI@M+^hiLCs~>ET&eWZG7vbUPGIcbm_^gVH=5P zGH}$&^FF{T8^l}12L0W22+BicqZx)G@Vt45)8a!Jif+?NssQ+2*~Bun_Cl4ofdWCg zNE@fO%%d3t!nOBxT%0h>&%{Q>Cv<^`$2d@JzH-0uIQTZn7L(c6J5U~> zKC0m#e32lgwyayd=<7~v>N>FRP%jmu?~oji2gYKVb^8t$;~+5uoIAJ!YbeR)a;*bX zbG;Yk$H|DQ$)@U9ePy&%Rr2^y7r5*6j5NnKl(QU}aKonu^gRO#t+&#V{li|~v(6Lz z`$tlxknNj@794`@n3Ci)3-W$mCsOM{;atvB5$=&p3Nx#BA65VbuJB$V0*C_n&_P05 zVh#m$1Bslkp5y^0+1KwUdSQ1NLx~`{-%~OIf7|KME@0SSp`%ou+`f?>BVH^)Q>yzC z0HFK-=rq(9M@$IFxbX62idxKs<4^LvFc9NJ$-sjTpK@5G55+&WEG0G~$#lzb;Pu~7 zrfVroy70IhofFP+)7{C^>(vlmyxcvzz;>p-Cn`)!1}I^5x9-Ptc3D1@^7+WzJ`#mW+L)piq|g z7deoj^Ht#}1#+Nla`ads>uk$pe5L36XrmV<>1_-X)e#R@faMWqbrt#oWV06_ZY~rs zcNRnANnnuRk>&5CU82>cwAqL-ovyP20+*&?e}{1-BharUD3Og$&y5fF^j-27$o(%yt%97uou-I|@Uu7qjymdz#u~$(&^77Z>K<58 zHINsFYAAeJL9><*Sj+PXZVu;l{!#Y%mgzP>G42rUs z3!%!?u(4o61!_J`rRUkeYl?+>Vg-TsShfw?B-#*y&zUBru!0IWBC03=vLQxGW*N{V zR~=G)SPrF<2YPo_Zsvn?pUL&kcJ{!&<+m^3Df+7Bg9Cd1^yKdf&K!SOIpUQ~j~;@q z0b8flMboqcLtiPUjOzbYE$3ffG!7LbBRzln#q%Z?6Tj>Z~p8)lS&<=$n?%g{d zYFq7`zv|glug-*fw`;pY{XUs|G+9O8>q0L7o=E#Zx_+p!Z?$Pfn%(c!*mD(ww6i{@ zuN0XGiHAP^7Nz~id+Ofze0;w>sfx9l>jIi84hdB0Rphog*JRYPdEXi#2_Y$HS$pB^ z!82X3Y97?E4*$H67yRW0Gb(^r^yCH0gLS;-+jA#7^%JpPB(VlsHqqj$ zRiDm)WLO-4#PxUOjXwiQRr1p%tTqo_kVGAgdci5~t#%M=0KKWsLk>YH<7&WgEz|)B zmjTe5Oo22Jz^?-iWOJx7PU%ml0iH;6v|%8U4H$h!EHiKH0stG}JPQW_iH4R>1Vf8B zA;JuH1fqcijyNaZ_n;}LfYa~T&{ELe^Sfwpaim{4r{4uV$`}b&v;vb%J>5-_i5hSP z(f|kD=`97}9tdFz6=4kzh+4A0SU!yj075l|8lFL^&R_zHRgnxKwOJ#e{pJxE&j4&%Z%VtG4 z+G0~E+;b78!kGp|y@4uL1M~sHgqHa*9Y6&>2DTpVAqXZ-y21G>;t|@F!AHjs5a|}> zh#ZoBB^D=&2=Q-5kWWQM%^NS!N9Bt}-^T}n>HQR|f!PGfNOimhnly1JNJK0&7w-2n zHEdf9KojZLr59YXNjn;h!q4iXRP=EYH|W88RjD2|{N8TLV#pTH#0KJG|3=YsLelNZTG(ECKeWICZDwsvtt z@!3fbWQ3RJkdKrRmCm*`aA)$;dQ*=)v5?>eGW#S!XD+Td!Ih~%N1M0l?2)i zw?~TuA>I#D90F%i<~j&-oYmglWG|IuZ~J6=aRdWe>+MuBYjhwp62y7e38nHn+~;+! z9n>8c&r%)lWdIR$2z?lx@YO!ybTD1qAx!zqY0@ByN>u7GmnZ+jM5QE`^5zr`#!Mh1 z*!~2Hs0Nte8Hjf7I1wcya8`LO&h9Fa{YH^q3~7N=kaww}EUsxRyT-46#c#|93X1s^ z*+H9=NHlOjuidD8cyzuYl+x-=&_z1NHz(X7;tmf?gZ75LC^Z5BxHIR(Gw-88 z=`8?)@BtY~lq>ELcKzO)0vgyS7Kwe8%zxt6zL>?ikX%j-<~xt7b9l|ko$#tL{(pKA z)srX@v4of6Iep^6!M=WjnQvyWIc0D|6eExX0rcLIl&X)JAew-exK6y8y^NLkN1W*tg959Q3zd6aX9R_|kw#$cyO8C8fK+rqnzx~4v5_1d{ zewZM_0D#7Xi7uw!9nR;-3_ea*{+s3*_)7Wjr$_WL1x$XqEPg~w4rpp*p*J9odIpsU zk?r=$d!-U5842WGFU&%`V?hVHPi1-WfcWRqBuIjVjo>mPQTP4Q0cx)sjD7twi+1ci zRn)>hU8}?kJA|QqJ=;<<;*<-dje)Z*?@j#xi;Q4`Mg++NG~mv|!+_>iAFzHO=uR>3 zTMC!9APOjmMpC?xT5-E?u>lg~Y6}W0eJ4Bw=-wtNss1NMQMAI|*-g`c``ICLqO!t( zN%=~}@5HyGX+#MO8m~V}1%_(WOn!izy^z1-Oty6X+|&%{!qi->qC;+WjT zjfG#GLbOky(w-&X;ju{O+N{?1ZzZ4}u9+>rl+CPUcjur9VdCEF5x{AFHiXdlb$TJb zMNz;NbZ-Q5=9uQSl;@80x@`q+R0RtAz|{OooO+>B%)}Z<#LeMsx4mTdDS}o6^ztN7*eFyZJ4n&hS8%GjNE!RU2=TL_ zp&+*5BU6U9M1=xA2pgp=ehL*Me2%bpUYCaQfMz$zOViL(2$vd~by7N|G60^-HQ^FUn{O;?4kX`x&eN#9M z4p5ZcNx9zoP7+YG+~BVkc47**GKK38cG6td)U|arylBf~0KM$5I|2t+*3y-`3^0-1V9fhbqrqiFWOWTYvPZB;iAjd9}}jn|HUp zm8PB9RJyC^i0E^=1+z$6eXDLGLDW|DB1mxCNO|6i9=YmA_ZEER(4Bl_y+TsGzqotr zQ}c6;qINQRYesu(_j@0a^{w;tDZd%P6;(2Hb>b-D#NY6Q_;IM(BVyOYP4ke zVEyP|Y)KNHo@Q{LdKE9B7)QI4i%u1V{FEs$VgG{Il3dN%;t;Z;PNY z^sCbZZ~Hq)0ai*P8_3&hPTG}d*xHyA_A96HeC+-2>o|~Tk~67b;rr46wi7r3s9>=! z6*OA;KvYw&Z;D|Xs#~2sS4L8j)N%VHif%9{(FcZY{}?ecZaNR2Qfnpj$5a%X#!H2| zn9aFLjjA$z5|aM(vTPEVlgqj{N^y$vxGAl1X9_aT4UeBH+#OTNHP=EwbEdM~O8e*e z-sVTfKt-{jJR{)NSEw|FJY zWMr2#^kvRsR{ToN%ekq)ohknpS6>|#)f;s?2}2JO(xP;u(m8Z@cSs4Sbb~Vk2uMhX zpn!CP3?U#nG*Y5;Iv^!o64u=Dcc1$__xt{v+3()_t#i)IIcKl6C>F~vvx?-~OYohA zWsv|Pz+9G9$DPw>W!5d4O?>;Fjck_w#(_((p^&zfHw!yyz0Dt#u{!DV7}>>-V|u`K z?`RNinaF-*RW5owY^HFjB)fK{MUJLqd=y9Vu7UzcQOSDJBiHRw^(qF4yVt0qr&RXL zRg(Sdt5~3mVW*-1F{)zOJ)%Yt7F9zYt!opS?>!?Z2=I=;!6-+{S!QiU2fwg>So9Ml}|80AJylT1nlitQ1inXOj1<|2U^1Cn_LKO;s2^Cg zqXoS;^qX&0S-y-LenaB>$h-BN$uxC%z0X2`1Ty*ZXR_DWHyQ0+^3;PHA^`B(@sr;N zK){Lo;qu(U^3LCrrGxFS1ol%_ut};W!z#ocw|B|LJ`TOtH(^VJuiZ4zO#&QkTBj1O z|6n2!9IOsNKohs(l9e52;GaIzQaj|GQqn88Zg3IRTK2B5LQ#I<=aiJ)Y70dZ0%YedFow zy^e4CB3I0cKP0T+n$~UB)!UZ&Kh|pVY`;R-iu&*GO=&{!$qSuX9j=Ohl5Yh9Zl^-B z-a>tk&Lpn9BmfH>9b4M6yG*xE0uC?N{{CELIk8NHLxoRdtq+Oq3y!J_?q;tPtXzG~ z+v5cs-S*j0=seYl=y)n{@#^V?y~#9Vz?r5VkrswT?(3O9KHs6;`dml$(){43?9cHA z#gl-?e>wYT?02LQzMboHJq0hM z;bGv^jxqe~JV3Luf{G0S$0BhSFrQhRt6WQrd@KN>pOi^GNAD0R+htPqT+~yCXoSffO#;0<2Zj!6x!@0wiHuxc8=X8h+PJqaVOJDJ*!i4R^#7>+U)>X-GinvW{emQj=V@-El zXu_cYuQd2fD~l0Id07gt->!vn(@ZJUSJOkar}^*)W%iZYna?wMO($()-Oa3)TSow{ znJ?^?IZ2kbA3(%>!0G1UaMG%>>@UfP)ffTM*0nn?ML%rv2OKIlFOT@NeXpq&AnI&` z6_OlwFzd3%Fv!4epG`Dsb`tG`JW(H&z@YClACB@@ifp8U-{(7rYsJ5%bvbS+c1}FN zmfYwV=Uc@hI~I}yh>ubB*m=SI z7h8}>&l5(ie)re8zYc&21A1mE0pk}a+MUNc(lAG%KN@ATi9eUjN;f_&FMNJuTx+E$ z2BU5G{tj8SVy76H%C?woVjpF#ic(#lrV9-Qg~S5m*w$TksDyKOl%wU2mecPsCH@&6 zG?ggSsxH=EQUzw+^VM6_wDWpyT<#*kZ$c_OPN7w$O(&^SKPYY{XqtZ?t7E=>YA7r7 zA*Udg-fdtljs&h;Q)qwJ!?7ryJx8$kJV`tRD3GqnrSXpKN*Tqeib!7cydNs0v`WOX zyT}o1jKQuvBMo#h>bsXU+MsX#fhxHAKA>OL`On^LSbGjG?k1AmK&|f((y9h)>L12A z>mi+JR07GdYl5nXpNV+K^jT+~yIlC=Z^_9ercJt?o`%&1T14-a8%7nx?M#h3-i3+ls`3OqMr0mlX^F;EF8shd?NOCPyN1m4xx>6ZvFba@!-e5z&<7M~VJFPgJ-7`|)dmC#5YsT25TW!FmR>TUZY_q z8FlLgU`XgOSg_?OJycpvP4`hU&}z||UZ^ssKGs#r{`dNIe|FWY%+E<8eOM;-)Ir7m zXZF<*Q;6N^m_S_J-4A=rM@{Fl1T6{}aZEBhe&b^zIV?&hQyFoPi3hZAgAp^nl3udSVblekZsi z;|Mkj033hTq2%p}+y#KAAT$LA7&N4(Y;2!o;I%FzDN(VNmJoN7*NjUlY)De3>1AwA zHJWl4%cy^U0tnJ$=z+~*vjZAVqtI4Ef1IUL6^H%f((2vSPb&=&K%Ai!5=D`e8vB}) zO8R4x%S)D#m#%C-oEeJUUh=DrQ%KB27o0h(Yqc1i=LrjYkZ@@do^L>73QM3?#WG7* zWm(O%Pg@ed|7E*xAU8{!FEw)mKPAHJ?tF)Cqbq3XHVrcchSNU zX=a6XZ&QRHzIf`y!(wz^f+Gn4+w$(+8*4+GOAv`(<(SlMg)SmLX1=ppkB0~pAVo|8 zIUHa?DE-LGN}=}{PCD-pKVm+HJ)?Hlco=f<;(#012=BK-Z;b!+4su3z+*7cgn z{_Wc0&5JhaeLRo*J4%?#%yg$soeO0 zzSAR8JnWTUg3hDz>Ka#(y{~K#2AD{}U6c}YwloQM4=LrRLnd;Li%B{FWOxMN=EHSj z7t+Uow|9$6W8&g}ylai+s^4kgYomFWJ@6}&Ow;1hjI*ZFO$4UOZjZo84BnNimrg|Q(zu$u(n4m)sP#1#CQADEO!9Z*gGz9H@^c+Xt{MBsg`d|&=nw^RNp!)$$-H9Ez* zr*igZ5l3I(yTAhv`>&hb@)a}u4#@kv`i@f_o@Wi$baP2kIJgM{rSM0J-&bX!*;wlc zU&YMNTx@^5gxo4ptIQj}Au<%RZSUK5`wx_py$8(Z82sBFF1yRNv>I>^M)_?Q$z0$_ zD(Oh|8Gd~1$uUyM`1d$H?nYUxNa)B}?fZlSS>NZyOY4EJRmdliL~yA!s<+S&^}hhS zON=p7e+a6EFeKn9m^~?kKKMbVmcJXf*}fP)>^_-2L5Z(^FZklxw};`}j*3+T77vEa z#z)`J|IilbIUJ%b;0ZHb*^QQDnEfGLTBCck_uyu`>D`L4sx-TU^~bVSm__H-46Q@| z7hq&U?IrfO^Y;EKbK?)rkm|Z5j=gn`im^k_SZ+Fu{zXuJsJ zuTUTi*0^GCNKhuAZ!Zv*@AlxMenn;f1A_axSU5j9_(1X3^h=iUx?6`Z3P&AkN#CRP z>+tW8Zs9%+B#n1qH3{$2p*5?Z7d+{uJuMOHQ?n&Ms77+?@AEHsRW+VvBKn&J6DN7!@NM~;qe~Lu@9_?n7Mlzf$_OA<}ZIpOk z!jGeSpmKMa0uaoQE)C|cAEQc;D{%s-19A+o(1xunWZHigCYMs~4S#_LNh$FKC^u%P zSj+OBR4NN}C<~AF3Z3_|ln{wz13a&ksid0Wt!Nf&*!EsMwYSQel`_6q1^BZ6=DxIC zlbrmr3iF1z;+PUuHh?V&CBgvW;(H;Cr6E5?Ky6ecrn^VyWw?JU$Sf<_gdQ;m4JD}|iTsuN}URIF1UoBy@-!6bm|6Glg zQ$-$u#-l3*04%1oy{vu6%r!+DZ)I&3EN_jvmuZUbbpKZ!$;TVLfxiaXrla3h!sM)A zE+&2Ev{`{k>d`g*?-GaPN_xD-0O1`P5CSsB2P85XEg~v|=hTc}O@j&ZN>BA7cVv~v zb`-e-Iv&am^ED~N_N&@055&c2YLTf@Ay6V?!|-{{(mhlsNw#Z%`rXhEXifyL*l?gJ zHginv*@g;Bj25R9h~=1oVgN(pQBWLuU-O0O@956ZE)*>dm!S5`m;FW4oyEBtr4d?> zKEQ*0ztY_xHCFg!_%Vj2uj)utst zFXEG)8mVUZ1N`e7yZ1-Se(E%sYW7563!{hE_LK&frQi%*e3k&!e(m9;cr0J0iGbE9 zt4Qc%-8$2l_pay+DeuxGz-DR%@q zOt)$(oiu;zSpgS^T<_ZNcrb6%H@V>r+LU5d?K7_l`-q9PU+8V^v9;ofB+NwA$BEzV zC{eBVN2(LYx=jlm%4ZP1a~6dv7Er$`u-ZhL*aP`A>67|0EUiE{{lh2Bn868)!IrAx zhhLv6r=_Sg$9mdP;F;SqwlA)iCsL$DU}{<|1?z$p2h$*-SpzhP?V zDF#Q}nIM+`?4kRaq|k72tb=U85by^?S!x7>Gf=;mVWmhoR8_hatH(}}hh;Io6KKSt zhLVbp=HL`J^%mvQL-0XG?#r9_e;C;8|AH?NFy?UW=I8(>iVogtkTK>kB2Mn(`}3Lq z{TK1gPxSA{CDo8pndEW_)U36z8$u>xk4!b_XvE*EOFS|W`Y~3Wfsp6`8aKj*&huFh zV35==^3YETd6RUHu#2>&=iX|d$?2O`Ur^VkDe=bgtY)-AW`ACqB5E}xJN3+2JM?}G zS^kNa%ew&#F?G>17fzVgshJcsGmHOiR-Iv@!X@r}67Q_XZS!8&)=Xb6z`S+OOefPE zBsHmLcH;-b1pmV9(Y`rjO|Mp|ly9eoU!M7o3fRjjqnvfvooMwSdHvwdFLsgUO-Zw1 zfyO`L6(SE{*5b2Ip_aBnqbQ0wZSi@0be_3PLG}P>N#dspbF%xz=bTR zaRG(3J*%~Y;G#paXq=ffOlYR8v%{22_hqJa8U$JLez7!jvSxQyhc)L|XaBba z7rl@3f=eG|mNN8g-n$Ow&Y0KB8)eJStS&9KmCm)R_44@H^c^g8&CDcZT6l0R_HcDT zCl~rwtXlu*eAwhJq_7=|w7oC{bgnG%)f#t;+hoWaIBeQpz)_!|cDGy?Nz-aiZEOeC zY zUcGvLoYgiZei?6Lzs0qr!c0ae#^<1coF>fe39ahO*#iuLn?F`3^*$fdB{CYKzMBD6 z3hdSV7hjjI?3>x74BJ@6eEs$E>*q=brUKyn0q5&HyK!;*11R9tfj#K4-7#I>ue{Yi zn-1DP9AI5bGT~oIx0c8h9GOBue^$6nOKtEG`WHg8)NC_1=vnD3Q8yXTw6BJU6eRcm zI1ot88B*4c{#czFp+bQm+@BAu`VJL#Uwfd=)b#7134Z0j4Gw^a;*XDg2QF9!}&2iA4T6nEJkka0WPHrWf=jJR<1NWFS+L-@hKrXzvO zvt7tqD#ckLYMjv?ab7F+<45mM?6+mv4e696#VuzEdY4<=8w$LD5>`j86hoQEvs`ZL z#20-Us~h?k$p))-iu9XwhXz!>PNEV>Qq4^>x6S$7WyO!`xXSwL7HAl0)84cC1ygo}AnY(wlgE z;g&_d?eI$C>#&>umdRs%_n_-7`gbd?Zu6z6?T}aQVwR}TwTbqfF5 zD6H?KDD0+)A{mF#XlKujlJCZ8g0lLGm4l{Lv)dw~Y_%8L9$ULYC-Q{?uJyu;X_jwZ z$G>eXQ&BYc5^~zx+}*6Sf0%~leqFHB*1YE&w5dk4hhbBwV$3GE;e$^7@4DO; zqnP^>s{m%?0e*ha<4f72euYQV7kg<4aE&8?dLEE}@kj^6+F|dNJUhrep)`I06SE}w zqlsP(I{c`!yg;Bc~`!y0TMxOP?CJZD$$}^0%;>`GYXUk6Mp=i{#D<%TCqJy>rB~z?RP-q9~z!f9iNP9rqrs z;P+;83c(QpHp%OO)8}lr&M~tt{wK&RO^~S})OsiB*{P73!#~)@z_&BgA=jYXK(-;< zDTPP2w{ChCpmZ@HT~R-4pF3!;1Sg)LCzp*+zRm)h)vSXreg=7c*D+_AOyEQidC!4F zrP3>md!EzqWQtKn1e6-O|3R<;GG_jnju6Gdo7b1!-G43GK6N3 zhZPuvW=i@hDPBJ3v3~ml%~XI~zx|eTGKgqiDkfj8Rx$M53$+BrTZ1dd@kAmw3xKmB z6atPQk86teY`z4z&%Bzye)mIIkPW*gil4XU=@%5|kOGm%W37nr2QAh`mp}Ck9NHD< zb9#SqzysZ^0j%@Li$MjTB~nY|5S)0D(aC z7U`CBvaUx5zW3~LoO1Y!UvqJh{(FD#F>d6j%?e5Vc?BHbKHHm zp7aMVKMn%P@`5TukkIS|RQnnJmYKq*s1I>?TH^42gTFrwW|@uwtL$~CUw(xZ;4HeI zg)as^n)x0DJBJYhv8WWK5Fht45s&boe@$wA2adlEy&!X3X_`O@EDHaGL_YsF72x2} zqsTdjcE6!i%EMrji;n?B07+gj%N71XR%h`QdY9_aLDuQKg)jaH?`S^5HKrLy6OZO7 zxFmmo{F>!`VDX^s2p4taMQFP8LD9s6m>jPJ(2qi1`W^loW!TL*u5=%eY<4VDMHC>W za|8A8cA2BHO*=tHDk|Ue4H4j`Pc)4b2*mPSu;8!Lgx%1cyGTOQ(O%ABNRy+0+nQs-qjExC_wFQe>1nguFHztz~cykeS|<9 zijY?E;l0VN2P48i>xh3vIry84_dI@#Qu6_G6#%786Aa4siwFWb8o#OBQ~;A;1%QX7 z6zW#R-?E>`uQ%6U6Yc!#%iRocg}PU;jkmOfNcx~S3RHevuBMl5>!?RLbS-=;cfV;F zV?rpBbKLzm0>Yf}xVlYGqmWn=-sqF~?xZ@=1KbrX)xU0|v zTp=*AYJ}+#_VAY5f^e|^)1ZyZ&APx4E?=+_VNnP?@A2*n!k5-rPxmyV+yX*`e1S$D zF(#Jilc!t9CEuS^Jvut_;tU88_Kh|oC8w_a&PEe3}u`2E|)`%*v_L~A0^fzFF9 zzpud)+Z+FqKuBLQQZp5FSX#>)ab*4sk5~KlJLB5g?hBV)5j89X423(={Ll$`^++wqrd{ga z&;#rNm+uEIQ?~fUmfQYWLXc$&!LG^~TfzRf<>Ja8w)YM!Q*3ut=1Qz`{!^e2^uyB)Oq`FpBw*kxSDAYXx7^x*k#!dXOC9*%jjxpx1b zB~J)YiW)lESh(jG5@+B}b(I8T!*tK=vm5WK}}b;0Ttxmh<{O387ap|o@1mSfPeVz3}G8~ z)sdeF_TZ4&jkzdLimhE}U%4Md^xs;?l{Xf>>LN8+`MWC12)X(%Uc&?&f-E^UA$t25 z$MIihR8}Bf*Axxvu)SkW+V4j{7RC=j8sggk*3NG-XlNZ2X8hr#APy zwZ`86Iv}vv`fC2OM*))f^KMM44+Q-)#<`EDup`@eQMD>3Nma;ZUSRw2zl9)V*5E?^ zkWRdj9Zhxe&yq><|6m&t0KxwswsHNxF>b$C3;mqq%tvw(m+qWovaMM4dxgSp$k4XmVY9^HiXYbH$JA_av6TfHwD-4yJh$km#rN* zF#f_aE(Ea-L{8QbU>i_bAm0?)dr-eKw4cnJik$_{pwsehr5*Yqq(_N}GDqw`c@0a^ zoW6LPbSIAtp|`L8PjPb|DBEQ4F9qkxv#ZReFbEo`KDC4~I+ z88r)Bxpg{b_uXVq;&n#nT zj5VJnOZho%y><@++_Gi3I=StlHYm+V1iJl@CtXiWI@cJUej9hgDBh`5#cGy2=aD@V zk&`oV?1z_O8X-8iLuo5LwK$X-qgkJif*Y&>+8JQ$`Psa#v!7O3@SwXu>1^a znG|etN;AF8f#)&AWb>1s%{3!Vphjc}!-K&&&&fwEYeCgL!z&6JhaWkClWN3O??@pX zP0essxaiQbC(<>^XtVQT3$xeh{IU>0$3<(`%c99+*GukDfrQ*3lN0(eO{e$=%H$Do zBF4l#1T30MjodvMa(OCuy0BhU6Qn|cNh*Opne%R34ycZ|c_foaJ-_0N#TR04s^2t3 zkPtCAihZ#TM{cb@H1CJPd>vUEz;FaosM$4R1p#I&7MfcuxTQM8Do6%tf$DxCe}cR> zN8VDkPjsbBp))DGbVKWNSHHtU+7mS>mRYFdvx8tkN%{`|_0VfYbL$VKcB)?o-oMW3 zye6nFIr{B*f)QcFteTEJSM*7ujWvy3Ju)j!sSaJsl4MuC;|)`P(G+CA?R$>A`Zs<;Y=L_Gua5!A^s$W9^H6{pq5)$3+yeWL1 zjExC+FbA{J=)T$ENPL!q1bH7rix_J`rt`Nf!r(;QJ^PAP{5T-K&L>tDZWLzW$PQ-4 z3jJfHqAVz&<*>Y$V2d%Oz(x~EYj)8*KaM`nu&RcnD~OEn$B5G0{!;*mrEl|zlFR}0 z)2Ax(&)0icpE*E?T8WNtPa=b1F6_lw{lai+8*=Y;n(|@IeQI3V!*=H=CZ9MmOJk62 zz*iD?`aycc8q^z7$oT1IFBRH1`H{C7^H+xMYgbpGRYf0bquX6hRd!G%$blGcsj5WU zKo+dYPF)8_3$Qnk>3O?wY@QA?iy_jlj9znzAhj;7?#F=B77-XiwIYO5K%9&zF3 z6anhZR;-bRw7Q7bN_SCsv&X!B3F3*y4nBU?__9pbU1PlR^Xu0cxyQfJMk$DH#=&$_ zvTSTMaI$b7Y2G__tCJ`lYd{9HzQXjb%$LW0 zw4_WFJUsH!`Zej(xp&02VNNq3D#IRUen&pazZbDGt>R?V*?f9^a1`5?Y1Zvw!Uz6g zXZp{n2s(bFL>aXM)=U5e0Qo=UHU2Mb<3%l}c61OBaf0ga zVwzMwH5qs_FfNkQtz~rOFzm8DGZvxB=V>&l{iDc<^^vi5wGrPAg4n@K$b3Qb%j?gV zB|jeZFe6hHS7w269r9ij!J|tc=6RTu_@Qs6SCMFp&pT?shJU7}CPY6NGe@{M*X7tv zBQN{dDeL1;CI=)<&pUW2Z)+`N)7Cd!XPmN<>zvD2m;%IXPQE#9SKaXD>iC=PwV6rcCs%ilZU9gT?b_Gw>uG5V0Evs1q}Bukhc^G$xNoH;ID|GkKZWg_e|uB?aci2vIp(#+`0kN?PtPs2yE$L6 zK-LJ_E&=-^vMq1$DnXZmP~J}-#rkz7%KsTAi9wg>bk=g0KBPUfrzlbieX>wl$;zN4 z{goX>*)Kl-GtUcI@CD7LI-ga@#$PFLxmonZNmE;B4&?a9NIXAl_9#+?fz!w2ybIW6 z9~liI@UGJQw*HKbI^(gy87JPBAp`S?75&k%VZW&al+Vo+|8?aepLUx(9-#_ZMZPS- zvBy~BHA$1LvES|J@1^az1-CO7IH~u_uJQsAc6+Q|iC-3TorZ78N9$-X^WwffiAUH3 z3P98Z!oWRIeWs885DCztTBu%d^IZa=upCCx{*MRJ6`8Nnf>>k4wh^-@n!puT_nJ&OKnd;T!WKUYO{Tj8<>5y7TR8F1^gGe{l} zX2Swn%$?2x88DAOJpo1I-;jjr`_W5?#9Z9$ft(Nhw29oGC562MH2pBI+DxaasUBv zcHs68l7bnl+voQ8T7jMB#N>ui5|&Zh7EhIN52P%Ke{4tjVIgUv-j^CrbLOJXw*wW_ zJ!&qWf+xce>W&bY+(4g=nrQIz3%&P452+`;++86CsfrpVQf`(~S{dSOa3N}TA&r73 zQGuGpZk}Qq{@mG4-0>k{mTnA=z?+*^!ct!EFYK8O9nB1(ZQ@az8c*YRA#wQm_>vZ& zUjaDHFy?YDN;^JgXFDdBA>4>p%7`HrxZ@o|6a;Z|d0-JPDej}@Z!Qt=%q;}aAeBgr zB%%WY*)ag>0u;?8ICskeEpB;tNRv|v%^i=Xa1u`B2^5xsGvgvZS$g%+>u6g-C5ICN zkK<)`;(riu4WbD-1i*@@cXoWjxkU}x8{6axx3};$;ni`^ zgi2tZII*J!z*1`9R3Kk!69bsnF|{ou;AfELG@TMM*iKvneIp@>?t{BA7ASm`{MFLF zfD5F#W&YYDS>G}$F+PT<94zoLT_}Of9FUPR9HZctVQBgM-FA$u7QAjdqfXMm3h7IY z(CC5M{PhF_-erSc*{amYj%Ba!NP#QiuYF5VEE1ph}I)`>mDUx$GuAA!iLBxXmb z_ABUSNY*!vD7%(qZe+S{DrqeN0WnFcmHI|B;c1FxhS5&U(bZF^C?Ib*q3K5$WIjQU z!NvW(3$-Jp8*Jh-oDI0np65&CJywPL=ww-WCY=Yr!bby3%Q9*B;1rk;tsaQ8)f<8U z2kPoAp(vcW06?7es!l74+%TP}g`^UjUZO=*iA}qj%gOP`2qTFF!vRCzW1zmdZ9g6; zN*J_-WFu+h)E?w%KLjjXXD=my;01|fh_^UCwY?zeY%TQm0-)$Ur1k8rAMUN=HA(4p za=ttCIRKn>l@k*b{p&iO=Q{t*@mm=Lk(OcBw4`#%4`8*POwi-n*B0576!g%S8wOKC4iz9dL`LPZH3hXxQ}E@}`}41@sTXq7JU z!&!+}mHPp}8y?W^%6LiMj7Gi^m7k#-_>e3RLre+-Ku-ohAWN=sCrEe{Ml6KYXGQh6 z2AH#l(piAe;4&S)vZiW3ob6#o~PabL)JG0*~0|(W#!v8H**6jJXs)!=x)S=#HVvl>jTp zyWRIgdrYdz!m2950BPS}wptci7$gMv6*5&Zpg zyayN7M*Gr_3~Ehy6_S16@D=#eY%;J4gv7_fIzYs!2}F( zPPubsIe9g>o10h-9y7LBLnySLwR|e-gULA#H4Cr(b^T_Ew?U6TciFRHzQTrj`+)-j z3@=tx`2G~n(>S;Au0gXbG!Y;PFCxQ2Bj-{vGHzb+>?bV4ZdgK8J$YUQ+Nk7hEtJ6i3{;q9$9QFhzrR#&nSuX8gsD*O35f^|9?L;gWHoE#t98fH$AbvBMb zr);WKY(nNoJ)aVQXE>r1TxTv8l#9d|?2+@66gX>DJTi=5uxvXd>vm5~Py>Lq2p9jv zzUT98ghG^_Yv}u5DSvdZ6hEP5bM5|1SS(o&wO|i1qKC$)aLlIY8zacQsBStuGpAAF zF&5?t_@IpiVJ3S)C&^>*EZx-detzN@PcQ)!!}g)eD(C(2XuYx_IbF@W z|L6B&UA%U?*X#T`tJ0I57|RxHUu8zV)PSj6V@P;MgpPD(BjC)sh{A`@!>@JNw3F8a zT!ewS;b7XwBZ9bI{!nt_(R9Dx$ua!kNSUVx8g16HZQJuvQ2K_PAwXQj*qzX1>hRA|1w?#F z?DaJyA008o)fM@O{K^kDsIfPiRYSBoz^>dFwSq3~tF+;WvAC+?gotROo&-t@k4Lek zDHxlN+LD-&;C&CpAV6F?~l9+(qtNl zJI9`}Jm>gc!_HVQ|0X|=;e~nROe#f(bI;46rI{th*>7X6wC6(k$wK>sk4skUZ1Dv| ziIcE$AJW3fUT8R`2|-2xzZ{27nRz8oc@`Ay6-ThPy|$d*3nu~<_WzcJYebG|*W~ZJ zFDL(gL$;fevA9h7mu~V=haJW2tFwW3OiFL;IKP5Msl z>c`1dRMOnN)OG#1r~5kf=M7j?H!%8cCHsXI<<$iI7)sGmcuNjiLO7%Ehl9MN#e)1z$abjuVXeX z-zAWLqYXch4B1t{pQSUMba#G33$@>TGR~QE!XVV4n{ZgczZ0$RiLjY?tUYq7a8#Up zs*gPKN`mGVr28R0h+RRan3}^PyO_cgw6mkN#{nP$8HDJi|EFW}f`g!=F=d1EVcjTz z!XcgAhHm~$(64htgGOVjS%%3&dzRC=h8;HViN1=p7pt8ZEQnB|_0A9@b1XUA)>hd9 z#82eFe_hBQ6$dz60&!=HZ0FeI%jidAt6keqsjgt!ALrz*7QCw(7!tMrW*a{#%e+5P zO1>ETmw2>zrOW8T1pKdm z_ZacPS<|gw0gr!WTR+d!JZy6Skgv|@zPsY=mg|UW9j1am{p-kX2?s-BD3}0_^OI{T z@zh-U-Y`y5L3&GCF5gnE3`(d28^jT@mIS}eZMbNNQA**qZB4hN_Iri~G_?%k)TPO^)_M#ds&uwS4advc3f2WAk;qIA-jacMr>T>M5zPGgszy z4>Dh@EG%F9?|jbbF4bx2S%HUN|2<%4=yMcar3%(sp8p*h=W@rr3H0qAIaM8WS;61f zm5y1WVSe7x+BI@o7X+6qNNuBNDYTA0z%JR70i=kNPm}q|85p!$*WU4`2$Zq4dP>9l z_;qA%=;Wrf?ZPqDWF6;=)gr=S44R_dq8>O*^oYt6jpuKWu{73}$etKYW0X^4q4r3B z*PC6;8X4&>rk9ik@O!`H&91Dd5|}xHf^UxD{6;fr`MpNI)$9=;J&9`46Ftmyx`|Nh zu4=tZyY=tl1n#R{9V(GlUJub|ausq=Ed4s(*C%5n-McR~%UFoHz=^-tZ@vkDbHEYzfj*F(5koFfE)wf^JrjBK{+3!hIAlWM< zR=T@0YS=@1hssEmG4mCTrD@uj7`=zIaaZ~qS+F8?O@%V{{=JVI2<}l=Lxp>>GME+N z0dMhMi@gDic|=BgptPO;!OR4$SqySuzvEb${lT?yP`eVv9RgcLiQRd!X2bX}M9orD z4XDF7nb0G$fh~oFis)S~3(-JQdWzXQ0#-sZ8-lk0r|&}@;J*$o9UKU6ZDUd0zxr_8 zL0_sr^}vOvtzZGln$G7;9s}#QYq5AV4J*Idb%hWeLDEC;@%>BgpK>OWo3s4hDNCeI zDX-mHAC=Kbjq*S%B&8>zfV}XKMh~8c?Uiv7mVTVNd0Wk z`P)yKz3;bhMETy1VMINVSeoD${rUp63{1;Ap$${)MTf1R62+eYXs64;7fu1!S(aJTyAuk%fX25enW;G0{Aa2$YVnF_43r<4!B z$SUd76dl_|>(ds=0o7x`f>;QBl?znALB9oLRfKITyd(1xuo+n-0<6!D`eq}Q9 zFquH)#JqVUPHOO&DnOMXsi|0ug#gd7D#?CI@2$GxJTrGbhmfAZfBumSWHGuHKttoM(mVO4GY93jq7OP9P$~ zca#noG|Ul4YN3jzVbXz;87e))If?_nusjCwOD>!J*{DxF*pm35Wi@B{D&`JrCFwzo z@%4u^AznaF;AL4(_N*HHvdAKSzUzsyDDG>m5cTVvprGAnA;Fnx zLO}fFZg(7LsDi*n^~%(({Dt1DF%3864SgAD+Y%{T12al%A}GDpB_B5TP#y}#*zm4( z0(u;A_!(Cvv0On_X&jvGFGgR?SCeD4jMs`mP{$jGqLAY&ObFW2xddlyaK0o+dMY2FsVDbw(VMzSn${25(nQb>4sbq*Phq^0oU@A~6^O@HXpE zjb~Y!=}S;04Fp~=648232=|?X%~!t-M(^mu?2=?-7A1Hr4g$ z`GGjT>9NU zo(QT?XU?aYwEFj=+KJW6w+EvSBL8!r%)mgvZPzQ3uQw0lnLp&6K3fw^XlAuN8jz(-l>~CmBE$LsU$6gSQ4ZqY zJc@D`1r*=kG|O7%eBYsZukN~w?Jq93&vl)a2TA1YA}Y^I9*3@`{+uW*B+c@Lj=REt zN@q2hoOmTGIDM(Hiqy$=m;U-O9yD)J%hA+dhcl(!87itqD( z?+KJi`UJUpDc~_ay;Xm+E}?67l0^V^(fo_n!DX;z;6yDL;qV(rocuJd1Jx6;6^uXk zwSe6Q^c@~eP38J^Ma#TNWZzsbguIYn+mjk=IEUE&y)T2{25rOU#H_wdzY*)*MWena6A|k zQhq#4y#i)CJCi@d3Rq)671!k-Yw;wzgwk3 zbKWhN6fNK1f4ZpLOrv@R1Ji4wMWj?!&&AXs$`alx7dEX_f;^icy#tBL)}tz+eX0UU zU_}5b+5;KTep@7>eGrM#kM(jUh^xf!Xju+M@oyIRl=$vh)Gv-W}AXua%f`VFFj6GSE;uhsNh` zLmHf1-&Kahj5VxY_UdeaN_hf{x!07gtJMT)85pW3SU?o0e0RYa+l z?^de@)u?|21B+AuF*w!O6V>PNgoqAJ_fbs(3k}J}a7wO9K+@n|j+C{nrj3{u2=K-Z z@*?`GcL0HAtN>&uX}vzzkZsqppc&?&{g_sw=HDnD3Vzehz}AOr4NHn=#0;0#WR(SI z`^Sv1|I*B}9jY2r2|16h$pz`t(w;p?Vq_S7&8O4oBHrY!Y>_*X*VO;kcG%`YPi!ul zXa}VHK`s=0CjkMd?;pLG8g&h5>w4Lr3(;*}{?JpSX5%lb-kx^KFEf-B502OU*k9$Y zGmx~=Gpego$vK?+?c+p@M#0M#Icb=ThwgJx!1R6#`Iszz#9PHUVw`$xER}q$dH-Xz zShr(6^=fWB$g+EuWdbKQIQLsK)l_a%YugkS&>Q(BA|8lDoOdw$K{UQi>yHa+ z9@UJms=(+M#ud;oVyRE(%LY4^29aa>?;}1f(2gBVckMASoJPEfN9z8l*LM@_ZHUnV zB#&<_>v{@KuF6iv#J`HaLVx`&M@(Tfl0G>aV6c!Rwb*Ys)=2hKH~!Qm9%QKfhT5pH zM)$^n4o&SOM#qS5VEm=7*6F@sS;^<*T*Qvf_zem})|JnjrbZN-#r+TC1sIU+`(k%C zHD+uFrfXhvmQK#?=}+t%Eypmxe2~AqVK4>&9p(#O;D-V1&rtoo@y2gsvQERhoha20 zK$&>sXO>83u`UUU&qCu$EdPh4v+!#25A^W6g0T@JMM9BIL6j7bmUeWfNP{#;Il5tV zcc%kELSl4?beD7qh=HQ=le>G*{S)4^v-8IH^E}U`&N)<9jB0LkO;?Exkbx1(W4g_x zdgDQ;ONCi^k@+_Y^NRZOv@qr9E3hg|TP<-~PG7oOPe(FxO6XGW%qxbG9`l5DQpfe9 zE=;9mZ)%}*+`vb_%oaYHzwoJA-?V!{SYBOUTF>B2&oV;=5XbO}P@5MRI9*l*c8u9> z%uBkK*aa^{VHTap3=4!7J>(5EhdNvfirg|rAt(bjj>T?v!^VL{FC|0H#3{G`7H^{r zLoy8Y&QwCW8MXA6d|(UUm_`0b!<-*Wug*qYg4?~j3kV^NU^1f{j~7M*>I(s_jWJ}| zNsRBJxIyt`MhP5x)lA06^vm79jj%9GoYIQBz>2faa-vAh3l5_nwlP_eD^3~4ix8v2 z;H0F>6rqjO9|-nCb$PHwz23Lr>o5 z8<(0dp(_&KXs+?*86W>$Eon%K^@%CaH|^BN;iS9jT2}&FbuE2jI{#avcy1b%2co@D zKQUbZeUyRQ!dqZwBSU%bU0V^^AO^TPFDSSU4>02n$IwAV4z6aY*4>Gp?cZPK`Z9#ZGHnBnXE9sQ{T{8Ruxp3-k=iK zGCMXm{=1P$3o4_xIN2cS^HFZXZ>)&`Aq!@m4ja7BW7z3qry4d-64$*ZEEuu@_M^@E z45KZd$oG0ie>f1Y7nX6^AVG)FJF<}fbQcFVB(^jowfQZ-GjD#@w8UkH-UGt^{bva% zYxB4m8**k^!DEh!zTPXMTli7v*;^ROy$EZ zWTyEK*VY=?HtLRO2O9KE+M0&b@cKXXL8Y0;dj=PpZ&ZsTY@jwQnTE8SJMc|YA7)Y6 z;?Uz3J+4Yi?w&Cw(LRh4pf=qnK)z!tZCukja3f@g7P$Z1|IDUI^SRK$k`>!?u>+gu zi94$Ei=UB(z%)q|ZufD>uGHdl$-U=oXw&aOb8_T*_lQ=DTNR+yi%M?0%J&zZCheAy zX{hhXsWn>v;NPrxw5JfYtmCU6Gu=lFypWgCH#pef`DxyxuN^}u zkyK-hEBDbd&s8SZ4S&vC5Y<}I*{RX)zuU0A6=iCxWfx&{VEt}iTV~a0qS0aqJqN9g zZa%Q%Jg_e`;dZHTyFdLT3GYOA=y69+Q1s9>v)%ijRxDue7h=C#Va#J^;%&EhryvHD zy&mLi>+){3!u*5B+KWJoL%7*N7^jZs@Y;=pfK7p^v67F&QTB_57zc)eqsBU8>0LX_ z!9JA)BIUwCPTC=^(cw^9j-A{gF)E4Jkv+!1Q8&^)yJ_|o=wpf09XCuM2^^JVIw?;g0e$r7H14aSw|ADFT z;M<$dJ)8E-{8DMKQ@nCTDEn!9rn8S7DMYAR5bsQX1rVvoj2bAp4C{Yz+xM~&Y7f~g zs#N-p)0?eq;lB!-l{sVGuwQUfx>>YyT24BnkxB+##0p|Uxn5CiY`U_aopE%z)N?pi z-I@5V;!=bLC`ZG1W+wS@$7209p&?N3oBkK-r#n zvcERu7}0v^>`8rd*zD?XlP`?9d&pq>7Oab6*Ww1V74;Iod6?TZ!$@Js)qC{i?DVfF zC1iT12p9Vh54J#+vsZ(SaSxg+_2Mtxq==hIvbHkK1=Kl3#0-h_2yd7yw;8Et?mtr$ zG+fpAG`kH6-@1p3u$Cp#$fn`Tmb^VRdOyoU$$Lk~($y^KoNL74(X%)7 z$=rq`VBP5-u>MH?(Mzamc&ir7rPL#3v6ot{yJ&FnOvl zsJjpS7F5swyKxmvAcmr60AKiQ0CD|0?AOZ@`>6+hmVwd!E6P(0gxJ$G_?}Q!8YVQi zD!`gGoJ%%!arDu;#mD+zf6R#kH8TB9O8qhpoyxzc@^JN#xPzE3LIt?9I39p%#9(8@ z+#1DySLC@>2_tA6=n2Quo-ctz!msdLRi6seKHk56`)rEaDqPqKLgjw_5ED2i7HN%Q zr{lJ!ps(dJ;=Gv|1&3T;o8J88xck>p;M7&@+RYG0=N``O9?Fdm)$k8sO$k!RLD#-` zs{(ITjGC}p=cHy00y3{us|=-o> z1;@f|@vqME(PVw80?zJit1a|O&909D4zqTF!_IuiEY8U;k-%>Y#y0xQ}j<)22a)Y%kL+(Y57J2{c5MhbqrsJLqg>xPmhCcxB4|BKWa6w^8 z#rD&;5H74EU{YIfz7g1eE0mp;_n0YmCI?QX%53aM<-6QKKj*~b)WMO}_@A|UVp~4u zW)y>qaa5S`8*|89$Vqq(NvT{!? z(GAzPMtz6nM+qF!qS~i$i)ucjpg=2v%OSvbo`c{mL{Nh(YCBJyErtKYF^cFB_M)nH ze#p`xmeItO_M(Qy%!LRfb2U@!31wYvVE|AP$nn?3#Wz9tjL!}mJ3wjA`a_Pc%Wid@ z*fMBq0XIPBeA)z&RX=Gqu2sW#mZu7j*WI5+LvJf_4+46D_Y)RIz9-rq2wU;6c37jZN81J{e4z&*f@J`ca!v^ zt3Nr+v_AP|Wdpv6+B>-Gj*?*T`TMlq9_n)V>jxCiJ-f{SzxdvNoq0vcH!{Twcey41 zsnEtNEr-#*GlEiRl|cEVqCtJlW&j&K%X-79+WBhg7xrvcQT{MmqKS_rOk6#O4!DR$ z9?T&>{R3)wK2%w?l7R9yky!f{@jHflc1G>B|7r6CpUiDAvOGkXHRvBy&~sb zQH4zG1DoInY&DOzz}oX+v~Ufp+t@?p|L`7?p6j1}Xz43UNopns>6J00QjN+{)nVyC zWz^aZK)FC_N}{(Mh$1E(71n2;PJ`hf`z^-Bse>-~!9M%QDjF=$eZ!N)lE(9Nuw2iA zD$UD#mCri%k@RvOCP8+brxYkMo277=+UDqdbU0>5;$>sO!otQ{F1xwM1>DUx+ZTs? zjKe%gXk#=Lvi7Q0YRBUE@FQTNtP2sC=t@&M!nzAVemfxfJz+ z@*^s;?zV;%ZO5E=AW65xyJp#A?~k%1x%@!AtUqDrMWVGG!`70d3d*y*#b%;~se}W8 z(?@TCEt2HnDVTemzSvzBoISG(F!h&F_U4c}yAcV9Oc&~GDUZ9!%sZYgc?@79q8P>C{DS!|%fF3t0c? zmVImjoM;`C*CZd@ny;q(uDC%`iV3G^S7ue|VzSV#F?<{KG1iHU+a-k6s7h76Fgnqa zrlokQl6TLC0tf$uU@a)xa3y;Cc<(oFZGpFw@7sKiQZsFPqNfo*8*hb!&DAIqB!|rjB?9C zBZUZEVx#Np!?5x~`SLFPew(uI0Ife>`0ykJ9>%^>_{Z~g)M*I2X$!-W8@0Tt%n>c3B!R!9FYx^#TPy94r#S};Ek1^D{iF0i!e6QR-JJj{FJ`$!6pvmn!mfji3hGOJreMpPjV;AEz^eT8Sf{&i$;GrQG5T+Jsq)L(5##xA8 ziXn+j@N22KurR33ccepRGMkTNeW|soLeF>1f3YAn;L)BirrAxx5+nZQ_ktG*H=G-P zw7>|gU4Y^LV<{vgOe(nIzHm4-uh}TBWFQ(0LdEP3 zh7YmvxjPJM<23r&6rwJ+!=WUD|3}@7HCKGd5~8M(y*C}+$MC}Q!24Bs)ibPu6viF( zwtA*aC5<;&oH90=>*=F^EV@KV`r`a!?DJRD4l41`OhPQ>oy$t>ov7>V+_c2CHkaAa z3}jp5TAcyKKXgo)^Hj0N1mccHyO2DXMM?wzwTzVUt%%OQOVl!M|3kL9q{``wuN2~r zgEGqWD_aze7F}2QTh#8$6S(Ie=#KWDQLq$@;cgGCC1iiH@lOV6nI+uLETe5SU-Oe6 zJ-i1Cfi>B`yZo%qXa(;h9FE_yU_jn5X$5Jdb9;rS30m}6=XSzdscbj>{ujTIyhS5P z^Zw?Bhf+xe?(ClhLJ6ja7MgvIrBu>)!H6m|kTs7K-tH$6TQa*~W-pTca9Q!xq@H;@ zKlnNn2qOZ6k9Oh-r#w{3;MVYb*NDC6lz{gOyosy4I(MM~2;1%Zu$-l7v3D_7F0 zt}ca$;T`r}-cTBCC2U4|u%Tqr??o}#rXI66^fHSm%ljKw=q9A5_^FYELVPoMkLqlFZg9hyo30Yh)M7p80c2MXP(>rqvgJ$zR;^W*e?dn~Om2(C z3{X$YD}nWGr2-?W3f=lLz|uS{PO3c!GJ$$)b<-Su}XY6DOs1r z)<3koFm4Nl(8VHDd$GGjR`M`j^GJTxy9N^2`Z+k`|TkYov0hFAQ{B z`EOzVrudgg>F+n{kEVl($q9K~8hfFaG`tKV|h3feZ=pc}tF1rayC?SA{Gem99y*;<)FeI7UX z)xG%E5H)BlFRlL@iQ{UOcq^UF$DuB>TPaSJ&~Y;(&?uUVi(24OT=OX_8{b2o_P=EXB6GydC1>p^G_EX?LD*?QA)^Sa94#a zk>pEqtx%Sdn?^&qQ*-NZ6-683nWq2{GaW7l(2z8+w;}W0eYq#r;G3xW;#VmSASlDk z5wTGC{PfHA0qZx2BPI%dSzF8EFs3qtW|;duF!Sj1JBj|0d`3dCm{Ty(5SOIn^mgn% zK@e6hu5=@7#X`lRLic^KUo2=QUH}6oH)X+6MwF!9r(xn0GnTd3MoA*EWlRD;BMr2Y zkpZW`-M{|PvIwf6cE$4hx5h@5hbw(J(=kHPIsIgqRF=FwTAFfMW%TS+WEnfhv>QAU zAh!lTfl#A3t-{51`a&t)%b4rhMp&b^$dAhRVInafd{4f`YMYe{K7SbXcnd_4N@Mpx z41Y8A9HE#XSI0?nK|CI2AnfpDj$O95U6rNU3jPdlha;TFyu8msDtobqdb~AqzOjus zx^}qx)aiq-%~k>H-oDfW>L_IPMZ`cp`{tGET*x~iIAq9D)mBXb-RE4jivFYK_o)B}%{r5% z@x^zYmksWTb!LZZOP#f};9sPi59|%+dREipCCn?eyv8TOSRWZ7m>rPi_~qeu*d~iE zZHoTikqDzq1h2muuf8!cukChXG0c^^xpN`eR}d@>5BFNxvDM zYi$46;6^}V+Q8o{4AN^X#V%rV@60EEBWUKFkr z^Tr{RY_Fkx@IPo+;$I_ftTplDQA)Yne~F3=+MA|aPdx>AB9EM|UJ8&Z@D7P!{?DK(l6q%p zM0C-?)`;_=NWymLx43c1qblu(6U$)FCKv+sl1|Mm^djn4UOw|1(p7YK{*ca1H?spc zyWeWT72NmOpA;g>H4V8RblJMg_ziobek9K*+0giYhYl%eM&4EOMys;9yac)76!x3M z0Mke0%>om^14JJS+@d-T$WbPqX!(WgwGbb>m{pusQvx0wwAFsj>6_bk^|Ct<+N|3wJ}l`I&e+BzDh zr^rsHi4es#v~lR~e)fGVFl^h$vyJckqj5pn8ZVA@xk}A{a5$h2A9+h zltP3Fbr)i}lfw|*X*E5z*Ru4l9o&U?Az)82p>pLYt!m7(%eKa0*3n8ij2ug?e+pga`qG%fWGm zFTV|Y)t1{)Uf2lP>7QM?&U_D-%Z?$&5Q-KMj~lB9{m20Iy#S4?01!6@J_D6Qy&4`2 z6xbszUJe{;4b(Gmid=FcMThERLMPhd^xZ@4xgiIfV1iIPg(b}GDzuY6`gV+$pAm>U zCR&I)LD1o)WE-Ja>Q%U)c2yZ-ec{@$_sR>9h=WJK-4mCVW5@xJ@4Wprap0GEccrLU zq7+q@HW2A3$P<_J`N|OP?<$FfnpnY}|BSkQ6N0tevyT19&7mWicMA`v=qF(#3nM7}=tbscfi zn-Nh`E|oO@*gX|Euh+?sv7jX^4L1sr-zwBrj#w(%COX60D`EfAEg(lOAIERq*UDZU^ju`fpOgJDf zM!3S%)Os#STqN(+rMua$h@cu%5m}<1ELWZ4q$2mUvr!LE02}LwjWA4qe-&3Fo=z9z z>A~%$cAT!&k)DT-(y762)27qJWSEeITRXmlYUd{0(idD*NO~yZ#FOfFoEcA(g~YiB z7-y9{lxcqy8@!U|6$w(5CDNIGrh|tX`KL|d17mZnhS`Z(r)`-0!~QcO{vDG{Ym{Sv zh2|0ZDni*>IoSp*kb;}zoUcSF6cV|x3v9J92;3KzK%7Y{lsN}+zx!K?r6cp}t-PlH z_&d>vupDP56L7ca+RS zK&y&Lw8jFFl3_o^3vG|E$0R97Bq`)13Fi{1^NvEj3uR@jEb@mq7DD+aHc@OkrZW}< z?F*=z1qf6S0XF%hP@L&tOHbH)IBDoyz#)UsN%u4+TsmqTL=~4!$kPBdfB|7_?T-Bk zPdATAR_1}`aF&vGCg~7RBzLTb5!7QelyAJW%&`yxl$l9{lJUF@pf8fXWm11El@eaW zwo=A&69GWcqVzZbYMr&mmgS#XuI}VRV56vk3N+r)w)lU+oi_gpP)$XQarQV#kg;;5 z&_%XGTrw%Hawij-LlX3I%kig!|3q6I1-@!9J32TnBUrM`yFDzkB06axWJ3`~st2Te z&y5?;lvV?l#PgCLq4sslJ#)A=C9^&qsdJ(7b&A;z<)CVK5^zd|NoP9Q2}ZIespy?2 zCjdb>7C3cQ=49rec!?|R++Mbqq&bE;AnMn%GKigD_Ks#ysf2os`p=cgHtZ=(Gc?TB zR!j5dCG%#r{#M*LA;30`pXb1KD3}_GL|qnoe+#ZH3vC-EJsU5`waPZGO(MM+O^Y>t z^OC!+*#u?}r0cV|t&Ks|$FjM^Gc1-Pp?PsZxm5?pRn@QRL;pBY23C(6HPHn&(dRX> z|E?y#Q1<<%=-|=7wY?-L=xxe%UduXTe;fS(u=64fv0$n;=~Vem_LBSO2!y{(K<2p#Yn5U z>HSPXN;iTl`)zqmn_|y#1Q#A+M*wxU;7)(vsbLXb&TYPR2!BQ_lVJ;<3!Gzzm3#kI z>TzB82Y`nd(rDFYycp#HPglB~llD6&MZKQlcJ4QWjhd&}I3=rp@%s3Y9?*L+;2;Zj>fO?8Aa3v#{YePgMOEvcvB@m9T8jPD6th3^NFTK6{ZwfE%h>7E}v*tnrB z4iKf^Z;=zp6ZU;S+q)XE&^NqLI+yf?-*HUWEg6jcD2aY{v*^20_3I)*ypp*|yI};< zX0Ef^?1Q?n2C*1WTpG?R?&9(5V8w*@CY?!>cv2=zj%jU@ z0U9RCLhO5(Y>&swnDz}hClh!e&*>qHpf{G>=?*T#6pq6*+2isxg^oe>4K2eJx9g82 zM!d{Mz7Y=`Kh9$r6s=qv0oQgy8AktmL4*ZJ5~ksH7ZVB-Bsc(>SWiNcOFFhysev!} z;)IpQ!T?9e9S87}zj*Rf{8Q%)QEWWtC;+;cya*b;Fbl1rPhXVyFoLLVy)MPmXCCp4 zbas8{V(RQUt$xro0uGfc^-|9Y;JS{U=+cK^afpe8(InZAYQ@lmg!f~p(p+@gzYkDP zboQA_lyxzLRVbL-e-bf)r(3V%oX&=ug+0DOPJIoE7S){kRX=Cd9>%_|#@a3{|%#{U^I=jV(cngQYc>BR}GLV?LO4EQ5jpzU}3% zmJzJ<1eyE&)jpFgHJL0;L#`V%GPfH+0G%w(-VyMaYS}?`)kRB_JQA@DqvI^slf>G?V2gEg|0sDN_w9O1EZOvA!-tD1s?zw8WD^5F z`3ZV=-c{z_4Q4|T93s~oVI++#DMof+k)5pIZMW;lR@K4skd`P1^WMt2H`Y99i)a2e{Zed+Eymp5G-k$OWgJgv)uBMxW~9~ z_uL==561$Vb$EDHG4d@I*@Z&z%dWP6-l@T?wqO?7&hkYuIKqNo6dV>;xvj>U22zvb1E@)?i4gWs&tC zllY!i>Z*Qvt5pd&ueEI++GBTH3nzQ;pMI_XBBpsN#h8$ete;>$ekFcv5??fP|7^an zbFE>(@*Enq4mWPt>A)d*@1L8Pw2jCj56SVdJYXT&$~dcJ8HvK*8*hzBalbV|hWTHv z-G&8|j~Z??qHzhQ;Aa=Ht{3-6&Sw8x9wO~k|3+NBbiCXHPbgk6ZGe_wk(`q|N%>zr zLr84|h+p0RR(hJvebW9Xap?Wg+Mly;ucbo=nZFA^*|N6$NuKmwQTmwLV!y0zKH9s6 z<$bwXv2-<+L*Y4i_anqK5rIP?FkgP0b*?g6u1;W(v`*j)x8!iKNg(8nB|7x_Y__N# zdz~~V%G@sW?5A+i+<+TS{AHoU)K9&0Dp$vC;rwH-*AnNCe|U|F-n|3Ix{ulkA&(Og zL)cA%QA;No*@z>lJIj}l`Bpj+B_xpXO`tAq>JxbS`s3^0{f)oBkxr34m@1<96MI(b zD}FI~bH48SiOQg{r@!mZ7iX^e*S|7@SHdUYQdaL15=at)7VD(jfQe_Gm@Dr%EV&u< zGaRK90e_&4v&xjDpcg8}p)o)d7_3n)PFXq_hZJ!N67s;0#8E$vDu)Z>!-?-oeBFcIZ*L0ie0~_mYUVRHqNtYmFqpES) zA24FN(5B<;O7?gX!|e$x2ZhP3yK3uGn46Helew6dG(|QnzC=pRwJ+H&0C<;ao7eDe z)%&fx*e7810;GxfzK~E-#{moAEJ5r0(u*J-(AtiT7 z8EJ5RM3iQsAR;{CF&p)D4AZSm9%EM(HoouX4$WiYxej=v7qqGxFjsRD!w8?*1ul!V zAG9EeywbTrl+wgoBbsgogrptBl?8#d4uz#T(uT@WTAj|ygDB812zRtQkITrt{%f|` zK#%xjh4Btw=6ni}{#-8{B(eL;qC`7Df6GMfp?GVAm-+I$sKCgZhdWiJskJ+gYgTpn z4zBmwcj>Y)u=gpdm6;FdPt-~UgKp>Q*(|#s@f1x||IGOLK^FcaCo)XJsQoOAme;+t%Sg3@9maq20 zMYv$*aao+#*8}73qE|BEIKPJ^>v~f^bg!=_vwg3>K4hD6^o-(byLOt0{oJo8^-SvB z@@|X#N#Ml*mzuaydJLG((OIwH0l(QZ)_DH?!t~jK8Cp3%cgSIz%4V`M!-pNpA@@<; zbqCv_t^JBz)&;aG%1HY8 z63dLQpRTztU=j{sqE4@p*PLl2Yq2K|N^GmA&GQ4hAdh=QQYbK4rEKH_p#btOrUSR> ze1xZ9;0Vdava(+$Ic^KhKA@OLU_Dw&FafsSlZ9u4y~mZNN3 zQ>4UH3f}Z#pBliK+TD!G)w(~tzGTf0zW=Z#z?fYfbfR%L<0%yzuRHb$&t6`2vIXh@th18D#W6J%-rtVZe#s_NaGqYJ(=>iJ zU^<)=o)I=2hS45~Mn^7ID`%r4NH|}B`Bi9dd?n}YHOA=D+Br13^NOT46yv|ZdZgpBMUI*ybZPj`%K=oxz zk(60DjGA4I!aKgN$8Nu^PXqyM%9_1k%4$jq=B2}IBeeWeg~6yf1(}NoGQ4b^PC-dV zv2(?FqmE7q>`a-;e$%TotKcj>Lttgi!dw`ar8f52B!s5DPy54<%3wzqztT?eVz(#DIDO`-weONObYfJIM2SFq9;Q^WEoq&@ky#aCqmnjUkZ#dXkwVWHc!DVU zz5e5kBpDO2dtcAk*cMI*v%4ky-6tDG)S+ZuQeznx&ihyC5`- ztOsfDsrf~cIa;;}Sz2>2+~C;+j;BUF8$J@Tx0L;))L_Iky5#z{?s~gcVLFM8zH%M* zBsytU=f)rU)_>S6i11MrCpmks&7N8u&TbS&+I8Oi=AjEg&v?Jy?V6nr)WZ?k=CyLq zvEAu@1CIS1QAGEJY`7rRRT{J9tQhIheh=%M3M-4Br;^X;ofh>~qTg5Df>zT#H0SfT z`gF~S=mnA-Zdm>}q|bh`yR}~Q-7TlWRoY{~yoqBF0JI?9>E2__X`{N!5-{6zxfWN&BX0?B9=iV2!2AWQF^v4sWY-6PU zY%S^e54;>bhPnfA*&7^jtv@VKzlsN7!9O>FD%1|*Q%HIk0U{a@;Zdp|?1IBk1X+VD z;j+vEo-Fwkrss73PPYOaF4Bm!3*J_7ZJFjBR~%aW(t0BR+QCPntN^gN5ILL_i6KKh zS}KV=DC18+16s=%K_OJSP(~Z#i49*_H2ssh9a0tN77D)Hl6#V?e3)<#L5^Her-xk| z&IlBtwP7X2brrY$kQYF6b9)sqhK4p$i>6>9h7LKcf0KhvAHR4g-ccvq@vu7{EKUk- zB1^9!zsA!b<<>uRQ=N8;xA#)5^bYg&JVxQoocXn5@5fz*k)bh>NYuqwnTzlics?ns z6vH{9_XfpQ=bc;8{_Qb^_mjiehbpPPzr8w#;vw*AR`hPzPPm*Ln=Jj2dGSHa!p?a0fmANSjINlLAOL0zfNNs>F2} zlt(U%MLcEib|%G|o{C_~6jjt8i4jyKxk}_T!>f7XO92gN+fHp4#FMLVaoiIW5MS&6 zmM#?7=TjV}0$X)e{I^vcaxLd8DXo!@x8xf&8B8@u9cVv!KaU?Mksa|4l8<+O`u96< z!zC+6gQleJXrh~m0MR_+cjxyU95SI9b$O&Ju2X3{r|h92pW`_Sl^pS2C!vgxkB5RN z#O0vw!%rfH%Op$o(s+eRNf!{Km*b?VLK*HZI2j1>)8p#j^u67t*L{ zwWK|;ZXP+3TdZdMsUe?gsD_$Zy+oCZdVZcl2IfOex!RhSyshm>{rb57`e+d;`EfC< znMv)i6mzMj+G_jZ_1+uPpbz`1WE|yOwGk>W`p3GYpFR{F0pICZ}xO=3saI|ST4r`9@u^s#axK~rOVPj7O+UY*u- z#OZ@tRd&DsUN=rJ{TXnuS>8_|cuUGiBD`P+CW1Zr|cw1#%HUM4>X=MTE z9Xi@da?bK&DB7QGUuzAzj9HyN`*uB*ON#zIK5pfNz{#Rp!~s4$7)_$dhXzQ@wZ*&# z5oFIQ`_M!@&%Q_WE)S|-?xBbs07_{j1V~_Ip-`O;BQ~EQan+tB?e$NcA+7juaLV%g zgEo0b=(bAyZ5;UOScYO5n0+|w&#GnmNIctSma}4vOzByDy3Upn{$!2iG`eiAhS7fw z+#?$-GIZWzFxK5mOyT;*mpUN=&%%`uuV{^$;o)JfM*mnBZz499d|w#FX~tn9mz&T) z;D*sa7!Q5L-0o*Y%{dQ_cru}-*ldu3f?@9EywVFjw=;u8T4Q;Cqf7R9avVrg zM9;Zl#fZZoZC_DXK)=px<;j05O*o*Gj8G$)DHT~Q(_9^xFsfu`CttwoxgwgkB3SiP zcLrB;7ff3BR!8?%3eT47*^!(=2qv6KOSfsBzG+3qOuCN&hSo3{hEc(+04(8L?Z#c2 zrroadFV5B~eN2MCEt5}&5tLPQTRnqAYeO&0(j)Z>BTeHIOiC(ZxMHA#AI*j~%>KEo zH@1FoSJGEwMlz#AX|yQyWIpt|K?e8OCu!W^Jxo8;RPBu4_{;vuYS% z-2fN93fmFc+?6igyEI(-&vg0HXuAR~a0RRnZJb<|P3l{Gda>C~8&7EAd?B;^%4{jb z_sPq9?UO)XlaXcI6`jraV%*=AgV`DH_lpug_FGs_$Ej};Z_84DJfmqynG zF)%c6p=mX5Zq)&`I{j#o&#?7Mz$(st4mrFvv0z1HH>;i(dfTWNT)h0pN76uGo-2li zdeVxf#{!lMqIK8?%R(NZr0A6`w`k)bLRKZ+)=ZPuzhQC^0tJYQxGippnw)78-x1^o za~N3NELfX+l03==L1ZE9a2pD@Z2IB$8@~IAuM_1qnGE+;5TL(is zfP*j}_qN!g8QD*p2Wupcjv|D63|a3CiO`WyT%Tf_WW-cKjwfs^T4rDy3l{y$zXq4 z#0EjI!{V&nde+4M9h6aToe9_*$dEAl1D~G{`q1sE`X2gK?)cx|dG!yhVvHffg$6Ai z1~2M9|7ZAU(N;v%hFupAi=nvjk#Q)yw2M5qGVhsrZD-pAK#kMFId-9DfNgx{iw)-e z04n363~PWsjvoz3;Cs%6j%}1ijfNd)3oT!tA8Cd-%4dt1!Kt*0VL>vE^#w1;5039~ z+W&<)@nOSD=l}sBr*dV}3X78vH>VkHBDbn8od6-Qol2Ce1t5fTuBUs^(DNwM_oPbH#?C6r^&gNY zdTOJ2l(2bHc<@3BilH|F#+8rWYPmef+q?jY>7`+w3mr|#obD=p?qGGjc;GtvFia19 zwxD&gNO#tuHe%kobJHx2(L)13$CP?Fp9i_oC;7pX1Ht909fg z;Nky8y1iXAUGlYQwQ%l^d)S0>Xg)X}pFI1ZeBNzv9uGPCw29$|+x>Vqm%e!R3;9w^ z^;rx}{7GKupQQ7@7B5d4&!vdg{t;o=zq-U;VLHh#==5J+8?eMlzpYcfkZA9Tc4#Ax zzOdae+tfdeVwSV`>Ch4bA-e^*p1V^lElnFZ9#VEOREV$R#)vza#%SWt0^!EbztXi$ z-?}-!emAp*`FPcN!9)z4?Ru~+AKZOrh&o&ffqhAo!H9>yWq%s>$5x2Z{To;E1q;R3 z4dnx5-#8Zxb0dzIA<}IYY+K;AT$bSc&UpBU|Cu|jl_LB5ElcO`KEYn%cfD3)-mW-l zHMM^~*NstdR*(@i{*w8PC;98DgHaWWHy|7CZHH_3f-716Kx>*jP4+6nE9gmohZqSH zK|VpN!(n^g$}fLBv2uLh4tAM{C1WXcwJw5xZRct2~6GkRvpd` zM6s0o@?m>L(|EPVnUlxfiaP*ZZpH@=|60ccJC0CY^Te%u(bK$V){+sI6<^R9&p3NsUXkuLvf{v$LSg>8w*6QTg? z&U`&;y(^ZxoGrg#n*Piw_y4v<2Nr)8Zq*EU^Lkc6c)2MCUC$+2pBf$!P(XHZ8qRdR zAo^%--ej=qTg`8)_g@|jIK>H~L1~+T^|K&OBW^=9{=-PnPUTSUZV;)!MNP*y$=;<( zAL5=tPqS4 z9utZQ1D{B#$o55$Anb7$3{ePbPCCZgQMF=iHdq+ZlQ2>qPxi4?&S$x##hx4=GVfb9 zGqHGae#{khrW>vC;(AsX5dtRT_2$-=hbOUW#-+>7RB9E0IRKVDSrEx&_GtQ8L`4iW zpBpMQwqH4td#Y5k?kD@iJ2%tK1U^H%sZJlVt&eqnf}4<#8}QFM?+fipGzHr~k{c_G zN@C8WgLK(wx}i1Am=UG?JD0Gqf~7EWfz_?GS=YnTVMjk7t)9k9PB%5Y`{}A8h#uED z;{`T0Y4v303}O{9X|$T(o-j@=pP4MmdL+Q?c5+g0-0SQ5{^;~a+~9 zs*IEDIxe?ljPhq_)e;YzZc@rC;wCHvu{Ea9piCmhz{?C*bb1CUfH{Jq@d z)XD=>m+}1rt($$0;z~_P39fhtBhboi1KZ58!hPcus6aN$!vvmcR5S?}qrXs54lEdl zY5XF$>MWP4rBbiAUMo1U{U_9>Ng7D&zZOZ&KyHf;r+*XJ%7LP(E>MMCPHGETEm@!OHo^qQUQ`TWvD>=a0w0C zie!9K4vJ>0V$ldQszQJu$ZC{pY$pG7e+2EA&oG8qY55}Zy?$V|un)iK_*@gN@Aux4 z)=bwZpIyFZ9AlNDTvV&R+lxqwOl~lwM#w!ij_!_26u14i9MY?&yrIxEmG~zMp4*bl zNmr@=?T`bfaUM;h&!pC=r1otcqB>CJnYpU8Lgl67N2J_FbPxo8aX@+9`#Y&yf10H5 zr;p8pfvWcJb$`#}I)ui#lX_W$XiW4gjUbL@by4QaeV}hFRSaX|0RsM0Cp>vtMFOQRfp}pS zaH9VE9(HwOZkytsiC?nvz!tO=HS~wqKmHMxB_ydS3>C=^P*mDbM=_L?N^OB6^fV){ z9uzyFuKG2Ggk&F+GF=99;MOIS!G}*cIa*&;q6#cGt0KN1wI1AP2A=1Cuj`ilYWfgvX%Lu z8Cy_<_oQIZ7K8#0dAI4u=R{VZlOdx`(pOykz#jsD6E&*1ofB`jXxtzmCyS?r-4xG<82l z2$u){wYFJ9#u9`+VN*~0Vj3WQ-q%d_?VgU$ymF&{@?0rZH%)|56%~kUp}5a~hd6zM zHF`n4)BIP=K-B}gJ(GC$*;UYdZ4_(NWp<6OshE1XIzf$* z6GSdEP0*knRcB_Fg7hQ|zkTryB}-JaYD_<=N}z_{pYxiPs>y8hc+^KPlgM1pEI<`D zu;ZcmPG?f#GyZJ#*-RQ>lJ*Uu`T9 zgz&ggO7Om=M(u(9^!MO<>L;?+oX^nxvP{Xsiv9pI)%dHd#pohp*NwpKIUxSLj6GJA5q)T-A+>-g0f;u#{McjEEA^WM{-@9U!_O#WI z@dNHNO~uLRHQy7K6RN{Dhz5_YDOKfLCVEKmQ-Nq*f$S?ULE6zv73$K5eatkoPBib9 zN@OFMa#i=IVru6XxnM1OD&livB97fh2Pa|6q_*R`?mw8=rU}kQVzO>EoAN`yPo*v> z(Q2dByriI36ei+Nb|kg zxpo&O5v(*k;1SHSv`%*yb#_wj;jCwge(T7JO|Uln!K7DwQu`tg5@+J?9_i1RjQ&Nr z@-T)$%xQ7Kniuq0vPgSx!G6ts>$ef(f8Pga0I_h6$95rgj-UP4DUl!=Y2G=G=fJ4z~Dx?=+;lDV4Q>GYh zZW9DS^B?40PSwSn4&sdJDgrqoenV2Vk*53 zyS5wd7%sJ~3+v~PXaDubiLr`LNWTw^TD9ilLtQ$Ci!Gy$QyAtauPcKEwLx@M&H}07 z3_YdH&-qw{O2uVtsWhh^Tb7E{I7{pHk&SLjIq;Cd9r-FKWY}5Akm1*q)ln!l#am!D zAFQa^{VranizvRHg;M$B84i@1U<_C>9mFO@?BiHM3y8Q!a1)5i*L!nu_K(|D8 zpHO3?Lw19H@n}Z4w7ys4DocAH4sf1Z*aW(0O!1jD-#27u0jr?7kb})Oa#H1Uej|p zTHk`;YnFg<7?9gDkMFGJx;8ChWj!gVnuY zp6z+{-W{3GF6;!rX8*tUQTq0oba7}7);@4(-}I2y%#dDC|7UX~76i2lvqWo^P`Q^F zaAcNIGrK?gm`8O6vmSO27a{|55_}yj=r}<%n*>_LgV6)H`{8Hb?aees;|gR|ctDje z66=_Wg-;V0RQkY~RO&942^9x#lXYKsc*OP}BwS6zc9uuf93+f$Jy?%QH%Wnz;ns-j7MuvHBEoRex?@`9=Ahkp$+7;glY{-gP7Xq% zhnpqa8T^!EtSbF!JE_8IQy zr$|?X+Kb#9Z?2xJq@lz8X~gau$=rOFE%xZ=h&m?+jK&{msa+zpHaE){zqnA$RacLYJFK4?Pa{Qf{B}<;L-P8Xb)!C--gKDE@xc2(Kzy zirc93m;Q)@(EJsz()-*+l9P)`UTz$CMG3l=CpDOu!%K)gkoM_p|Gq2rphEK0 zOtdp=bU!^?bgSys<_r!x-BeYfAgY9Rb^WQNk@929<&AtOd3!Ud!T3dz_mcB)u2U^X z@Jn6>LyU>pXC@CG{Rz1e48w6b^G4{rtNT5612J9}&Uzyq$FQd45+nx=<;P{Deem=^ z{8I~3-e{2Pf1I4B)N}+KE(=DAW0+vB84DxBDW3T6cI+I?wnc1Bg3wa+uz!L}4BYrQ z5Sg*X;UE~AM!u6hq=rT&BT{(wbH%$b`?NlBCBymN32DPA+QXg#8Z7-Kiw+8BS|&l- zY!!W(SZ4wslvNQYm=h<&tWFMgC1A*$m1{7p3azJ{Y(E>8-577uU60W_gHe)mJaG_A zHNLxvAF>SnH@!v&M-WX-wRG5y2(MT@FkkAa1&+LJtsfImYTxvfua{?~)4@1RW$!N2 zyL6$4=~-*W_BBeWX0p zM|DG;WY|$7;r-(x8-5yHF-PnVAu+SwH}r!xy~AOnDSu9S|I|ynA@3)INX=;NT!0-^ zlzi$ce3%dWnW-}I-#N)#>drW&AOC|TVq(SR4N>i(5H9Mny7S4_ihDob`$^6dxL6+J zho@BkUY$&-vk;RW&!}De3z~tkIGoPXe*RsJ&Y`X*un5}Jo$Xq`c&|l~>s}v1VGMZ3xq3+-?@f!H2#|5DtqqnJiHzG&yhwSE?i3cVA$ z^V;@k^7osYn_J+cM~+`tM|$X>5)==yMMOKyZRrk4$G_fNePU;YpE-|VXds1JCZ;i2 zYs%}<1(=?g-BkGH9fFb%HeGQ+}yE1bNy zm8CO?{(ZirN##=D)f097O+ZVtju-b917qYSkumWk^DZ znu0qwe9QvCQD*+gWV(md7L7nxr`&ki9O_Duz#5Tu%U}QXYlwcY4mpr}R{Q@txu+ks z;LxbPLU(@m@x`9?rrev;AF!9Q(L$5gg&B^9oS)M*l#1=q8lahC)z318CTf2v z9+|#$P(;Z8o0Sq zu6tJ|E#6#@ow@3QF$0xm5&<7<0H@t>)hd5BE@snKYK!-x_%XeVlyw3-O&{!~1jG1- z8=JqW_k8@axJIetHiHI@w%%5%yDa;*Z!Pw3vZJl52=U}l6q znncoLq7NGW(Bqtpox=#*%7cI}ZGlnB_paZ*m^FQluTbKek_%;@4;s}V!6sHJ14}E% z+=MZ8=5S#Y4{3dfH`yH(tMIOlkF5^zFz2Mt`DDR77gtcV=kFIWkI>|1)8T`GCgyQe z9j~Ip`Z#=mJ>devGDqqY)1PeZLMKw=l*B*hncb?(^gfsU94!SMH(0`@IC;U485F&< z9~Lr*aYgM2SyqyJ&sDtNpw4ZY&3XPYeDM4&_`gT^P8r$ z17jTa%TxPL7nyKCUSs!;%R@hAxLE{PcCo`B(N@umxhLj5AAXa8dA}WpIn1J` zR@EVZkc5k20~n>g1r0^Tyk<*La41ND5>Vdk42f|{dIytDqZNhGRQ+q^812OK_kbwd zKT$ky!&CF&fY2DHKK~E>%XK_puJ)qYkFKpu37EBZ4kC!U{uwCyn$qW6w&NMpd4Y5k zfAeG23b#YgSh^}225^HR@|7yL(S ztvaxm8kpF-bsj{1Z%#01S?gJ}&J*=i>@{KVhgOh0I`pIKJ#`+43^IIJ=ZQ#LsBKf| zlSO+3S(y0efP#-f@K)ftf<7HSOd2n(+7`S?{ygTFOl>p3Gp*?y7_!myoO%X$c&dBi z4mD%J*jc}*QP92=_R+lXzG{1FbPl6E2TUlU!KUPvJkUUl41zhDS_mmb@aZ0b@(PDj z=E5iyWBh&tA~`Xf?J<*|!#}|8@doR&X)sAy2j82EkRa{6bk~&*hL9jowy@Rf*P5>v zM3r-q)L4%j%w*blP!I7*l+JYBCB05`e-bjHL%y2or5r74K>dbwH6D zqRH%}LS=x25)_o)Bi!QxLsEDf!{M~UF`TSQ<`*$(b1`X=`f3)ImM!|979*ZgM26}D z0GgZz6RF^V>~x8Xy$~Edcb8cpYxy0Q${H_M9;iMV#n~1=JOa?-;w^1ridlmw5287+ z328u#)@DLIMWU;9j4d_>f{y`*Co%y^;|j>ivH)I1+krSV`~4)9&tYRr!4vIC9~6-a zig9x`$&fABbg2i&G#UM--`W9!=MZ5_o_^8%6f_LQjQYFSz{EP@3q4Xybfd-dQq&3Q zlm|Wm#7%EyY-;$>%hXsbt%r%h1MZ+jS91i7sY$DAD1SSocqKsy%u z;XqX(*f~mFu;_J`Axrin7*z9=0$6b84vFGDLksp#zJUUpBBp)@ZxY zba~qtOB*O0A4NL?C55sIc)+(Q6RdQfjE>}9+GJ{bCVEoDW+>Tid<-y0$Fl!a3D(WB z49Q~no>ckMt#mHS(k#wTD7z-l%4HL*zj>!eL3_38h3{Cl?_u^s%6L+9$qH~qV4ft{ z!U`y&A$}?TIvK7P{v@SFDss^+z6ikP68lo?%K>vjl_+AHh+me4) zETTjeN`<6^`~gNipIG4_?+*)YW77kqLS1xU9(myYQsl9Z#w^$n^UUnZwE-u>OL(? z5y@&enmjop-P3m9OhL75Ylbog_Ez_ab5#o0(~8x+iX5d=&*|-|X^r`s4HIY?mKuz@s^d%1Z9aRPvA)mrmC5e#B3FQXxnA5Wa zB;Y8@*bDoss|!(u#U4+j@RYB{Uxc~AT)k2#s#0iEYic?}o0p2}E{opl*z%hf-)5|A z&X0YZ@J2>4-)rEFy$h{uxqhYsIi9SbF76|`EQ$wkHqT4mfV_j&$s+uGHI_ZdKGQ$ zni$(ftjcdFTl6c*!Tl8G!0-u33K~lNEZs$_Aq5H3B-9#W8`$49aEj*Y>KC*Fkoyxp zQrK$Ayw=dM_+791#2N_P1bW{qI^QFO=@f9jtmA!Jq^j4TRxgZ1#n(INpF_Mpq95+#GT6CCYc zH34~AFhNomltJlg%3d-sF0|X?4fu^#1YJ^FxeGXRwM?l-jfn zB^H@pv@uP0v48E#2q_{42W2j(cq=M>((8}^^0u|JJM=&X9A4=OK`r0tIo^Z9-;j~o zKvd7bDfoe7?~a2n6#Dqyd~EOU2{3aa6}aZbBqf2xuA0S;yuOOybr(k2)rf0<_nQhb zn1hp#&yntk=U6SefeTRL$onAr;2rA0ZP|W-)nVbUZv`8=4-}9Ps-6a+fv-$3H_QNu zt0_)G9;EghJnKlo!fSAp=LS^GM8Do<0{CyiV9jEolPLL557=TpOjZw+Kbb>mGvqu@ zs7L3>jpfLU0nok@r_i>if9fX+Vwx_Zm@qQaf^P+syV;k9L)e zN*Z}{1`flKDG?}=@DvJNcoj?s)iZdCRPXOMa54O-=47wlWO?^QCr2ulkB8ieCxfzU z%r>7uP>RX+sisV*Hem%?Ji1P6`%J3F-&~EmcUAC-Jn$L~Zx8K`e>c%R8SC*{HL#YO zH8p>b)0zP=;)%_ zM%fTDcU*}r+VdxCf;%x4$HY0T zjlJ>!TiOqa9nRkO0)J#GKeU;1vxfalnrq38m$24)+NilqqJMAxN9N5aejSKj9i>TxFLsTB`wGvzdo{aS6rU7uU>dbk zGvHX9L=mAd_}#m2ixpL~bDo6oREsX?lTFH>*OzkLp$uClMaWy@|E(%f!w}9`M%J>|7G>St>wY zChV<#67jAHsVlMcn~MnhFj(DpzKT)bTy3V9I2|9J{r4fYX#Q#Ye9W)@B_qK<71OJ} zR!>tW#}SlUYoy)Ra8en}qK>Qs7%cumQ6ly6@7>O7+~}g%M%6^`E6m1>Cp6cdoWu;} zlvZWMhb(bpjMMRjD|PI48AHj)5XuiAlhtwWL}}aT_@X{m&aD~Mt-0j+>s|A}G>}uY zW}muzt=@_@Y~j@!6{(0M{Cpvaur0+6uOvV^a8#ey*5hkOo3T49J{vvAq8>evEv~+h zX!nvx$~+bCZs`v}>T_Mkk%;ke4$eI56%19)-Y@pI4#r#aYo)B~^C#8ZFE*i{iuQqN za_erm?}KfjlrNllYcU_LM9?l;Gw4 zq)27;b<%jmy+X2E-}03U&n9cW>vz9eAJ%*~5Azi)+JR0;PkR0bssC^JjS2kWI@KrS z=VU+lkt!9*y}iSIW>?*i>luCi-7NMtkE2Ga_)C?9$Te9+&zZg!yP?6U4A9LUcPyJV!R$=d~#O&xh8q$FY(<; z_wxoYdq6_o?&VsYhr&BbG32B%NG|NjTaQ!Ntvw~xJqwBNPDz{3o_%M%twevkgqixz zb#3yRB$BLPKRNYy`ySQx7u&n?7(Amuv8 zp=|ZbCv=GB>#6aF=5b}T+;W{wf!&IWqPn`8v=bbLTaIqL3wmf z`}zPd6I={6N~%*KS&TVN2-{joY&WvoZ6aQ4L3p)NWc>)cdYRYhYF(Ba1wpyeu2TZj zXb72v67kAEeU2BvsYTQLkCQXSC0WUNS=3mIYbVbe?)i&YRN23KvNs!@0IRd8mi1JA zlC&&smrKZZ71D`9vL-OvO7rd-(uvyEP)N@#zC{u&SwpLTV!<%7SUO>C`)Pmm=$Ev7 zWs0Z%d+{J{OnueN&mnk;YK8#U%rDP*q-TA~GN5s%NVy2(ft^1me)}ZBqqf~pV4JdG{BRPWAi$mW-%baR~X?j@J)>ZL=i=&TTxTatjk)G z5Nm7Fx7+?E_q7&N!)Qbbo4x%^nKE7dm&E$csdfVz)&xMTtEUl#P$lD}C#Zl{L`PLd zkbJ1p3!Vv|?#ukIVz*J!KTdi9h`^~n6j3%Ng!s=Sl}fm45SK_Xp)yX%E%SJg*~%*1 zC2cDpubh?H2EAu&*u&Q_*wnvLHblKk80ze~xHK5%+f^hEck=l$@=?VGyPyI6c*b-d zkl|h0TW7mXhNGjLuXUT=i1c8H&OW)NfFr%hmC1QI6brM{E+hAf zy_N>|u7$d|;jPKJ4vQ39(+qt2=$jNVAAH~NH=4Rq3f9qCfq3d#k4#D4nyO!2Ln2{G zW)axtU$f-FtFn5gY&AipktlsReu#wrw~ZHf!K`wSdjp3PQbVhOi!8x5yG%MyJ{cvO zyZM)~(q^;_rYjG?y=xofm(eVQuaS>t%BYJ`R zrtZ9gu2=`NyvL0_VUlplGRuG7mIQ0^q(Gs_jwPaAKGy^OS~@!^Z9A( znXwUuM?Evp*v9F*;b;Ya7}@S&`i!6cb;ae7!3Vc~s}#TBrq_MX9>jSo5}w{AGcL!j zSehyoYxijCerJhVA-8@mRh>aEb(}e8LwlNaFitTOb*wp*xpW;&CB};RWY!mz2C5F} zxsiEqiU&fs#6zWp44-ske%)E5=Es<7N>0r}R6X>(6TU!|PO+sS`8167_SVnE3r@3J zKl3yniRxW5RQa7Bmt_3Bl{bQ)lP=m`cAJsVIsV0j4&5;bqngr-U@qoSSo>Zd+1q5m zO_ES1hLmUK;NkQ@%?_8?M6VJp`UG_2kdzQZx5l!gjFT2esG78hhAq>bCovjD zC4R{3JFCm(y=rmfAI1O=_(uVX2z@?o`5ju=!EGeh2h{cpftk?N$ zlNr^wrUP^J%w&=Rk>PiHUgzqur$}>>78l5bzt=mI$eR1R%(gK!%U9iy^|O$3@2k>; z(tbwF-^b`X`O^?=#35VVnFp1=`HI9EEzJeYpz+~z$L<`+Ju?C_#3W5Ox60P@gD=t zXdRBzCPgwd7dwv)@DlT$+2=>V^kI08J+SXX+=IEK#KDFrW{RRfr8k{;YnJlFY~=ln zkj17=R7;vR7#?VY*$*kluQ(f)N4d?7^Ub&U*>~g@R`U9-c;vf1jlI1;b*~d15fMcn zLkrmX3L{`OCNS}@zm%Og6&g&tX;6Z1vOnFs(Zw&v>26N?_1W;&3jK4|mZMtN?_g{> zR{2m41{N2_&AacYFBqLH*Ze+y{8oM!Y!cEB!>umL8jor*Dyo(4FIATWNA!)mH0!ps zmr^)WOIlG`lfzV&nBc@JF^`)UE+-DG<;jV0+bW@Z$74E!vTHfw#_eneCeDY|p1B@?;pqVSp_);Q zeU!5%?SDv_%y5LuCMA_Bv#Ze2YN2+`Wm)4bU*^?&P;r%9W~o#32YQn!=H-NQ2XX$d1$(?D63#wadHoDim!7Ix25qSoY76C zoX!2RGyjeT@HeB{TEU3_Rtqhp*s?@=ZI%AM-!#=0QBBC0Cr~=98+8BRtJKeWf$l%O zZhOUxY%3Yu(h&l19h524L)O#(N}OE&ed>=ZLa9+kDtGYF+b!|9wdquoixKt;Q-dD) zjYt^2U)kRg{Iyy+;?%`*Wv-?C#3;6By)-e(v2oBoH&4PJ83lk_)NW8s#vJc+>af{f z({AUj@j4bz>$owYUOV$&G%V^l2)6<3&P7lfGlB*|x<=!PwOiD8PBtpe{*aJ)nYee< zLAWFPYyq+E@q*ME$UhEp#e=-R@dRKf!7F!0mmm&;R8|A@TDPe1mxalI=$OCW*by`mxo!vNqi$3?xYuf-AVbfLh?(I$K zZdy|^3+yew$O;MYYtk|qNo4U6Shm3cY>f%W$ElcO!uhIH5B0FIHof_;i|6TEGritC ziFh{>%<_vq{Q{|+)P5T^*30myJ=D1~?(c2#nJkHE>CpkG6FSC(0QI|zKH8}eGm&e` zh!R6{v+B};OGT2MZlar@7Ce#4r-Xb+>)GEnzKpV_0G0(WVdgIG_Jo{2k;3EHz7hj= zqT8q5If5GaqE``%-I>c$Fk!Z9zhOrq<%%TZQIT-LpcxdaZ)M2c9gsVD)bC#)1n!Rz zIPFP)-L{hWZof~8P7~pr!TtQ5k_DWdE(0Zh2p5e;1&P7LT>tLMvdHFNerYt<9O{}C<$MfAdT7mtAdLwOhMOAbGA*K$2aVI{ zkVJpIp1Nj`OSlo9nUe1%`9*}}=7`6tjsas|*w22|XQ~EWjV6drq3X)3xnbWyHD#Y6 z3R}Qmv+dEm?yak9ar!N(>BW4yU^^rzQ!{QzI@u+(*)?PD9JtjIZzR;vCuQ}>7 zKUSVGVATa;YzI;3MYwsTJSx<3${k9Ltmwq(w3`Fgx)JvV@?PYP-=}(8)G^qg|HgSv z=de%ayPYai{}`UpAU0J4j0Pct4Jo#uJ6PDGu1QsdR4bw*g|R#|qnO+T@SG_+(-qBD z>CH;Ix%jug50T!_NMEEhX>2NgUaA&tKk7c97S9i`fU$0!lM@1DMD(hL;ih56rQzWp ztS~-8%tFo8@cmrq)Z!}J5UwLv*66v4e1yPIWRocS{Ow^z=t!s`vK<5_By*tA7JzY^ zOWC8$iB$Ee0;MrYfc0zA)X%#)lV-io3ymXo@IjvZ=2ugvP`QshJwLmWDWqte{3s@6 zbxH=I9`xlluazP$fX`w^#K8|et6X2cen9M*fVfOPbs1R-7_38Cfm~n*Jf*rjV3uL< zA)|%SLVI9dhh|L&d2g8WOkd&0)Cu&?Fz1I{6H_1#N)~8Jkvts&YZpO`?C9&!M`rE?61b+ zTwOfkCVbJ9pLnoP1U?~Z!gesKN;#5m&XhCET$5?^95>hVZtUi_mnzgBREe-OAr?gJdp^-o9oH)?tw&|xKbzDRJ!?Cg z7$e>2=EY~?a9SP<^9y-%sc4t@8ZmgzY-SX@)>7(wTe>}&^u5`q-F>m*@R{a_VP!tC zQ;-fl=L|HmonJ7^#iB^i(m_!1>}Xjpa4Ay|F5|&C!miMTiWsPh)Lp`+)R`KF*ddcw zyoYSXqQ%q2Z6)6s*|9Gv%EDzZ*z^G^UJRg@n+Y`mm~DWUuzW5p%a%GT@1j|{CcCGq zwwXhHrD)( zz16dyt5wu%-bog(qAfe+%$Nuu@l68p++->{bFI1jUTVvl*{ann*X$`2&S3(`#6@M= z)23+M-4=J)DYx1+TAvX#c^GI|It`{BUH#Ow{zZKCD{SqX>#FtH>{@bM2^x^0zzUmy z=2bR+8aZmMIUM^gykRmhSkNZb#{L*-91d<=Eo`*zZG7sUBQA^q>$h$9d?A( zo0AzUhP=OL5xOx4B)~2}R6Q7kn<~&2nt>X`#mk0j0n5Jx#N7;hr9TdB`)5(Axp zk9xS#RgO9*XwU!fIGW?lVXdJN*G?SkCm!Z)UZHJEIcMgNv*a-YI6;7UdR1Fh?`O30 za@O{B`R(ZL?SE8u6lfSx;^PO&U@!u9pMm-QCC+(fZR@;b-!&h0%@`8J zWoh8r`+qpI$e^RynD@=Hx1F_}pQ%TtDPq|}^BIjz3=i%fUSX9(z@E&`cPpIlKVX-= zh)5-A!D+X(u#KNlSVEDx6agxeyBARJ>eb`w-O8CE1q9s!f}T6EDBqC)T%KveI7dgq ziuXCr-S^(#CI%Hl?#0-XqrjzU#mWSz=*4y{&3#7sgYY_M`WD#;i37`ZmkM8sxPt>4 zglF6oCjNNcToX(i2l=gj&6NxrSr<7U=#j_0pC)uDDd#z)=_zmlK`tFuIqfYmVI}?e zO1O_uLe9#@?hH2pflY8xN{JR(LRF8PT9cQ){E>~;(Tb*Lmi8B4#xD?NtnkGx4yi9q zPrQdMzO~XIeGZde(w>qyu}#>wwrUI@ek|A_V9=C=1=XWUkpaDH-Ha&9!>=wUY*zd`!DGxS<~vgEIWmt!F~Dz5W9nCRWI6M+K}QQQ^1mg%cQFFANZ%C$|F8GH+j)H-w|&^PKL=jQ z18lHj?QBw~0Ii}Q*TziT)Yc36hAT2G@0~u$_R@k5e-0b0kgx;n^Y`%Y{tvPOzEqrE zs~#az>sB9M^lTpg*oHk~p?`E=)eXPC1`yLE@nE$vb+X_H0X$lw(v=hg5_aE2ZFmVz z370=R39g24Aj6H8qWIfdg34epzn{=bPgL6>%Sffmx@ZY2mSU1ai6^m>JBeC1o0{;; zP~oBCOA4jms+xBmPm!JBSg~RrN@{v^FvXX`C}Y-9f2)(#Uu%zzUj-uHo`umTz&(`g z3DGXPWEgxz@ppikCq@8y?sVH?ZhceZp`_hQ_Dv3~@Z)R`a`)Q3 zqh+JQ!8=BO3)?~?wG%*9U{)X|}<1(pDaqrHnPZTbsKAakr zs&@yQSHpkPBhTv=|0^HiZ0Jgcr9$Bz9ikgQ4toQB-64+k?(RHP{Q2GK;%%GqMHq~= zyWmfRJU)C&;qSJ>^CV#v)>tNc(%y3{<~2>Em}8?4{<|75AnCiJqRW%UJCwjI={#BG z&p(oafMEYGq$6YfUr5&}_J1IqFZ=%w=^*6)1L+t+Go{+`^tv^VubY@kwIq14oji3nEE6<>+ndr;jBgDxT-)Q*$!K zgJ}^oqD%O!El6Z~zxplFkjCAXY{|sXH_P8vrxd?^d@pK;Je;k#^V(RP0_!#Z$Y--^ zzz>uJvu_fM;>?pdS!a`mxW8$X`@TJ#JO^7df4sgkWqn)q`DS9aFanBc@$YszhAsyF zrMY%X@lQspube>aVV`h!H&j4!c$veB)LhBnEM5@OUA}Io=xMy2qQ#_LOS4 z%)$Qa_uchpr%WtGk07Bq0s}&|gw^`4o~9bJtx9S^xNv?JE&(pnj*FyK56+1~o9Y%u zPq85ZRx7bz(O_GP`Jy;@vlAqal8DQ7(Giu&GfVv39c-Q?GZlU1 zqfP)OrTIAF>je*ntG5duf4n|dbZc*n#q7nutnx>9$xNIz?k+fK$k(BKGqZJTxQ>j!QLDeh0s6CZ+jPbB%@3BsE@4m%DJcpW>DZdXWB( zt>93(E#hq#Ew*90u9JEa8w4j&cCvbIizucK6}4~l{OVQACL|v!?@Y>`s7W_QjvEMl zpfur`VQFuVn6P%V0YN0Bc#`SH^{&~_&l$!3dOT?QPC?F7?sl7?1~-=XtR?9C^AgJ^44fo$(Pgr=~3TTD$NP50_bWf9xFI8ehx*4jG$Qf(b z%(0W4SVp&NTuc=>Nxzb;5LyPGE}ya^8vQs37%kBg=_{-M#`5at)zbvq37U@GK4YJb zT%H`7HWx*3TFuS!OF&Jo4~<8?WeR&T+dwO<*uA0AN_Df(=nnU)}T8Ij8zdx z6ai(312aKYc*N5&(aP8q@F#!FC-qXi(EGQ>Naw}L{hfhpx3pf^nq!%pPu1%F#D-BS zW+1aEAQq?UYe{OEWH)^EQ&FD%2iv4Q> zQ;9tEN|8jST8xZsE`h#lI_BD&Ty?|LKDc^S1T%|Hng*Xt#E$}=e-DIt?{MuU>7@xs zzUm+TxHWD`KQ_o_c&cZdke)e?)?#`y3ce}d5dI&pu9&pU&A)WQN?-EnB$7)Fz>2t> z^fH%Wv@n%37>N}!iMk%MHRZ(fIzj9T#;mc_6Jj~Xm(XQ__lv3&32Z`j{=za0ULSLe zkQDoD=q?n6ff?`&6opwhiKO@=bQauh-la-!{Bd2P-RXv$EZfIlxMJ9Pji}1&bsdZY-H!swElc{!;y0FRLi{lk65Rv|n zYFx9OmP<1P_9Tz%j~mX2CU;Q_Bw$ez4xdwLZLrNgc%Yei)c@gKn-0Da9{379Zmr8F z8Nk-MhMpH{Geo$5ffI5an8@^&M1@kF%!6ez60B-dIJ>vAV5CR9vil1xx6rF|CYlj1 zeuzJHU|#0hKLkLklA!>uSAP~qp)SQHU5ACtgawooMN1$MON&AI>d~QES^~|RAfld& z8fexCjF3lnx~t(8bXyF+t-iYs$;|9wx&g3wqRHr0wmPg7r73GSZGleNA}KjFdKwhM zC6{lcE6(}G7(SejQ=6XK1Wn(ZnyPe5VgUci&rTV!%Bo~G$OIuE2tbTX;U-i7d!1%; z(^WAQ(~EFL3G;_{#?cJWXOBu>TBJqQux5b*s~{ATd^)Q=FUJHt**aCajJCGTa?G^f zn|q)k^ts{WDjxnhcl_WwieQ?WQ2!)Lm3xM{>hBXwq8{J-zM#PB=I`C~^JV50TD2+e z!*N#pKd{Jw+B+&>-lh+3Oo-H~0@2vS^^2|gCD^JcXZ=;p!zOx03wRJ$pp$_pww@Z; zH&%K6=~;O3o#dl3iNQt-Q?s0;O^)JbU!r^}-(n1=ra6umq*mRA<{f9kKkc{DGu_oYFIz{AX& z&_uqrs@@x2`p_RP6$%2ppAI?1k+{8@JQ*0P55xWwLh4QNP!(=l<~pm;mc5ArTVDn{zsi;X;!|ESbk)1*`#K@g{n zbQ|IixEO&&AnDwRL;OAU-aK{mQt?IkumAwQKCcedUf(U^8g95oYrl?X% zM~nJv0zBDjV!Xc_a4rj@R1!GG8Zsa?f=RvjB)MPIepTWW&4#$Ek?h2{iDn8lxX-E= zGP9LcyJ^<9H9xt+u4U^R>}4TQeP-RzSt zd8N92d=V{RHG0jYlt~*SuE|a66p5Y!yfQ2_Wqre1;q<8>YTado1)*`Y)W6;E_x0E_ z&21TacJb{Js5bYB<*I0K333z7SamnMgNPkjU@OPl<8=A`W%*e|=XeHP!xwQR$wJP*<}oD)D>paGMvt_6M*kEB(6*uT>lS z|15*~#Uj{#g_nLuzbhipbM`5U7-`80c**W?a2Hd_!&Dkw?5X>Av&e=(8#|U|Cq_Jy zt!v_;0@Q{H)M+ky>DtOi$Zw_;7cIM{6`53oG9KVn$MS1IyWNxTPQ$!hY`J{pjD-Mc zQn!;YvxCRgxBL-+rAh^#niiYiTK`jY@5FUm^mO~WW;pYbetMLv7e#qLouF8Z_n5m#}*8@B5`w?Zt5%1RBmn!K0?<=D{MdVSrj{p{{lPh^UP}X(c15&m%FVt z^XWg`$U+Wz(;Enm?)&7s+O0c7&(+0~`XAh~qvq^;Si$?y5)G?m>8KU*XLdK`0|HtT z10*UPKMFn8#z||s4}GiP!uK&Vg60NS#}Nb;F#_VTaBP@xu!sxit#sG4&yT)hISMNs z)wv&Ne}1~XjXEWCatYa|6X@b6?)Se(gp$U!*6*d5I(WsKBMyp@;o-%VnztMzaUPG^ zBc-bZjk$%KKceZ9_+6%m=;WS4KSZT+E6#x)i;Y2rmJujZ4^Wd8f)yS&s!)lI>hb{s z&QA+%4wiv=57_2Gh~H;7yxYA&UUpvBoTr`^n`pLnELWzhExV_rtVX`X!5{Hz(xMBr z#0H{d<@xZsn+5P(0?5An{Ngx;?a#qW5eyfn8fk42*QAShnP;hl$BEXisH}Qa|MgT# zZqS2aIx8UNsM5{F^G=*F&h8G#qK{z{4d?NYw1>#sN9Jq0%F9Q*b!DR){fw+P@>@Cl z$u^edbyVEy_UftEHy8lH_QCOLwtPo&Wg_X??wa`pPM0gg9cVUAkZn1Oi}K`M3oKof z8mkykA23{@O^ow^+R2`a47t$Y$s$TtBC6R%)Ae!8@)7JR2iFVx6*>vDr@PI3mIFM6 zZkYh7NWgFB=AAp!?wo;?2Cm^jf~B6N>&}|;{jc-G`8C6-T$YEk`WUb#8SUIf$9Z1b z`#@oiF{3LZeeFMwmjXV0T-y~j+s@3~ZiCutjEWJj<4e1T#}Hy@px*kSrMF9rkMS>0 z$4s#S*Y|X&@-%sk0TJ&vD{9%*cRN7>y64mxo3-S-!Up&pzvp734%wso$T)cR}nPrSPrrN zM-s$u(=8%@rH?7w(Tsz2R;ypZRp^TBiI4SzA0n2ju;QDuIUp%C5K3Uy>=P|3Z%mKi zkd1gPlFw1bL92Kyl^zbBtSiUV-$mvuvXh$yOVrY#UqG?sVj$XizCBMq+S>Zk?t-r2 zuTmmz-(<$VwQ3%N>#`p|IH6%bDAl5C$F5M`d!w9BbL&71oj<59A@=`qbr)Vu{(s>2 z*Q|iisf_NFE=PkPj+Aa`kdzQ{qtnmm6zNbvB$U*RE)fN35fl`Wk`fi=-uHKY=RWtj z|AFhA?b>ziT<`1scs+IdnO3|@4R3$B6L7*xv+uS)&qB`pL`LAtxa6Bq_?@$2=?yV0 zfuMe_dK`O)^t>i(-iDsk>-}AyX_{HWdTsOP!>3hQ(hM##upA)M78!(-j^aKD>fQe` zy#G=0-~|H#7DY~J<$)I57QqF=u3p43`;!9}1K}3Z2-MC=*}-m&j3KucbK~-GUkf9< zEGC=C>@7ZW=mk#?0$t32P`QYo2lIaqz~=;hz;cy}wnzeq@pcQ{Y)g_<)gSF(X8J^& z)ekvFG60TaB@r1Te{kOqW_(5bcgvYc?HR|@_okQ;a`O+lrFn1=iIt=!;4i~LqVNkm z%WAxxr~0hT5_!b8D$2fguvA@GJw#cqN~^ zt?n`oI%=En7p~<%BYFR#@x>m*DdVerfdr5p2R%D1y_8fM_~`grt0Mr)k{+&2~U~ww*M|$q_iAT%s`rK@N-eeU^F;8%yb3~ z@ZYnAws|^;mBrnRl)Mt95N51AdNs4%^h!q$Hvxzyi0w%xJtl*wHu!&jnD7s}#)hZd zi3^w0BpdGpS(J2uF5`gy!uJUZvE6T(yhjUGip1V2*tZSd`Ghb(9qIr$ep|y@agHR7WIC3}xAe1Z-ZPJ{bAey8aT&z=^ICX5xz+=HB{j%vy@RRp z1EVgR6t2-SdryxJYP|?#R>Zf79Y=ZeCyd|MVqTr>Ix+$&ed^4!JsP3!4tkei`?|a1 zyF8T%d+PKkaw&HP>r_*FeFf75^rK|>wT**Fw<8F zLPVn#z2BMbG6*=wIGNy*P-hF0I*#J#U;9>VD64aud z-P#PIBTPHdT-xdU4EL_3wlbw>0VD36i*>`Lz8h@I*^z0oeEuEZJTV;hCW|)>?sKpt zgHwD7Tb0PzZ{98i1WbRm$6=vXaiQn$s!++sG1$YfZ4N!h8MB*SWoN0QcK1I5x0$rA zhFyeNY3b+^u#C>!5zJM+d`NN?S@S)#=29c2s9N18q zkop*$yv1mUQ(gI!zbf&)DKxENnO|P(=dZ1&48vUJy=(veD3F3>>h@l&5eGBA@`R%e zS4N>nyq(n1?l`g(4iF7L=KNawwSJp|zPq%1xtPGJ^gMITvzCjvx=MKQ`__1vtKr9A zOSPKUn|!nn*K^sT57<%#>1oaQo$P19Ahg4J5=a0GK^Nk(eX!KO^z!(NsZ%-ils(WQ z|3fGd)=t|V0J$-{wyk^yn|o#y8`M+ID0x6ZKlahSYM0X{G#me?=sU`?y#JrF=KvR7 z3qf5SdyEZIdHn&KqAh=etuX?~&nFvqZ3V}amm;(e4G523c9|~6!9>~t-dY&D74Lk# z&R-H4Zad5z{L}GpLzB!g`!{B|phSS%8Wv-?iIX!JkU3^W%93PIL_>t_D5}=t>ZV-bEPo0k32qRXyU5CtqlxghFFYHa6jqG*JO6 zQ~L1@*j$f~6LqjC*-fQp80!Zt8H4;Zbg=-%@wX46kE^h>4Tc8S-engbSBva!fmDMA z^Ov#%ek6#R1gqQ-LCTe9nQTyp#wD`hC|L?k8|P=X7IBv+P=GnBL9nqJsbG~ET69?XZM^t(@b3vC+~W3C zDi@4bop!m#kQMf@+^l2`=pcF0;%p;g$)=V#tazs~g1`^co{qmr#2Rl*a^93xnwyF~ zZ7ZWCLhS4&b_C6u0`mNDn~$wazgX3!oHsC^UK^6XSkEaetrWky&S`ncs1f3$E@7GT zVnN9)k9cOB=*yac0ZEZW=_dqTLfgg@FXv{V zc0`fkve=Q=AwT=sVSeC1p;fww!T{-^O<_hp!(;92EVTu#n=AHjer;PmZ(f!zj#K$~ zCW3;yrT{E2dfeA9|Ga;xF!zLSIZ>RdmNm*{VAVZ@s+IlnnI_l7yM^mw_A1r1DNms4 zlecEtt<#g|%!9$gj_l8nmTN6! z+C5iy!^9LIeiXS!f$)*Wp)1mKJ8n0*(W)PW=1EV!>V7rSCap?^E`q{d-zuayxG@cI zOkF)`xUoKYqwnGGKJWZ~E@l@n7j>CN$qLXMUb4*1obxFEzH99w;yq;vrR13xK%QcuJHHlQ_t{T zvwOY4PC~_cWQ%ps+ z<#~q|Ob#-*4ohL20g1$5@`zl5ycZ;GDUH9Izd~?G)ioT`?Im66>HY9HK&g~i3nqYR zSMdwK8h->Fs1~lxS&Q_)QgUgNS?O5|C;XIH`m{J5hf9WR~FM+vq2>aRg2({Mv?kKY1x8D}C`kRx~q`sEf zvZckh&38KDOCJct-yM5d20KoQ2#NWqfzyeYKK3Gs1k|O$Ty}0^dzX zycr4X6rh=*@p5&641A6qhD9w2n^CNRS;7$QmfO}?P;4FGQ$)Nnd$fph^wCW~HQW6M zSMCFc@$uHtznQ>v;ZQ6|y+Jp?i-v&T0)$lG6_~ju^z|-u9iTa6Ed#yh{w3_hns|^; zeAhzcEF|9dN(vT?OL`H?AOns)1%!wsLxAySH-Vud$=`&*e}q6>Sf~dUB!`FC0^+p^ z@nvk$f@|@bHvXCy-r?0FDL)E=2IrJvF84>lK(`15a|#A;2ry??bk;F7B{AEGFlr9z znht6PEBJ=NZU+q$gFKUzZl)(igtpg*sX{GH=}EEI=3%k$ z6sod}QI5)qNXbf$y+53?;2oX55T7lQ5Nmy3b~cFl2-;vN%kugD`_t6t!ij}Bf;Ew8 zAPUrx=n1B1$_d9PmILaBAzj|-N(MLi*+W(9Li*qt=pYh|ErS{`9q>-3MMT-+A$)7e ze4`K(EKQt9=Fn*Dw}=e&vy>mnnS*mFgU^-o3a^glsLSFNw$AQv!#OL?6xacbbmas^ z6?3PHa<>d!nAivqk0lj&f%yPlCgq5Kk-17=(I)bwKlLHjq!e%#iRM?j6&|X06Ds4K zS0ft7}GSH3~m zgK}aQ&2ShQYM&7}ps6)NjfVmQreR#=V7&%}eroQNOc9s@q&DPQ;i3P_i5}#_lro2G zpva=+F?dvx2*gShLhW-nijq=9Qxd&X9{mKc5Hg?tis$ty39!Ad4==DxgoTRU4fiSV zi2y_D3rvG-?|&Rgztp|02pp+a?>wt`PVv)yn;j z3gwXKRM>AQ zJCg#8oQ+y4|1Odfvv^k={BYXmf2h;=0G@?|nXE-T+lpWLETx~#1k{|k~6@L7M z_}G;mfG->I4!c4f!C_P!j?Yu}1@Vy{?kRd+MP_=~W@>MzgD--reS84_x~fga^VyEH z^B0s6-R0<|a!VVzD~km)@j!#maP@Lnpi6}@8R6@jWbTsXXqJ2XTIJ+H?G&zF>{^VQ zXQXq3U!E7_bA;dEXq{p-37uMH4FHoC1G{E*U41h8&*G+hs|{3}GDOOIenBnDuj(t; zSlZQCj|YPy!A@0zOwq2QgbHCYm|E$hvfrsOMAI~j*ixVg8R71m6&PJPg?qBN_%ub- z)3FQ4v{=X$u2PZQI(qfOFy&SsEOM+8$2GAoOsoo z^M3w9)4;E$p>GP-HqDDv*G^6Jk-_OLaA6!I;erEkdJV>n@eIMzHXW2Uj6)hoPebsP z9ZOHg#Aw2n@>ZkLQ@VgMgchTSuzI7$5W_}UyS#zOu#y(U(pb8^ZN|1}axCo8Y-C1e zbTtdS`|cD$BkI=sd>VXo(c=aYzq=q_16%VPiDg^%a)`PMOl|`1Io-Us-CT+d zRUJW0b3p$iBTCDWf!Chos5~(&X?Gk0E=7e(BEd4GLZP)vE492(n?}?GKs%^0p*#Hs z$D{3USzthP``GgrK0TUenFMPLSQR{A0s2o>Va2yqxa0){M+15bjUH3DuV#IX8b2&= z&M1e~O*iZ7P_KwkYEIUSRFQ&0J-$$VGD+%ckZI3~s#NmIZAvZtoQeu@fmVq>w|PRc z6)zs^>^34jY+jCPu`mAqEtc#1v(EHPa7#RYSAOzI{Xj{1f9i{2l-wu^K3-xQyWHz^ z0s>XQGF#x8_Am8B>$WCC-f7LaJ=UY=(e!CDZ-=pe%l0Cc1GRMpO?fv(Z$grK*SAOB3-;aKbkO%F1 zqqr#J#?7py=GRHhoRgGGr4^n*$Oiz_n{Ul#g#Lt{VNN6pB>O~`d!U_!1ifv)z8qNW zH_*)0z5k@{DtgcgkBPpBZlpGYjSi?|$)YGJ$)WI}9V4E@OhaTZ*L8ell=}aht=DK ze~%~$SBm*UWzHtK2)7A#|LdI2m*&Z-W?Horcg{98*g{PurbMofeQbOuu^Ve{;*Ujn zSNOj;xZr+s4M?CeQ`^swQ+0Dm{IoB2;v9`=Q*R4p>;pPJ2HZpTHI59aPe$#$q^BMA zxmNEI1+&G1LNG9AQb+yRTPq_>Lqp3*&ETAW3O(VSuOqp->p9e9Dk^fSdm?DBkzDC8 zLlZOusGqUxhicH8U&lZGE;jq51$i!k)Z2aYowG0Wu;zbm8~<|1e^R1lWHAaoD)B^3 zti1uByY=T~y$`t22XcRVfJ3sFBOv8ZRNfEU44=NaPySVb_r{>)x!joi%J~#^@A>_V zd8?{a zcF2{D$-36le&&-yLhwNS3(1oN+eC{yn`b zGjo1)xo>ybvW>Z;ZU+0zgXMf)iVSa^T7qwwy>=fCFusjUT| zvSI&};s2JU%YDId_hf7g6{mhx!!KIN0y9xE0{_O6P{O=<39b|ou+izpc zu!LtZ<=V@Q>w6nFF0Wi!yllHPV@ih45H`X4^2xdIItR{!0aU zn>Mp+P-0R7`!#EKk-g#lBP^);Qk7iGS9i%w(E2LQzeAh5ehX2L1`J&^&9!}a=6`A4 z@B1U;f68Ism#h89u`>Ya%5U_6lzVvOj12AT%*`5^?d2BQDkoHB3%pHTxC`4)jgY=o zLv>@2)aoYk?`&wMp)r6K#~-?}Jw@u| zEBAKoGv=44b~&dn-v=-jw2bSLH=nrdy$)D-Qoi?HbGt@nHuItd)l1s1z_j_|j=HBO z;2-u;jxUS)zOQn?Y;mt_KQ!JmeT`Ci#eFaAz&=Am3WD_cVR@rz%8AT&^&9v7wS&er z-?|w-dVcpE=*$6H{NrZg2h{hMd#|U_&VdUVWUwL+vX^w^OG2s9qi7`;UrJ04tb7rE z{61tF7CChgPR_V-HR{FOs@39wY&1-lTJmhn61x7w()r|F*@@k&lS|GsJh#VJS1&sp z&~Q?xFSNkl5DuSAZ#um^UB=M0T$~0!MYTWuKa`q8+l4`@^9*S2|7^z`3opTDIuCxq zz-LimX@s!YsRQc?05g7T%c#-Q{+I71K>q!c!mCZi7f*+JcmK*~&XXVB;g$aFFb%k0 z0;?hYc3ItYrhY@sr!B8&8~)p_BcpnQ{&c=V_0VJLZCdboV((?IH+V}9CLo!b+{ZRd zO1+1WXg#3>%Ley>G&GYCvu!)0c?#(YGrPLWSnD_kFYhhuC=8YihN*zjYl}H`*UQyW z%m7O&6RtJ_o^UVCe#3*!YD_a#+jW7D&FK9%mrekn7T2LTLHz&8X-+7T$wRw5!hnsb z8vFS@$KEJlyUodtZG+X5YkAvNo%T;(^%W~DpR$?rU+!vcFv|(JDdkiFX)O;wSddLb zE9m4JGQjlp8WgO@%mBU>EuQ@`t+-v?|wv!Ds~Iy3=wrt*3LRI{)RiSsAz7*CAhCLlt~L z0eIe8ysCRrB`q^9p!$8QcP6pWZDy-l?6J#QIx?s~6Ov zZNpdd$uw2gtnNL%c9|gUo~trvd-~i!WmlHKGFvF4zO|@-NkFXpz9E*w$Airv#Ed_g zdv*c(im0lS^6Cw`f1~0}p{qWVia$oQBOA}ypT^f(->-A(myv*d&OF02VKNyvRe7dDciNe&$OO&!bf%w!>tqFbjr zC2Pm8>yY({&pS1%{vIuTZ50f&f7X4E0ff%@)UO{R7!G8lTqEjcI$%Z7vX3~j3R)fH zb)b28GH;%xrRVz_YlL9Rg&@KK^O8j%(@h8A# z!c^_Xmo}B&D)%U{f>))zrqGdCG@TlmroCBAf|@olXAS9E+9@oDS(_){ijMB0<` zHHBF(i%b0yX@qr`6Q!bsv_%1K(*VqeDMj8H{C?PoTK7=EjY0mhAJuW{%@Q}Fe1BP+ zm6ij)Mb$ym>o32-24AF!^j0zt*AKZ61RgsGT)(n0kRa$VS~PX`^;)ruHlshDhPDqP zbm*5u8=IGKz5b1FGXZ#E-Vb;VB>>soK9%~1^iZdtDM|Xw?MuuuE=zp(K>L@2d2K`r z6ZJf$LvU4{m;&_nCJVPmLX^{biY=~^wXt4L(i+HfR|Vu;;#Yxs2GHR!mqb|GEbq$X zrd~p(D^~x>;|^L!p0d16*&DzF@*Ok&^nu?P9(UWnW1y4;y+w4GECF}K^~$6LXLy9g zRdo_5@~esPM@vKETW#sKy?inTZV;)Hvvz!8|9@#g>-m5p&3GACu(QYpBSXDDsgSR7Am%g2rvEwv^B3Q_#NoMXZ}E~#5}Lhs73WyfFIruHI5ligg@;Z zqPpgE2lftzFDgqC+`KPqDzrJ^*J)*+5uk3GgIA5FwHf4v2s%!dSze>M29Ir%uOXjQ zi&CbIFAvWJXETX}Sh<TTs}N($*2O z%1P*gIXXj3tlrK_uM`HeS>qNK$xjsY6cKin{AM%Z8}DnL4N@~P5*qGWnhmyS?=<@4 zuz5{SELuVr%T?2UzHJZNlPqfxkjRMHPJqFm>q)MCl_0Of>k{4Aj*InVJt^^bS#*40 zES^^B?AeV{0th|A6YnDLw?X65g5fRwu%McyBXbB*ajwpTl=;< zUI=HivL&Wpi(>t$=QT?RX#f)}n63U>6M@a#p@1)w`@7rViHwD;R_5VKZO;(5#ayrn zXHF@pMJ~_Gc1oc0&*+DKSf%c6sd4>@Rd{7y{e*=U?gFL5j=uRV?gBi~lL<7Y%wGVB zOxz}yq;|B~ex_+BnpL2xd|}*Om`8b9+$L9JU%1+kxlydFA0h17!{W`=v}d1@E)UtV z6oxU%ly6Im&9pb5D;urtA}>Dt(~pEG%Ba6$9~QjA0Uo<|Xa>L~#Hv(|)4gqGJg!f_ zE%17L^KP-I2@%eiw zxY~x+#q;U;?Qw8h;+AgR5D>eiUG?9m1PhNYc9vQ_SsOgs@!%8J$Ag={5_sRo$EsF1 z@_*4*YXhFS8O|%x1zc-uK_vS3BU@R$d?vW&pZcQbC3c@uqaXeo%qn=NinNOf(nJ6D zLD#oaQsay!3h72q)2^7HhH~@F7H^B|d@ef$THlCCk}XnW@$z&lo^SecBv($yhc^_{ zB_$p$*?noqwDJ z_>Mw6+C$gs^W%Py(Mv_4eaudiy0G$86lFoj3B+WMq47V zHKb`*txMGg0DbmogiB>Qy6@Qj#dM`4UA0;j273ogS^Cp))>HC|s~6t=id6-LNr{)^ zdnt18%72Y0LVzCHzO2!LW%A=1nP9GlBL66DCMgKLwbCi<)14CXd>gS9_-eWwdb5*v z8JNb(QP*m5RmJt{%A#zUF=hQ(e%*maGfCJ=TX_vkRfZ~d|0lbzXNWp3-^@Xl0 zJ1lrq2gFQ$-3*69RM=gBf+lesGcT8Y5a-bZs3GX)T7u{f`neiK98Kw7);1pODxJZw zK1*dS5wO?gB=W2t$%q%fycqL#gqhK;*m78lW%A!!;dPqrdDc8G&N!A$D^Qeb;oayZ7RLc&;&8$6gYk$Z= z{h}8DKN*3(ON4wT-0SH$)oDrk#$oZno?nmkFZ_23yANMzf@>arPYn`~_mdS2l^?S3 zU}(b;m9YfFDDVv(=w!W&2?2TuofK7_n9*Yp(+IPue;lCNpA=k}X~W0$2Ly#zTFS5+ zg7~HiwI{TpP-O~0t_MxgEidfrdSa;X{n^iw64Bp=AXK^)c zQ1^QGwWaOx2k4q*iz0K*iEMR3P7I|LM;xGJ(Rsr?WS~x@v7+3Os6mKpeG(5dO#Pg4 z@7QRX38bJkxZD8#^R{uO^RZS8{DLhFa+<20wm#~SYLa&TSh(A8qP?&CM^A)mOZK@* zu8CfLFN2i`j|G|S@Yz^Y?rUGdb=RQlpi<+W^Rb^=;yLbsKdBHxZ^{g|^0gcBx=1CT z2#DUB)+jRPD>vQdM*ne}VNXxbg-L!v_N!O?V^b2wx<(^yoeb#umK)!vSe6(M&`I;$ zH*R72X%k<&8oq&Zk1mhJt%X75i9i*&;U5H(Cu8~SlTmQrHP10!@I5{i-~b1$o-0af zO5Wgm?^LTzS^X1yeeiYH(dqdWJUxqcBkJvAv3?aW3E@)FSgO|zR92f_{#vGk~tAd553`552L?y!wv9ehC4~*J)AXE zvh4|&Jq2P%PK4UbO1mJI7rW$GW`2g6s*6$#Uo-XneyWNn>J*jxdiM5rC?2kWBD;d( zmsHIe`YYi{l^E?Phj&r!M(XD}0cm8Dg_nRc5IaGa%iB^Qx)K1gHtI0(%hh-MtiO&C z^msq{i+^M)Y~~@T)I!fn?Yg;OhczurQX(AYrhMHAjhLRfem)*2P!3J$ecPZr?|N^t zwDXn83C6_Af=6&9L|~$o`+e&c9e)d?!5roi^4>4gidP^hAn*0wCzjn%ZJ-U{Kpf=I zWEt*wvrODNl~(40?~iyibrqrSX3XvbT5>}4xmG=8&VSc}_WevU95%l)l<>RQ{yHFW z*I1kcA*U{+AZ zkS+YsFa6$3_1R+6!`Y{=pST=Z@>k8nHW$oZqd+Yn%Y{VsS#DQlq?^p**zSz2j~!pk z;$!H{la1xDzxLBC4(q%tC7jDs$CGW>(|U0PKC*llTFA1~B2d9Luw!gubMC5o{Ob?e zZYRsrAKqR>&}Kd2XLu*+;MH+ce#fR)hQMcI-&H!X&;-k2>9^@{@GFOw_*cx5H4{Iu zH{CP&`1iwwiFFID@w-dQ(H|Bzt~>OKP;W4a8oIAtM-9F`bl86ASkexg)WGeujZ(iyN z3=Ic)^=050kY=^u*N{%lLzgA1#jT$A=-Rikv<`Hp7PuKnZ^Zh$6I(`o19%?_0tfI+ zC(*nd>MC{it8o}-fw7*cbCkKd_PL6&y7a8Oe!hjrTDeqpQX|O#)=mQfQ#TF4q|PRX zz`u$Y5}3HXJ~b)UMy@Zm5>sx9R?b-KfgTY800)(gT~+74QQNel4(;H>%(sH4#Y{ae z<-1F0u6f;auMr{8$Uq%*-5g4tHD6osIur|Q#;cMNI5a)dA`v46E?&S-@OzA=wCnq zw*u*=_n}{!PQF&*HZ7ljwrn-k(1+eRCBE+mS!}7kUwf@>y1++txwlUGr zg+67Bd!h<%*~Yc;#~a!J>hAc~mzgyPdHtv9MAB4FC`p%Y2ItP{n2;bc(;!v?@K?Vs zwH7R#^0uw^TYKzOhkjaV?W>2Ey}PE}VdS{zSs1Ge^{2-uo?;?>X{Sxfe?r}Vuy%Xs z`S$Rz8heUAD+$7lfpexz_PzIS|Kh)VwDTa)Pf}mbY{2$kpsaG72254ZvS&Rx_3F zI&ns5IR zTD4%^SN+E)b$J&+O2A`i0x&ed+fyLngU{A;uBHdF8|&vuSZLCLstgp#0|QE@q2C

S{IKa>aKgEGxx%z9+5%^?&+-8TdZ)LJL|6slU3HEdJhSi4|K@?uNpO0OObK{}Rjdd*g7ISO3;Dh>T?x?FRCvP4)fto(mgbWaWzqKE?(hNLZ>&c z9@`kS97;*qzuLPy3!)6`%D504uYC7qJM|kmbz`&FeG#B~v*osMyoM#L_JK)_K8%%p zFO26n+$(}z=`><~KTuf0{smAHlk7`|_|_R3jfPrIgD%qdBJNB36X+u&cp@3-!;hsv z(87;~fcVi|2oHNwYi(q|>G$;gw@2?IDW4-tM&G2*#Ccs+F>)cgVj^;HMAbV*d1eL| z>~p=n?8f~QK*SS*KWZD1LChbc%6{(UNq;F<>Woy11Ym#j)q`2dz^t35xz>QX`_Y*X zqR-2IyFZC8%SM4xeyL8!HQzK9mw}3}{cO4KnF*x7~jhI6wov2q=RtMzSR()gb1xb<7>Fm;sHiBhqQm79u_N6(BEx zwlgN}?Rgr{-CmmC!~1TQ=|2niIoh3Ty5IzkNKhD046p?#LrUN)wEgzzANW<|_lxts zuXm#>QG0c@0LKz(_WSZ<=SLTt$4_Geye>{}2X4@$XaL1T@YpqMe*)r_42DdOrxDjH zlehH#!8e@2sU(J8`@ug-;xovWK!gCsbH#49`hR1*MJ$x_de^8j1DGmRjX0DKS`(fw z*QN)E`5ueBtG<>8^0o`ZQ2^Xf8Ri2@ny$FfOOxI06F-9-w~_3VvqK5H0>$}O$>}4> zHx(g7sV2V&9}9qflRv53EIT=gM{%vb@*+=sVK7ZLKVav~V`mz?Khaq^wLOr?F`TbXlD$Y(9aemd90q{APk+Yg9ZAmUgn_qyx_vXJH>exNK3b<>( zyWBFmS!%%$7IpFMB%}4w5ldq3%uXDHz5V!=( z@o_uQQ*0XMng~xKi(MycQn1e%Q}U(QJ7f@9y*x|6$SBT=VWdV`KwG?Zq0&RTpS>#M z{QZJ`Bp`+ocb8owH&L5jYeS2bmhmErAtaqcfL5ZP=~isM=dTU*!2S{qM}>0?8h{!r&yqEJ!{)3IImmAd?0`_vjGb z{&A-I^(IMs3H6ofpdbKR$RSscL8kLl8Vg*b9f&dtic1AqMQ>y4|4U7?eymXTm=`oA z)*}HL0=>(nZRXPjg2VskY8yI1U@$@eN2Jm7ro_n%%K!WxPeH0R22>AwY(HC(Rg(su zEZvoUd8WU}%-Jy|nt*xssd7xV0WU^=5k6}MLA}R(zE-oeKk$9Tg;)|S=T#CtgTa3pwSNHHA8itr%5 zuQu||HjxwUanrdpt9Yy@P>+dErB(cx(PpFiVq>pI!%IkddQA0CV=jW3nBLgV9g3bA zaf#C_Kp161gmUH@6~Y|;+dR4E(j#~}eCzAo$d`Y-zH+20ljZ-6bg-5&oBx}5!l3y0r}-uJbDtnHBa^W|l!N1MA&QGa4=-logn z+nUP>Q2z8o{NEyA4s^jZ`2$*asEGco6QTJ#t@`E3GkW(u{!6C`$*P~i_wW98cVra7 zkfmu!noxO{VZz9>9oicJ>&{0CmS6h1sOR$0<28fY`JQdc_h^LW8k>L_^k(FL;d9s| z85=x=sSJ|{#8<4r=KFtAq+?S{c>bzm0ql^f)W!i`*7Ko(uwMtsY=h+u4mQtsDw+Te zqH#Zq+0kz0AQ&-<{6Oy0D^b&$H0yH*%z&qeB<#QVCn0Y*S_lZYlq`1Z@;NrvHF3o+ z&1pB$pSV+PsEa57SL^921-?`SyF@$?g(uL$j0|NtvLk{etctffwWJhp0cfc2UnGDT zm{tJH>WmD!I2AAiR?G5EEmx<-M2?=y8s#3#xxKUuC&UZj;A!Okzus0*)ms!;)bF@Z zx?EKDhsKT>2bBmQ6f=M9&7CpNz#|F6Wr5eg>TkffFCFDB!mPHA> zoy9XaVesBV8don7VU!KkGRu%*+Zngi7~YvAHOiJDe!$uI?W+8R7>Rnvo_+q*+dS5* zbaN%2NNuXcN4w-B1LA340&vN-x67Q;-SrecOMoKlM5z;m;zbUcLhLGd6-fgy<~87T z&k9;Ta`p@BadRb85kbc5c^W4JuRUCkofHDbL5gd{`g`IoTfe>uDU!??J1S@$jC{>) zkryS|+=I8pdgc;TIM(HI>SnzHQUxAg?-QaprAfCv|R{@wT zdjsY&jN3(fh!5~h+S4L-y&b!a&(*D^vY?)s$0`K+X#%?N`&PZR zeaqZPOe5fZf++AZp3J1U#yu@p2$X9FNjVTvD(tTPH|}L8ThwP`3Va5EQqNKu3dE+d zx{NpQIQjTom4sB2hy2$bqZ1ECN5-@us4dobmBtP%Q_-lQ+@S_EW;I3(!k3o=aq-79 zpss55C;gR#;urhe*R&xisjhC148CBlSPug79~VE;bzx@1@va2mwch+D35)FX7kboV zCK2eHqZJkil8iT4%h&eg=YKKm9V zlNTyNLfED(T2u>_*PAw#ScWz}=Js!wG=4lLV_{QApLO)&^4NEQv%Cwj@Oo{AG;9Ln zr@e(5MfoU(z7k+)7GU#NyVgX+$7!K*y7DF_l*|wLpD8Q)bN5ALs{>Mu!-w8ar=)6D((XiL{5<<2NyS)TEb=^K(Nh0<4&eoV!=Z>ut;6EGPFCd%Y4R_j;E{g@o=UQB?nQNM> z2$+>`5OS_kVU>QL?c~i@O?Nk@doSqHJ3Vi--*<67l`ZX2`KVnxzghwJM@ryS)1 z)D9tu$UHfBk9UwQx9o*(IVLh)f;~s{AWrc>`wxYOvHyaHgG^w7QzThZh%tkI6X$~* z4Wo)~hV;3ZF_$0lV(I)-*LZa=9a!%d;h4rjoY_pQ=n6&e0U0cqhR;=|9=)tP1Gig6 zRF*fekdd}24c_ah;qs&RT3~Z~bE}DaxB58%8T-FhIc$i6jUQ!9K5_Lw8sB*%dkz|1 z$D5C_pOXL;6e;l?RdiO9|2!}2Q74L~d7#A2L&T#6U+ zCm8t*$|nMaYAmA+^^U98P_0$6+No-+dU8&>Un3(A42olwDc{t}G49>~t=L@)zX?z;1^nRAU~mtVSoOHR!P;M?2jJDGyQQBrC-#pC zEdr8}5TyNaNr7)brcj$3>1nxa&qI-7puxPjQ>6 z@{7B9eCepn|KPwVUt`D@FTe-pHW!qHgN1bCTsTJA7RWH=f@t_Vu)t94Yr^lycQ%!r zH|Az-IrZ#JSCnbF^nW{bA}AcC#9MS1x5TCR$hj5*31x{CBt! z4wIArp1RjCj!Ju3A%wzaLt<^ocizR`>TjZPT38YpNdVH$ z;+PA8^wXmJ^;(={EzZd}u9betL9s`w+RQBgR%R_0?A$G}PdQWW?LHJC?|xjZr4GDK z;U1)BiVU74vrUo#hK9A34&x6S>RQJHAOOUI7IGHAGYg=v-WJb@6Oqy8PY|ac_3a+t zmMramR2k1{()`m#?rD$ASh6 z)}Z&L-U$Y0m4()1wm}h2C^FF3x46T-M0v*?l8g%55n1RTP6NG5>lbnHAC~GDUjcPL zf5NY8*2kC6X9uJsP$EPJV-+m49E$sBSFa~QICsk_&FMD3C2Tq8`49nK+ysFIVAoRI zht=J8o{g*8O|waUQW->g`HHazIr&+XTUnC+I|V9o38s1mhHDb?4HoUH)aT8z{>R)a zQbj<*1@Oa?wq#86ht~dga&fDQP2IKP^kgk2CrLXEJ}O}K=MA*i0A$`9`s_($sJECh z-)m?6P}{vLa!V=~4WK2(y^9T$Y>7MM3-~4{Nl$*5za#9CAM=g@%U|_knN!Yns%I=MME_H=6lo6za_MdL)^KHo^{eYfstFvz)V!u%(9CKG`j3D*UArsGKhiNGiDDO+g%qKK}{EjWC8%xL@}~4MBFQgUwrp)_$l?s z0tH%}oj}E&CqmK`2IZ0IVA+m;{cY2LX&BqN+nxrRA=?I{G6d$uH3_wQ!~9!45q^i#6HpO;YIc zUXUXo40lro7)eItHcQHczRTZJeI@;FRdQBSzUPY^!x|YRQ>|Auh@QkDTGFqw9kGUl z8QhcssB0OP9Dmr89AM_X-&O?VoKo~jC9x1ywoBJ!=bbgO2 z#hIm?%-H$c@+hcRb!0YCbywNP6!5 zpCW)nbOHCz6t};9e#LE|O}p;oX#4Qe*CXa+Bb#mXMl8|6J-H|@SjqOiGf${RI{}pt zKFq1)`nl;3-&5I`W)bdZQYFC4#`Qlpd8Ytx*%FA5V;dgx;r(bu^Rw`v7pwq)Rxpo} z4b!P=&tZsCgq<{qennPM=MG1Pub%%`nS20exfbGVo$dCh*U@q0ata#;DC#0%Q}+Td z9w9B?`KSBE(bP}(<$dFx+VKAnMTe*Ng~z?Xu(d3s^A$T%O#;r*tf_-1c|76%}?Utk%6GcL12A z?%SPh`(0g=6JqVxyj=$x!{)y_AX4C7o6U4&*!_r+xHU0ko<6pxVF}ihhr<6#H zPLXbKASERro!jUT2NIHw?nb55(J2A~0^*Ah1Q8GeK~(nJ`}6(%xpS`P^IT_VXM65k zkNfS8D?JzxK2zfy&@x5*n|qYeRr+`Sk04Nu(l(tBP#a{54SSnCRPPk~79S=s02=e| z3ibOZY=C3pXr)0ptuPzU7piApA+;;(zTPI4?OlgSbgCvQDpfT#z3OXW0*d@0$F}`N z{$6We$-J@39Dk1F%4oRRwx!*kB5oyS+JlWL*iS&f61!~MgEgH>#LlWcf zRdxpAlBoWoS$c49j|1-b$(KLDe}APR!i-~58~Sp9rSqwS;;tb+e;VQ^9shWVXT#!9 zmjLG;&|QWNLoJ1d!$2$G&@a$yW9L^p57IK+Q7=Q6LN82w!>r=Ujq- z=k`&1C2?2uME#Fu!n;%)&CJQ)C!G98ijjMo>*as4O?`RydNc10AVlwqwv(CEv;|i- zVY*malZU5WN4Q+G+PznGTqN2UUADhiCiDL9@4x1zfc`uJvKZo61_s}_k(D;jZvT7L z8@!u<=0=}i(Pi_&F(nPb$@2U)oS^r)_&lRs<6EN*B}9U@Qn- zkjTLCm)t=F4^GtvyVWsb!`x-=5q-)0z43&6CPQmWB1NZRAr$I?!jgpkk&$kvc!b!mlkA4S|J||$2_~+tB3fcN7=zcUNpTOfUSy=YrYjnw9tE>(k1?-J~e2K@ic@bUkTd|(4|00Gowz&~mp!*=3e zA~mzP^F({aa4Lvb1%;$ar_z8VAe*&>w{k>u(9s<5As`@4)T+^Wva@EoQ1%XewdmaN zBLS){(LU~1a75*vb|7(UfXCGrs(?w-Vc}$Szdpk|11$0udX~xee z&F~f$v{~OgaStjSrb%u(&s#tA`#(EK{%BM2hKS9)@@*U1vNfE>%r1!KPx;84i@5(sUy63zV&0&U*+yh+Um;>rpI6VxjV@Y6U=TWRRZ}&TRJf+ zNGfW!`FA?Zzmk16AcB`jJ*+6D#NGDsQpzfayqLYK79RcyNX@bH_+zr#FBO6=3fm4~ zch;TLW#-HxR;T@nng`PdW#zbI?|LMEuiGfL9L|pysMh$LX?M z?0>pTj|mzj=v|5OfQ5@U)TRA%6R8P&oL-T_1ppZrhI`eAVqBe03s`ME{I}kkYjLvL zLat1t>KZYH9iYJhFU5Qv02m}FM_;L9tSnrqqb@Ewn+(uJEC>I@huxuVl&H9)JGfn7 z#pbx_6{On-rKfp(clf5Ry4yVSEo2ge3pwHzz*Fw^=X3qKezGsbuX%p3v15$Oy*K(9 zu{BP{-)Nuc{8 zBXTZ`_#R%5bzIXYP)GH+aSC7OgmGh2Yl72n$F?>~8GTcj$BM)*_W4btYk_z3f*~Zp zco69g`YIMcv!+U@ea0YC7Fy4u`~k`9l7z&M@!DgwIQG5Nzc1U%{2pSG?x!8$7OtW^ zlUP*0_IYvk$&cGxvtHIwx&P@gm5Zut@eA~q*_t_3RgbTK*t zIJmJxj+;Eh?^*O8u^VE-j{B-^eE(xl^+fSobV`3?BTcFanML zb%hzc*g+3cSt~i8GZ;*5eiMEi^JMA26PQr&37ys^rrGe9h7hzO#NkFo-_OMxP2buQ zIDc$h$`h&|=1*&UIl$2~ieAOm%*u(j+m@0;1Yds3zjgPzsu{F5j0)$BOk|oMLX}Pi z#T|noR@S*oeM)##(nC_ z5IIsE1_UQKRVJf?s7^Z`##!V6w3JAO61Kr$hY|k2*i>!i+G$m(xwXFv_S%x!*aXF_ zjq%bQeHor~1XH4!0e!I4nUi^NR(+)pE&**06{@??HDeD8v1WQ`$)KRDoq(3ndjr|Urg{56Hh!{a% zmr*E4tiJ#FILSjF_xpxXh-?x{uv{HnKSU87;@wam1-oFB5yoztn&qR?GGwEld~L2|*HT%CE=SUcu<|WiPQ3~7 zWO6y-UKQ&lzPO%8giw`%d9704ipBC(x}^E(_68-VexlA-$@K*91F$bIPTR0_%@`_^ zl_9QQ?P)ig-MHs8Lbc^`j6c+Sl&#IyI?7SotBa{iq^^2p1VR3GI}6=fQIXC#&ATlM zWUa^AcGa?mDGRNzdc~ynkTYa_ov}jHeVo?hoR z^4aG3TWdXbn2nzAvkLR=J-jLbTzEn8tkLTRBYbl^aWU} zhHb!?=0Dv}4scqDfu3D5w$WozkU%s5BI~82MZ*L;K7ao2JG<~bO!X3I<_@x1+CQRrDwT>i}L zLt`x(^Y-jdM1l*v>4ffICyuUjMhi+29bEERkwYh*$hLxk7NProZw6jJlSG@bNpxhR zuy|A@X*6tBvFzR^fb-!)dZsV;jjyyM-p;@l;xE62NMZDFlEw2`f8}zoUCc*mZ_N|p zWepoH_P>}p09TuI*gP=Fl1^GMn*GgXGy($EMIkV)XsB77FRp!Uppj0_>E-6~jVarE z5d)`X!7Y9+CLUukbmAfGvnMH6pTXZP59V-w{^;|=e$}Xjp9<-`!xK}Q!2{^_)Dlf* zC@7tJM;;BoCIIjfPjiClwc~52)jO$IoIMz2wb}M>ex)frn?W0NIXJ}3jn8P+-AJy< zMx%o8?9T57E}srB3m&GRakN6-9vwo+07jme-sET4ZuMC$dPBY)>Uco`9qI2r;2(5M z50AU+rUxZb`9Q1pe}fNX3H&TtKyK19NCg+e_d2AOLRir||i0d8$xk zM8^BSXG$UijQprhQ%Gbn`62(gHwt6l8UzLqqPbDvw+3-jRB=<@ajSK4@888~86Y1~ z&QGayL&E()sqweQ{o>yOs_c;8s60K0;E)rzDhhfYfjvKq))Wq25l$fQaodYP7f^Kf zNWcYB_(Odx^|B%S920Q{g~|fn*#W_faba^IPCXIq)V{y!z_xQZ)PC~R-hC)CG=Mtv z-b9>ekFVFKINBuT;JHvUs>I&fc!n;@)F40xn>hLl&V80>AWX##@X$=Tt4H>UCW~N= zdy;NVgqw)Q4F(C`qF^4CxGI%6 zYgwdlq*w3?jJOg}0-QMp?wsB}E_mI$Mjh{ez{#G@T@1D(K)LaKVD9gP69_G2A` z0$S#1exwFG3{N+EobK-({xL259*Qai74!HRAdHZ4#F0^DpW(Zo{BarPwwdv39KuZm zP|^uq9C4HE`0uv(-ib_fq3wE|DucDuNKfjRy>~oEG{;Fii%|}ztc(d7W*O=6PlV2! zJ>&^C`;QO!-ieQCP_F4oQl5SK?!Mv2mBfT+>6U=N+kgz(phr{Walo<4!!Q)&ifEwR znMr?LBEM{AcVq_mIvzTi8MYsH(?~h{o9)wO0z-Oyd{vgRlFW6V@b10DCn#vkNzQ(K zn!H`EB{tU-lP>9y?av^ql&Fh5V zo=g*XsLyHUCRIM+8#J3wVZ=WFvvSy9J%}y^X$Z>oK*C=FeJs(i7TN5OIT=dxx=#bV z7#XrTQ7|i;J-bPJ)jGM3(mzjxdQ+$k49M0zL)g5qfkHN*GF>~23OiGy zg~X`5smtb#%D65v`NBhUwytTtCD4B^gUrcR7$oi|QU+tGcX}bENVqORi9#DxO+Kg; z3vu1c@Jh}7)c{{06z~wAXdlqtnGCy}1ZId*$p%#%O#og-5y$QpM)W=kGl$ls1x~|# z9z;f)I%Y1|Q7!aV^r@6JFINzLbA$<03UVb{rB>oULbB&1t~El8kx-E!5QU(4h^aE2 zqq*1*3pw%jE-Ee#%56%o4%z%);rIo)C_BTjn6EeSC1w0iGy_IcQ)6HFRi%akip<+( z=%GOVb!l0@Vvi;wr42Iu?FnfPfL34p#`Bx6EtJ<+%ly_-DgS9%dz(^rA$JJ~N#i<; zO=>R^m=e9WXfJ;#n_wCg?T8J~%qUpsE50)cY@DR+xZ6VLOG_V%2|HOlFah<(7S0~0rNBsjY9-5D-itjyz}v45h?qu3T!quMQA^enn5te{DF zu!-i6ofJW0qF9O2Y)f$|D9C^ap{RHg9zO+n85}N`p6lRNpQ&1qsoJ@`R>k+6@|jJl zItYt3DxioI6g0xyhp0_9FI2u>Gr!krOQ_-JguSV2WI)}6ngh4l;w~;y+I#_*Yu$ev zGfg?$!GEstt5!ZQc4ww^6~7005n&A69ZXHIEE2UEy8Idqf?_t9o>cx&&KCJyIW68f zgU!y!Xh~nI5}i)daB9KATCeq2@2`~{^tCqZH(c+H80dW-ay@SRdNH$y^bO`$aYY&|7}5_yE=6~i04)5^*nQR zIq13^0?j}PjlguhcED4LJCHwZ-FHv2xmld`VHfTEWZpL zzc#b!Hi4e*JLH4LRb{W6>0Te+^_KfR^%Kvja>|j$z$Ce#YVFj%b5FAbE@0ngqM=wlAHZP)Ad3U17h5{RmLsjC7rV7gZnEb@WvMroPe_E9tIR7 zy{Q=M)mRnTSYg;(7-O5#(7h(|veDMn#>7Romi|c#=aMt(KnIsxY z+jOLA-8I#!Qd0Q6Kh(p;bsS9)Ng_>gJ85XT|JU_`Sc##f=x}4lK~)qH^><+2sb=o| zqX9U$ga|Jo0yG;^2om>n-oN`+m0ZwHca#ja>yK}eFs5)p;iOHv(O!x zbA4Hq$afv`Rn%1FLqe|KpGsq7hgZ<#H*RP<@flrn@rx3gMgmQvLyJRc=X6x~X5T=@ zIn+%Oa&$2@Wd|*GtRaen2A=o0Mh*@2PJ=hQLk}B6W8?1V<3E}Z)|H<^N?yj5`dtT2 zAX0%v*PDA~pP@@9?o3m+k-(DCG~-j1R5S2Pr@9fx=CO>)V#(3WM);GN{%!)P7(L~{ z6~a`SJ?aG>5Che$J{p5hcS}xBQB~Lwps~Hct>`XS>fRTU%IU+iVh zOdj@55BRlxoEd)#E}9(91dQDAo5(`ZWD;LD^!H7OH{X=(XnMaeHdP59s2?ZLbd$~B z4orhoq^9f-yF?_0#F_w4B`H(5ah>a}Hoi4Qjx~k8a}F2?0-aH7IE^WuqbW-cQtSP| zJ+op55{sQ-Q6C0J%tJN-X2khXMUY%^-H-RwEKL(FnXelACB~v@)=l5-sC6`EE>s{# zU*34DcoT7$^|t$D_J(?Pvg4EGew?x&_}m}TCpNA8rJ+-8_404E2K*kf{tY1@LsW9y z@u)3G^rb$c*7;vI3^U^mV^%ONdhNfQo(#;VeN_h-VU>8sM+a|0Eo8M*UzK`SXgbSM z@@}G-^kjWj60q{cbS3$9)zpJ(esf6JDr|p$#nzXYr{0sRzB=yEcHzIuKt`3?(9L{* zHl5G?QV4ag+GQLYQxjv)4sWQ2M@oDZmG5`8okiIN7K%r|JE-@$T=u zf7!bx?)ADDnwSs$l=72tsi{bl&R>&|fsz988+bCr$py3*K)c^i%P*@D0^d{JB zbKt{H;sUjKe4p%xeu`F657<(AO{*?WHA$d7h|PWB^dy&NaML#SsjZ{$anzfc&tT zQ7T^EaB%SH$hfpya<5Qzx-4!lTKePK^QGDVJl0J4di=bm%|3P);(~xvPzSR5(Sz*w zM*ksJ%8yXpwL zrJF;%G`86^!&93To8Ry^4;=qH9{YFf+XUAwu4?gySkE=kk_phnh7TcER+A)tv^hhc z&VG@&?19`q(Pmgv(rABJSUdUO_(>QXc?+WMO!EeLYW$MsZP1SGz0(@P5yw^f_t>MS zvLnohU0>3KKpUh2)zM2t^r62W$9_+UTR)Nhv{78OQ4CG?gS@y~dO!Qe{4`*xjQF^3 z@yPJM0n`6<7!Kvso@%B3#K+H@ZBot9L)^JfKal7w-yGQ`oSHv8qPPyuUr$p^HxqLa z{8u}e`w;^qgdoF8@#edPfVZ~ITUc?B60ziqG4xDjZ{RNIPxgmH#}D|gt!sYg4)*7p zapyEG72SR3`|r==20kYEFVDWD2F=sGH~(!evq^~GF($jxe3+vx|N8s&+^H4AudeoA z6k_B21>#P^rFrRF9NkL7hyMHhiEU>scU>2i#lX@Cq;NAWkB@d5LHvK5!wNx*l}}jE zxcLVP4M?Hopxv}5Rb3@en&Baz=PAwbqI4Xh?VY>Ek7XHVsvX`6--KKbJJv;$_HI#{ z;V(l;dSF1cQNFb2+G2whzb{Jt%d(X7b8iQemT22XYr8hrm}CK`0{<>oCqBg~MH4$w zm%fmO)f!>$Hgn_u$rDp;w;gd%Dvbiu?9yAQdMpa|HO9Q$G|eoGhUVK^NeFKF(5xtT zUP>L?6F~=6597rKi}9?ew_!KSJ5pzBZvqm@kLr5EzQSZH-dH!<^m;-~c>LbEet1?y zXE6KwSu25KH=`-juGKlL>u4y`SEl7vadr(;)}&g?of&$O0`MIat)48Gcg1b*?YJ55 zM#<*QlZub3sK#yJJk8H~G~|YH0APtrE&b`TYmAgqxo;OzR9bd3V3EZfjYye-;Vb?OLTARG)~wFT*BpS)zy~9OZ5)R*3{f_`PW6SrwTPEaJu^ z8{-T)^v?|O&Xo5Dt1KngzZAKWjDww?R<3#$xP)MJE&9Wwnk-++dg?R38WVUkaJ9(d z7PCdN=u*b?EOLm(0-RNE!@OTL#FsKuoi7Lhi$0jS)aUN9D|Ee39Kr;1Db=~lglg+} z9{B^`5PH^XON07~bDDgojaf!)Y#V9{ENgSJbM!vaD5n~J9`chh`7@+o81;~m)+p+K zOob$W2-C*jPNWvSL??ECW4ih$`Jrv5w7ZX>^YBRi%xmfy*6sA^)*fM{x3=#YXm32T zf?q=w)$UsMiPe<`E;@QNx)$8%X0aVBD`Nc2Rgsx$t__SB=Y3zfxWFfOYBEsivZec| zl8$+hn0E5oPLq3wG^%dn!s~?-)uECVx_$LH+~XjBB$7&U!^Jc* zSpLdAokSL2R5#V3Hl(d(6m?9x>Bx)%-Fc@7{dDZsAA^EO z2oJ&?>+yX+ZBdRKEhOW($Aiau(zOe;DjHzbryQlf(DexG$5hOEjeN9nj2x#8elGFB zP}&Rvf&bSn>InKenzS$=tzf%DeH@s2%zz1KVjX=n&ppz>#MXM26k<H#}EdonR!-l}S6%H5 z_9IvgI~)S-)<)RQ8~FX=XHu>^AZZRg==tw?iB zW~xn5u?pA2Yw&RHb8W+2W1Q*YDP^kmDzuXb;QndLr^hnU@Yj2myd&|*d~rv_+uLRB z!RrpEBuNdS8>`ATwxUK+HEVguj29i+ELj|*oN#67;@xfTEbOYSeXxmAr)~2c#bhyA zNAav;5t5GOZKiVcP1s+y9u?0W-B|*hCUy{}L|_uR{#)kX4oe1$%5cMSL(!M$Bdi)L z#+>`cq74@*A~5$sWFkKAdu;%_S@Hqr?T#wF(%>7tk;z*92mkTJ>acG#ZQ18FvkzWr`Rp2{O204Z2)jtj5P0&`x`s<6 zR`Q#HW6%)ckDRxN;=*TWi9(t;5zWg&)Px$gJR&adIJX)3-g+$0LHpbr?i2my;m*i^{S+IQVBXfx5 zqs18_eP97+GeO25W%U*kR;RUnpeMc1?$yegZZPo4>C2j+k1=ywOdMbeR00^fqC_@y zMbfz-XW6QHI${Sa5PWaj3z<9x#CZnmpC?svOhpFJ=2svBBr0vH`$93aQ7JjjMb$@M zz1nO+nm0!jW{9m~BGCQ`xi=;ME!p_9zAJUPzUR2{Z+7n$nBM<88;_u3v5H`LD8f@y z?W5k5-q|7v%rRB7W-OYLQ&^-zFj>3L6dWRdcPm4Oq6plt!5S(zhr?D-&x_lK225!D z=%-7TZro}&)c*SeSj-`$EfhU(H*gEb9Q#Hc9jWC1m#+Q`h^Hb*_o@!AOvzH5Wn(jY z?CR@rbC370?1OIYu~dv}hEyI)-i~>{d-3_jJ1s~;P9oi!)JiEmTVL$npA8`S>r-N- zu!86><;Y=)6C4=*Iet@1DK96{{djwBs@9FptwN<~Ecr+O-a^WGxz@t=|6IvA%al~IQ(xO`JfV>G5l zn5g7x$oKh1_r1phtyL_9NS>Y*jr+gV+^`DSH{{hEJB0;W<0@J-zau!1AoKg0XE8TK zr$8L%i0UZp*?n4izh1M8>dPwWC(Ohcgc{Hp39_aGtEp{jy;QS$>6VF~w*=pD=UHCp zaTiTd!}Hk?p@x|V*EB?@HcUo0h5j!|KnJ?e1^OM?PG8lc26{+W4KUnI8O5kg3L1jU09ky4 zP&L63S;lnR=1IkVqu1wx%m{A0q<;L5);lay6}qZ7dV45oc*9A?{xlW?09CrRuqh&? zUNYC5C&djpY!1)JAOWc;%$w_TDtkG|es^TANKNOHfV3{a3|5 znMhy8OCf!b??%o#BZ-S5kP!~SW@hO*#(=aGQr-ypE>(*m*VskFYSN-NNQWk7LMaC4nV2*^@%QB3PjG0@*_7*LrYUX?mw<@`0 zYXB)oF?dX|U=Y-9B~x%^Msuj%a3x6)i=&e@kU9aVm06L#yy9MZi#L_afLrqIPJh_P z@jpnphhF@qLy-*3jTuwulPU~r7U~a4v|+R3i{@reXF?=Kslc}$5Fq)D-Nq)M1rw0z z3PSjijRdis{{rtcy5yY9U-I+1tD^3}&n3;*uOU2^A5e+<>9F8>>ueq4fqhk~Fk7lJ z%TX4Xw9D)`ONvC?%r0cy=-MmtrhKcUti^LHv5>Hba>=+3g<-=@KG{Eb8EigecnMNu z74^a9xKEMz(}s2W9s0xT4{3Pk3E&=h)Ge(=zy>DnZ|j|GeU~o9H^_cG&(h6)mLb&C zs@`5US(Y1eE2oiSWhCAI_lzHl`V5JNmh~8B$%1_sX zE@D`h>v~k~B=ganuHqk9+H-5q$A1CuRp!%6vtDe&C>S<>Qda|5FeHS zomh40aiQ6T8ph0+ZzgjNxp+g@F{qR^PkYZz%O7;GG+tQ1<|6)l&Xnj_=z-m=Nxn%* z98-_&c)pKvmvsI6Vg@?luJ#BP<%VWoD>&ZU-eqQPvbTSZV%#zI zvU#@dL2H5%)VJuQ|Ab9anFH*I$#nIJ9sf3FcW*tHlo^shLob)W-T!^@%-~vq1|V;{ z$tDZjnPtebls)Kgcu>vo-UDM~5 z>=puOK)cCi&DP|7Nq2^D+p`+WpDyl>K^x!8J|-u(9E{LXn*cPH-6>jweK*Jm{hw5; z(G|rVx1?rSwvRnac2wa)fS{yr*OF2CjNWg$i9(2_B>AU8=KpJ~Fe3 zefta2mfqQGdH3X_g`Vq<{_JZ5*AkV9WVv>TmAQ*w4TfvG=kxlG$}(mUIxH5jNdL={ zK}wlf!?QOU%YbsS{pD^4(^h}5D|_XRW2>jqH@q_m;-bHJZ_e^0tYx=3<<-%q0L(dT z3}d9eG1+Y9rL?6okmghS=5FBbvkz~gM?d*{VMd0p)scW#u(+U4jQmR8*-qQ9JXdJF zw&|rERm?icfr_4uHE(TZz2gGkOXR-Rg?&s=QsrgauSMZSQLI*IzNE1?DBTrZP`W%e=JO4?kbu-T%b;g|B-{uiPO=+P6v=4pM<~ApsKTWEb;A*Jq34 z%^yOqtO=Hzj&{Rtl$(wSNqaB5x0|_ke%e2lA0tpA_zr%#XwbDDY6;n7f56JO&#T`U zQ%`pn%t}pPr0iEd*b7oi927nrN_jVYyf<=b;Q-sOx-VC2kCX37{G)jiY{D2u3Qo#6O;MW4v zNHcFbVc6Fb^9`wh$FWFL;}P0p4DjLS zTO%M@y`XZ}pkcEkqU%wYzF(5H-?#>Lb?o>9o96i6EqYD&UmrFf3rk3z%xP#G%U%y= z@eX87xOX1-?RWgqg+2`f35Q6%EfwcW_vRa~rn`5tl%yz#`Vmw3z_`pg04furs}b@z zE{H4?arDAJ1V93E^#mcxzH@tjruUv*Yk{qmqRC2TlRDkc6AND z3u^iq)FH=V*sCX8JU!+n-ezCtc4=RjD+mX1Ed02r0Z3th!V~Vr9-<3kRf)hLe-V!;208a0J0LWzcFfM$-lA|!+WYkXt=_pPO_nx2y%Er zgw4YU7l)sZ^Y6txr1MSqkqJn2KHqXOfPOW_Uc&-|&g{=niua!GL+bH{XsDEZL^?Sn zBQ+xP)wEtjnBuE50~mnzq?jL>I6Z65CJNe62kS*TTG|ex?rCbk67N3+dbUNiy^Pw` zL(*(qycGqsiokEjgc=$EDy}Bx1W-3s7`Yr8&{i$Eb-tr1{O; z((&`p`N!oOaH!y)$DuJM^>c_(b1B1ieiYdBJec{OrcorwX7*3|MvQJm_$zWuQQYZm zojx$fckyiGqrK6d(5>`X-9wT-_^^${3487ja(G9NpDPc*LE z;9n{V+{q7?O^e$p{I{ySY4bd86!!PQ2ApaoZiPOseI{uk!mRqQn-mf&jsh>s;I+)+ zzek+ydS9+ZTxLByVZU1Nnce5hLnAkX7@pr-g2;w3yR+{b3D#6;01y?Eq|XTjdw^2O z`tP6cjifR0veo}T>_P70^Zx(C9^LL?{$Fe{cYnE z7&MlOAw(WEY_k5wADybi`}s^}lZ2;Y{*`$uyA5<^C*NcJa^A5z;rX^Q!0-3&dw}xi zi=KXoHl?e%7i`i27Ye?lbh}#~hg=^&u3&`TN*g)s?yeW@EqDf>l_(L1?H8kb|Eh%4 zSr=Ywo4U9@`fdSHeZ}-w_|$sgHGvvzI{TY@LvpM}ftP>3eL5)8xz`ri_vHZJcE_&i zg;YePjd@X@g!H~_z5O5{8Wejn>IJQQekIYe_lzgDbyCSKAa}`oBhGKP(2B7Zv-Lz} z8&W^&vnSV%rMo@xoIkTxeZny*>!zqva*j)yTgtV;T9r(bRQquidQ7)s z=lCDpT{TCfd!(J5hS=vei^(jlIHo7RJ3x#i*hr z&w^{bSY``*!Hz7psWgsidELr7fbaz7dlH^TsYg^hfd5ymZE(DTcU;(7y0@7uZJLf~ z0*uorcy9}vA)hMTC|cD(v$O9;2-Nk=x3$bDt9i^xV4>e-#Z5g~OJjy}P}*`}@<0tf zu};a(==`R(A+CbvpYx7QPS3yZ;{aDM-@Vf`ASFEDEA2=@;gxbnVq>H9w0~E-`VFV< zXEw%CK!Cjo3;jwo$&a9xqa_>?=7XD(T?z_W?A@>J-|usH8e`EJKXKz;%dc(6|Jdu# zX++aM;kJflapDBoMuhT8yDo!H>0$Hpc?6kMW*C4;2IRH_Fp7`o4!;#n`2%Dp_ljcW zrx+WY=lkczVwgq?j)O&Nxi?V&up_|Xrr;-GsH(wX zAMYl!T^9qC%TEy)eM5%7TS~9EWxn89Whin1tlgEl>HQuY{CLEtUp$cpL6hg>`mjC{ zjoCn4s)ujV6}|pGB5j4}+SU`YC`CRdZVxkVlzT(P3*OB<*$2b!D>P#}24rGpnvPD+ejldlJ z0mHj*-d|C-dCL&^Vr|tM4mblz1(EYu6|Ckok4&qvf-{ovLj>_pG3eF#N~02W$@QQBnb3-G99IL%SeR= zT2O&9G8{^|vR}bw=%f9SIH%S7ho`ezuV@}fjN!IN^E!6`fP&b>+;c1|36-uYN}`$N z=C{hIN3v>UMZ9p@{tB2I!HJS!7CfsB)FW7#MJ*lkSKpKM0>fj*t*TiU609Vur zP_NcUC`NLO4LiXVwiSqwoBtet_8UyZbg4HMsC2UaeBvh(`iJaxV6&4c9T$}BrEfrmNN+p zGHw8`qeX`VB>~SKu>`n-Mc!5CST{{oV*I2k#;XbWpb1lL@mvf@oJq)8!V^fFO9Gkx zrR`2_5x*;tXD-1Rp%=kw$Rt<-trNt89FT6}KESNC-27%*dm&o>4i|SM7&eqA9@OIK z_;#vsKtw1F?L+uUX!H%wL(rcG2;CjUAD{?4-?#n)7p@pTfg4iP#c25&(K46h3 zULptw#Tc$|IkP=|BITA&;f%#zgr0_Ys{3^U7nY@l!!mog0Ng9rnQc)@9WCS>8uP1( zoS!sOgjjOmuWirpw@!|%R^nQf*jv_u`<@yX>w1^Q^0C_2d@zwEj;!O}Glszj0o z%j2M?v}znM_Ol0jHi|T3EKF}McGHY3FNMd!O@Brod~WEQ+=yPNxc5OG&~Emb4eMg$ zGw>E{@TV|Qi`H%5e=kszZ{0$vCqqSSS8|?iTHxzEV4t|Sov5|ummN-aw+4sQ-B4p> z-e@1Ssx!)d_2vWB@KWgtiYdwzTLhckC}tKwbGpdnXi@lC-Z^H>#VLX`EzgY>~0 zPkz-C@0|vq@GPFU|A;OswdB|b_q7cujIfheCC$1-|oK^=)^4rQC@ zDY}q_@M`_fvRDvHaT^@RnzgxrTb+#?{2NEYMWUG(u3E%uaj&578GX3-dp+&5)8_!p z`7X+r8e-w$5chkHGi_@I$Jxc2Ozn^5;ZI{aU}Q_jQuF9_h2`;%v0gd8eg4AcGmjBt zWRj$Zb}g_%{?rjf+!CG`go*M)_~*bAx48}7Q43o?PRea2crmi&R|>2@Jb2>r+s(`e z$VpN9bC(!=jlJ@>Ve1^gr;OL+0EmU#lCbS7^V_;B+qXBj?<8LZO?*h%FZ*9azSJ?! zvlw||4~oU|jM$0$qZuOs-~TOvJ+#Oy7pDKOX>1i?4{vPVplR{Xh^Ui zZKN0$nZ@cbscqR%4AL!>@EOFsHnUVCfjoe?q$KrXq=t5q#<9Q_i6+XZxY~b$iWbSK zJH#gFp+046we_~&!2z1f3S~2jd(DVfurg2@F>t+OIGd)qyyOHItWC;f<9NeB4eVOI z!$`nUhh^bn2c4}MPZ=k)FCMcrR#;#e6@_ixPdyAz1Rg*~n>l1%GrAN~Yow63;6ZOw#2g z;6Q3xOtF0TZF0EA3iA1wX*cl_JYeZ_vNreJuAmn^9q5xbb*+JY(iQ1EhhsxaERcSm zoj%DJWeen7T)ZIhFJa6S7A#ozSKE_|WkmUlPR#wGH&vtyB7+#bWBQeFfkB|(QJT;evKC(Vm(;)x88 z&SuSC^f80MDUYFIQq>T3wO7TR2H{KE9nWWlRHn6TF16($zUpjRj)v{~(O)DwfkvOs1-@KEDW;dPhx z*BdPI&{N)J$;srEMbs_z%yiyQIcC0wJsb|KKzbDnR$Gh&Y9hTX40i(|=J4VJhdpJy zQazv>vu1b24MwBifF(^~#SLSX4Qx|M4hu;bLcXA>Fx}i|RyoVokb|E&Hms#u!YYOE z&~&lKc=;rdWRHJr%ZIfx%?J2cPx~|9=ZD?N-g&@+ANg&}l?JbaNdjQ}ze&l^l%c?x}m^)t!Ov-fK z?@Ih(fCXiwe_>()peHP1v8cti;(ybtnnDT{>C&zCCY6D;W zoc=gRk#6w4a>E^4+8l;Lwe63zNNybMo9sciX>!`~3<9LeX~ zOcr&ASVGj} zw>b~n_=Acq9&m4Id>1GgI(3(kP6!Y*tacXN;%j(_&+gRn{|>UoLKz@C`f0y4zL|6% z8JL5FHpQu_DkVuFalswPk#_z()MD>YU0jiXPKaP;@E3W>X;==GV4C{TVFV*NNl$}l z$24+HWVN5;leF12#e^i~YM>IgfkON?IpiAu*L!3VKOzf- zS9cDdE|f@pE`JSH{{4zolS0IaW`Zs!^$@zNP>I}T^6ICSUl;qZJ)`d&N665$Qpn-l z{*tztI0Ylx#}X|+Sno?Ry|cRfe0-T7YEl|%XsV55?&f>djbLzR43{&#`W+F`!C)I; z)_=TItlcMuua*7Dd2Nu{?a9BJP^fCq>Zc!}gl_RaT~>DYX9NwD``b-kop5}bQbqtp zFYjUe6z%?Oa)@)?$b8Cg47P3Fi;szZpI!e{wDfbxDL! zQs%C0vbKJwoX+ORyH*>|PVV08YK!WCONKHL-nc)Z#J%V5JW-^Zyl*DB26r4`=17Xg3`0|K_Li*RM7rqdZ~q zRFJ3CJRQ!mfC??Byt45s{wHAI^sE3|HQ?aZdX%mucVGDoz+(_eM#1xdJc}eoz%vFV zPZkw?qGluu3CJnf6Ja1A>du82=J?69$UfJ>Q+?KmZ_6K4KF$k(AKn7yi7|hD&RqC2 z;g24(9LN0}%1dau_4v*Ur)gK~L^A^c-RdbV3=@())>PwkI3X26YH z@+Ls5$04w^i5{(Rr7UNJJijFJA(p;@liyd)PaE0q_jnU~${>N+R^|mDGXzAs(9IRs z!)4jg`mUYd^!|WFNBgE+_2yrJ5+JE<7GCRFAjRRW`-)xIgi6!u0A(SiN$D{4s}j0> zZJv(tA3+$iSRV2oe$$TDyNbQbAtGaK1ML3>$X-nb-XHo2sNL;hNbOF@zsA!P(h?bn+k6*MP6pg6`?qD%we8TgL-Jt2 z{Xe0;D}h`6^%*OA{I@`@yRm8xL;JA)#|igteP5|lRB;J$2d^9w&F;MtY?o3 zEthioy6FigS|>-^b7$7f8~ym*qhJ`Fc>yGw8k)pw)RyWrL;bXCObnHF<2+YEg14Wm zq*E}ddqNXIC!g+O_R(SLy-^?svGghlk7?{b*;r{S5}dc|7yQN*_xh>N3vUo5sgUA$ zu7Li)ScRGJlLnq*bieLshAU#O7?_Q*XJ?WKF`0@O)xoLrDMDG zeD>!%V*@voqGK7(`xzFFR~SSpmA^U!-XAfNeO(X`N5PrYFz} zqn{?t?;jN~3A_CMv5~`yYLAMIZuXa-&HMCHxg*I`!11k$Dyd7HxH^uTLV5+8pdf7@ zd>nPRvI^Nw7OLpnUfgk|DvasV_)pd0-bL0N$+C>3=*WvAxYrEi78-j-;_R^X9E-;$6!m!E1sXEJe#8)-!x&EVLo^NOIu9ZylbYcTN+(X?WlUw4%a+7zoz%(uWH^ zE5xscBwEnVO8&t}w=um`6+aK%P1)y{g=Wo_qZt|of9yuS3WIgcQ~+?l^~gc$^r+M@ z`g@Kos`SG`tC|Aatpu1Xi<7o!`) zHwI=oiO;?{WJ~HS_x%7{V}AN_<%~^Q2Zrx+yqHGI%f_!dD@iB0zSr_FdV)+SESgJm@&5WNoUv9c7~{-$!kELhzrfNw>oO z&{+U*ikDNpWDeA|f==h_0RE&B=X-d>zvlidL43Y3{Sz-~;q`?=BLC;F7CC2X4yRH1P-fE4iFXO+Ri+m4f3BWXG2!kGsRzU5S8x)C z*6vUKY*_ui_{jZfy*9|(yr<(nI_13H-K`9f2|OSXx^_jq5e@_~MtOi>r|WcJ!_`ds zo=*E}WH9Zsl+O_G-JzB(67_73t0WQ>d6B9=%P&snU(#Tf5_A~1u=PcCvs~|a5#yJZ z0fgBC+2RujH=64!DGL>&NE?9))!j`aNJHeQ1?=RtwQjx1RBb%bfy$Hz-&kV$Jd7TD zXt{9R!%va(9!v$&_GYTVW~jL??;_qCq*LGco~Y2>$HwuraomzBSJim0@&*O~d*$Q6 z)JYrh=FBT?R)fm-72hVdMyqo(*uv!TB}wmNoR z`+n;a!4eeU%wkkG9mgJQDhz;4$W4O_eR2u-4wxn>wK+{cyzpu8zQK%{REQWZPv)&M z)ethAh9^#;Zm+!Lg^^Cd`!iZ4pJ?iIe3%+q0ihp-Q&8iTl1T0s+6g;&(hmYaPz5|c z4B2%bmWR>e6{_m|W|bM5HAV6ZWEaCU%;)~X1v)s%$@u9Mdt3Fr+Gy+YSjoEi*S~yP zgOICW(8jDA5hjKc_WyEcw2A_y)%^zOKe1H4dXkY_sEF!_{wI&JwBpeM@`PyFw~$= z`m6ECR_H4H-`Q_J@5~-h94cS7j{^o|;{*M2z|s|O16IY3?buErB6vU#zTp&8^IShf zu@H)#JyFt!hQ6#0_h;o29+1_%~gxK&+{E;F-p;KMIjlZ0?1`_ki?{0)cP+{G0&heE* z32)A^@j?h&1fn=i+(hnizzcX%e8|KoPR=D@#_UA0jChgK`uravS^j&(m0%++}`9I?(XG0+|m- z%8~hCPHO8rzc-}?NJ^Zbc@x)z@8Sjk->olN|M@s<9=FZsj9;|Zv*KRfDwTYSQP?T* z;<78w`5M-v2^9pm2j5~@|0LRNxRWFT`kk{;$PEC^K4Xf`0IbtBw_J~O+Wr&i*f=JI z|9?(T5I|T4zz(<#Wc)v;=g49t>0y$6M3M`P(S&ZM-F!Gje5++RjL&cO|~9!0{>3xK%MV)YckCnKqx2ua7Jp@u)t`1mWtXL#jwTMnnJtTjCNO0|>i^z-;f_vW+ogTm4gYXn;k}upe5i(SPO?aZy0|gPe zAm=y+?}DOJ4})XNd&2eh{Te%wyX>!(VlM)1qw@R84XSiW0V>ZV#VA=aY5tIHi|ehY zR^-^n{rLK62F@qIE3G8Q z=ul+W$eV+BCIwyi>~U&jz_;ER>VKY9x`hUabwdOyWx8=9vnbV2NpYD0%l>*jOaET$ zh{-TH5oL3=$9`KZFa{aIMx^$=;XyXaJ|GanA&g3iwknZPjJ2%XQ@Qns$MjkJvs67g zX1(=vRazH-G%RsoKb+3N0{Oxk!=~(E7eV=}wIl^ssfq&|ieeq}b$FKg;Bogxw$lXy z#DI)?B?_DF8Sgg~pU8CW^LlLeS1>yi_;1f>E73Y_fgtg;dsP(*Hy-`fma|O3MbQyc zjx^SLOZ+7wO_M!jS_CQ;H>n{h?yT1C4bXeagl>$L-Q|lg3U%}yOg>u>Fht!mOvtU} z^}Q3m>OJu}0xM@2K_$QWj47fc{^D;HUgW=#a{MJ|3dHg(=B+BDC*yO0talLsER2si z>d{SNgkPrQ`~{P{{S41sjt6#_(vAm(rlwTbj#ZI$9nY&bo)=%cMb~v*9LKto*>#w) zvDkJL{Cv57ZZF|U+8fPAsouxStgYT_d)mL_Tu=y`3>Nm$LgJZwY6QxJ6-ZdC$GpfA zngEdE&h#g~3#na`AV&R$^)I8J{#vBv$}zfpRB$;q8lajVzS(&>O(&1zNq$0G8w@kx ztJRP!Dl(o^8son z_sNteyyv)=JE>(t24#_6M#pyh zZwJ5Yuc&x#`JcSI0kp`5pbjWx$U`WuU0)b-$jPn?b;xz&r2bMNmS z)14;V(oUr*-s|JN=G1G9dHnZV66dOuXY6V5)7wV|jo00%2%A*G7N8}VBKI`e9p1wz zjRopbdw6$ga^Jf9TXt9FR)F8wCfj*=IoU`b_|2tK4H}TcfN}CLkmDKjdZ~CP>-k&l zgC5osT%=me)SKiI>pLRR!}ea&DcqR+&ahGq{e!sRPh6W!7=dnMalsfZ@-p_~Z+Nqa z$#eti3{hs(9iIB1uLy@o7C9VAF#0U>pB68G^uvv|y_;87&N8|J^$MBh%?^ze-W@ z71|D(GucZoN~1V-6h%2SUip4_hd$qB4vFavb`y<+Q-q+Am2LI=Nl!`d6a$-EKP#W3 z$f<={f7?5;E{$~;@8&9A$y_{4wueL1*En`ebBm zTkN1bgItkJQWjZ$@1SCKYlFG8LL8XwT1ofWyoUY+T4zpQZNLDBtvl5ICUpZEmK3Sq z8x>3KId3S}5wYYX7-)=3z4OuGeJUh7+kW$HE>1d#7oA};%c7W8=%g(SBxCrvllHkT z`#arlT03!34r@w7e6>mML01neHP{jdC`6+~;c@8=tOhlHgIa58iUqZJ9}yRe<(bDp zA>|EuN8+9qlZ6*QYaea9k`;Jh!tC|q--Q)FWuodsO>x=?g0EiAA7zL@DcJ1Rr_MSY{aGQwZ63M(=j%{n4X?Th;? zZU4zx?gZdIJcXZyFs`f%G*LHuS=QdAJRmQ*yx*bQ_4wba3d<>$;;pSZ*D!Nm19 z1NSa9SmStx!VMR~rzSgM;0Dm#Tug?&07SB^qg|z?TNeVBYLDsEGao6aik7t`Tk|?o zmKN;f)tjZX^z(GlB7w{cOcR|Sq&z>*hq~ziC+`%13ZPs$P-YR>Mu4_xSt_v-`gcn2 zc&0=kFBwK_h|r%5rj#KrzG?qGLx0%-={Q>Ru;7@5X-HM-QS7)?F;ysFrE&^6!tIZd zks^MfAbu^Vplu=iUO{7R+Vc+~KU=>NR4?CAVA~f>=iTY#`AD_=>Y343-|o1e)1|G} zU>(5a1^b?+jD0IA_35qTo9m{sZp$yk5ajX?*O!>D7CSWDQjwp@tMOwkKki}*LH~`1 zkh|63P?=-!2y+}&TvGUJdDeyC_d2~_q@SE~9sy{p82WF&I*k<)D4pfifSVJX1yCD@ zSvxouK>-q~sC61Hob1T6QLlD$>iKNd(@b}ZpMQ3Onjdv;FvhcOy#serDrN+e_izNm zQJwq$#zVH=QJ%{(te=s;Yjc6yoR`Go!|0p+zOeuEQHglM$%&P47~(iYJgNFwT z-Pb_TI{)e!dm96_rJEv^M}O5ak~a5VKBwu5OqqB1dtT2j-Q0cXOWN}9Xq�QG&wD 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�ByV>e2S-`%F--51{ytKS&C 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�>{G1-|&tqR%Hmf zY-MaiDK&n}&*N0xzx!r)IVFJPE=XB>n~i+*C_vC<
*hG6ef0Jgo5?^SF`@ss%q z*B>pfH!d58yT8?V$f?Wz2-+J#l|ld)*okjnUT|X;oK~2Obflemi0c+L@GFBJ0Jh}F z@iH)QC6s4#Kk6ib1rn5XH+CB`+38OmI7r}&(Zj_sDI5RPWSjRm%wLN1p@5b z-w2nr_x9Ryu{*8M@8ErnjV!p?CE4rYQxTO{qOWQ~xQ~E^{Eg2ymw7CEKSeD&`iQ~A zwPEfL_d)aj*5AMQ(;2Z5z44YkUzZ1M8U3`G^#6s+I6ztzI1BLpKjHE(0&CPp8A?E~ zNnV?5s~$;#Y?BCEE{G9%3@jSh#MMsR!Re-BjXUa$b8z3#Lqo?Yrgvd-LLzRg)TuJn zP`YsWQji{#nM8;_N@}Q*_n?V;{9obHWD{4B9wu&?6C3?M;qv~~ix-_b)1J~Xva z!3y)7XM;sp#oh*u%TTZ$Just^jK5JdSVVNtP?CVadM_<}oj;dGyxZa`yI$cLN*FCXDwE{G6&@wsMGK zU2fPiBXD-0iCPyM3!k_L5{2?M7JeXaX7h1zL zQce?D%{5&c!nEjfkO++oa`2D&w<=c9#ds=tzxsGq(EEO9BuO_!GI8HKED@wkL!Q+=gmfNy%mtLFPF<5zWH92P?Xut!LfvEI(LWP=#w%*}le_%DN7 zT+rGNLxdpK^nAxmIug{0341Zt!Rw7bq(%!K!J=2swFEG3=kWzn-l%K7< z3V^*ewR?8*UrPT(hopQNM{wG;jeo5${QNWJ*J^*j$c9z$(FlXe#QKojKRUO0_80%q z6A|a?xWjK-pFTgGe)k}zbKuoQ3^-Kt%P1Ed;~W|=DmBC<1SE1k5kzzDQ(>~WfjPOh z(C2>faotx^r0wu1n_kM?;8FD%Mv;IHKC@LQxOZ?W@a8wGD e`GSG-aZVPie{2mH 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

?5N5tW-=}iY40#26%2Q(G@ruHWIH-p zzwdRLnuH2Askby+xFg&db}MuT>d4X{98(ua)RS#jZ28vQoDM@)Z94l*3Axu)F$JUq z2X`hgD2=7F?}4Fowp#*lje0%K=E35mlp!=*q|fxBy(5g`A^F1Nb58E&xYa{)x8jVW zwn$-_*58Igy5x$%YHYijixWTLLzhplA2v zuK!(DX`Ew&iVsiN4X<&Hz|bn)9#Tmoi%a$2ens``U6P4{ zzNzgt@81sDqj_W@%yHtK!X%WU!fcZD37p9f+L@Qn~0tDxv83 zUYh)Diwolm0>k-6)n>y6eO6BsT7Q(?RXTUPwv92jq5Z>0i!Iri z57)kYI1q4s6XN*1e(OIDfM%qtLrtvT*_OP+`|nk&;gRuo2(*;AUHnKK|CxHAr4R}Y z;>UWM;Pp{dpvaNP#Pg4~h@$I+YZ3Bq0$~fcEN4^SLEpblZUrou$&VM-b*CgQ*J&2Z zAd#4DZSWt;v3DB`EIhAJ^0BR?JZL*fw(tF|WENo%P@(IY)VhOTt@z%{YvU_!AQCHr z_%U`GZp@bB;eXJu{^y=Q07Lk!kRZ8H<3ioOyz8Y{y&BL#8+qaD=F>(K;x7czz0OmIQ6QQaDL%XL9TR!r2NS$`?va1es~it=W)FAQp0Z4 zBjZC}ScU-U@QPc^u7ba4ZQ$$MUijHSH_;~m96%NJxzphNtl#^9(xXz3&yfkVQGkGQ z37{~Xup;mF<_`d4j8zPQR4gP&A@~RvSS$`Ah=#`ReTH?g?Uo+5u0vIp_T5!V3~IV< zsid4XknZyJt8-ucQM6zGbF$DWd7Nq!CI6MYn@z97>0D-+BmwVS+GF^X9#drbWDM#)J|`551u{QJ3v5s38&!TMtNoe%zYo<`Idr z;E4^^h#fJZm}=BNT=^1GQ-7p-^L3D?p2|xbnJNo~D-H#gyt<>8OTMBxtU@bShO?%I zy}x<@x&9O68hx;?{L@7|_}ln{@clPhx+!lzDH@wZf|LlZ+LGP@X}bXrb}`(i7vGKX zeF%%=sqbCVP~VKSH}^XaB7+KqA5CoC0IDv5gw7b)S*{)5ANh7rUE9I->Pi_)OKer; zmk|?^L;R!jtH;0*nb`7)?<^v0ZZ|Ehac46UFQx3kPxBoRjSRf13<~)ptH5-_S{K!j z6i(0Dyr*Pt|M^k*PmyFZ)wk;s)$1bNf%^u;!1q=Sif#vHF%Pc1FZu6VcujnC!frGs zD9Y(`?UVRBXxd;Tks5JlRLh*d>F3CVv9clzb4Ijzt>{ zE;~A%$+?Yicjk{sbBty@Qbw*gZqyjg4-8&ENnP=FMZHYDHf|}z*+vN~`IM|E7Q+jG zi3FDCvsM^dJZ7h#M@6v4!ZJ9dk-FJ<>#a;)qDNrhENCo&(V{Q{=6OOtE-%x&=l|(M z90FtF9V?F77N06s2LeziB!(avfV_3X@Qajspy~9R8~Y2j&+i;n543WB7g!8Sb%T_b zeLFCtWKt2CkW)FAHX*?ArrtIf%ikUNW~HOSx$DMK^t_9AUd88?R$yCjF$DZAB#Dh-ZcbkXt~s~ovM~A zv4U?9AK6Yyd?VwU*jgL9L)Udhe~m38UHIZqk+DKC8^}6JoDbAJRF%o@45_~9-GP(n z7A0~E79k>llEq5HCfC7t_J`O3P{@%E&stlI1$wFYTiTUMdY3)>Kb}yQD@iA#djl49 zf6bYg(+t4FnJ`>!jB=Onn6q**()99DO0*@lnoXnT8iDCYp;yYAmUGibRnNzrl9~z~ z!u^{`660xg${k7#?Od*WEm|A9W1-ektR}J=eaEM5WsWeSm2)zo^gLhQ>9Vx;yoK8I!r$n6=@)V? zGdgC5tH~V&o^3qOMJu8J}arEP$pi_!o^x5 z3wJnwl{S@DjXWWk1Va2ZHNI^se89Y zk#y3Ey5Y0Q0fS%_ERDa3ULhM=ICb+%D&vTP9<|{>9!I)A z%riTVsjtM}o3WI@Lcqrb&yuxx0ML8bv^$4p(oWKEYEHuqZ8K6lnau1e8cC`A3j~%_ zb~B~`>$Ka&de*zfgY&pNuyoDz+8%i>czaED061-@ z_G0dY15pf~c$)x#NL5P*?a#g9Tvg3F4xLTj5e0xlju;KvD~di+Mm3k5SZa&GSN)Y2 z2G(^Rk%57jADTvLVd)^=VkqN%YMjQ0vgvRwJw_GufB-{c?xntRuFbQznllNCFU6|# z))K@HPFk3}m&!BKkBX-~Mv~qZOhrgU2ponod`*K zXDvbBw4pCsdEAE72Sqt=`G)5j4c+|ZC%Qb#%y=%{^1@xuOQF zamS4h7sbYc0j%GhrxC2oH&^H-LM|fC6NdDfax0SlU##;=Y9(jj$Nq9*hnJ9>O`er-*!kd8^m@K9;Bj{r3AIb9>vAgyLk>H|8&)k>Lo zb&)@ex=)^pGry3+tIBB3q;thm_#2GxF0ygYrOl_kBF;MTGO-ImhNVZOgVdXdH42wI zFY$Qkljy4Rkgd_<#ZHUs`=I5_mPT$ysnee?)2OT;WkVW1^9VWA)#{3SxB`V(-LCf&~DAGL)>q=Q+lc4d0j0bulM4Arh+%9X``eZdN8wSDx zt?$jXSF=oH%;>8WrO5vZ{@3yE!yPpA0oGYIdQ%}dY}EU}?dxx?fwbVpx){Dg38F8S zNdJGw)<6oxREmu;$S%M315HTIn98ZE;OI zQKKN3j&>N8MOv^44_(V`aG$o+M(RM??z8D#@m@D)XVZJ(C{J)A=WT= zvuwT|Y5M!VG4ej=U^Teg5Bv05Te$lCCTYIH4vUm)G zO@`rIWpbH(=wGSjU4zQ{V6_eQR+SPbru_Kgx0+RXqSiAia6#Fn;kbk{+IJ~N7E6*1 zWe0~z#>66oww-c0RvMNZkb|hbUjd3Pos$B}p&8gwz&8DjWR+J8ZTg{O`8PiycoqOW z$|5}Y^L|m?El!L`&zeUOPQ;-Z#}LiRm>)Ax&&jJW%;Zuwc1EWGAG1DG$JC9Y@$CL?c*D0C2m6(Vosb2u7F^oDv50xZ_t@06&Vh-inE?eSW_8@t_G@H4&WQo@d{y7|Nzcj1~^V6jp7kM?v^Uk*nTgf=5XLiIuFt}z0 z@MELD(D5rePv9){WJ{hc*trxF6s01-H{PehSEN#!p z$qc27pYpu8ZnP^+%XSj=(Uad9u<5Cmd1V)90NSh7wOiym?nAU?OYvN^4J!ND&Hy3C z{qtlZbk7B5ilH?x50n4s+?XoSLg6kT-Ce#=cQ`Y-Aeye(btt!Y8GBYwt_o z6BD26Qqs;1ic5k;V{%8{dwLJQnNY@h;Is2%J!(b;AmxpIN$;}bH7IsA;>X2ndnOyL z@M*q40@R5B3EWS)jnO`-_^h6#q;lQ-a8II;g%ck`t@-rlX!xb^?t-v+Pf*?~lz~)Q z*1alMVxXR8%BtCr*IVEXoaHc8Wwqy)p4r&)PPXmSqv7A}BGJuaMZfKt&j2e`Krw>N zUggLjk)zTVasCN7?PIg`PI~M4Che6$Y+M}g&VbInVzrCsv;eK#!ubt#-4E(EACf;2 zD$9$j3(vVayY#(yU^<~vATi|ZP?j#)nY_Q_;qj+k14&MF-d z?xe$8uY1tN7@+0GyDu#olJ2jyu8el^N0BPJEh!^uMCiUUV-@eAF7rJ%uZV_39*a3C zi|3i!fm4g>s&pDB2Yl)H#GXAqh+L{}Ipp5c{oNRcUiUKzo=9+%HT@K>ic}J z2k9cML2n;uryqwFT(rho#j_WEE5{t9+0p{pdcapA++S;hMf1<6r0NG$l{xepwsfIx zP6h{dZD27c5@&HgkDU%D2N7ZCwE4#0(z1e_X{b_d{AQQ2$~S0Qj3zcn6u-Ag;jNNQ z4NA(`wjc^h`ox{8nj~t|wP~5bwV0}>f?(r&q2)s+H74sX62UbTjNx0CFulL}tK~z! zJ-6z|Eq88JyQ1kDA5xd|ETGYuf!|94<&xfg?~Zvj1ttc9y_QG<^}3hgE48r3!Qw_2 z;HKsUAJ``kbwfeZsme9NUmAsh(JuZzL9pwW=xn!T7^_CAU>}9|b@T_tXOogID%cvJ zz{R>iQt9b#NY>#|7TN^vb8{{1Cap21f8X0An-W=bo?5g9U}x|F^Ya0mNb2>^9t@Os z_kXSblFZby{QVd??_OE&;;+?r`P}7NQ32=c6SIV6Aahf{3}X0k+oLiq6ojE7zu!vJ z986aXgdQ!s7xeEd$C$Y}CAAGTQfV4|iibZNQ%H6aS60N^WmyhMqY6s~u|XC-%2 zw_MS^45HtmL@W9=vt}a4-;f_JRBB^Om`HPB-z%V<-STgWeiig)nXZri`0Q_5FsoHZ5;opc-%| zpftB{D|M3BX&A7$lz!2WLrj*_SC-KRs9oEW=uy~?{?*(Kws zH_%AL&rE3*J|6QBR&7tNN8ETja1n>ubkbrtrRStW&$q_Pgd#nK(WtgTOjO(NLyBKD ziTuOHUKqp7#r;4N5Hq8JG|$VqWCU@doN=i=x@Je=i1AvPleUtcYUFFIGWqIw44zh}uVFSxsfV1f!Z= z2q!<5(+Nn2J9wBR9U@vMNT!KR^pmbX5KnBXZ-Xp7Si|<9k{Qh2Zk0vcU6*z4yd~Op zsy!gOSMB~M_q%TLJgnZ};Cuy^!eBz!KP&ty_r&+^p9WQGr^n&Rz4I1R?=NNvVt+sh zVBoIt{>|=x7FmKyzBhL6WsIwwlK2qmfW3}Aw)Km6M)#3WNWnZ|Y`;ECkJqVR5ind7 zLwup5E0%g@m8UQ4Byyia{(XwuCY~`;fsKw-uRofQFuQJ^F)A4_C{==p>#T zRGVHblo6SasG0E_I9u!5B&+Oi9@+D+xl_PufeCe{&{sAFt|diF;uC+$`R=IDYq`}% z8xAjqULWL0D)gu~_;IsI!j6d1B|!*)83G@9=3$VMy40Ggtby7w>tC(!BEE0$9Y6i$k?Bv9lE zHU@#K&*@V|4e-=N)dstj>;7g}wtsL1OB<_~f11tGOU+mCBJ{*&rv@wc&mwh_;?(jg zuxb1Tq2`blwpV7kQcg33N$cX0&c40D6y}IEv-0|c*dRd~ltaxs(q%zmbw6?0TD4#qA?tN z-e6PyN}{MACY!>lvVhWS9w|q9nT*NUinJOFZko5sT)iu-EL}O{6@yA?(utGfN}#l( za9OGCD_^=AlGh?`AiK~+C1$8uTcRI-f6Av_-arl0X^mP-(i5>LhotLRQeTCn7<9JT zQtaSx&YKdCp0gBB9xA#l7(FGN#2?n94ooQo9X-1Qpp~1!lq+sYRXkBFd}E(wsc57g z9@gabvO)21AEtun-;B|q!Wn4UvfDEtXs`O?1W9~N%nFNOB!xu(0!hr{u&%6Y3SqI0 zp;fXB)z2G|xD}>2F0y&p8mamE5US`gbCSx$(bOL&_qRkOPC*p5ox0>_`|Z4A1vSG2 zqTR`!NAn!^eH-=fqNC;OHSNhRj}z22*3|nn7_1TP5tbzN10C>8ENO%qz1L zm1`;sM={?1XZr)qqw+YyWy3%+YrmbFLPK}T#E0y@H|-3HB4ROfN;4GX;COUdx-Ko$ z2bPtj&VO}-aCsyfM@9}fZEvWszW~L=3h#a1+yFEUaCo!~jIQ|6Y=<}TGFvd6b6;r~> z{gpF1>7rF@$-nt;)eHb{&`aS6|3rq4crrOIF!;~E)!H5sK&S6t2C+?`6lqhOW@V~% z#6)w4LfKLy4uikO9k70BNFcy5CPm$X4(x>zMm0+K`Z z2nt3}W774gK(8aHVyq`wY|RaZe%r0qe56)!*OSpZKlKB7kl(D%$PmO?D!wx4e}rB@ z^=_wI4G&@1b+(LY*bMg3q4_BRexw;xaSxJm&a;ATyVF)t)g1S1 z|J~1ZJp7h9Sa$q`*s_6Qx@FhOl?=!b)}EPWf!G9*`F8;ONHWW3U8YoOat1Tv6-1`# zX3k%8u`SL-nNY*5A2tA9UG;G=5|<4;AV6)Rn#j#;v5Yac#S&HVTV3hg)qHV`CEtou zKI!D4ikMXdl+C>y$bzQ*9ua-5rTiB97pG#;Ehmvo)zwJhpAUC)_-zGc>GX@Ti`shV9aL0^h9J3f_}O@6~+Y-fDMwJ2gm0YB_L03 zu|pijbOFUWtUU>zQ9}x=AqzjG%@l%-(?RUY+Q*%8%^c=U){l zMnKE6zjp~~8|gGg`k4wLgh7zdeCMPa&2;`NM#F2^%XcjRbcLKBVp!qvur@mu$F9M0 zh2l+kMDU>O{rpe_1!kKPS>16j*@7oxaIs<3FDEH9mF zvgnzSr~pC!IjkS>B-aUY?SBwg3Y{FMVL6xXD0D^*~r zp9Fdu7I8tc;!D4kQWGejDh1XvPO9id-hBO(dv`R=>J_<0Is07-{|DHp>f%7I{SJju zqGsUUY~N>~9Tj}_=;lL#Zv|mS*|5FFz*03m@koCwfIR zPXECkPhkN7ilBr$-`o(BKXy(DZH`}^sp*B>tHK2y=P*9LeSaTf{ z#268+XL?S)8A85H8e;xM^SM8F+Ke9fJJ|d8)9K$x%v{T~e8)`ygbKk5cTjI~6MW*t zj-K zQ6niG@$oZYpWA^Nf-|Bb>3DiFU6ssUF(cpjg`-D-uzs~Lo0m0*IJ{SwmWoRTZGeq&k0?P*L_@&pX5l#; z-WO4KCq%y1&VuDv6H7c3JQT{XPX)6!KWh`e054fN`q{8LCQXfOuK+FbvzcRn3T3+W zogkV|7GW=_pVQrmYALFDNKNm7C&y~6lv>hJE)+=;07?NL}1!GbO|NtMgM zUjrR47)rzj|Ez*QD}ZK=m3=ReDs#+sKB9E0pzLz7FxRqQVXgE6FnLj8v}Feax0&hZ zem_8=T}%O)fO$Xb`E@V8-<2Xkabo4L!rRUH9yD6Ync6VjTIMZLWhl$}yp%+TFfAid z_JVz!1F$_9xdegpRr`Bm8)_ri7QH^(Mzi?_&K5U$2DIt0lBw_mTItTuKy!+KGr>ec z;UE{#F9HrxG&Msd3u!hVs@Ba^KC;+oq@A>hpvNVLAUo29=Se=BrTy}yF*?~Kk?#bJ z#fnb)=`CK8aEBar;n@QABJ#%jG$b?OK{cxTRTQ4Why<<-;d^<-J3BJ?*vt9UxBkk{ zN$1k|p~?k9eEH>oG*77$Q-MK-N|Q2FNIjA+_z{s`_AI}WD7783e&Nn$slIM(rJm3u z0qtQG$f$5jReeAbfHPYM?VW*k9Fi}tu#&^x!AOjmhKZiXhic7bjcQ8>TW)zf_=&U~ ziCz2|JIYw)AN5cPO!e0#OU;2%{=P0oo!IiFHCr7neNnd&+YA4(?ZVaThad>Dy0++}vkSgN)A#ocFEiDzu>{cvQ6^mr%rveexNCCrkRWZOmfIWRvFAIyR zF0;z>#`9Z(%5;%FsmF(GCjB=w*?cwc1!@(~Gq+Eqc$M=bJfR(lvYF=552`V_Thi-a zJgp**go{wgk)XeX(V&$9-y2)@wTj%Ti!tfP<+9rJ;z-1j@V0i{LbvMV6I? z&VDNj0EH6(!PJX1Y)}Nd9?{zdv;oYd=$*4$ZvKrx*~Mcfh^{vdz74&ckXJ3X=_#8 zt8A0pmEU*Tv-2}U7l$I~&@2&2wcLOd z`_NV*8M!V@wMFmv9H$%JKCz;f=R7pIFiI6@gTZCd<=Gqg?3qjQyF-7c;*ekB)^wPe zyz=G5j}%YxRt8OOp8gG#+6p@<D;Hyltdj8BZ7^Bqx3 z0N@Xdz;Z6gmIO}K8@y*SS=?w|JR)sH4di%uSYB-7I;mrmbUVK{9P^8M4g?s&u^ z@5!aoC|sQkeAc2ILsz@1SkavDHYST(F@U0Tl`cBg{^kcu%MClrJ=|UCen1yVkL9Oj zFd}}M^p-7(_cwFiMfqZ)Kcm}|7s>MVSFHqnJ3|~ z1DgYesY~Zlam9#FC$?acOQrG39XaiBBgc>pM){=&i%t|j0BxAPYd}{6&F)N?jeo>Q%6rw?7zH4_5-^j&pnE1NTtN1OC zOw#Qu3FUbqEe|E9?)J#3Cwj5;_WM6}0OXc2Itb(O9dS74MZ^&AtvN(5Yr}XHqwxk~ zy>jZW@jSXubVt_a@3^8asg?&|pxU+MZ$HRS@{}vBpK+d}s z4D1cPBy$$4i(=7!!w}$VECFOLUj8PsoPqKK_QWfZhaB|=to6HM_LO|(H85Qz#DvQ? zbsNyw2J>jHI&am93(0TrrXC8K!SL@DEhqVagChj4#o#l6t zT4RX__4<ScN$N(+rPSBa>84bgNPsYnxj;r^g4TVSyNb&abR8x^EveZnH_|E@ zFOW~aq7KoOj-MYHR0(t<#7HYDvtV(Mus1Z*x!`K`I) zx>wHw}-1SLmjtGC@=JlGz>-RFHswMEo zRLFZ*z*f$E%CNz}ft(m#ixKMU%pou~+DyK^=cKT~j6@Eq^bI=5c0aQNXcK4xZcV?+Yj{wZ zdrr}`a_Sqd__KWN_Yl}M!?*B$P^gK}67llMYnxb3YE;I&W3RNk`~m?2S&MjH8(m!% zT?l06?s|=4_Z=@|4FNFj)KRawD|a~7N))%{P(PA zpFndDgSHr5vG2RM%Zl~dkn8X1$zMFbBW@|SN?(K%7k%zcE#q(!c4HhI@^z_p7i4Q( zd)Mm)Mf4*ObW+j8`;w&i7ym>;X`es7z=&~IKPJB(b=mNB?+mhUfKDhyJ|D<)w%FzX zoBsCvd)Adah)x#>;KU4hn--03b~6dMHvg;gHQssbs(wV)pL89YUe%xMP?yDqN(fXzB|dK9n2vFMkn0-YaF9--*nEP)v8C4`hTAd1g!!J ztt3#-g@m3bUt42+Y}~TR>7!7T_|1x^lVgGsk+%uKc{l~=r1TKir)zEx|KkY|rgft> zj-^~x5L)zpN29&Xib!_6JSY>xR~gRAg z&Cw|E4ux`57`)D9@)}Cv)r?+1%daQ}uMHF^`+q4Mzp+`UvO3b>+M2U@?xfI?ACx!c zzB0tbSFPaM=08$;>tOMQJr8eY?i&KcWK!0+D*8$u*&QO6gikiy8H7H{q{B1vqf^k$Tf_0J=m(5EisV;Jd+@Fl z9;K2=rqexP08*I%#)CQJq)g`gfpp}v1pLKk9|;W4{)Z1;8Owh+@ryZ6k>5Ocx|&C5 zIdxUpP#yK<^w+m1L1p?zX>#rOS~2Yaq^D2YQ@h&h_IGcsay7b2TT7oIWSFjATKjeS zX6yN*m%(&=cV7Y4o54K)U78)>rr{rRA|)G)YF2X(w#WHnsgGh|cSE%upH9o`gMz>ZkV^BZkpxZk0+4$DPTwt2uN z%)Uq;8nF}<=#|W7j!kl8RsEb1kJtug&>6&(?%@ADRsGrnzxAK7AdRE;A?9;n9GH!k zw;ETHs)FF5hkHnE`f}V}6pqI+pL&*oU_|;viE@NblAN~2Z0KTWYijEJ1dXe5y7{(% z(TcK+d$rvaC2`q~8Xb_3KW2D5vP%Dhp=fF`7A%B|PPQ&`B;zj8p2p|EJfW6 z;KOWAqtnK2gW!$h2}sB-lXuL(8!OQ|hi_=A1+-4;tpB()lYVpL*aY?kiQkm{z_to+Vk2 zO#Had02!h07^l^6EiY2P4s@ncVjfDvk7H<^m*6yF)ZidS5+5Y^2ytc8GPq#5#1}wS zyn>S@MTatr;I#W2ob|@U2g)NbIB=md19OVhF~<8Od|(AD_9vnVz6iUj_*Pw zf$z-=)5{_~2T!_*5FNW~0aR+d;trfqn`@1RCWu4ay^Rav6b@5W_Tp@B0y9m)EZtNBvqC@Z z+}HMxVM-^$(D_6+()TzfoON((<$)NNm0_7H1foN$_u zo!|FLTAN1>Ut^^~bDQ{c@N+HQw8HOmc6FuAlOZ@!{`+IaXh#f)t)9v*y{9L{+Yhr& z&^28SG`u`RLv2htyzTBIMZbHyptVpT za=^Qew=RT6=x88jwn$dsW5C-CHqmF3cRiHOceP&r_nof~|3$4$MHO=i&H4dXAY@zpN$a=}hLQ)qVTKba)(7Ad(=&M;U`1b;w)pwilEQ zI$hrG?fq^Q~K;o5ta~?-mJ1i;wWeUNtK5Fa%uG`O|N_z zgfcGpmGy#jZhAd`w?e-De>B}?RMY?aKky~607f^CZkUvmIJ$92qu>yv1O!9@1>Ht> zH^}IQA&9girJaZf2s%PZ6-=xT|9yYw{O|0>Zta}+dGEZg*L7XbM_HFUhR^>A4VIUZ z;$Bb|H|t}1E8>Y~g1F+=oNIM`>iHk8x(C0pw_K>8?JmVXZ-1)(K0iiQ@N0NRDZCYkJ9Mn*z;0pMs?h^pihpDCUM3@JOs z0V46{jg_3L)W?szHc>Ct4%E*WvFdvqZt}E;yvTL&L+ZroCo&8ja$8vUQ$8)~5H< zwj>qrogF;?T1%SU;rl`|vOJenRzTu|dcC%0>a=_K+TVUfPl&{^NO&dt`feQi38lXF zotyOK%Sj3KoqX;P-nfy?nS*9uzwG0*#Px**g?p+m+N>W-w2wUam#u6#7tjzsGG9&t4UJ z^XgCZN_)`1^u+M(fI?|8ugTQQ^c&w>ZVoC@T)*BHdIi1cl28hJgjqxUw>0p1aD)A- zSllNz+}M+XEEhOy`Q_)hOUJQw5nI?5-)f6eT=F4%>(asJ5> zyag9Ah)1qCAo5?{U2%vwkcNLZ1Wj+Jm&84<^m@ zW)k5P0D?mkNvmfrX1>GP5OX^&j=hL*rZDaulM%`L(z`9L%MoD;&){#!_Xk5Fb|ND7 zWNvNH5Qh;=#aXcT@ftVIUhMus!c6*_7l!}49((!<;Jx?&LW$Mejm63$pN|quC*vOO z2v|*_l8d*8i!z@P7#cS5j)_V(i&P7WbtmEOj!!@u z1CgW>Uqz-%7NzI#urX}PG8d1Z6QmyJj1Q6g+6~N!udkNc#fEt$j_sr%6Qgs;&?a2w zU%$`+m!z@XsQ-%K&&as~^|>I|H0wKQ&;1ZBGT)Y@ zJe{#uT;_Lg-zXz!H$l}rr#tUd7f_IsnwXgJGZOj%XpPG}+lcJLn>A9!en;m1*O00+ zg#<(uJ_8`Blu!w0wJa9cvNsZwC~48lQk|8z)16m^&EDs|XBwaGxy*Bo0A?h*3TtOn zPUhF_-rJWI1E317$>sRHkJKvyAjtqsZ$ae|Yb7d;;Fl}ukfc3@jB3oCIzs4M5RFDy z&`IXWkaSv6QEhkLjx%X#GMIZRn7=W*XeC=zJMu%MSImSaGc&$IyF{Yc571!xh+h6q z4)Od03fn-Sj}m_Mq&{-ZT?#=y_Ai_QR76+w3T1G!CuDpjS&~_>48ZTcLsPc(q@Zn|?C~2Rp6gEGfhF(=Nu(kQrihDL z@Hwqmp&_4znfSPVp!(SNrNeChplXoW4ri#&!!`!fer(E23u#>OlgA3%B z2o$C?LNKx=zbifDAsAF$C9S|Q0e&Z(P~Vq2u>9~yprW;jPz0#wO@zhBiu40uZzyDK zDm)8DM*V8e=W6K2HGt%kZ=EX|u)LSPXk^V3c}u!AiP%`z;I$-Q!f{W@XD{$wuc^nr zY0yeR1uwiivQ6Id(csBLhLk!*4xNd${^?hJA+&-RWiB}hucF5@2h^Ox8UTXnss2Wq zHB74;4T$~(ntw<2O7T_y^2!dV*&l&7Zn8t$Vl=Czd5gL)ze(u)m zW`o1!35(UyCOV2e7-G@rf!XxVL^~FxHBsX%If0f7}LoQ=^_ayp{fsH@B`%wp7 zB%#}%5l<`68mxvzGq$K1sg3hr{hukcog_V+DUCYc+jdxj3`v1=d^qJ25mOsQ2ff3! z7+H`CuBS62(yL6(8I0!zn$(ATL%UY}R$W6s6DyYlpGuX53^msxeV;xJXL3QeE%3IX zOq+J6a^>M!;Ic=vS@5rdO^zQp5J=B@nRLw?o$yt4&27mlpSzX>aNgpuExi2k!IQ&# zT}w?s>9p~P&YY3}yc529L%wdKq-rTEwZCDYAoY=sVwBSlf0QSzfGjJc8durJHP*)> z>=&Wwjj#pjSGYO;_%VhPj!by-Kx}15vTQs#S`3Ub0GvdwgC-bGDPAwCHCa>Wkd(gC6$TyPz4C6|8wBmdX0;X%}(!nt|D5s@ZtYg-LS8$WSdGoo ztQ?!Bf^3A1KSa+*E9i(Jd-4NnolE99Yn)`uPXROZ@lqkEr_L1p$e$h(<>{Qs08c3> zsNGTQ+?C8G27U^to6r@P&fzi{?CZz2m~F4yq$$r<3iZ0p&%s|N;&nfl_53SfQ8L7=y~z_Qt;rca20Yq zYo*j?7Q4LYOZ1v-tH^%R6IiL3_&Js+o@im45*tj9d3&=%{cO}c;{gOE z5PI>S&!*q<9%96PU^#K1%SGv(h^6;a2MAfPZcd2~7G3|P_!9OX{ih=IxB8TdKB6BW zm9#BMi9xW>%^7LKJ5ewb`o@|2g8lAY27Ik&e=Ix5i`~Qfove#NC`xvJtQ_fJyxvPy z<*grqTg$BUaTLrgWObtn(V2zN4}P*CoNUoZOz7LVfMZ5K9D!E8*gfpJCDw>GdSB#O z>z46;>C&b!spn5Cz!E!kO>~`xTEG4ueI(@h1u`_}=Vs7<9~52>cG$G&R1!^F5mrYK ztN$J(gbkfJq%1Vf$lO2OT?GM_ui2q~z6W~H&nj=_yj^0rsu{HPjXt_J8E^qJ>#B>G zvTb3tX_;1QejKn-I%gsI+!exgV(5!u@d z{;=^o_GcOxj)J}Z*fSOUnJw`1)PIc)nB~vUc3#IRmvML-lb>Pal3B7bHJ9 zYK%^TdE+(D9G%(-3w*Vmf8)(r{@v`I_{y^OMT4RK-GFaj1G5kspICZ4zNx)EzN|o3 z4tfsaggYi2{!sqTD)I=M1are{$|1i(Ib=Ofzh6<~JNftGdrXMW1v{3Ig%s1r>NqC7 zBi6p71B~sl*QW)p3tJQhdy1aYXZ#MO0FC*dR#Aw?pwOzPKvD7zBJrg2%{AO~@lFqV znDutn1-k^yukWR>f_KdQfR9h#E-i`wL?}-UiqbQ&Of^@LmUOTsoka)uksbo-#4Z{s zPe`S}vqSc6JpN?f{R64^!%G)3|=p}J%Uzr8PU2nB4$A#03^X>#>JQ3TQWG*Dq)oU z2kR0w#M)S~{my(DQ}llj!EZZ2#`3(VNtVOj|2S0rS6q(!4o!}&9^)mqo1QCf-XbNl&{^ADJm@-Mw^$E)#h*r&W`yV*yz2)c|ctCpo{jmR_EoVy$w zcH9TpDf#?PwgCe@;FoteYwfm=!3(?V%shJ)l`tXtefLha)u03&sqrWBiycSSeC!crz;TKpOf`wl&TEY! zUe|WWQ%FE!1dVe#m_FUwK3cF4!kTuUo7QO!Iglf%>_yQ!)H61L6F z?U@$Zc1^sOqg^TlU9Id!(#tZp9Y?KU&~FO_F!_FJ0y#U0%4N9uc3GQT`QcBx4;$3<7K(`q4;cZd}iX6$RoaLp4QeNWxz|f&BQa_;a1x3 zsT^TzVRPTP+>3+r6`f^O6fYV9^qI67uBmjdckV^gVsA!BzCw!{UADHs_lwBa{6IQm znDr!h3Oe59cLO0P{Iw*ASL!|v;3&``WzP57kSLWS{=0_XB9)o&Q~r+b2gU2{PnmQB zvz>ibu5;No)bd7)ai}FaE3cdQp4^>(zw-{sgi{F$Wdv2#md@NbjiN`QX$OS zR_kNV+0Vb$34OvJdWGj_^6_EI;`#e6=GAm0*BDEE-jj$Z(ch+FANZc%{gAK# z^fl=O(iFQKWik}!JlS5p;A*&|KfY~ye|5t>BAWRr;tq}-+E4~i4Q1lj+Y-!*92ZA- zq_{aWafIG@tKdPba_u1!8n-wIA?l^Vweq&sm#ri-Fa}I9)Fk7)`B#glPq=UG2OKFi}?2ocXxXMQow9-fjTRvftsws{c|6DA98!kns z-a&E#_)|jSWY%67@TOg5%6?=pe`1hwNfN-L;A?U=&qyN;Z?ZZt*=XDP@H` zua1!Biq|-*2oQxlS2>LaPY!&blZkC8!teSvq*C2ICY)d9_bv`*=11cT#MVopHlXqV zX>y<(*Du(m*mrxiDz)al`AHNO?MNntsu7mU#$lIeU)SD5hNPVG?gf%t`=t#|L1*jA zRqvqgy+qYZB#W1&aFyYp0)ZGXep*uMK<|omfmWq-U#@JNL!O>vQ{v`aDoA18N^5Qayll~>iX%`I=uH`ZJ z-5hqmKOv_8JzzeN1HkEM=CjvLRA1h)?=ILBXr^#eHTRgvt65~ItJ_&zsEh-7#EhOg z#_oqsp3WarKxP?>q~IXXz+qnIW@hHzMH^6L3*OpDfN!JA-pSgnAZN#b=m zW!pCAn3Mf`m~-`5n}h%pv5Um%_A{Oal9N~_CD~IdSRA%tE=w_k(qL@2l3Ng>!*Q%} zp1|T)fz16)#r4SNeXk!Yv$&eBI(`E^ZX9gf>6SIpC>lm~zBhp13Y{M6E`%zg!ANe( zvOI>WpeWXinhd$pO=-KG9X}xvP9{J@xcfA+gSSdJTb|$7>`Ik1P#IA0gcWX9T$|n# z|L?W+x2m7KD*Ffb-jzZW9Ec#8>>TNXBUIr8oz8NeD0GNVoV?@&WYVXQO-p9>e0+wH z!AHJaFi*HukHFl~C%*GPFAzePuRdI>F|q?*Rics^PR?puIsg?{47{_W6GIsljALF?r^HEZk489qr_`H&WV?^m87W*8*QT{+}xs(ww@ zGC`Jl0#WDflxO-I4<{E(OVnChytXD}_O8qsWvIc>9Gz}!0#lzn--ws&`F`Wo1u0~5xK^w$n`M%d5oTqzn( zc%%U~xM(IM6)wcg-SD{8ZiFD-bMkbcu1T6PkL{V*RX$$FSx-z0yvV+yP)s2Drz&oA zWkir$)V8pXWBNq@k=Z00A6r3i5Yw+Zy_s1g;b6r;>#draqaPUqJ2s!ag)|if3eI z4boMilwt}{jE}w(8}&TWhNJ-Gy?}Wa{v|R_q@2L4+WpJhu_L)T;4wgr<<7W8)7gki zd&?$?f0*N~MogEhD*QXgr^@x=tPj@P0wg0d;wBdhCkM)|4r!)`&O=1VYMlXBuePl| zJg$6p{*!_PFYM1ziXA$aCu&EHop(4w|6F;S-!-cz9s1?Yb?8T}r5$sXc8*~JY#;S~ zb5?oIMb$aH{Zep_YCcbhx37udF6WDvHCGvZGFZitPHq;grh|nYPFbw-=b0bkz~Wk~ zP&Co1ncc-ENhZc~)!+Z}f(KES~6(1MH+Ztc@#;afq1D;G}uTGLmy%K1u)v>va;7T{UyTeFlvyNlKCrZ^crCNH;|E%$;dub zr4se0M=uz3s+~%XS>;t^9uMc58w-+wdSzo50+PXhjI7ni*>u=>B+Bl@W~KCN$^9y~ z&l_*{YjpG;SC{CPO&)jMHfg3QGdS;xnQ`z@auXoa!`QSLE#wL_y|P$dB|G7rH}M<; zkiTT|4Q49$C`*oG%>Ua&BZEMtlw4k%sKk%lG&aL)6Rui|r@S1z;wBtr^(+d)tNBfP zP78KHZ}_o&nPJVd2eZg5F+#u<KRk*}C{jO7sizo;4yP}By90)&7JEF^Df-aTAAuhyQrmPH7#t} z)$pR4DKzWYl_|r%?!pG8*z#55D^JtttTX)k)DIvH@4MT8WCe z;T!6)mqNzCm5b~!|J-d36-oPyMKz9&k8gT-ay@hF&XuV~RKz(DCkRCC$(`t^NAHjK zpk?gl75C8-W%FddNXiBf=Br-Ghd%wq2?m1HH8NX%(5e$%R=D)C#%-S7w*zQFe%OxI z&GJIW1Z2pB1p!9JjAhVqT*xh)Gd`A0hkw-fsxV#@R9+b(1`k!l7_(o|+AvNMP10C^ zfQSG>jAD0DHdre!dxGDq2FUCl%X5xSSe)yi+FXpTT*-JQbuKY<(k@YiQ>@Z+BOVvV z&&+ZqE@?R5nWR1jxxupuL0(3W7E`E%_kVwTQJ`;Xs}yNwywCZ@NM%N zZg1owRNhb6-Xj@RMY(p`2(0N6HJxJ*p_xkvdDBtb*$>0+QtPC+FSj)4it09npZ$9R z2}Rk~ZzR}r3O2W}`VoS_Yj+NUTIquEKI!=dp>c32NV9VGM0axw;Z`0N$|EJrNYyIZ z*LFwRKS}{5#_`H;K3*GXB0gccCG=@TX^-gh;CdDo#HL=;|7je=tJ~f$Jk#GX$V~14 z6y6q0-j8!60StsukZ4Aw!kyN@#4MAB8P)RI#@Y|@9vgEM7vQKgW4`p`3}~dD%AiOD zGVr!}V6ySUhjzc1`G6{@5gwJNfnQ%2ZYy>h0Rjz3pqmBQ9X><$bo?$lTGKY=<(kj1)uN#8h-W; z1&m;IAu)5&v0vUy-_$363HWn`|1AcDaKW>(bUg&M@{!~nr*w~-06dSf;#FpE1l{O- zvkqUt9{RW5LA#uJjj!wfS&Xy(Vzq${Fw_Qf(-B5!8$<#I?Bz&L;Mu);y7++z>}JgP zx{y()D%dfoIO-m68J;%{je@`Zn0#^DkeSpljbu@YNQy(K9pL8}&n`_}zo&tbm;)6O5xvPU&+avOytUTeD<&2L`DC2cWf+1Gx#Xv}rsKW7lE2@6%* zeFs==unCs_hzNyTL%~Q%24B8pL?ylFS^8lt(e;uAIlHCs(`8l{Vo!8#*b!;aIyG!N z`!!X@!9{(z_FR>tT4IRA^%sjhb2lGe%I7WGQIcV~cz)tiD1uCa6n2lHwkr#%v$3Kt z8=qhEz!Jv>jQI8iW>Ltv;<@OnPaghyTp}Gv_R$_W<%LyyxkuBKK!Bdkgzae-| zM#SF3tn_@sJ?x8KgHVj1-M2t?mvJ!1G44`cP8UNs^ygEUYW=eEt>tYM*f#r`@I&dm zdZ3=S-A)uR!VTAWXSUku`!W&gZNQ`%vg5GlX5H$e(TxAdSmlSmOeBBrSOXEfWvo`F z-F`eOnrrbnH?uN-_eW>034yR?>6XZb%SXjr*S;xdUKh-hDbhm{n~PeAI^F+DNgOmX z;JtjQV`Q<|C;rgOz-nz%@Mq8DT#H}+leq-W*50>=(pt5YTnEF&20kiStP=;3FsEkp z4DO4VL_&?jsVolVGS2OHU5MKSPmb2tht<(ebVF>4bpEFngi4uCX!rNqTE>G;T zu{IzgW7!Mv?jYXVXwxhM-hGNO3}syI%<}p7-Nv_XL^bP-AS{{i@STW}q?sPW$E7 zo!oZ{o8!NKRQza_6X~A4KG~)rk@LMVgIO5AyL2)EQ4UGJ*#p=&1fC{wCUrt6mz`mV zN;Xx$*ldHe4Qm^oX6yN*Topo=Tw>4k;Gk-O-Cqr5-QOKoyUmN9S$|+I6L_ZCW+bv3 zwmhIj3fZ5aFVgD(MI}Pqz%lQJW60ivdde_ej3U)}H|K@zqxcknh_eI8A zRX2C*!)p%;0Lt7_B|(8+f*0^Fd(*JI3$uqc2^)!38Mj2=%lQi7a13L^NN5!wAI7{? zCh%R@v15N**C#(Ij@s0JQ{?T)eo4po+U+WVatc0Tr7rtE3xI{}C0zAuVJ=29zJff> z61@R@6Ab_d3lljOUzA%N0>qh0_ciG`{Z1%@-WesZ0KdWW52xQgJ-k{P0Hce&{Ze#0BI58@_Pagb0r0IP6ZrXKf8NrvmJTr88B;((qzsky+ z!j;dkcECa_K9)659EO<$y+{@%_`bf%jKM<<@nEH$pgA+oZKjw7nHWwAp#poyS0+Y? zaC?E7xW?y;U5Zglyc?G2_uVl97JA=5{{8`9$j8EaN9O=Q+JmcP0HY`PJ^|54fX2U$ zn0xgA=M2%Iz<_>G69CbrFq(VfwkH}S?h6&76D)cN96bafG_d$d+)_l09gFvJVoc}< zkIz3WnG9}iMlee+T4&|o*YpbXS-#3d@RIAfr`!P3bAdR~89flNG$xc5AM1z*VWEE4%Cci8GMIr1I63i@`hYV=Ug2%{0oU$NI|3|SR0jd9FLZeu~ zE`$dU{G#AE2$xe*f***{(W0@WGZt!+my>vxlWb2&b|)~VZ*j#vzy^)vb=eG;lNjT? zfC`orauUm}pZd;Kw|s9iGPIQ1%$S=aGs~sI+swls)JL+D0d4qHCp@UP0nRX4LHxHb zIx`#MK`FSj2g|Y2A-+k@P+mC*D-2u;NVld!N-*i@(Kml{))>OzGz zQ9@yaH zzI(`dT0z=wfznhu?@_@`*FqgCu=p7;BH3;JS6OaS#x0-tMc48hG)Q7pxeeYV+4bUl z9%k6l-uX04mQidBtA!w6WsdqL7VbTmDuR0M!R@9%)v(e6=h6ZK^mj5;5tmx&pGA>l zF7_=fC0Ddjvb|Tb2Q1QsQR!!Xl`i}wA>lb8QDx7j%I?4l1*Qw1@0GofD|+RReW6w* zsZ&*TtLjbi#RD!Y{K*YgO0L>_C4Ri@dl=9tDif0R5N;M-+(_bNzRfiOaKuObwWu%+ zfHnHVELSTS&ArFV*^RX9mR=ZIjuqEbDm(>wDa(pj&F+I$hG7dmnraaNg;P^NFtJcX zFyo%4@1|d}1gbvFt;!Q!&&$UoE3e~JW9w0)d%@KS^SkPZ1*is>)`^m04XO4is^&PA zsd2 zr+`o8nCAgGl-2A@*up!#;ZxeE`s;N!;Dx3i>V^aABP^>XdtSmwfTUfyrBf^enU5kKJj*i7iX4?`WXHCR`XhVQlgIC- zdinN;ciU^++Fxqb_3xFUd)uwEn$g;kv4v$#;f3J5!hwLgIk}e5iOT1{j2dpYNR+fl z03e}F9e4Lz#vNKg!xzOuWZ$?|zmZp4fh#1hwkrH+ot19e?IS5fw&gdq0Z&g7fB$Mz z1mqv@*PdFmUzr9zv_vRk5ho?>UQO^?%cd9n6wpk2>^X|nGvLjv!pJB}#1w_KASjF* z;vodN#of&#R4*0Kf(_~RD+P)OT~6uMbz3yJ5~87E)Nn!j;fm$Mr0GY0ZvzO-od^D2 zsyDI^{Ij_Wp!}}E76Gu2@+FG&Y_H!HmR5B?EfIP5y0WdB3=}B+zq-7pftN6KtT!l) zl6_WYeT|YC2IO$O0@U+OA9repPinXCo0gPumnU2xh64G3(%&_zm6X%!NP4o?^kgy~ zK-g(;!~!4uNy!b!PBsH3M}$ihmNejy<@+_Zcbjci8%3sSMf`ieFpi7ZJxUqRv)Ze>h`**t{s!GzI?ZGE#c2#s;2W zFWAg_x4p@7R3)(Y+iJTtwW&^L6sI$)AzX4UZB%4sH05+{RE0Y9tDnnUcnaGxX1z9c zw@>4j%su`}O|SqKHorh^sf z6Tw%I18MMlp?vZ*3~pI)H*LiBZjDsc9T<)nFP({tgH`LY+f!;tgBCFglz zR+xpwz|p1X1-%Zi26awx5d3cTsmPWR{+cV(2Z7@*YgnDe=cSGS zHQmts=>b5@1QHAEDVphPfiRcTOi~AbrnFy|L-Bmq6-ILU_#B9g*&W=qj5-XzA<}ESj3Yx=i@T ze4+Sxs*)=U#b#Km@xXP3QnqNwn1?z&nka2u?aCVAb)Wqum|xo3RVz}<7#C|KtTwK% zm|8x&WVxh!y!vtg(y8Mr8mNHk-1_j5End5t)|POsfy-QXCj* zT7}yNjo7-)3d^mU3U0eA%~~I=o}8ciH}}SvvTfZ48AyMli=toBUtpTww)UXQVHV(Q zYwya&#>zWv*B}A_2p7HY;o+21*~SAhbDYicy!$v_JmIB?&yv#2LGq^D(59*tkTF

Successfully authorized

-

Token code is <%= @auth.token %>

+

Token code is
<%= @auth.token %>

diff --git a/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex index 961aad976..82785c4b9 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex @@ -1,2 +1,2 @@

Authorization exists

-

Access token is <%= @token.token %>

+

Access token is
<%= @token.token %>

From a5d6c9aa8edd70f09ad252171589ff3fbfa88006 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 17 Sep 2020 19:54:41 +0300 Subject: [PATCH 169/201] mix.exs: bump version to 2.1.2 --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index 51e05965e..c88bf392d 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do def project do [ app: :pleroma, - version: version("2.1.1"), + version: version("2.1.2"), elixir: "~> 1.9", elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix, :gettext] ++ Mix.compilers(), From b751c5babc159586ce2bf349e7a2f8a06e3bb7e4 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 17 Sep 2020 20:40:52 +0300 Subject: [PATCH 170/201] CHANGELOG.md: Add 2.1.2 entry --- CHANGELOG.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7125e6c1d..2f85cc302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,16 +3,27 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## unreleased-patch - ??? +## [2.1.2] - 2020-09-17 ### Security -- Fix most MRF rules either crashing or not being applied to objects passed into the Common Pipeline (ChatMessage, Question, Answer, Audio, Event) +- Fix most MRF rules either crashing or not being applied to objects passed into the Common Pipeline (ChatMessage, Question, Answer, Audio, Event). ### Fixed -- Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance -- Mastodon API: the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user +- Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance. +- Mastodon API: the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user. +- Mastodon Streaming API: Handler crashes on authentication failures, resulting in error logs. +- Mastodon Streaming API: Error logs on client pings. +- Rich media: Log spam on failures. Now the error is only logged once per attempt. + +### Changed + +- Rich Media: A HEAD request is now done to the url, to ensure it has the appropriate content type and size before proceeding with a GET. + +### Upgrade notes + +1. Restart Pleroma ## [2.1.1] - 2020-09-08 From 34afc2b0745b39861d9381e69cdb4b9c158f86ee Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 17 Sep 2020 21:00:13 +0300 Subject: [PATCH 171/201] pleroma-fe bundle: bump to b225c3578f3c89af5ed3a0be3f8f3a6bbcedcc7d --- priv/static/index.html | 2 +- .../static/font/fontello.1599568314856.woff | Bin 14912 -> 0 bytes .../static/font/fontello.1599568314856.woff2 | Bin 12524 -> 0 bytes ...8314856.eot => fontello.1600365488745.eot} | Bin 24524 -> 24796 bytes ...8314856.svg => fontello.1600365488745.svg} | 2 ++ ...8314856.ttf => fontello.1600365488745.ttf} | Bin 24356 -> 24628 bytes .../static/font/fontello.1600365488745.woff | Bin 0 -> 15108 bytes .../static/font/fontello.1600365488745.woff2 | Bin 0 -> 12736 bytes ...8314856.css => fontello.1600365488745.css} | Bin 3736 -> 3783 bytes priv/static/static/fontello.json | 6 ++++++ .../static/js/2.c92f4803ff24726cea58.js.map | Bin 460544 -> 0 bytes ...4726cea58.js => 2.e852a6b4b3bba752b838.js} | Bin 179190 -> 179192 bytes .../static/js/2.e852a6b4b3bba752b838.js.map | Bin 0 -> 460543 bytes .../static/js/app.55d173dc5e39519aa518.js | Bin 582581 -> 0 bytes .../static/js/app.55d173dc5e39519aa518.js.map | Bin 1487987 -> 0 bytes .../static/js/app.826c44232e0a76bbd9ba.js | Bin 0 -> 582304 bytes .../static/js/app.826c44232e0a76bbd9ba.js.map | Bin 0 -> 1487325 bytes priv/static/sw-pleroma.js | Bin 181672 -> 181672 bytes 18 files changed, 9 insertions(+), 1 deletion(-) delete mode 100644 priv/static/static/font/fontello.1599568314856.woff delete mode 100644 priv/static/static/font/fontello.1599568314856.woff2 rename priv/static/static/font/{fontello.1599568314856.eot => fontello.1600365488745.eot} (89%) rename priv/static/static/font/{fontello.1599568314856.svg => fontello.1600365488745.svg} (98%) rename priv/static/static/font/{fontello.1599568314856.ttf => fontello.1600365488745.ttf} (89%) create mode 100644 priv/static/static/font/fontello.1600365488745.woff create mode 100644 priv/static/static/font/fontello.1600365488745.woff2 rename priv/static/static/{fontello.1599568314856.css => fontello.1600365488745.css} (89%) delete mode 100644 priv/static/static/js/2.c92f4803ff24726cea58.js.map rename priv/static/static/js/{2.c92f4803ff24726cea58.js => 2.e852a6b4b3bba752b838.js} (66%) create mode 100644 priv/static/static/js/2.e852a6b4b3bba752b838.js.map delete mode 100644 priv/static/static/js/app.55d173dc5e39519aa518.js delete mode 100644 priv/static/static/js/app.55d173dc5e39519aa518.js.map create mode 100644 priv/static/static/js/app.826c44232e0a76bbd9ba.js create mode 100644 priv/static/static/js/app.826c44232e0a76bbd9ba.js.map diff --git a/priv/static/index.html b/priv/static/index.html index 6fa237768..f5690a8d6 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/font/fontello.1599568314856.woff b/priv/static/static/font/fontello.1599568314856.woff deleted file mode 100644 index 64f566383ab933c9d02a8b2c64879722d6f2c83a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14912 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 O0s{!nmE@-i^8WzL|633M diff --git a/priv/static/static/font/fontello.1599568314856.woff2 b/priv/static/static/font/fontello.1599568314856.woff2 deleted file mode 100644 index 972e70831d2af5737ff64f92c61cb36b5fe1e410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12524 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

J1P%u>L0rtJJdI} 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 delta 106 zcmX>uJ41GY1CObtrKy>Pv7w2Dso6vy6;ytW4J!YL5ek1Y6QcpDfE}YTiooVtMrmFE DYI7LH diff --git a/priv/static/static/fontello.json b/priv/static/static/fontello.json index 706800cdb..b0136fd90 100644 --- a/priv/static/static/fontello.json +++ b/priv/static/static/fontello.json @@ -405,6 +405,12 @@ "css": "block", "code": 59434, "src": "fontawesome" + }, + { + "uid": "3e674995cacc2b09692c096ea7eb6165", + "css": "megaphone", + "code": 59435, + "src": "fontawesome" } ] } \ No newline at end of file diff --git a/priv/static/static/js/2.c92f4803ff24726cea58.js.map b/priv/static/static/js/2.c92f4803ff24726cea58.js.map deleted file mode 100644 index e3cc6a3fb581627032b1973df0261e9de374a89b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460544 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

ubb`j|X#_P!Cag-2!zB>EScD{K4E`duM$%zG(W; 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%0Dj) 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

f2KAr+>2wx~qrwm_kxVQngo-i~2yS&ISmu(gy3 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 X+nbF0{@y{qci?&b-abstWQPAAM}Pgz diff --git a/priv/static/static/js/app.55d173dc5e39519aa518.js.map b/priv/static/static/js/app.55d173dc5e39519aa518.js.map deleted file mode 100644 index 600e97afab24bc449c1707a937ad2a5fb281500c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1487987 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Π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

rS0Eyqcj6t=Lfj%e2-uC} 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

o>yWApiyZze@zpm@azd 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�)Vj`AZF4%IPgCX$TB zAek#sshj3QPD{-^H&rGEpX8cil^{s7^3beS0t#Ew5P=?=^Qz@{MYlTR9@YZ zZt)o@ldYD})aU8vD2ocEB<*1E1R=O(g7SdHxG-ZHmHFm#{-|ATb$qT^rw~K|n}yY= zmX{b?b%HQd01Oc{enE-~#2iIP@z^S8XJn4BBZdcVBRcs0GEeCae^I1hyn%&6YHgTb>FgjnUhxA2~sh0c4BJr)YDtl13o5g=4`lztwI`BT^YgMu^kwq9fv!x?A&+X#@TWxZ^qR(3W_%Z1Lp?kGjYB z=TkWwYJ{bdk^>KO^qZdezrruNX?-34@bNAan}sQ0<0I zE9qXp6!bx#*H+L9C_n_jVAd455s``mPT4cs%wB~v$3LM3BAVd^JV|!wgu>EBEd&+L z`&MBZ9WlEhoPI)w@(EPm3PThdRt!Nw4XtD51G8NxS)c1$2%8R+oR`o*F0e;!Oz8+-5f#4(DwqmUy;OdG0W_aDYLaYINDeZ#)?uReFI{EthAO62@ zPoDk<4(*ZH=+Nh1X`chuDzf?ru%xt3#S2B|M5PWoe2wb$H64Ec#ZQ0!_Al)8Anud8 z*gSpnZ^auy5ZnfIz~5;>cWVzGK!N5;J=<{c(KqiLc=vqXdY$>GpoHW28o=AKPUwS^ z;KtWQfWnvMM+>-zE=>hGl*dy4Gr)^RxLg;dqg&pHdt;Q5LrtN)g*I z(2JtD`T=ft0l(MEkSFw#w6;>$^Z|v&Q)wG15NZ=$%BC=-z!&53 zms$`pn5eX+ocL&u5NkrT*pzk)AO%{e`EBa~0z*&*l)HJN_+I)cCvV$k+5QdtiT z^{w{y^A%45%o|yK2vw~Xh$h>5V8gbrttHHOT34Buv97Ds+c&VxuHR!Di3!lWwp#%y zrY4@8Q7NuBt%TA6{pGDH8`bCPZ@oX<=)=T_eB1jQBm#Y$@VdT*>58Qht(71K@PHu+ z?!iNPd<`}|Vw8O0KSMRB1SEo?Ib3z(U;-c)VCGwe@S9d`Luz8{JgC(E<$=tjt@s}G zz0yMcF0(_hrQL>WQQG;jkh50X0{1Yyg=fUu?_pxe+xTiOpx_u&$|E1^aJR>P1mVKeY2SdnzfQiS#8{ zqYrxo3j$O*-VLukKQ7*hnyJb?IJENtxre3EylejeJPuFsT-{LwwZY?)>0udM@N{(A z2Lr_Xg#L{VBK#TBIpWq03o{V4O}A9|l0Qu^No9zGKCkc;AciYb6=OlPEv^uBaJefGsESj~S2q{O!#E~vWUkp7hMm~mFn#`@2v zh7b^E{1LXydlqc0>lo^Wtt#}X<>j*TD$+u@xXiD49Y!;-a24@D+3-Ul`Hjbkdr`tC zuIQ5pS*4RJ=%`@XoNz)_%h}h!p)Da~f!)4QN}nZB3X4?3Qt5dK zLvrS;wI!@?vhxjHYibLj%W}pP<6cp?4zj0XOOzK4jgoyMUZx@xW}Wz?S$l{aLWm<7 z)LG#+T?FjjVqrCB+_*@c64e`73fzQfkd$R`G5aH^m+{~`pmrHkhQ zlkctSAC9LuN8w+@_(44{G9NVQ3D=cQY58YPh@kxS0}#lc^${c9JY4bdfyM#YHM_Tl9-}0yAj*69fn*fQt5n6oux0cb0?% zFVpGhI1gM$pp*yf5oFs3{0AY*ki(-Ih7A-Ny;Q*wLbUueX-CzGIl%HBYo}&x+LF0J z=Yg!>4YMnwq>ubH`6Or$1v8BDgd0C$1b$PX`Vr7YFC_%p#A9bn5%Ia|2sF?zDJIk{ zp_rX%)yjP>KHF*f=U~HHhb}0Rg>pvJru%{BqHx&pf5Beo`dtBxjxP#c_wxgH{=cfG z%0t;lQ>Z~gpTqEu%>u{}hXg))bhTKocz4#%+vH5Cba20uraT(%?Vj$R-jA$%8SD}F zfZSKyersq|UR>`0j7t=)V%U^$C-Nb^Z2L3eZnZR#^UynReS>GioQAPqKeVS9=(p0rg&O3t%|*dG zG0lBM|7n~N_fy{a^+WMnyO@p<@`o2C43LP+69EyiU^u-LS32T?>Ks1Ir{{ zqchuiv%G1Yr1+F6-WbwXv6{NmastGS2?oaElc1j zz0^JDsM=l?9A@G++{eWTM^6Kh>p+0L{OZICT}ij1lT8w1NtYSjRm53IcICr>L>EWE zATI5JJQoX}{KaIEc>e9=o9V1awM+9_+m&STA={|RlC4(ERjQqn!X`;cwV9+QEyLg7 zpr0uu5-7-n3<@>34|LJeE_KMLT}>rdnB5AMuN@&*Q7(89ToJYV=aN@xYx{VOTVp!; zTI>P3HX&tOALtZ38ak!>zX+;?1pV4DF^Frre2_B4t6;Cgm8Z1}@_yw6)F!btuqK#7 zJ6)>g&#{FW(DrICvnHxa%X^z;9s+K<*8^rPw5xZMkuLQF+1_Em8k0GME4sDyhd;c8 zf=$o6Hv0^ZZp&m&Utzr3{JKQSh_~!4USgc=2`8K7*3~a~t4J-f5-RI0p8LWym#PR? za=1h6ey|tD3IaBIiMlsOBqge8bbk=gWNl*Z8TIYd)5G%DB{$={D6wFH=U+xQIE`G_ zGB5DUpsV8iVf0l?{_Omn!Rgk+*E}Ao?TD^xg2?Vllm5ta4&O+QimG3>b$ugl+drJ0 z!Jj@fDot=IZ%^ovT+AM3zYzK=tI+9E0@MUHsLA(%pt7Gnp5fCVmnFSIwNquFU)!ZCRSM@^ZX z_6v{O(Rc{46xMB+zh$gW>pzf^?O(t6_pe*ee`pPHwnj8cI|O7?VIaPcZa$Um)l_`8 zG@0h-55uN>-a_MI_G*N+AqAn#ouhGj^tsh-dMf$jP>K&bg-vdK`RrK>%-A)8Bj?!s z>Gk;qa?B0-gb;cGtpErZVLFfD?tlYaGr=v$)YNJC`A`4x?O*;(Ok(yKeoCV|vd`fM zX2HD%wlNW2f#Q&elVcNe;*?ZP^93w$GS4InUEFUdQAD`Qof<8tTQDZU%UKQ#>1YdR z72dn>#VBhabPs;lOsOCabW?^dxBx<0PUwJ)J{*FL{n8o`sRb9c5TJ3r(lb zzX&9HsTFbveHn@C8)NS|^A7R~VKeQGpf!RKxJn3U*HCX600El>9_SG40oZ*KfR^Mv zh2I7kQKZP1Tpp@LWr@hyg5DM>020O`&f+^Cot1^nEz~ZxM(jis_)0-_TtP1WTQXwE+f-_M*|8(GQSw@k^z+u`S zPbcRL8dDMx0U8ZnB!BL14l0IOzz0SK;a=<9d1?~S>GAedoiy3!D{(g$Ase1@9iyZu z_56pge&~hc+MmCf3@&EV$@H2r0oX}`Dj*ZG+_16`st!s?D3W=4Saat1pK#KEDE0UY zA%FzrQV1@-9Xe`FnHpcFi43af6V@40y=|e<2CeA~_hB4Natd+S=(Q~Jg}2b8FMewE zshe_?0gP6&oL>CQiIFV2up1V*-k3^N@)6bXS}2*a9F5dUEkARWHOz_KFL1S4(fJon zWTezMqiVmi=5(F6#Gi7H5kAtna@Kwg7m`0 zK`&;^?PQ8bkRdvo!pokC%$TGUJV}A;MMJ3(WwPMm@vQ}>DdiOa$Q?%}+Bp~P6yYZY z&Y<@E4E(afJvs*bw}552gMAJf-)UpT9T>KMpeN*JG>sdGESVJ^$OFR}if%3u}B_W=Q0H+lnoO#-=oC2MWuV?j9 z6jX3J&CI`{DQ7zC&qm`n{|fRDxuZ&Oi2LK013paA|0THY7e6SGu_gw7{-d`Bg{e|x zMncZ>c9|E^m3d}n&LhhG0WpzW$9#3*`;Tp%cPhSp&i!FCPP}fSyksOq0(J6WIHx zHc53?NTv{&DEc^6KX)q&yg9pd?oE+B4>NIKg5cD2h?LV|NTfbSRx0K_cJ^(jg-li8 zVj-uenR{Z+DlXQV1YGAc9O%Zfj3L#Y!-^k3an=jN(m^AMeB%4;08uLd&u;fOOy0#V zZ#@IEvo$;^=|-duWey`EoE<>~nZ(Wn1ya0P_R{wV{$p7u(Th+IY|YE&Gplp)wIm2r zcW@M|7)NK~6#;sK6q9_Uz|H$ho2GCHj&{NmGVVqoA!I8g-%H=t=S>dTk@&5M^fGTihB@_5Oq3kgd()5&4DWO0%OT zqstfhI09TBM*h{=%5xk;xa>NICT}~%__6~TMUGfm@G#JP(i8=tDLvejA5YOun8p;W7j2FimJm^}>n> zEYFi;D8FTUS(@%;u`XJG`Ub?P{c;Izto(Kff~@>@36`w$?J`tZ`TZ(g#opxkA=blHJza|PWNnB{+GSZ0Daati-ok*l~SdB8$5#kZ8`LN7fX#t__! z6q%4?^Hh#pDv>ym$aG{_yyhJhOz9OoOPtZ|WLZC}q9WAN3pMtXE-X$f0jJOn7?bC? z<)QQn+_7iAo5K<%yB;L!45;J~va~(I< z!6IiNj9GOZD#E3L44n+D_r9M5!1~KzR|8ipU;GvPNtLZh_^C`M8PHJiUQe8#ZyzUb zq#RQ4sq!t+AZw=P3E|c;&KlYsFYx#0U;QXa z6Y75;*Y~M|QB@xmU{nt(Fl_x=_e21|(nyO}v_Q}-QGkvm-5DBTL!|r>Qn$(Ep>R<} zIyS;KNx(0gLx89r>5_5oNpGiOu%c!OMaf<ha zR96dB7#o8np^n)l*j&Wm7R4pu02_n4)3Qecn?nx;e&{&{UF8H>S8zwXy5OG)tb(e{ zq>MSHJt%%E&MD%y9{&34ywrlgES^ekXEfNV9CgOhjgnqE#p`0QrKiH8d)m8*l0`dv zsEL_^c;{*rB=mxkfvNH&kzdfo=|p83U)bqicNTIi5SS{X3w7|p@_~F8bttEdSne^gxx$?)&e4D9o_pMik1N8YPbMMnt8Qmph2DiuJwz=>UNP$q%+F5+Dw4ydq5=cc z8Y!IQ-5+^Y&mduNU%j{3m2+^#IIC;@0~lB=y$Bm>p3m2TS#LP7ni_AcN8ZG zC?Ru;twJ~xuFc>Q9ax=2hm)!vpa}^IMdMZ=AwXThA*fQKz9N|8lZkkEFH8WSpwB`R z%qzC%*X3DiqW46J_L~F5yG%C-S-(mHI4eYFm-3g%$$e+Mlk6ttP79`+u%!c z9Pr&sI5!nVaQKqt+fK!!i5An81_{3m2Y%{2Qrq-%qM>TgWdp$-e+ z_@94=`n)vepTa%`YYiTOK*4B*n1INsd@K}+J`Q*fUUGDXP(nnpT)(P{l<3U4_P z4ro8)1x+VK9B2OR^P_8u%#X8UjVrL@D6mRC`EP%U&ML_04u+2*-cWS;=hQ+b0N3Yu%^&VxeYEM}gkNI-)B zXuizTb$ zrll7oY z;&?`2lO~46qUw>nTslBlOSOVh_2cJBVkG_CHy@PR|CEbri3V2}eFN5?p5eBWZuNjM z4QdScR_7mikt?iDYL+pp3 z&3gIVs0Zd2PHYC{RyvG?&Jyh~dg{cYCp?*tHq_D4HUkIB!e6n(oPJ~m0RAY;F4IZ0 zPUXy!Y(s8Lbb&{Wg?V$JGN3ZBw7s}L-lXD$nv3XOPpMGU+o^ATxU6Bhk$EPLF8~G5V!3)-rU83!2q$+qNoV-{OQ_iv$l4hpSOX3~bBA@2 ztyP4M0HRqGw5~)iOrfzPGwPVJw{HYySqjm>A0_L~FbXVi-#vj;?VPqOttxp1h%ou8 zH%Lw;hg7wEvkoC@<;#!_jF_xFg1=(pseyehNFs+J)q>m=PMppN55ArcP^=dWPgzu13a4}nsxtaSjIr^tWud&x~jr5XJw`p_Bwi@G}De9E@ z_i<6277QMoy7yHXgf&$C&Un4X>2oYg?tG=x!E-pjRISS<4)I%YM#{LBb-G)9-}1=V z*d;4U;TZ?Syj;(f-E~^=CKIO4+?(@jh`S+ctMQu19rtYBO?*-u>{%W#oR7B-9NkMt z`*|1n<(np*?}de7*nn+~VaCPith6uD_nDpvD!(EuBHDhQ(YpuqGWA1{WxKLCSc#;i z;;#3tC|RS6)2Iqlvx@Ww*YHWyz{#e+wI3s@-f|LRPMorjv$U;;;>6KJll;cfH~nc7fO5Sg%N z567d^hf43Jvp-3BR86n;eY$-8r=MeXJ76D`K?F+BNh zC~*rh0eE5u^@5>uk7kS0-^dJySZZdS`-#Dhvv1%d8Jg&eEFImg3dX;F_`wGXKm2zY z2z@F@nsj-EY^<|~0>3}qFq7hF$p7~EAJ*Jyzib~KJsKSB_V?~np2Y+KHfa{&gb(Y~ z4AF-`k+m>nhA0uZ#Y(OdiBfA%U`*GX`%#fn=^DNjavDgF#eja%nDQ+ z!@ixT8_HkSBv%vBP;-P}NJ|*kdO-g|PxjMmeZV|Klo90~(-7`f$X~SB0x2oZ`mC+^ zVL6qVRT+t1Y78CjgI-AU9_TpT`z&0=nbqdDu|Jz0eCZ= zY=^{{@ZhYbeU;E!Nxuf4S^oxw*v^$0)FzP28zOU9j|igOmr~OuO%t~@=BHbdb}>gQ zD?{$7(CQWeg$TI6H#Bm|QUnh|dc0%~Nkh(|2F+`M6f@VX=)OQ^pE0MQE40+EOb&;{ zczUsySx>EA>vgE%i$I>V%Aww(-n2^L&v^5ylPQ#od6Fe_M}9z>gz_5?%&zf(-t1rL zB@v!kM9^6J3r~@lXff)S9x_QK21Q|2c(jVS_c!TzMcK&UiF$v#6HmuQrR+aed=Lzd`;^1XZf1Hh8QclPoekJKtZ9WDwA?w<0 z&Cn`tYfO~_ORC@^cP!oOAFz9Af?kju=^56s_25c+a}REpj5$u2>N^?f2|%IR#^wS^tHZsh_3 z(o3~nMok3b4Gj}g)X+>n6w|1!I6s-liUBh8@33K3mQ*ukXeO|1hnO_T$XPh5*;DJ; z2IfBiGXAephT~aEjW_D06}piX>LuB#6K}*Uo^M&pqtwycD4A-yxYv57y~oAl!RguV z{m?U&pf8xPQ8jH;O|H*U_4Ns)aH!JGMyRNL@+;GBROoY1nIY_uWkBKS0#2IsUzF1Z z1MPyC@ETGX=H=yQyeN+4$Hixo2U=n@3-dYGHv@S?dUe)08T{9Oom_Y&2vx6;wKMj$ zS+ydV-gcU&k{Ac%$6pCIX_6T96}ey}WewnzKW_J_`!V$qzXjuj#OLHhcS7!OOV}vFbhb@7S%g~jjJS()?lE0-pT&uh2NInBE)(!Y7@?MpgXXPG~WFtc=#=i})qF7Ogw zDj$BAr5We`*4t-dSB95~_7Geh&-w3=%as^8fdNH1IeAr_A}spFiO&7x3eNi|7WD~C z1Uk+`C{`X$=4Y=uj}9L1K0bTWxngSVW6&nJ^@zUR%yPZf7ehv&v-C3sB6Fns>WA-J zr{aDj{+q2&<(to8w?!ZgZpw#RznMOFs=e1$(!4E}WstxByvB)z_PEKeh0)wJDEcsD zbo~>;&qtTAQ>-7se*LiH8`}c-`$OghX){#%1{FRAqs5!v?rmt&wnAGs2-9i58Vwg0z1?p2 zkH_uHdHZZ!;2E;A_mFr2{~VVeRJ%z=)YQ5=m64JrGN~}qq+t1xmqo9u1I;gxJp4tk zyL1%kf=G;oFebjYTU_39%V3oJ@HfIxFe_!GHpB|`i~a|R)x*HCNu5ij4;wOLWae@A z@X_w!!O=Y=GtYz*zrp=#lmkaqpY<;2JayBiEpa?FvseiGOO2Vyi>#HGG4I-mQ8@mix8sU}F~N zyFpT_MbVZFI^p^UBaV^(QS^2Xu3jIzf25t;d?Jx|IUX8Biqj`i_Y0fPzfqi3a4Cm-f0sjU?f{|{Ijx}N(YhilHK-g$#C1+w7Dg1 z#6+wW`i_O)%f%#Oz?|AfiMsg}oY^}`HCFxY|ZI;G0vm^okClCi8O z{{@W4v6ub;q1-?RL9B?QyPYF!as^PwHK-SmK<|hK%m_%<+imT(y4VGtGW`)}<7?u1 z3#)OkRftZUZbCx53ptFd`|!@&0rx8`t`jG+?)~%WO%9d4l-`BGk@Vt?AO%RjWNGSo zR)7Eq++WxuK?TYe{AJ{dm`*wr9?OB%)4d1Cm2m?5lnDq4;bk{|b0ev85xI5QLrm1T_`h4oPgk>w$+Uenz2aay z;XVu?wKpk4S93bUuB}Gqa?f!s${_YMdESlVB6TAC|6|`wB`yKI`=|5i7~U4gMk~8c za4E5BY7O{Rpu@xKuSW0s^EH-chCXGO|ZxLc$(!_sBKbUrc9CBegB~g?u(>ds87|B_ii| z<~V(KB32pm^N)RA#=cc1_C^pY@C}dB`xc7?=h|k`u*jpL2W3$+qPzzxosI4v0?jCx zD37@Q3I$ejQ)FzdpG|w{kZPpr^-~&!)pT2xZNHuBRsm>9oocEOQti&vXBxzQ?#Ad_DiE-Y7Y`^1JkZa-uRjH_V9*FN^tJB6jnEGhAeWQW- zJ)`mUA9cVqP{|mtzhzw-)i>2axBKMq>?~6q44xtl{LV-ECb@7g=@S@mzOx4wqb1y~ zb0Itg*>T>LCk;qhrl%`m?;u>EzICosri;=wm~|VM6|#p$_@wX1!OSbKN@CcJFg~U? zW{gNG9cWxg4dsv9b@u_+gIZ;T^1M@#^&k;hdtFEqbm3NUBK*oog=}BEUXX{Islh5^ zCLq4?O+x?OtbhGg|E+96{1jqNi~OqzI{Kse60N|tjsQa62K1JZ;c^K@Z^DVGI(r zdB;!{oxT_?WWP*-E6nvV@)iE0?&-Yxkb9ke8vzl=R&`-pJWIfTQ=6O!2(?R4RaTUY zh1x`U>l)>TpE$@S$abe<{6Ih~H-MxTy$RF=b2bc53PpS zU*o|`40|HUL;>dr>i+nJQo0>J5gch7j))=*1aW309qJjl+vlA65AtkBUm>z-<0Akr z@BMOUg5WY(Z0LqXR@c#u(yY=NiT~=PigJ6z+rmOS3)(wyB#H2#tdh>9!8t+oTRR`^?IFCfJRM_ncDq=MF*;8u z+(pByEYsBi?KjZ&BWK%q<-);6r~X`Z)|g;jCm@A?%#7TjgQzDY!CjQhNn+O47ylhB zeUKASKIlb{Q|Zsz=TsKLmbKL#7Uw%3ot>Sb9JDa#&=lkOwrAgl^+Vazo${Bvj~l;* z(1>gnO&^BOWLzpG|2gL+;7}u>?+d3Y=KNM?_i%okv{?7ePD59f$Kq3ne85+)p}Xz= zQU4O{Kp3jIN!A-B0$MwZ-s|a1pbeSQ9~G~qT5RQ5nYz}vg)-X_FdLa@wG6vDIqX3I z7IcP*bTserr{KN|$Z{0J$MINXf_bh!UokT`GO;LXwB>C3Op^-0Td`e5H zZIkOTYuulB)`QE_hA(;#MJlsrZbYd%mgvde>Df`Sw|5U&A~)Fo0|rBsbMHNlDyX2& z%ludDgSPp-tJi?u3g#Q$>g>;9N`DQvtUhY1h#j4_bU0A8X6L7U)HvY(c8<2wR;ogi z{3*}mJHBPrjJDbF=zosK5BL#=)Oj>bbB|g0iR)Jo2 zVOGvUyN7}yCoKfgb%ad1qiz1iuvc*0dHD<|$yBJDzrpr|5QROAVDm8_&qF*2Gpbrm z+$I8#2m$IYA?tq&oR6idK@T>Q3kA4&Ueb)k``v5?qX}xJj21PJv}NiZz^>! z_%IL)dc&mRkaJ2BP}0U(CtBwSRz7E(Y#G5yu#{w8F88(7`-5Ow%9eVkUsrG5Cg-+k20R^cx2 z$!7xTkF;&@G`G#DX)c7KygPxQ$sY-YY3hJYQu+}(C{x6m4pvjggkIHrzYgsxp_c7r zYqZW@0+~_+Qqv3+fi~(!nj7CYbt6kbZxoKpqA2$UhkJw5!RbBZu4lM4g|L^T>_$5U z$q^)UK?-R0bs?1YYTQM`NB?{-V>M1P*4wmAHWwl|C!T`jS3Hn1qtf^ zUzDqXiU3P}b3)bdhH%sojzRJ0$~>J$*N9p zwrU%M=HL)mu+JS}aEGAC%pPj16|b|(gtN)8H0=Ump>7qXUZT9h{DUjgN%T7VG`)s# z<=1M9_R`KpJ+eN0qQ9zp;i{elF)F#jN*}lfA??+5t7K_M)R_)BM!Zwg*HU(K#Z#_g&E=V^O8H?EA&^{Cr%jhEpD45RB1f$J5{Ev|8Ozhoer@xB+U)pvVuQ zXwk*92H)}?q8dzhVh=kJ)wG?*RMQ3<Uk-s_ZS1H>z)Q8mONv zrql6abY&I}wAzlRn@8Pr(%q6>88I+*la~!A+3PP_9oEN`dhW<`pjxPR3n@v|F&ZOV zP#dW5X7$ks*Ua5XtT_GyI(3WIDh}kTcWO{ie3`wVT2rGdILN5ZIO6youPvW)pnA(E z&~XhP)q~Yz5N8@2N*?&-jrBCI>e5;@_E!N!oI~wom$YAhjAc`=46teiVV73Syrx~_ zj6>UHGc7lg-t0_SBAATg1kH8ynOKeuxZ@;1t$vRyfI?2oW$nXslXfm=A|MW29*U_I zLz^;{&)Mu@g!#()SA&3>HN*N5F88x<{p_dx2=`Ujji?!rR2-_sQ+hpL&*q3^ z36YOA+bOqfveM=$W{{(&AmUs6N_VqaxV${xUYwzf=LP>zH|M&3jblRss6jCfmrRyg z1ZzRqpZL-hPec(|Cae zl(f6jBzQXLG-P!5dcgPU1!3<5dg0~TFoG1e^2pgfwdkEXy;(P@4M6rfB+hGK;_J6f z$9db&r5IZ{0pb2#!R?!jC?88;D-jdKiFH(#WQ}tC@u;k1lw)TB5Jk*Pz)a}?ZtD7S zqMm={r)zIn2RV!l(GW&$9uWwA2iNyjeYBDe?JOc1FLWIJeteN{Hwwb^9a_2{e@CIL2K<=oTwTPa;D1pRPhj}jp zfanaEN$#rVJV}=;vFRNkOq@l)3=0qkb_j}O^1vQEqiP_a3J@XmjEHSm5QA>j+Pd-beqL6_EF7i#nKhls-;5di!JrV1dVGplc z7zE+eCQ+=QJpt*$VF`DUUX-7N5QdIg~p=x_%QYejN!d28?l zX!VQpcE5T1gomudI%Pccy3V#>_C)jR|gKDfM^crGHYC4JnzgPY1Ff3Hh-s6QKEqmy-e7W6#gqah|OjC^1ZLf)L!+us^>*y(*t*^^FdjP5QQz@f1OC z^tmtY{o}@g{XKMG7koLuf!kbd(HuV&M8@HlgA>x4ZMF;nMUaGOiM_dFVY znP;3@cSC#LL)ueU)`@xLH?lp8Lkj!PLHoerNI9rW*^W1pG#L|x!age!xZ zeQwGM#Co;jagbM|{vjE!^J=uXu!IGcslc@-s%F@S7zF3S%jw@os?hL&XR8D+Tv8Y# zC@UD!)ID}hg=^E`48YhT2*C*@q{b#Egc;|fI;!Opa2wnbGFg%moBNYU!zEJwp2vHM zX;~7buILP9&yjfFH&)a7W}i@t#7OgT0Vl2BJASpZw-_IqF=WDXPE-|#zeA)CQCy6F zqiA0a`8=!(`J7%|UwO#qWheyl2n7IYY$|UR%UKiMWWkBgMH5mV(PT}&fsSt>?KZKT z-_nU90RyQ5w1>@DE`f`FBpPX5i7dE@fcY?69k{aOHn7C4CJiS(*mj3Pb+KDMDOe3J z`{$@pA@!=tY2h-;Bri!G-Tx;Es*G0P6`_DagOa*J;6)XYH%UmJ*D^mguE$v!F)MO zxkW{VR_8@gTuDu6r{ewsp3m*e{^U(tP$&2~Fl->bu{9gKU)l{HujD`-6W8Q?%EN_4 zwAJ?D9BjA6>8={R+?!QrT768CkP>%>Kn^s>T^O|`-q7i>Yjv8}M&Zn&|Tvj#3BsN-q{-r#V9JVNzfiZc%Kv&SLCrdw`I z2P!&ep?I5&Wn!+-hmfwt1r0uhi-r`6r2A;n*dD7*nmE5B*%=)E>N?0>cNjLN=Fh=U znqT=eBv5j6(p))FVonO=Ayy+zLl<_06@rn6PJa9RVnwl1HN6!O6d#4=Y0B$xYV{zL z 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
  • X_yH&yj7H~F4_2Jo9V%8%-4>zj8K?$A9vsW$5y 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 diff --git a/priv/static/static/js/app.826c44232e0a76bbd9ba.js b/priv/static/static/js/app.826c44232e0a76bbd9ba.js new file mode 100644 index 0000000000000000000000000000000000000000..16762165e3142b2b74613dd43ce0957835a5b3ad GIT binary patch literal 582304 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%0ABTE|6-B@FH8tXJ(A)=G-aqJm;`Xz!Qiof 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

    &iZQ$XWhi7NvL!by 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

    )zNm77SWs`rUKCBn!!Bo*vuB?aw}S*2Vs0(&9V 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�>6Dg# z=7b2!Uq1kW{8=yd!pTEMsp;*<0}vu4TXdZ_Cr zCc|gbPwXAFWLn5&X(+wWvi_B1a6@3CP!gV4u~BY;+m!8^bfOFO6=^5QLP8hGGhJMy z^0r04cqcG}#y>%TU;?OUPe@T{{�dNboY9j*j!dbp%Rzz#c)ieZYSZq6|4as$tkb zq0vhf93e!@Pm^|3otOhG@3D4j#-=Tq8+0DX`rR#uO2stBybe4U=L*-4cq~nO3db*W$CCrhg7Ltaa#uB3USBL~Xhs zXf6te9sd{Xb*|qP!07m*;B`MgaOeN4YN|YxeKds{B=k89@7OGW3~@-{qeoYZ^@?|A z{k%=ilu8HpJ88r>pP1emlO}ZyY-BwdU3%-2CSpOT!dCN0#4+<&y>XP>%xRRE*(1w12 zl^iEJn7TgYSz6>xT6RSw@+?D(^@#hq=i+*)>`Lt3)3b;8 z8mAl{`c6M`uhO2q*6BLe%+CVfOm-(`g`ux5vbSib*Hzm>z_B51j218{Whj)K%5_|ZW>&7@;WO1o6Trfu?$bP-5DFYQyhHzm=t2B^&L!}Nr*89@SqJKGL;RbVm3BT?U*X zMssf(sTfYKB-FtAhKQV#n6!ECmm7)2`}IQ*xdQH*JG1^P#(g3m(#y6#6Yf?^6FCpP z1J^frHq2=l`}IS6ih+JB9bBkEF56rbyc5&hNA#b@8F4@5onJo`zqO0$7$JXnQNjR; zxI7UM5etUXOL3(mE~w7o!+d&mr;QhfNlv3)P0pB3*NE>p3+O*bB?O*Rl#8~UEF_v_h(OpHHm1I{w3`lfw1PtQR9>{aC@X23H7K!KIPQIDWdQ`hKueDuC z79X;Wsw~-R#ayM@IVo(ClvJBZYSJ?N4G#L5LLz~JJjkF>bNfISE$vc=jM~*ya)sHg zQ2E*sauwx*7r_-#yMHcumA1Bz*SIyNldr`dplcISw)KHd!K0y5y8nxyN=VSJ4HJX7 zrppH@L%a(1I$U{LyCCmZPC#uETLWu?DYVn2YW^Hsm;r6C_A+ats_?&rh7eL z)OmW&f+D; z$)0esS#DkZg13s)A}gV?-r~70OmnG z=AKdCPCY#=e_e7jzKaqI7I^+;bc55#buIG(zYMx6&L2i!wdBvv-x-{4J$%jMq1uk< zx+aM1t~BY7Jm>I@&>j#q~{Qj9es0H+IdE4dN6yC1_1Z-I;^ zi`GT|C9XL7z@4*-+x3;0X7MrZX=EWgLyQ{7e29A1==f6-UAXA=@f&qzIS1LVSXp)Vz%ZxS_9yu`~Hh zKK<)-_JVm)n5hNJvW`kK{=Cx)6U1tft3eyfXUw)Xfm>psY1CxNXislN`W4a*UlM{T z1ZgpLKnPgi()U7pV>+6h)+HR1M{v}X*=fJa_j?DcSz@i+}&R z_56p{5NB&dqqIXnHWdcq3+d)l*XG@c5e*Q3Q%I7UKE@rPrSQ}Ch%G@~`r$?V# z-KM9KKMtk%uv6IN)|bzowZM#BBRF!7&7WSMUm(Zapic;)7tjiTfDxwi814=@z%>)x zf=o@FhM)iRAK(7v&%`8VpW&x8x+D7>eqa{dYhW7_;T0$ji8whnF(*z*)ihtg0w?oK zve3o-h7v`DyWFYKa=Ha$61<${z>to%fL7tX3tx<~2157Xcg>Uv;!yWY)31Sb^+enJ z7HiZ0`MC9sWq1I5=qey7YNQ*0hrQ5m8cEA6ca1*UB8q&m_!59#L=E%Df-uTYB12D- z<}gkos?*as#P^ctXyREIN!(F}g|pCf`uvMPqL*4BhtQXixV|y=o-^+tuMjrV-UwPF z7=f#VfOZY_mH`m3N#KDF!5)C!Cjn?l-c$H(fDuKCe97gZT2z*ZoGs{WkpduLEaEJl z16T@Oe8Wsj)=J1x0?A|&X}T9(47}AXgJh@m?D|xAN?Q^DV!0}#SPCpYnb!6c^;hmBs#B42n5P5R=eR-d{lM;X9qHOuM6&zu;^q6@oWf$NQ_R3#r# z9j}FwDa+AFt<>@}S6RcH*!==mn-!gZ;Y3DCjWeqDJ8MqYc}x5$_ZZ=Wjj5S;?mT_> z3^`Ci6tbMB*NX*>g+c3<1C#kYgd<2VTpaXb#@tS(hy)p;vnjmnnaGSuO2Ly9xL!1r z8c`+-9v+D>M-CY+TR>@e_3 zmx8p}5a;1W{y?WL@nl@FSz%#zmnG-)1Mw)x;amJL`EoHEe~mNs|0?B@aZVwtRk*-{ zmYTs0F(46T01I$h@xhs=?aC?8>G*n9A4Ne0r_;>*8=7*av;J%}e)F#&50N{n1c$gk zemUU76#ZX<>wfWr5*ce^;O9SjYfzXfMP?-AJa3nI5nY*QX68Ji+#e7V$#u+E2fqK< z)_Lc$Kp4RAOGb*Ecl_fV8zTRZSCj!C2)BC?QyAR`c3B2Uc&84Zf3etd=L2@b17k7|=tcZFmMfr+AzQ}uJVvcQ|OTj$;s+4C?H z2POzkO@~N19fm~eV`Qab-eYIqc3Q|(1uhnHdYZW>=B(mktx3RjKEr`-EXx>D?K!OY z0TgGwFf1K3lE^2%&khi^0`Tm1f5YTm?DEz#Fgshrlag*k>QLq|BEs1bM371BOi&=j zt7R{JkKjL+brQV@^}yD=Y(BF(7hg+)Fm(q#YkUR^ z$~CWfo8!L~Z+^a7@3Z0b6>RCrhhO2r8lQ?8A$};A+P8$q8s9EveIzJlNE^8I*vIqm zc#S?}!{WDbXvO5~NfRzJpbpc7rc^Jih`{nZIfn9EwwI;pUKZ=31*mU8jM^`k;Ks^t zmmtW>Z@>%qpbdTNc=qsT#*8e7SF$e&0W1k`$Ar%AePK>tDms z^JhAbP>%&Whhzgsy)W3*JhYD*5J-5UVa0t0uXNK7b3vKfzTM&lNo@*s7q%i~7C}(~ zs*0%!fg(i;|Im=tAA>&|zF|2km~_x;Q2|EvpaR3zuXRrZ04$BP zctr~Y%@PIZSkj%L5jI51A0c&{OdbjsRitAhY?B21vN;5Z>X9xP=brR-Dh4ZRmQa-J z6%!*4u-8axLTJNWW@;yiYK5u^5T|0BS)^FnpfWkJT9)=V#f(JrluQDcue(GL1yw6` z*RaDt$%eIxA+ily-@?K+#QMa9DR6j@ZANvqK!vd}SQ6@(U4qR;3~o_e5)QC2s5>ot zG_X1JP~eB2W6)JjkaY!j#H$PbnZPQj%1p|bW7>n_r{bIfY4PZIeBU7Su-rtyWH z{&i;|#{z+=GP+O)A1oipcTtCO%82Fu;%{0u`9$rI048}F>0|sf&OK=;bMrR8Sz_9l zdQxWVsxr*P|MV~9y)jXZBwg1Nl)XkamBu4gVVEo2sp1^{hwiz@t@yYiO!{OJ^1kYJ z##QKD=+r~ha^w}W?!f%~RG=a`Y$_@+Fs+f&IbnH-{ZU8aeGA|744xiy=&+>H(UNpine! z1rh?(6&!*pCF(1JIX;<)hxft+01EmnG{L-LdwyM>r6zh$lxV*>K)lOzgOK&BG=Q^0 zbap9!nVj5r#ydH`w}N}JX34q$iLed6G{*toy@Yd9Q3QuCS-$O5JUTv^Rfk88!CM_4 z8zG{6iOZ&T6i4$N9S zk?7-q_uwT*X9#r%SF35H;}@OQU#9Su6XAgNGhWbiQp9oQ-#$OOrpWv_JJz@YJB|XY zDbyVxiX3vQSTonLQF+G(x$f2OQhVDElB+g>yd5Q!i_)k8tI>dUL`q7_Ca-FBpPl$Y;147Dnu|!X4 zAY3GWMdlx-sH8&$x6ye}#3ye|UUY{2FgpedYqB?J& zZ}f3ccxnwUb=1Rjw;alWb&H3tv@Sb`mXOLo{z)>8Eo*^;6?c}EtgqrNuD$CrzbeLy zJ~r+9K5J|DUsDIdF0ygU8J-l(VYXPZI&O+uP{D}-;l;qd>DmdfdMYOof_d7sk~nu< z=c9o$&-84DY^(PB6WbM;Zd?f|Y_d)yb12=oYfxzV2WkS#&6G0hCSrF@ z+e|tG(kQ94K@z`|^kY9kPTAV-C_2P`2->Wd&y9LuZsEjcP;RBeNa!rl4x^_|EPBF| z`DjBO9c?pkpe+0qOU&sA0{7h$NY&11%hIZnSAYnUuX=;zRB}jF%Qx!~qE@~P*}#a&+9UWYHl7;T z*Fs(%CdQeP>ry^`gryjebHsIW0wbc>PJ^;jhFCoxhZRuwnK4gv>lFPj`urJzAka^% z^(HwIb_!0dsC?3kxYWTeD{L4t{^@Zs*___KS5Ym zx1dVH?*!*SXClDG(4PZ*O}GlRGQu#OVB=`O&wKK%8^E0p4RCW`jLsJF7lA@TA9gbw z8K@dcPJmQsS{MA2pDH}*Ay@-W)xM=B6==VI{gu|xvXa&O-~!p@qJSu0PtXuG5b2w$ zAv3QK-vN^YIBV#uvB?PgzU&XC$@RoUNTmoyN1A#;Fuo;fDtACGO>W4*l>s^VFz7c- zp{7=W*oAD`l1th6@o@WgNK~SUkL#8$Vgn%pX$!xa0u~9VzS44I*~z(>F0e@uYtFLA zG|1rS4H33z7hfb=%|{?RF4=i{j>>V_TNUjc$x5$mftmUtyFsw7iclWlBA(&Uvgu@NmY#Uhn)|AoWuWh+iG5u?LfYa3J8<6GdqPz=V)lMw+gL1Uq@UVn=GC(ox)QX&&1m8cbk z0Mm$a30IB|P}oQ>Idz*hw`{91?wO)anSUP_#c9Fd!Kr&+l|fiT)$fegYn(pEvgFQJ zN*z3h^GnsbY~m2V6=$T3Ygwne)%PurjE!Bgq7ldd`4zlOLQ zvbGwpiQI9|=H0|6#lfEC0mJ!t>%h^ybhMv$kzc-P()nIk7={hl));17jLu5?5`CZP znV|A3!Xl#W=NY|wKrd521X;E#i-VO&S}N{(--?nox;TxhFg2@4e{c<-L=BuAD|u4h zHsv%__`)%esaOZ%jFal|tSvi!iUMI-^IslF_mUbYW}SCFCKcfjxgzo{Mdl!}hTGE* ztA431gUlK~{3MeKBZ*TCDi%L_k@hW_7N-ky7-#OoYo|dDs`*gXkFV_CbS|YMh&>Mj zqN0myaiA3veL`u-$i>RGgyu9&eV|{&U2=Hnb8t#X4Q4WQIw2ToQn@&59Rz6?y1mbE zyhUK6^-9@8aAOZR89n=@ml|*bZc-pdM*%uG%oUt*?c1d+)Ryo(nZD0P$sP_{+9b?b zMhVzaR&u3lw#(AbN@->wG~?t-Hh=e($`2SERe6-EIP6gJ9}FtjN~xax*Svs*BLA<> zl-PNwSq&y|6gq+C`WoIw50R-2H3g9gd-iZVI(?}0ZaVvultXIj)=-agS{{2s%T?}ie$5EFnWc2F-EI`?R{IQ@;xaEPU5*14Y; z>^S=dK9Zq{zR1$i-Kt>x>xUnFpzy$EvDkOg-ZZR7uRIR?nLQJrQ z?$+p-@7YBw>euxW$cf&-`l5muIU0aB)5&&7j0q3UYT8!`t(Ej^@R{{*P>AhZi9u}w zxx67VhxLdc+I=ZCUD7mhTVsB@C21FPw6Zefo(ipQ5m1PL`+Gwpmn=o_Af(4j=8!bx z9BRa|{n8omhRNvj;{E$U6H6#k4i zuR57RxtJ$eGI!($q)8~h@xbgF59rPQm0l9znMDMRrN8hLiHR1Ye(52TRANvRR)t5a zn0tSdo>!EO3_c$C)=C+q-KT<^bVr6ci^k_N;4>ttsM0telNXcl9c05A4QN$~&wie; zJ|_-d_VmZu=q2TZ?BQ3EPSxgPFcY$_-PR1P;9)7jigY`^kZpYdkPu@TS<|FT>f=m zCuT5Al}e0Aw><%^g}U?+KTg&iL4kP zL;nsNW@Sk=Q-)>&%XWxKgN&SoqnbUno^4?M10du7DrGpHrPO$%URt3WS)pE%tvc~W z%;Nc$wLD54y^WHori**6XWDyQJRY2$?cNVPQwjQl2^&?@M%Co{ELC5hKnjN{?QDdK z+9$s6i*os+?T{nyEbSAtOW3Ryd2Uz=4cg6VCic`Aua{zvcP z%Od@ox8A;_gLRhqqX;ug7kNIOp5g*8;idB7cUhWo?r*()CU#|bnP?Be)$yGF4!K;3 zkrNnDl#`QJ#VNv~U!3UNPp;s+k77}uz(kkQy?-&y03otzI7_@N8-QP`c%I89Clj-(%`0isP&uabEn#S zT_w%iVp#_H`_F5fSZI%%>{=MjO@pEjLq^v>A^d!F2|LAlh7Mf^#rkLmV=rO~)6~E7 zZ=*%58+a4m_q3DIX>^Bw35C*@mR67tr`O12`F;ON+RF3WhKbGlaWS-Ws>u^`X=slL z_}WvmC?{WU8Kpsou9e2L9wT%8*%q6^(J=s>-m{wd7;bOjY3r9?41-XA!yhAc*Mr}F z({8L~2LurT9NWzF0NZVXZ+QcJgzaa7gt+?&+9)FMHA|-lBxtr=rPwG&Vto5dilRa1 z2xJ0Kz@~TH2qCBG`U<+C0wbU;P^{a1d{CV3Lvx)hP&Su&;E45hJL8MW>f$8p=a}Fr z_liGH`}0DlwIyh=tuRr;FjxRPB07}w49NL&J-^sWH{;h2JHD|kfWJRvUXV6JrEgH- zV=!90>FwTzCT%OUb%QXS_N&owanalDcK>+XzMQwu#s!`sD|-)#7x2$<`9ZatWJFD^ zyHgn{X(E#fBTWjHA9-2yx;oJO0?ET)^tww&kuHeDSO{a{d%MNuEw>Ct$q#=c3P`~JZkXSto9Gld+RQj+XGe%|}cMl)!9v&RsLo)MBIPn|YuSPj=RP|Z!g3ePn zZQ2sYmOHMfGOHS*OJYm82$)xVaM8TAKRy=Pw>Be`&DgEL&(lY+Grco9FwT2t5JcWk zt=dti4YM7R6Wv(*HoOseizsTgkR@;8ue7U{blB>K(HdvqFCYSq&L_PAIEi9*EI*|5 z;M^aDhUBPwu#X)xCDiEbjjR`+_2e$ai#V@wakgkPx*K=#3`w)vlH{elT6w6=e30I* zT$uQ$<|wv0)Lz3kc<9}#XJolw+YUBnalRWQrCJni$)FRie=y=0`5#4Z_u%UFvHM5b zxjl{?#N)$19-p!CE4`B+b-R(F2-m#Mx^34yCZDbPptwBd<=zg%AnDcUYCf7rh?VBt z(h}G=#>Q}t&J^%(P$c*hA@*H2?-JC8lxW(Xp0fIM`)su6kt+o@9#Oeacs1*>jak)tESd~Ulq#5T=sUaUPJ#h9t~T{M;U{4 zHDwaRSz8ju&T+9#iW(>xAX**yif8DBakO$H4GW|sgs2LxXL$!5@V_(ECR?E55lfy0 zoassCw!5#JoXjECnh5IeZrQ8pSl9@sGc~Xygl-(0oi(Vx$m#tB?B{xOJ*817BhYqPms$M^(QCLm4 zRoPZd97huMa}dCDWB5En`Si;(E_! zcz}3bd2-YJW6=L~Zx_?>WA`>f$QWwYO-H4do631l3C~K*GDwnU)k|zPjGP$fEy(se zjs>|UPEeJKdgp=oF19*t%!8?qhTAt9nBOxRU;j}DOaqmS@%mfVrBQuT9dx@-4$saq z)xqE?(!lS0q;HZ7_mVz=0p~k=U@=<4?K&62Ly#TkU3t=glx2Fl67~+l73y2(I%T>j zU4vP-aakdIXoOGtjvUOq@~R|;-3a4jdSk|jq|$-Lh15{~xLtQ2a6PD1Mkvoa64j8w?>#p?xmxS1NPGG+qe8{Z`K-_82hU-jS07Q{~>=CsJanxLaU znlI4`Z0lIC7J0DB=qRrN^oS$ZPdcN@0yD=|;pJkl${Uhn^<$!Xnq$}6IFDEU71gAVu?=grD;1`sP$vf{dp~nGU_BL?H8z0|l!nORA)G z<-p#l=`XTdn!f$6e2SomGpgHW;k3g%0&ndUiafQ!h2kI?vTl>cRrutci}|>}wRh0n z+5O|rqy0bbbPl%@lE~8r?HBX_z8%IOQJZ%RRnh5-(L(mi6u81%A0uDkKkA;&s}H%? z>9-LOacor=w#Bmq{5Q49iGWbM1XX24$ylgOl(()?ZW#Ktd2t+IS!Ita6PR3IoQJIcI;PT!thb9OvgT;n!SY&k_-8g;n`0x;3_4kl& z$mT*VVL|3F*Nveza^a!ZAs4xdhrWddR<#a!FPiwTPO2!kN4za8w6mbS14ohw56UX( zTpFAcRKK_{Yr19Xg15LK56X$($r+ZGG|I!O{mg0p){U^f;CNtbI;pA#7P&-C=RQ^U>Ma z8OlKmgAPqGo^N~hZCF2)P2DMfx%;^BTL_KFX3_Lv_)Ny7Qu3d3UIGp^68gSys$$M> zb#@Qu$4QHI-|RGWRe3Bvg~$hd^%}a{?jQ9p(GG;6nww<3Q6iwVv*^8^&IHhl#d zb0ZUrqDEWZ7F2_WpcQaS1r{3lQpTsWl-f4A4ztGniDx~yJZ<=*_fVuVd*()zs$+?s z?46z+6?=R4kR@`1{XbwZL^=1~b%T<#Xe}8-@AGZ=&fMB;jPa89H#WwaLekW zwu;!%X-kI#Rcm&B+DDB8{%_}KJ8h*ZG|8XxOupk=R?TRe9gqH3`4j!*bTKiT9$Mg| zs;B23@{Ao+U)YG|%ka^zG+XB6X-j{e61$R@rZo{~NNJb2b(;TxxpjUQ9W>LA_&D`= z3?G%fNbRF$2T~4CcTn7QsZ*zY_oF>c$HM*d!oQFeROiUg!mGM(DMp(*)JFOiPtulb zfvadZn_dAsCT*mAybgW?=BGH3PL&DsiU%oYNu4sTR1~I>a1GV>M!h6B zg_p069k+Mk>``$^EX|}9CsyLqyI>XQWfx}UEVO$l7;@4=5M4*eq&wQ?Zwz|{$DNnY zfRapwy7?PyPY6-i!w5DX^YJ{ygD|72)x>Qg@Q4tg?h>;8x4`*Wsv7iQGr3TJo989X zSiIlOW-ywdX3A($14&z^?m>Q1Yqb6ebBzxJv7k3hDh@fPBmpIDoOPmgj$q|;#>tiu ztOQF*=H+r`D9XDN2%7wnP?)9; z*d(PNp@T9-tm$Aibxi10&G+ljt`ch5PPRtt>?M#XH6S(3KoMx8Zlt;KeN#8G6!b>n zxGaitZ*aIbI31kcL+*NpTT=*oNy=`tQ;-}%LKmcfW>5Y_hQm(iC>O=MXZ>!sKEl^NmPeCz5xEARGJpgL_Ccga&w|Qi*WfBK#eDZ)!+) z#P1-F$;5p5{lgt~?f0KK-Pow`pjeQg{{Ka}8mI`c)Hf$o4Q~iX9pM-hkDeSI_3xv3 z6M-Vo=@&5`wsk#rAy;xB)VxPww4i)(Lqx@2(O;}~8>~(NA=_aN`_a@%zciQa`FE}_ zpm%=hk*Z77sjKA1f7>ByLjxqy!0HcL4ri;jL1+#Rfd%{A0S0#nip=bxwp#Hzt4uhX z3`^545EklIVd^EyE6hK*GMz-Pvrp4&7*~F+wrDTyT+}1$!zcQyx)-kMNf4uwE3EW^ zdl1rIUAIb>c0`@&kYmIyJ~rfHffCk>=vCP!h7EpJu((mYRkS~OwZ59#cDX^ z5eC5+U3NVEeNL;@4Rtu`G>sderVNVw5Q-LEJZtbR?;)zebSL((6H!guc}z8JutCnI zIGV-Q6I!~V2y31lq#wpk!#ToqY#xfY961UU=rc!HRRfO}a6A~8I;+N~I8$_qLaEkm zciB{x+T1AJs#o|XPpit_5_zNgHm8C5$znPkFGg2p;XteHc)EGiO()$g*_9CkQ#X0p zaFV_LqSax2OsVINJO`?Udbg00L>;3svIVt)3U5{)jd0D}oy3acKcG{$XszNvu6m~i z^~9Ii3#v6Wx`Km@>Wm|f@A2C5DF>>zd;%TU@KHTjJqB^6v7zLFU*1?x^QtbbRbzh@ zK*TxJPIgKA^~YE?^~wONRuFb+#msBkHO@G+T{hElBk9e~lqG`6C{EB^N1uu1*nm4u z0@UjFxB@8Tv|QFcOgCxgawY=ez~!NsS~0XKQ~8|D9!8k2tba8KsCi>4I>!kq9P1Ez z*)p2Hs#}b<_6>OJ`Bx?sy!+Z>wZozJe}%BBvm5Wj(@9oB!C(e<8aAjsYS3B^-$oY4Za{;n$AsnpqRZ;i=YT0#)k-# zVqd zVJnZE?Nf{1sneTvliC1euS4Rz1}46K+jN|_{alK%g%c3&-xb`x$%yi?1hx_}L7Z4e zWl7d3#~+W%N=7+$764Ji%mmDo4&bJ)FDL5xSAM$omUWQB*boh2)aDU^(06csZ`DUD z>Cnz1qVYn<(eK9>`F5iqOy8ju9f;I%LJpJ?mWT&t8Y;1{nM-w z2v9N}nJu?74+i9ps#%NZ35*g*Ty>cDG60CqfSKg3YR;2%xe}Y+0m8&t1kA7iabSm_ zNG1>L!857`0;&KJLeGfUh6SO>b8 zL@EjyNZ=yhB>W={`2>!0DBlyYei`=gx`jayPHhs!3fdEpE*zF{7wJWr9#Oxy8i_!q z|Bi~rD&EZkPp4N9DuE7n@UT`S2bZ@7Pk>gxIB)lxw@-M;I;>O1L$B+c>j<7&2j%1w z0CHpYiO$h&r8x>3rtQ%rNmtQDx(dPiL}RF492jPZ{BFz)Q{9;0MwU{4M_&3TMcI&& z`TBGq3zCo@%Q69)Z+JNwpgs2dydCG+>*Nof=pcGj9V5*Zviia}7X(PSvt+KaxPubI z^d<S>ypr+)?x!hYVJY;ERP|S1`^wqAitntsO(HUOd@j9&_kCkEt#9@TwMdLK9~W@a z`n}^1 zR zv(C{!1_<&%Qd@Unl78WmEns+<-sqfGLWbR~CxjHFE(=pnLT zOwqTmHGvlWBO4~Mt_g0{29zb@#(nS?Ynrm6=_}3o+@P3@LZ|!TY7%@bO9x)G={Q&Zj(FSVUWG56;1MTb%By(aXJAb*9zFBnc^TX9(m# zgWQEtTjC9!9=lctJ4Ano)g9jv9Dxy(I$6A2J(;{Ey{A}blZA04pOpSu;N*rIn>lOX zGJ-m;R^SZ|H^?JY|D`zNAU}H?LTtL_#&n>fa~6uX$yg@l3VjIaT3pcJQ@ChIp-8%q zCXMZ}+N6o|JCdEj;jgZP+;xXxV`}~!45j&%PeTGFM<>md6D8)PKptW>(lm5oM_3^k zdFbS~&o5RKD^=550YULmXr89L4yRTRLP^exY?k-2@%eQ?ukv#Oj93Ar-0{@<-6`x(>ONQOeV3 zzRO^>5CQkkn)dXcbzTx)r;e4rFCi1^`+Ry`KB>Z#AIor+VcA)W8Q&dTicmXsw*wY;;fuZN}aR_D0!nwF<3raGJh+U z5-?7Xn&IYB17UvxlTSWQXpj%D6gu|7+np02gS)%lHa++&~f2Rwl z!2-NP$zE0u9IjHd$m^<$OWuyDHzW~u+XYQ!&%4y;IS@7t9hM#e2$Fz=WAiN!qFL9k#UG|NoV zqshEjz(CLy^EHYxGX5@@wN2=!1BV-|?`i;2gGC7ZD;1Onc+%KS^XX63UAorfB9*nP z=qDVZ)+>mNyM^J@-gj~H!?g+}kwGZpgKg_hc$KtPeOHJ&fH}^;uQbw0{+=8I-nGg+ zzbxKd6`%RD-vW=M41qtdZQGN##qg6b+sbN}_?XBZX4bg4>iXeuwBYkG!{I|7jOBxB zN%e3Rx^@;6cy*%wve|q-hntD{cPKw6;e#8?7vcMUWfEmn_$IAa|9ZUmweE^P>JCqN z%ilw{L5cVOZwW1Rr8U$}qzfUe5XnwB9wLTOFGPbKeo!DP2^lnJMZVE^46MOOqZ@_{ur} zXH*%6iI!}F!i=@~AcQ7n-wRZENw$mESEHFb`iVoMjO$=^AXPw}Y8A`d#g6@I(Zy)| zt#>Axhq|N17_sxFJ@*Xqf$!ptUbWID>`t{?Tk)zDHhl>1R{>eOe<|f= zO^X0f)4jwnPgcFMhwI7ccPwmkRlk2%bxiEA5y$KA>eIa^M}zz5;vctm9^?@xh!yJU zFC-C3uSOM%Vq77+1@a|;47SguCOk=b%$&$;BWs9kCWGQaYC(rtWLg0CPw4F9)~7$F z{NeQw${Z^6LZp`}GCQICLpjkywX}-T%FxbJ5##z=GIx|Md(}=CP-Yvlm6ls~ z##0pXo1BM$PK(?u0VwuSqc^eJRTvk>FobO)Yq19BlZxvheUGUn?wZELR2U}x#ac3n z547%&Hq<&YW#PZH_ymm-wCPydA1m^R3%lDoh_|==SgRx8DYnoPb?hBUU`Ygcj>pLa zzyw?Zx&6akmimjZSCtYxLQo9|Odtw2!XpH}Bx`l7OEU))nNi>nh?)W1L-&$HHesUc2PSK^9Y&uYMfLawZ_KP0TQ`G>S|);VM^gNOD?}EEjd%B^+?j z$q6%?Os&;njwOwtuIdM)LhFcj51ze2e>~VaM5V`ei?){SV_|nIPZO<@qz@uYcEE{l zEA_D&WUkT60|rWK2@`ZZrdeWgH0xX}F2{{qgzQD>4)JGXqVI}z3@ED0MB>hkH6+)j zEOf@Hyrkt=mTF0$Z{?nlEGdW+2brfG93?dsnb9)oHhZF^sG71ghqE3U7g=)P!ZUj~ znkM*^fBHM~dgRn%T3nvOg+Dzk8m{X!L1|j3hU^j|tIkutppH%=i2|vd zX(VcuiF(9JoSivu)c2_IEz+@W8z^UW|B{1UAzRQ*A5TyJ4!I14k{3v(ga-{{Q78&W zqPM3L+XLy4f@zNdmRCTO_9@)*U-aa^xJSoJI%{3*rcuWOkhx&QTbzc1M)pqO>-O@cU$=ryA8`%LLF>VLb3jwWQTQB)U$`T6*3&c5%+91 zMZGeHIBo2?@1Z>xE_TdF%>CWSkaaTT-a-HL$)los5B0st-quJb>2=jDbNVZ9pU6fk%svlulg_j8%NN*4M2@{&h+$Ls_qIrmK0n>QJ`)1TmkEsCM@gQ=zZd~_y8>MBgq z9TGk)GPm-RFe9fRz-r{p!1?ZUz{Q&Ahl=!JbMqpp;Efq)U30nT*L@Rn7P!5=<$ENS z-gex^`rV2!yCA>dn3La_wJ?_U!PH#WM6S9xff_u*j_#5i`tzj)HdSOJ zNieItJ_OCIG4xIHt>{9SCD!s^-#D%E&dRExc!#c;n#DU(J?~^%()8+s%Ir|WWNbB! z;>8;rvg~Tz6D^smSlh3?7Ik>?#-F&njVP)T7?Od?FiEdRgcrRkPG5``h{~J4=<$~8 z&!C5cz7^2hVr`e5k8n-xBzC#&ma+y9dAGJ6F*I#5MSaVwqQBT_?t$HGL*V-#875s7 zaN$xe^rH8AI+GbBkBZlW@%6A+2EcZc%EtDKATUW*%&@zMe2{Sr!Xx-@?NtUFyz)X< zGSp6aHw~$;C-twB&9=EZx@QK0I&nRfPZKMsR{_YeiZ^j-YEfC52;WI6RumcsEWk7% zG6_+7%Aj5%K4)B1bQ8@CUS%2@4pTcBeP!Avap<;f;@=g>&#y0`gLo6@gz0{a`4xk@ zaa>x2NCLl{Ei)Pfr8)y`tX*ng(MP7h4-`YW%c|NtUuDOpW-61#n{m;z5=icDkj%2O zFvW>$QT0?w&C=!|7z&k}WFzU3-~`CYPmQWla458M>(J8S-YLqu_e*f}5I>JHWV1U$ z0esfK9F5Yo1NGC9=YQUQZY9s{v;m*!wj9N{c(C(n*3dtGdMWZ^E`Qm}b=ngXs{J z?Uw?!_2Lv&j+ZyVxT~7X`%aG#=u}hAjsF|Gy>+uS*oS`oJ>{gA2%JJx~D(u=Q;6w=| z$>k@UxPvcdw=l<%`NeEBc|q5ateZ2~Q?h*szzZ=<&A?+%&*g?t$ReaDnA;&gN*a;f z!`))9Uwxr!S@wWLaMC7}16$=YBq>CHg8Y3wN2oDfBvc)5TKFVDT%->m;M`Yjo63`M z2Ytti&9u(N@7aZ_^kke(G29yEw!+@6HJ-bCwLY#oed!kSzilqHZH1NHF+vZnu}+q{ zQ6{|cx_$q=Zq0LYbH~@+@kfIv!^6SpebfNkzP54WRh1X+j@C_;SAo6+?Mjwr%IN`# zsgkc`h*l^0fuKRws;*uY869?Stzacx|Mtx9b8&pkABClevYiCAvI-gvb(Q;Lz{p;cBjW{@ZE zGMjqwI$MqU%0#CfyQyS0E+LBZV)j+pZL+DQIJiui@pC7IX7*l`q{%SZOI4Sy zYuQeLngI-bLZ!N7I{vn1GXAQ5DtMcl*zsUvLVXWSsGu4z+R(ne92KuN*Js`JIoRDt zU5Wyx<(-z%(w){~c3teWZf>`aKiv5c;bhayPIJ4cZSM!aqX#{B^?r#c%E5 z*NKhQxw@WTZ2e*r7!7w?7&6^l_~FckcaR72yQt=R%40Vw3ON;zV?1KBgr)koAYEl% z$6_$E%fmz_6{;eQ&xEAR`0~-3F%`E}Kp|BEz@<)j!TGgO-gE{;47M=>X73QeJC!|1 zyB4pP#A24*JQcH89Z7a$(<*7Q9$K}NlRynyxX$b`#LwEM0wOySQ2K_ti*nt%dW2Cn zZ^IM;UzXHaZi4Csl)9<cgu>?pBZ#^jHHAA-X_2`;i!}!W z7Qyq3HW{#;0Xh=pAkOHmk6ZhQfPm3(dvmwGhj%MeDW33Yg6;5ANZ` zDoHZsLJjhv>tSy@;U)CN{YfzfCD6D?Vb!^{?P?lLE?_=i_=TnNvZSpkw^%-f zMENSh-kk;X)FtR{j!yrr?oD^-JY7NJ!PM;3lq#lCJ-yIypUmZpaypE~^yFe%hf)Sj zKC-=q_9NRhxy?+^O=MSYY}>B2^ea)7_-3#AtgK?U5oS~9@{6bEu-zx8tc(*3<$*pJ zv1S>l;t~(&j8s}9pQXLJ_1`^6U{nZ0O5bE#&5_C7q_PIBz8jxwOH`FYu1mcOW4N|{ z0IXq+UsYs8jUfvxhvOd*SymH0zlJ=!@WN{!BQ%tH^ThI^?jwWYQ$Bnhjb-|K`)O9GeXA@#Kn)e?% zDXJ=&Ref^a+eH)bu&l|qKI83ILrnUk7lR0XbIApi@UVxCvuJg`c-cquAT-6$N_G{0 zscgZHT)icKCs&}j)3p#_*h(XN8U33y(*5ttn4Y(}KPRM6 zQ8NYI{`MUZVvVw2K|#I3mWTbCLBrv+zZ%ezZlYcwJ7~0h?5PL4X}U;z$b^xt0=kk0 z&^riYDt$N}H?(yOSiToN8+ciVhAsIMc_kM(dGos+YVWV}xYA+UJum$LTRjL(UL`2d zIf7W3+(CTUD5YNDFt^3)4UDC@sQcdGKq4Ci4xyb+{0Koq)rI=J61@cplAmDtyZ$mN zpUGw?-x6%YkR7>4=q2Vr@iow@;Lo^>DmW+o%i>0W736yNNv$ZZyjOutsIC!znPN+i z9y66DAz+C3svrDr_qnTq2wKw)@y}YwX5%?qy$+Og-j*3aYDz3yNz$|8d>gtGIN7xY zw9%$R59k0vP;e>7rpOh3t+^3)x2|gA@Eq zagEPbJFP4&W|;OAsu*TamX%$i@S^F?oKf!V-c9AFmq$qICqE?-VUp=DIbys$QvKQ< zRD1#B)Y)1H903`B*3Z1vIfMJi^c9l|1*G*Ff=&@Lgg_juVTSIer9YIt(uELXnnsJ& zB@_NA91Gd{@XHCB&#O%2RS9K12{(G@@cr`b!25glGhndfhWSnJ|2H9$FkXnfYGBVcqOuY)lW_r(LwfXcz3ro;U09KA$xPGxzT7koz=IjwXuB+Z9TrT zXiCNNwADBA8p?bdrks<-Z(E^%p^@nN#PET8+L)nofNx3Vl&X+T|C`SIi}AwLPHea_ z#=nm-U^CPWTNJ3GK!I;VZ0m^a!Q;cd)6>)YXpq<4MP&o-F4$yGLM%BnZadlQmj5)q z*OWpG&?4LHas_Dd#w+JN^vZ#YWTAZZ3A35bH?*LR7VHhWN00W-?qkr%Wih!%6uuV4 zyMfT%U-U!=mWCcsYnYM={!9+Pzjk84->IN0T8FAko3mm_o>%r`u;O6V7s`%EcwJDp zrgqM|7B9Q)WMIgDDRhwgu7Ad$J&zEfe1-pKk+uW=jXuIzfg>-@3W~R1(SmYga3RCk z+^W@C0Pg2#?u?wv{NNxzP>1IJWRcl!lE>*78{wB5qLH2RZ-@LLHTAmuYlr_~@-sda z&vgDZA553azjXXJb4{Q3bKi7zQ-^1ILwighb!FG8 zFVh)Q3P>?GNt`qPKaywQv+f6-hr>~SJUyo?e18+2Ut8Gf@M!pWuXz0U9!kH%{_KUD z;624=(6Xllr$tOGCl`%$vnLJ=dyjVZcX##=C2OX~kUx2H3+rBGm>m=+Bx1D{vBaGx z5Fo2cc|Ds?XT4!@#+qWs!Q=33^tu>opf$R#_9E6mB=3})!^qR)?#qkhCVA3*`3gTJ z`OEI%%L}!CMl+uLHAaHI|GU*jPus!R{^ZG%>aFn6?%r;H@1XiZuZvS;Wz!arp{w(S z@iSRNtsAOM)#9VAdNwET*1THnvZ`Tq4gy~)cXuh7Hz21e)P=)*Y8&cBB&rttjjp%F0MnxWLPQ1CN^2TSQ`*-notofMNc`3 zokMKWMo4=Pg|z-a%ugp~iQC9%bu!vx2KIM%kM1FRVEfy4ORE#SR_8H;!b`7>40MLG z=@o(_CgL9At;UxJMq zI!?x;`C>!3>Im1P?vtZ__vk)`RO{ZZ;TGW(EwFIWxhT4&iH}+G)74FIasxpVLl^4K z*dHm?6W0NFcC^I1qqb%5Y%~k$DBaOXC78zEeXO>YYs=MHcQc~79dnNkd&nn4sU^y9Lb$Qt>%NlI| z+$fEdc-`htyerMK(ng+q*E_gd8GX!a^cVi2g4{tLQu$lrmZU>?nZ|wD+epXnWj}}xG5Ubzqr!cbb#62vletJQ%rr} z(4AWz*MW4}R~ix(sqm8x*ZW>lVK|iieRP7dry4D=VSDS?-oe@a;pt(we-CM}>@RX- zyN+_D0mST4w6Q4J4RkGp9Fzq9Tg|u-1_@NYDSNS#J{beFE>LkFsyR$-Rgkv#pz#7|{G-s1f?Y%AI z0ht-TXLE^(+T6Bvx9yYtgC~!N_wu&=GTB_oY7@5FYT_B8knB^I9!=AVsQ-uMlqO{e zSCXV5t0~xKU!-m<`i;3dSO=zef^9LKT*oL~F4I`!B53-2aVwRbBF1rNwlqZ^PiEV1ErPY+N0KAW4WvEbRy!$lg7`q8lG=-|L>vh ze=)i&c(I?*-*`in>!|YS!NHS$_w+vMp?r6dmtk@pVx(gtWGk*NY`}fOMbf6OH8A&Afe^rP35d3njTy?25Lo{DF3rw|0a^ij4*eP z8iHGU^x{NqA(Vi$1c@B2#+ma!w%T-sN0FWxDn*W%JwP*dGIdLRT!OEJM_B@D7|jz`yHBtwCATbVOqJrqX3qHvnaz#WhL5E#o6WJW&%cVN1fjFRw3 zNXC$HN%_%BJtB;!6mir~U;`iIv$apsGh5SR`nsXRDxi`j*aA#{l5fL!1hjC#TPlmZ zMgPW6vAWJX*fjM>dEkET{Z^CsR8M&^{2up-BAf~Mm99F-+sUAFFc&YxPw*v5#Fi%K zN}Ot#)zXS==_KHPZk5^E?K33OTv)Vv+U6TRm)ZUSAv0t8VO!&EB!!f(zGLAz-JZ&q ze795gWk_05^W}F)fm9hYe86!>kcVqN{1%VX(b%kVYWp?NRl{+fsKgFb4arDXnNf~) zHgctwXyX?7&*T<~z%XcmQMp~xB6a4dT7vQomus#=hxv&`E3_))PtINQ6APL0|2;-Xk= zb>Pi|{OaRv*G79h5Pf@YsY#Fc(2^>Rms3u_}$b9(HEz1Xz!$B*tnNFR|xyyE4;h!5cIE*||oZ6EfB5 z!!UXhuOqqYE9vHU_Yc8R?dY{}+8>@5e@Or<%AFPzLOa5oU-f60l&E4r&eH*L!`BsB z%NUm!_2b;f9eAbMWdF6LPx6T=nTJy;acNNuJ>!g~P7a)frguqK)bt^;G2ciw=Fxbx zc;ktg^Fg^86AG0iR$&ZhxB;qQGs`?5dMe7|A8)FDxlMKVQbs88eS?>;a4dE)2i|}e zHnBf_UfRZN;=vP_bWihpt6)>kbW>iuroe!C|6&c``mM~p@sxZ+RV>%kolTo4lf|{m+TU4ET%9&lJ z{|dp#e(zPbFDf_!sgmr}r7Yg-W36~6G|@Rn`rm=ub&vtE19rDz@3t7Qn!Wb}xg2lT z*#~vfl2p~A%*%zGO!4ob9gau+I;o)I$f=JRV+2SE+#$^x-C*?It^7zuK|cvTb&6tx2_S1zx6*6()Da;p4iW(ME+NMF_5 za*=s#hv`}WSK~MAy-fDf1(v=M1>n{Adj1yQWee#(IXo*Z^l+6~`VX6=`1mN()jT8V&yyzEMJ(CABv(?yOs*$H zsyGXuxK1PdO6MV~bUYWyadV&jQ{88^CByHWXKirNUu=>QFw0TZY1J9P%GQQ_qOIEaqP&e69}+`eYJG4Qh##kO1gf|jiOfZdc$4d5-U0e4 zrJ+H)(D&p6!IeCaW+}}@M$wcns>$vlL%_}+D!XS46-Hbt1m@wy;`GreMhaFdcJEDYlL>V4U`Ys1Bd5iTK>-Ukz`lj!L?z# z@P*_A3=UPUBy^zhCf(@p-d7QNQfvxW)vE9Y{e#D+yN~W;B4i;e*w|J_YQG3GmvR5K zewWS=ChhPnY##W-g+%aCzr+Lsf1`i z1!*>XcNFeCk|@78FI4y*4K#jh(4P(6uP<{j z{bOteola=}JRv%5xZ67Jc6awl|Mb!0`$!l|NZLRU0|z&Cv5JWS{^}M)q*czd)l6!(k;4uHd^#JCj7jQ zYaY3$Ad738?u~!eIt|`-%7Z3J>2@kF!;IQ5`|x!OP&S>@TJFR(3bJ~cpgK3rc$7dq zZlZ0WZD6to(UG^iVRhd_R+sk74K=T$=KK4P4i1kFy7y35A;I1>Y)Euj5}mw#vm#8% zf}~9`9WzH8pV^pI=N7)Ph<_7E@u z+JCZlADKguDqoI@SAk)1#v!$kiRROoCrJ>w^z`fa`Z!{f1Kms~*Svzq!>j~w6SC&X@BxN$%PSgxyJo?lEN-nf>jZuGH;-9Vhdh*^ebtce`o6EyNWenCNhx zJZr-~4vTmD?0O zI!2;zywlyZQ+v63f3rFsEDqA_nL(yDI#8~hAWUx)1|9^8CoV9F4p>N@II6SMZB1e@ zt6W=yXlD8njFJMX&R*waw-#{j0yXUqxo4V6BDn+adbn7CG(A~@ntYg0^ELKC;mP9H zVOFp-N}h{2x!ZraEKqB=wH1w-j~OJleG|9iCK)%}8Ff@E&}ri?N)#@gztgZRK25f+ z>#y{r=kSjskO^7MLs8{ovlkv`^^6cYm!n711pNL9B#O}>qd~X`P!{=#R%G@C=~|cd z-gK)w1~F;JB5c93i`?%XUvOKy1}5|t)9b-ShCgq2F%zJ-8_DxMl{}FZRoKdn1X?G7 z?sZQe?-uvh>DgrlhTXvfuX8~<0d2NF2b~=uInY|^Z-gfMhj;97sTX6ZPrGLQspNG{ zvX&ax!kncETNJ2sU?Am+*J8bOGp`xNYk9k!m^}#7=?^@vT2d0!cPdE&JR?IXn@s7# zX>`tH&)@5*Op{g{DR;Qo4!|r=JGl?3M(dppIIdaW3JZIJR!hCP*2LFMkX7HA7vMAg zV+p*{?^j>*<&A*rQWI3v!!@{`<}OcfIu-7;`_m zPqYnUXcAq)D_fTJr5YN)`dvn;sEPc=y4sG=UL`qjEwe?H-PFe^QwY6CNQk`K4RA^v zsn=Le=hbL&0V)HQv+CV(x9?k>a|lkw>`j|h!<^5_+0wiAr~$oe%*-0*yxd(6?rNoi z3n3Cl(u9oz$V3PzZ};KJGPM-WAq7wB5EJ9%G#!zqvSUy<}!U_ssB{{s7Mjh)>%=3npr)S^w&FWC}U=*GUKr| z6|4>G?8Lop^_xgfY;9P&0yfWUr0``^0CWSNAeXR+Z5_>xo>8!H6#+fYk)ZH=H6;(! zX=R92XvtA}{Erykg#_!*&_d!1MC%ttYsWl32@OM=a`h+|!JAOW7ubx6KNtws!o<*> zV`9S=dZ*bIHo2lD2%6x% z#PhKQAuXZ8GK{R~x=L#pf~3O95UDHs3nT`unqQTe^+fwhw;edaXr}$n6Won1ev6li z`T$B!PN3S`=Z9}rq)Dh!G0f0lBbmR4lDT*dUd^Uwqj9m3%CMQlgHkk`jhP?x74gSgB}+w-+c6sqIXDrt=@g~pquLhD|c(%S*=(51-HFoJVcI1 zPi98mZ;cNm5#ZX+f3;qI(1m6hKKauWw8)r4kt>Bl?X;`$hRi z7cR`k_Jh}%<(dS3rS7A0xn@}tlidD^h{&vWVQDN0P~nJEu)NFlsY7U3;4aqm$QS58 zQih6`yO(JM1o*#J*7M!MeCHkRp{`LF+XVA#_^VxwVK~2-jv>ed;$=2@%LwCs_ODw?1i+M!^E8CvR~R~dMHZHch@OH;p; zS6ZGB)T2yAQ=V6~8BK7KWZsPJ5i|AB?XDiF+=cBq{d>&1)T8!6(#YMRH)8(k`KwEj zgH|H-GE8nKTW|HDAknU4o^wd7V|Wj3RbE()Q*e9V@WAgO53G6OH?cE~dBOU{lf%RQ zqxZ8ZQG7v-@m@~_qr2qd7f_LvhXZ@G@Pydi~;cX5}DFX5X;om6&XE8Cr}+5WbR z!W5=rZ(=mI{T6+ju%GV7v7vPDW%@AqIcz(Fi()3fP(g^#OsOBFWsS58ly5a(9TXW-`$6cK$et9<0KM+;-vzuH_)-)A1g{V95=K9X$#0iq_wzhx zo!vb_&!{lZ+$}ruvUY!04xHbbYLybjmis``Bf_KoH7nf$m8pgSl^uzjxdxRz8hy-B zL69A`Iv4%<#iD;61mPxBFH7Nq`r+Xc`8|vzKCmb+nU8C@zPgZ^eW#wZzJ5`H#DhtN zNWyOH5u=jr(=AIGn?0ycLZf;ul7es}pS_3j*{nE6Bns?isA9I^UFvw3-J{35hiCUP z>r1-1xEE({mo*jS>H2b_Hj8NJx2LXUN4kUCPGvmUlEWpp{B1cpq{ zUZ_qURPM?wFNni|Cn46EvP4M=h__kaGSJpdi#HDH zGxpO&-0cdGfd%l~eTR1^Asd{54j9#|CHZ zJ3y?B$h~50EdNJmsB5x!kg@qv9?)LE_S3X3jpi^wsAFqQvX2$tYa#jMLKn}+r9-xA zs-Qc^sRoq8xIvs3f+$vX*cy*KDV+P}{QvB|3ws>LaW4EIM>u#+yP}rGR!i&0F+WOn;gB-uc`t@hS#ex;G_aV!1 z`5i9cxW4_mIzMA_7w*@_P1&12{^nMFboXfV<(-ePHi=I!T}d@`i(fsqDU++AC_=_FKn6^rBy==e~TU6RV>s6*$cjfZyC{irYHT6z*CZA-2rxP9x^)~(OB zZtu`Rnq8j~1Bb5BfG!Gx+@FY}{ZOh;$BV@nr4!s2WR=9}*y#CI&eEV-`ysWqqVVIj z3*%Sl!mtptT}6H!YVHp;k3PM%b9Cz?4mJCA^F1Nw_c6h{T@1;_4<{5P$vwr2-@!PX zOmIc+E|}H(*9`tQ$701)Lx_-N$$~3sse>j8Vg$aDWThtN_NszxWrDzrW~-+ zwV+2^I~rPX51f8y5eh98?9rsvIUjOZH$r`bJ6uBz1=N+2bPvx%*-qslIS`L)paew6 zNEB4a*|p}OOhoM2&Y7?Fv!y)*CQH0HBm%Qb^;lEJkz|}ucMroc7kaYjjx_b)jX)xTTp8{eq975;>;%=6kAm;4Eyb$23~7jb7!E z4)38q?@7|a)+(8K?GO7E`orFw%=VWvn0|CmT<>gMJKN#scM(Urd-vnp*{=1_U!NX2 zJU~jy^+N4hsGpCHhV|&n M>LykHDv9fVsF1Au($-Ay6@f|4i65${1{jFa<=eO$`)pjQ$^P+`q#IjQA+XX=z1CVFXK;#!%x5X zVtDlNZPM4v_1CvtPv=MbQX3ov9P8=f+v}Cvzj8mn{n_2mKfU`gCO~7FaX3qE$hqEt zf8B;Ma&u?PTCdH9y*!)XP|LN0tINUl+2_MAhQm9f>z(*RIJl;>QN4dU8=X(;#m!Z& zt)lTihEuCR>5>$|oA=Jn1`7=EV?7~M43xAN|7A>w#Ce}RdKMS=Cu4-o;g`f%2cx=w zYy9-^i=EF#J0DHk&Wugf-`^GUAU@TtCj| zgR}F+$>s}vIv9_(svm#zTiocp>kdy>zZ<_e zoFJ$5|NB}_U%b5dC5mdlJGtwc!_K?knw$Hgv;K(ZmdO!MUc?HbGA%%pB|;n?v?(b5 z+x)kbP*;SXi1Qx z;pupS3r2_21&_^-kBY~N)p!d3*b%CQKEz4>t=u%%V70T*zg?BfQnK~yH;J!v%8E0M zo^L*#&6X!D8#J6Q$4J}6s$=VljGdnOYq`2;c__H_0k_Y_(^R-@0_d$6xT$i=aYygEdiu3i0wTS_mTCxg{FT}bKT z#mgf<2{@hM@*8HxK$g4*+TR+u7T(^EWA49K;qCytkRL2($H&C|JrI4apC&xxOmgXx z8ULk55B$| zNUq=(O0P}e2Ep<>J6~=sy`)Q!BA6>)G2}(&DG19azBL0tl;c5?{QRY##6#QxA{PZD z-d7GN3DVWh{WB&F%XzxO)&Md+Y-%s6KCosE^(EI1d7o@owL+|B)Xjdo8!x)bcZa77 zygZYYmA)s`96h0yrA=J9IeB|_Qco9t#mr*6cu@TCL|VYJJX#?HbWO3BM$Sw5LF2u1 zS88xkG7`p{Yyejv(&jJPk&Qquvo#KO2DX3wr*>`3ojTUvet4U;Wu)D%%f~JK{lb5L z?SH)V!G)#@tgCGUsQm0|=XhnH{-mRI*Ph|`Z4W-Rkyv^+aP*3iG_=eU(Ab zNg)KeF7(5S7e5?@333uA>s$yQXM%;0jMgufZ_nzlL9pXGt%u^7GJ0&~q>s&l0^zHi z8;t&KhOvo0Raa%{yAhmn*&9fW#+BhQIl{{WHXbrG@-8HVF#f2~J?Ulv(3ysJ9 zUW`HWzh8+w9`oEhYCHS#z=b>uJIHfuz+=3=Kgo|$0TI_^{uBz9dKmJ`f}D52#``jQ zS2^3Kee!l;D<&<)r0Nt)Nx-FL_Z6(}SiG>UEhE0;H2OfI^T*qt-@4lrp&~P`B0W+3 z)6`)16{vRLR5IrPniX!w|KAH)J;#2DSRp55OQB;&xqWMhDzL2=O8x_Canb^@8$=@N z?dkdH0USDuGrvx^G<(>c6dUert_xj3yoCSR0uTa9KyI6lyQ{CBk8$G2@Uf4RezNlw z7PdG$L@)1gn1A-!XJ%^ZkQw#c`YoPf#PFPN%S97u%h78mvJs?hv=niQBPK73_fI9o z)DH&Qun{KI!sF(Kt#^%u9=t$ByCc_vdJ6uxVZdNoZiYfiH((Tqrw&?z)}`}xNNY;o zsJY&F*$4S(JYOtvW_>&v6`&cr?Sovr!y)ffaN9@MTf(Z#0%lRZ00bK$E_hD!=pf@% zaB8sUvYEe524kToNsV4p1?BIiLgb(KBCOq1173Y1*F%`{r?*E)y*Z}ygg=U_w z9;!zfE(ho_hBmym;9p^50KEcQqEVg%7DAe>Txm^y!`%%vieY~x+_$Z_vHP>cnyc@L zNnrbK6LGHC9lK3zlMA-rS~Lidxm@T`4NixPSF3%YMRE&#%)WFY z5Z^Zm(eha!&porH`)Tn_TETXujC|63SbSkwHFD1nq%Ha_p0w156QVuw-mNkjD)BHNFt-|%)1?yeIkXk1l+`hgREf{a1RxskV zyTc>Wt?5YWv4!LlGla-oSTYex%cYeD-4}N$WldM01iD{xSuqWU|D}&N&fsT-MW#x$ z;N>YFilyAmyIY^0E#JCj+`#z9dkNiPi*0pVGl#V&t z9mNtd+W5tCt69VuLPH5$Px@DTaw-y^SwpTF&vBLB`NDj9tywaMc>B3P$ez5Axae^l zDYX-Z#tADlQHi)jZ@TnC9R!n-L7V!blD7RK%vsvbn}Ug%q73a6`*V62*dze^58N@B zGk=T?tmqVO^&2ly3p=JS6cA5SlzoZt+?0(@@LuB^rE{`N8fRIVIkav zat{e@tD~u}HRmVmm|2ytOsaK!RdgVjity}c*@mxG&O5G97k)?&*uCMJq7Kdw^11?HgpiJspi5Su{?$}GrwgxC? z4N(SdaYv2tcs?Fs>v_|7rF$p1^=Q{xH%H`7hOQA^%@}#w%DU<9>*re}(olh?! zBX>2cWL>aVGEG(k9ojPMN^d>mG|1Ajx6S1QjpF>^=kBve)Wun#=621%r)&tK@0Gg+ z-vxOX_wK&u&Oh3h%eN0I!VL8L5tQlJe>l5{>;4v#gnY~5W^DU16uIQX`NO}+;Q(FS zcyZ*tAJ6Nz@2G;iT?S>pOY3~UJxw*%=CbLKzimm~xeG*nh?BdHE~GdlW#|Zd;x;1Q za9Uc1D2RbalY02NwnrCj%aqP^lFdKf>iEh7v!E~4@+|5bCWGH0$KxO4#V&s)S*uFp zYb2AYA`I8&8~mN#r!cF%U!2Ub1@7L0(hm19oIKF;kpI6(ohQR9!)Ty$=Tp7X&d|Zn z42;S^mu1lp>@M?&f;n_Y9w_78`3x^XoY?^?{2((NnNCSD6d!TA1uJbtU+_{ox-ds? zFVYr^lLm)#RHe&!+MvCKM@B>CO7Jy~XBZxWQ_|1Xk7m0e*aZh(&}kDmZn`xJYv&+~ zZM0v0mLYS5z8K}mh=`@qGA(?TNngmP82W~nFt`ZA$Y|PJg)s|aZPrm!9P}5~*$Hzw zTOb4v=Cc;Ud^_*pWFC%=>oiqGB)^onUw(<<^H7Xpc$;yhPzP0h;;j)by^g=LiFu2( zjFL{;2YuX3^G2Xu{q|pVsBSJKu|Q=+`oG)o#gC5=sb}^(a}*M)>^G8Q@7X*+oh_TCb=6$tyyWbVe61GCFK>PXyP*TKV=A&V!>K4ehz1iSUqYWmg9&zZR{PF*>k~cth;v$yIw1rjkTozOF`0LR z*JE7fG@gu?Z)N@Bo>pJo>Lb#ePC88FdUic8bNlYj)~$cq`uq-#81ejEvym<$rB#QP z;$L_KjrrbPt56aIYz?9fIGG~m(p#wR;-ot~K$O2ofpRxl*N4>r_5$y+%3jlkgGuvw zk$H=wuRQf81X0!*Pfu_>57(Be4W_}bAaR+o`tILe)o+jHxJYbKEz&iq7d!u?Y7xuu zAz5lbhbK~8uPkY`C?tIQG!Ed~~)A#juYI1iakk3{F`FtgiFINLu&U#0h z895dAc1AX>rt7?*xn34;#)z;$Z&>A(4vKr?YV28JW?lFmflZ;JrddzVJ@W2wqkGQ0 z;p(mxwbT?HOaI2ru~=%FGqinr&fNoUA&2D3L(^~G`l1?WDgSDgd`xibPlX}uB#YweZeBlDNv3>N1HcK<-*fr5Em5RX_ ziTX=+gdJlSeX=mm7^BBFXRBe zD(@>6h{jGOT`sX=NayRJB^-?kk%*)xjZLqhz9GYr@tj zQF?*pAj_@@dvB*Q&vZ4B^;^HaeH#&vL|EwgA&g z{}oo~<)QrR@?rfoQg-f+?tV6^akKPRWpTuNi`zv0^1C9&Lq6@`GGW zy8BMMU$j!nKAb)>8L3G6p5w$_gE#YWjsR2$z78JhRi;0v*J^DGX{FK2GUj+8RB`|Hv7@FJ)qQXA1_l~&Yn zpb2K;H%w8p@ZPJ`v@>2ly;a{H_Az_x99ERHz46udw)o#HohP<=NPnYX`8!lgo6uUb z#_6l?7z|Tlx4z`Nt*$R86pBg?%FW<(NpM&V`hKzc;dD3^D8ud7H|n2p6nxcOPz&X4Q6e zhgqrVAC|?0xW62tqF_!>stX#bu?Ob$lRdo~4)>JpLl!}qc!e3OwsI|&e}!VXxR3GL zj_tQ&Zy(+IV)Q`@_^N;EZ&${5fH_9m5Kb<(fKqh~zmsI?6JIvANcfS0z{_^%m7_pIA-F`i;-;`%hQdW?rdX<#{ae`&*$U-Kwk0#gTJIYOT+8rZp$wO3>ppK8N4n>=SGmipeCzOw+h2U~ z#lc4?%Vl=u(j}g%@MO|np&V2HywOUbn;Nbm$#dEzGKMcXc|!k1s?O#|KaEK%r0xp0 zO0{Pc=Ey*qco}mjce+c5t=;jpZ{r`yw=uZcqpy)4>iJDx-ld_}*&LU5{ZYyxOZM^N zpXI`=uXjEf+#D|6P7n84cm=m4O_%#}yy{x;bqT)PD4BC``?JqJLcu4q3^m7Qd0P+B z{oMs1&h(M}nuwV_t@oG7sUY{%@&}97U+Z4KLfz}M9*u|QsJ*tLksVZ>pN(*M1*yr% zcHI2&H@EK`?CczVl=1vvtjRR1KelC7qdveTEm0gVnVEK$YTM72g_Hq?CW-T-ES{iHaAXR{+_O&< zX9dOgnjEhGgbcuxMvChyndZs=*(oY=;bf^m+MdmM8mdDZ3Z+grB^ zzeGVboC_zb>QUA<1xchkJT7m9VVZ`QfncySYxQz{Q&j7vsioiXFuz1QHOa*sL6^ER z?)2ll%_@SgFVw5m%MaSB7@vG0x4LA$FQ~DNx>7$aFU(PP31~JeKhaKs%b9 z1xL$@^($xICp6_9mLsj!It6I<6-w^OO`1RF6rM7~F6-|wQ!)@8sDz6`F5ILm+u%fC z8d392s4mhtG)AXio1;+^r1Fzvt=+?pX|+XL`_R?XB+cw(*Lo+J>@$^YcA%*t+2X+` zYkoB;*9Ty2iPr((O46_6`))~iZHxW-Y%#4AwGSO}xvzC`_H~Q94i9x%W}hE@Q6J(m zgpbfN3zd&_hD~vS;B{Mzf7;>dxz@24WxHWO_zojM8}-!OlD|6ywA|;>C!mo~nF)k;?db>L`jY^B6v)t@* zc7AwrDUAmGeuV!c$EhW9ruZfMULJ_U&@av@YBrI>&I<~HNgaZb}dk^a6 zo4TH6IvBr-z80N3F@{*Kki^ZZ6{yV&kFs6HcJ)hx^xLe_1-79tXC05Ff=GpsTyAvG z-R}$vAychE8Sjz#jOA9lfLw&AbqHF6df9pI=jr887#rQ_ST>2}yiUHmNjnN{7dlpZ z>96p|7T51~jR`l1Mml95Ohcu&t9VX^Bi!cTc?)g+Zh)(-;%_N5v&RaZq-2Dv0`0u| zOwJpui8Nej z$fVd_+M^_RRt-@9UH+#y&~R&jJFsS)n z>Ap+8Om~vX9Xr^!di$uzLPON$M#aYYspLoC>L8SO%opd~qFFGn+-R{JRPC1WbDi;?OYC=g$aNsHEZl12Q7$%*6( z3d%&XKj{q2N_3NXyIDG|Lmc?llZl<3!(+F`J@C2n^%e6TYDbizp2o&!>#5|F_*rX^P_25Ob)=W&z1pUdbTDrrEQ%UU< z>HBj8iboSI#NIWozBSKd1l_!=jOVU{eCwHHmB?9I2|VAbZs}E|r98L=Kk;?3^*{a! z4=BJ9k|JS}*Lv;r>~ea3{@Lv>4sQ=X#&R+_TY13AMtv*n#ra_p%PF;EIA0bg?0v}Ii2gAv}UhuWg%Hh|-t4nwtj*gCoAEyDVQ*77F=~Y!&?izW{ zuKUub`A-O8pjtIxj+ySjRO8;)q9#K_3>#Q8oHpW$8 z-lgr5y#VgSm7=J){B89>P1zKMa#zFV(UuW~awW>@JcXYg_tq_Vj?2lBa+Wo%k=i9) z_G?f9;rs*y?sWa0f7nJL85rfkrc0srT(PNP0J#$q*=*-$4{)AoE?0@JhPGACn{a2E zOX&}Th|z{dH_wYCgv)^W9h9w%lP3CpC*}Xg1Hr z76(x@_>M&#M!OYm6j;>l*Gk*x!-L&wdOn#H4R*D^3TGDQbIijYZV;FLcqQ;*9liiH z<X}h5`_7(otz(?K`=8F3y9B4W;E`w|enXXrNcr{fGLOs~vl`SdyyTG@NGO zs2``wB(e`5A%qK#NK8VG*)8}-K%JiJd0liU%#^u>vpcFbVS_B|tqMGPet3wTW~)*u z`_6ctbR8d|oxToF?K!`<`(PtG6b->rfm5{4u5WxYz##cgu(y5TjE=eNW>L)Yh2rmo zuW&Gaxa)(f-pM?1OhSk@+%{k98q-hYBjfkY%^TI%f8bhfL+Qcp##VJ3$JK5mB;Hju zR;kZSFH$|=!eI5LGMTw=Wxzg(PDZ1ra;OZ0jM!eHi6L-$%~oxgNnw^EMw}NnI5B^t z-G<)2m-HQ76seEb!^yeJRvEnTQd~a(Dve5bl5VkQ#aTrx8psx^&M{eb0-_7g66kVv zd_1Y2qVVe~$a3wi^_XhJ<{knP;QJxwcLQGb@#*+~>(R!pPe>kbH;#7B9D9SaURBNO z<@p?9z@I2^Z@D(;j7g58$ZW6uI(x7x-zu65XRJplN~=$lQ;QFDXDnu?w-vaAOUmifUOffAX;WRn*#$cJ zqfQ<_J71jqyV&BoVxjCgooK~NF z{k16wHswCkAb^Sh-S5(vx&=Yp8oLF7z{`8(N_e4ZNp#XkksM0Uv)C@5!uonXUP7bX zyr|~0*>aEEi1w9UyG)S+UBdR)sv6A>&vA|Qa_D&5Z(*?2xUkzSVW#=HO_s z^DOPd*h8n?Fn~b#u+?$7PsHw;JQ8|}9|69$EJ1f|85w%V0NNk8{BmaQ5L=f*Y_)F! z?A?Jb1>5sg6Syc~dvVXq0tjra)P#PN**Flm`#X@DHbi5Mw}uI0gA2!d@cFq~M{!QE ztIAr~+-UXH9CcfYDqB=oItrv%Q0b-rQB~%B`LFt|=+nCO+QWPE;{_J~g>wX7PGF%< zC=o;hi^?O8ZqQD`yB!B#lA8vg%4`DlHmgwxh)M7MWzwO!BUIQU`J$EzwKy1C=77nEjNR@bV`9+xg)I=%JhHx9UlGs)^#` zdXZ7O2{Za=e5^gXQQhTvxp}kNTb>^sDH7=OzI@2pkb2kE#?wg+@6@n*_&`_sygo+6 zWG;H}6R5SjdWST>;5g~h*f?1(&vtL#oXp@@K0)ws_wLT!otyeSUD6Yn3UG#e3QJK| zw$Mtgy7MW}1b>X=#cN9L}1jlLO9r!quubRZ9MyX^*Wv- zx1HpS58*YdABsPy9_@i1NCSbUmp|hB@6VU@=qcu<^@b1mRqMqba)6W}N>D#w&RZX# zqQiLleZ4%H!ArMsHe4*;;1G$@k<}goW%x4_kH5Z`)O0lA!TS8o_rt}jFlSQ z{c!=q6po>c*mQC9=6*e0%;t|+9B3$1T8&4{J;gB-GR4w4OBH zJ+c+PcUB+LgJEs*2w7|Z7Xm($q@ghKg>v|JSU}&@Ct%v7DVgIGz1Umv_7w|-I6RJmp!9YlX#Rmy7p3sLLna#$+#c8W} z(b?{Jb_UR$ucS01#Q0BdJ6|u(kB>nE7*~r2;=(U|-}&vIYxul3!gT(}@^q4C)Ax;n zt85|IcU85Vfo>7TpO6xZuB%4~hj3!>H|aq+hq<%2>2pLfxUd?}`N0`PT{mU;<~!~P z=-G5ageLdZp2V}erv2rI`-dmPIo{m<^izK~p6)|!80)^YTYaV*3p7hWDqmFpg17je z+johU>m1lHp_@91Tsx)w#%#x(Q#$PQIs2-8B8G6X)GuTwHBG88KSXJT1cDz))GYBT zY@|Id8r-7Esuva` zb9i{TWi5qn*>v@}u%=*Rg~=!;*EM#? zn-UZ>-{x07{)PEn2{Vw-eXM+3x>wy(A})~R#Bmdm1jR~)((%fBa8Ou4S)7$H$(2p} zKq2Mc;Ot$Fq00Pky*Gm#Se88sVfB-q?qwS)yUoBsvFFsI8zzDREJkA;Inzr8?Fu|f zjbwZ%`&P880!dR$RiWzY$4&#@AHErmmmX+4;ug1=6gk<@pjFSNam1t;z8%b7g&qi4 z!3r@mWVR#(4bN)--c;ZNhbN+_4#4#bor}c{Ss7d!!r;MnCInkxji*p;VeP`l$T0P8 z#pRUwKsy#y_lG$YkgQxdN(va?A7V150H6brwOGO_Cj8xv0W_~AmgZJ@76go_Jx8mSR1J2)UQV*EV zfTGj)htrK^#XAK=Dvb}dZ`^T}$x(b#rx$@!wQb_n`&q}zylP^v5GYq=SsIb1oZNgb zz6Gt$Cv@iMinxq#6N}%Q&xdaZW|LQFa^fP(@nUOD4+fHF8G%XGZlN* z1Go_ScVkKDHX#_O@NcXFU4+i)7>+a@$bW{j4i5XwdaZzG=V{56k z9GAmmY_6%<9}QPNZY`?n57hxEd#l<-pdbJ9V&i;ywDGb96N+qJ!hhNQ-38>pyWPs1 z@yh5)fAF6$te@A1C(|)3_{m$W%k#;of-PAQl?vqvu%J+(vw{{~y+Y2&kS`~&VkWwrys1Z^FaDY8JFXm{4 zd>JfZiJ@lheS{?uzXp+_v}wF`@hj9Gy_H3~v6!9D z51EBU4D~;Xr+l*~Zy_1w7s&!)!w+J6;`m8!Ab%mb2yS-{(Lf+oDg5N@oz@SgaG=y~ zMt+UJX~UCxqoFlb!DAbt2fpauxedBj2b^0Dr3gRU`4#n#~tW`D+5Vp!{Kqo%}t6rv42?pT|@t z$bea##E1zbR0>IG5@-shj2C3K^F@rHZ^2pf_MoPxK0Zz$V$g;GGEeQ=KVOa~i<|97 zKQrLsag+M=Z29&%Bc7WS{g0TD2#pJSk@6&$H(r1d-79Gi)QW>sONGl3^q$sVbz~t@*TkiN2MvFXO8YP zCLOu*#RRE0aMQnHAOwM4iqL{qarS8UY8s&uYg8{@;plv9vNxX8VCmq+?HbSH^V0*Y z=ciBh9zB2brw99w9zT5a_|fzK7L-QVvl6Of1U{fTCc1ZwS0dL&03U!w9d%!f9>2y2 zpb)nvEj(*X7{I}|yb!4YW|Ok~Jw`W#=2ie(=UmrKZN z&IcDw$3tjaFJ3B4bNFZ@+bWcEPbt5j%fNIe;$UmolQoM@E8rz zCnyHGed?F6{b|!N zrN*2|qGrFIjYkzLIJ^O4GX_)tgb*|TFkP0hZMa5Hkc0^b0-kfdC%|ur5-?c28lP1g zBBARo8gP#-3*MTU+^9A!Y&nKqf3f4YYkV`hUO_E~^uF$OtZaoP5 z*A;bF!5tIvN`7f?p6!f5KGSK%9aXStf3m?F83$p42k^^bm-bGJSCEFs%M(*r-Loh2 zw_6z~!~p6yCcmgEH1%O%@*ESxkq<>o=wOVy0ZWNjaJvlHdIj5Pf+fGRXV}d*6DNUB zjHMJ(fu>4-710T#boiMk;G?XAd z>4wq#K%3p;d5`W7w&NEjz6~EzNqimnr@*I0c~8K>_$6bCyFr!Iqu+y;8@N zPpVKbHC6c}ZuQo)%f5p;n$#8|N(D4w+r*7$To}~>2{;8t5%13kfE7WJs0dN&P!wxM zF&-j210hxsm&g^VAS@^mkt+g0fl%@i|E1XR;oN|PI;_v&1oQ3G^&i|$xF1{_Yf@WbxC@RS$1>}h!X)rl>GM)ls5#q$PHhK&j z{Uv=wm#(cV!5SFY*IfAVef-Y!7&Mk4(V>xG+Pl6_Wz{Pg2l~&nUgFN(3}9bpQHK&= z7~~i6*`pC$zR56*Z+cp*RMVb?RhyDi1Fap9whGccg7|x(U|u>Lj#*@}aiCH%^WQUA z;_!UxSDJA3%P^tZf_pNf50Sjp$B9OUaJDL%d5rsV!u6X%aCz<2C|nx2LR#o z*zH4+xh`^$L@&%xQ&od`{peIw@?{N`%~Vy*c;#lWr4CL>`o+XN8vWo`uWE=;UX%aN zhH&hOVFMr+J_E8ELGQgGV#J6XupAR|I^kJv z=<-6o!_oE+5~xVtNHeGw>I&&8Aj zNa7K}5(@_lQBSbt*L*l1Ko5k%4WB#i>72pyu8D0EaajYZEC=F(tUEc;A$Yz;ax@MU z;`}KtVdG|rXbjW%@B?Rikq0E`%YBrBtmwJQgP;z05R{L&3JK^d_JIym$A!kS19e55 zPw5?wK8{Bl+|4Djl_wXJY=aguTmqUNu71!NxKImdJA=rnTkG);>8bLS%_(~I*2QxQ zAoz!%#&rxg_b9X5>QTw}uPw+v&SsDDd_|A!QB#@rbg{sZ0<3x#I!0=x!>6I+euTN*rKfedfJ87^8Aw4>p4Df~AB&&~}F zKN(by2K4}^m1>gj_GQjZR9TjsQ-&8Owtrf>-4 z$-BJYWTf2z2DAyV#+f$rk>Sp4^^NIX#7_j>doUy@Gwroo6W%&ar6aHCJ6PMBIJ5pm zpa#1LMu4|4Wtkgz>yZLf>)<@5w-AyJfX2X{r~u+Ou73YD&DD$_v|bqH&KaBjnQ6Af zNmhUH2Pf2~M2yApg!?^3(S~j^W&WaW4{*_S&>2r7HevjD6NVmt^^Tg2Rt&coEZV1W z+9+*d$z*?v6zmZ)f{!ZrnJj~03GW>X22ntTyg}nzSwxtIWLKzP23tHDqshSaGfC)&s7#*XARc`tY6tBkkW|aHO|xc zykr7@(Lb~n+{Vxw@4E-8GP_i&LbeC5zD)l5&dy_fIj3 zCVoislm6?G&G(iC9`zry(8-`GCZ(}=0^}YgV~L}H6jbui_HmUAOfaWsP2>Rj7tw6p z21w@h^Yv1&ia$)sgge`@A&?fY+EW{n)dHHe7OWk@?>x zn}C*27$Q4YZwh#Zp)=uP)g4T#C3=wcHC{%chht4i@F4-y!dp;DXdFqYvf%-bUQfof zr!XtnVb0*zf>||_hj<`XkB^#6`w5p)oy6W^a57vZ^uc(gy4-Axg;q3n$W=mASvxgq zsaYKNa;l0bh6GXsf=DBko$DL@5L|lKk}?-niLWEj{Gy?haJwx(v~4JJs-$`d zpUPh)oxyaEpFDZW*dAF^Q<#jb%=!hx>53j9J#uPC=9KgB1wBK^{8j3u9xa!GU7k+` zV%aC>j#>6N{ke(LPeq?J_Hr&-Z0Vq^GyY?<#jGdW8)+{keIjq7$}MV0`rgl93QOOn zof+(u{)Ph)&0bPchi4l;!j}plz4ERFIpYdY_`mA4X~mV}oE&o>3kN*nnIy8n}>kdk=C7@N5mWniaB+vvu|<2*Wm z25^m?wfZDgG4@5-+0hv3%4wIh-n?n-26HXbT_pac6Wti1>`1yj?par&sdns`@;q{k zJfNk4z12Sso2n0xykmI_$~xFopBrTp(`8R|j$2};l~mz_rn@thUy5xSTtMdZ3^eaJ zcv^S1P@ToNDne;6gG_LI-{^&8Z=(w!SUpHO%wrxz!0j&@VAJ}#kOf>-qCP}$jSm`H zV9|4ffY(lgx3k4OzFMi?q%V`ft?@mXyTm)XFEpP)&vbdhuf^&3 z``;@?yZj*S*4x{uwegALR=mtini*GjZNi=w$vF!sIdMCxTHfdT{DBzFqU(}F;O@3O;)TA0l^R+Qa@>( z6*wpj!;E&k{pPKw01G->)h&~@=F7{y&}Xf^bbwjeiIhp@5F9)yk)~8CLG8)prP&rRB;d>mD+{YdZ_idV+_|$o^Tqm)GhQdL2Oj|ul=(%nRG@ChyFEYJ!OdY9) zFO#IzCZf=pyvOmy0__a0c;S2@TT!CyGk1C?x_T1UFDY0MSwUnHL?&xCWe928d=^)l ze#~&jdXgo#Uq`ki)Vf4VqSoJ3v;>rN_Tl$c`ZWbh9%^Ra{A^v}GOrKd<2tTK?=4&$ zzrg;PD+BnSBU{$)<8smRjh(vzGrBM3L$82R$hb#LL`-}4%J}s0*azOY3Ve*e^0Pt= ze`}|SnuPiw7!@M*M%Y=!k1o`5gE&dA@8R2RA_WOMk{gr~^O^oCv|cFg?d0^V%LWOn zD@IkF1Xm!y9iQNHevNQ#T=~+p|ETdor(+d#CTL}9x_;Ugy#yaJezKhfZ?r<`5?7B= zU@(B^Ss2zFe6Q(}16LeOUdRFqUKD^V*yI5#(uaP9@S#&3j2!!em})Np`Tkqxwq?>> z0z+DM!6_8#HnqD!7OMH>)D2Fe#d>2df%j9Oz}(KAt|UeY90|NV2Uy!Q=efh8%X>JW zgbZILf8ukoUUl*seQBMDoer{;OTh;NuH(a7D0(nmbot-DYi z6b1c>Fm)zFxEBGpJ4q{2qA+)UE*1(fOq#}udkFx0OM=NACRZTtd(T;%AsRW>S=(8w z)IxOmyne{D;bE4t4ZLMQkz z{E{x6{r9<;>f^o%H01ku4Te~S%=85LRBT4jhjk2Pj0el_ugXq z4y)s6egl$1PT>w<6Xu7UB9|Ai58>+yhj;Uqr`<{_6*fK}F!b@HF`KhjsT^CF#e?IV z!3vKbip0W!A>}{}HxRoasFc$%Z}1B>C(YA3puPWclNLJRx^?fAb=fy*-tKQcZRpq? zE_q5E8xX2z(ozeIG0s|gjxXP5)|#QrAc(l^BqW+5otG~<^1q~#=&HYD#qnIUw#Lbo zGU|#t(Tz@na0izmpy}vzq57dP)O{Sj3<-KaYPr7@`#}SDZgD&~#5xNshva^a5}L`R z^F{OX7e#-PGEu;@WKvcwK_FNXOHrcX#Y@lP@G}MAt3;!eB8kdiEFY)?vMeHgAT?3^ zIZou^H_GnaN-a1V8awGh=-F+O0yb;N63QZdfo?Q`n?k_9d1=Dm-B=K$Kd2m39B|+( z)iiMQ7$8T^j6BB zkNB;#ob1{LwG~&0spxA9F_(i<;l++9GJt_ zC(ZySOXzRQ#N7<+qnmSVbGf-nOaqaEUg{$_dsX4tll_7hIN*v@S5MWV!bw>^YDRpu zcaxuW+i~(D>2!vtKtVDZfXQ+yvKF)rLXjpT`5VHn3_FStQ;veHwY9EM?LEPtq0Ddr z7-cjI^0Ek|JMY#yLkukJuy8nXn4X#LU=^8iNaAK>1TcLQ z@ei?Nq6rxCX7EL6jge)O2xsy8j(Td2cr@>9r6!MBa}r|zRBBdd2dE!%mQwv$@uzRLE{hDr3v-O#S$p7T=@oFZULP80ROCB)Ji~2NU8E7*K9pu5C9T8&jWq zY0--*thlWMZbsY};N~`b7SL{eb^}Qtx;Y+*Y9R$RE7Hi3t?!p;4tn^>U^Ph|KsaC7 z?9p+N%i||p?rSneff6^^OQ#FHxN>Ivc0T>N)JqWFkA9*rgwd}eVCt^^MD#$^1f!kPlZ7R}~Rbhq`D(!tP zDJs@QIABbfb>$7vz^veoAhAoLo=*+H`;qnP`=5393s80qySc4Fcy7!3^b6CRvvWQG z%Q+?;o5Cv23&wL{R%ZO#d|0ruv$gBK=Tpb#7of}4dB&0XM<7iM828Ari*($CRvQSN zC7Lr&h9aEfVP9)s8VI?qgpfNsy|fE_=BH78f_rm3)`i{!!22nTwVt-|ZUmMI%raSJ zDvrubqmxRH!)NswQG=y(P>`h zSww`8l%{tNlP({YGEjJ%2`%68isW9&&`XsLNKIlme|9weMfzK9@^)Y%dsmX5jl?8UulPT=Ta+`^ZH)2WzX@#Sy6@b$5pFy5b@ z8?acvlP0XvysUeC3OvsHET>HT04-?Ya2%bNH_Ti0!VUhM&=9gFeXD37SeBQM$D887{N22K(%kB@ws3?@ssdXGnQBoJcLXWRU{@=kRs4CBhbw*<>-Y^ z^4OF~9MP(pq2PTHTZp$62?GlaJ*uqd$gwyw1WVSfs)l=jdNX{iAH_7Zg4Z8rCYmJp zyUj)CMD_~bLiVlVwhquPnwq>OT%9@CmbugMC&bskDa{o&#B zeAGW-pR zr%2XDA`5b|CvX46(jQvdm)#pGsEmwTrbhSEO{NM%Pd7edU8PSx$+)zXer0fKzcNS3 z-oH@xRoCcqY_9SzzUCEzp zp|3Fa3Ptbt(ucf*N+=|+J}C*tZ#kqy1RR-okvS5TndCk-h+F#$Oztn5vak_ryGu%qDDlu4~bIH-AkEsct=o8re4c$zXR!S+3aA1j8$mH)Ac<)6;b+-^Kb zz_hh2cVsC!P=_Gamk<)U&M2hLqe&Y*0SzsAX+*_(%M_kGVBzM>vRZZ903O!S_;*-w_@ zJ}bVdLbR5W!Jb1ye5}ey8;=OonOoX!6oiml;oG_xpZHh0=SbBq9+G|Ba}{sc+7-jB z$+aPI9I|WkACmyGa0{-@I~gJ7Wy7ya^$)>#`JAT*i^IjR7THC6JaWU$mBzD5xlH3x z#)5*Ox0_#OT#7A5^GNER&ug5iL^THJ!f=z0%8@~c&T-MG=yb)LR)T2)#S@qy3-7#X z0bzY;xulB}Vn=p4RqW452&ANtr`|>&Ro2JzYJ(LSHy|QlwN#r7yWxbW6rcvWyvPNZ zu~Indq%BZ$6*a*ZvxFJy3G?^1@uB*0E?d88wb<&{OI|j$t z`QB16h^WMfF*CO5zA3zFmYyblmM*jkgH-p>tVM71_DuNO`Q0*NG2kH-T?(-Pe%!)7r zkmoS|P|ttOdCeyyL@R`hbzM2JAYiVoUAr%?VB3e>W`3@c-39SyY1$?06@no!PGr^| z!JsPKGrc5%QS|+_hHWz5hdEV)wh3!6XCcA5&AqPAyE&2BNiYe%#~su&lr!I(9lolU zKRkQ1RUzMlxA)YeKkud3LtkLQ0uinV8^U`Ud&p*`zuyb$Iv)K&Lm?+XTq3!K)uE2q!b#d3tr>`{T>HKNGW zI=9j7A*<3I8;}p`-Z$@qrxO|*I<3pep)WoArXU%-S#qNUQQ&aNMdwQ4Izg4jKMcTN0z_D!j#D<`RL6v{SMRSU>Q zm?1$X#7W0f5Dpup@C$0O(&;@stT#7Kmdi5;%8fS*PnJ|T=kp1{5ZdoMS8gfYIgL<< zPyNV?kuL3=VU^=U09S|X28XoKpfgnCMpfsmfZhP+qjMm>i4*glO%!(6>n~W5E#!V_ThgDw!faZAk4c#xkQ(#{pE8vpm8^($_-7!9Tdq2Ab zak@XB32eQE2n9R+h#P;;a6^foDn~USh{EY8ACufuK@jCAQUzqxNkE3+tWMXn2j4z= z_Tc{WeaKYI+h2Znf%{cQvo|Obr&h!OnGv{M>fO!R@O*i)jf}|&d;UwnNFhN=Kbd1t zute{jodFgJGZ~}k5RaSdUwbuH2}1SGRd_BjadM;k;^-^z?`SN=FB8w&M0w61R6nK! z^!DhCqM{%&DhBMxypy2x>s$EeY=QB)!i><(DTYJWhSBCBp3p7Bde&^m7C3>y$|0K@ zitj$Fw_ttz<>{nGV&d@OgZ)I>{r!ErDCDT#R|4$ghK-YVXu@*H6=2t!H;^khd$jjt z4+YAn$D23a{Y8XI(HCZS%+gT%xORwYOPtMi>%}3IXEwvFbZ`&6nd2%I%bKWIPZUS( z5#Hl+=AewkHe}fmH)Z|V>Nu^JCo{xGHl9A&d#*v>sydjB-Xby%dI;AG4xUDmb0cW# zA>u!qVvuZ?T7ZVa2w@_*HqHh{R3-pMekfipgt;))-7tf0cwg9(GYDcxpNKv1-@^1o zED@d%;bUhJ?;Ww~z_H3t928oo4MgK^`@9?mL^_;}zz#atG#CW*eSzqkIG?-4Y}%(X zg#dTy1PbXRs}nV4BOs^}!EPy5Y501pdX*QT^L>rNW4!oOq{6FrU;pkxpFmRFpPk}< zGc4`R*WgRVo$K}!NXxWF6AKw2ZB{xCQyZ*9eEaU7y_1oHb@8dTm5vI=-nY2W4h|6reuB;KB0+TR_e|pF#36XEMlev6fQ^84Ih*01Vuw1IGXvNZD{HHOdd4i?0gV$WF{o%Uih7VWI+@xIG^NoXO%0Z zEfPN7dGwVcjzsKH5MJ%cQkjNDH>%q&ePwcM!j!MCSbWI&R*|#DtQXhOVDfc`kafNu z3;dcU-vj_uwGl)-TzsbD7t8q{Vt!Z7tZoRZQa^eA^gfrV2x{#1Q4Kvk8p>otE?#XV z$xIj!s6UKkF7%!D!fJ}=&|F1!`x79E8=tXtU?KWQ+pR8L&S{KE)Guc+06*kn zT{)TVsL<(rRv#k%I)8gTryp)kVM_>2|333NuU~^ngV1d(QeojM2wH{rp%>*kDpOvQ zeQJ|0NBQ^fvWi5bgfJ9?MQk0hFR@FXr(c^qcC+d(YIMNh_@ z=?u8G@(9K>qu%24g!cTZo^QXY56<9{*gl(_!(zKR86VuV=HlI?mq#ufg*x^PGSxr3 z`+WApc)I-J-h4iMTWzwe@@IF|J~HD)w~aHz1T-OTBikbIl0A8Oyelob>RW&J9}Aq8KMKju%hi zEZ93gqdN-rAwq}3L)M#5&Yxv+HkgGl9ljnP1GzcMHKm5f^x)yGBH!!7;&47bs5u-Khh_J3(U+lEEFK7axGP@6wKsYy*~kA?zco^c zt(+S9$wP)Tw`)Xcq1QL0x=k2EU}MPio$@UYzTO zGz4rR4X3i6gAllyu4^^oj--NI>{>hkHjGGSxiZxlX^=46On(`Ut(iNYrY7yVD|xxM zJ21_jGJp^wF&%so)6IkeX%zh`Iz`^QUV@C2uIc$?f_~k^mGROkW@C=+2LXBSl-}WT zg<4s;fFLhT{{}Mh0csm>>Yh_9+QQ4X;f~NVu=Y*sUdDM7tD))s`}VnKn$St1oVO12*I36GNTe#U%6ckJJ0He^e8-|v6!J$Z~U6@AtS za^&I|1t~~K{)hgTz$!?tgtvSdxrePZ5?1C0Wy0YSIVN?+BH{Q1CpzJHU=`kOat|is zS2&j7h_IVe8oRS;?-%yI{7BD6_I{&EL-`4FPJ2J#OUw8pPDvKn9~M~r+q1rT$#eyn zrRK|mN=WbG<4cyK?p}ZnLiM`KS05o2E6|)aNilI1fKt5?;Z1vOb3)n3D|`MuW@c|v4GZxK$d_8OUt&^oJJLNet}`im4X8y^6fX?BPRX^~!Ety%{d1KmNF} zM3X}%<{X_PR{v@|K~~6dwfASHH@_Lah3Vm&tM-y49DjCcd6^wHJBU=!*@mQ)YK=z2 zLy2`aGV2mcpjaXngfCHx#P+{Y&SkBoVH*3@7e_v6-52f8sX!E-k_Ti>_hI5%0p)#r zceDSM9>BJYCb7QnosBzyBRsti65=R{=@kksmTX_ z#bB59Y2GJAMb$@1^|xb1+~v6TV3Z+cgHh`^C5*7H+!W>FI1;0k54_Xq`e8A!-JYh2z+isJutwXTEW+EbJ zVARwPWFsJLV38wdUve+xw5Sj)Jj@4uH~tN#t>cC4umXJiVmbS6_NJb*#K9&~djm=) zxe8Jk1vE=s2wPN$GLP?N49OyZx06I_c!ipXCjkJu7P?QU>n{xE%##^T`IEhUL7 z0=77vU|1LP-aw;g@-b}uzx(2`N5-B0X+39^HK@@XS{{fFKeohsGjifnjrGdXh>trw zB%1IerZefxPvRGYvw#U~>kf;PSM? zS4>kQB`imfda&m?8SG}l9fWH~1^fgIIR>HVUQ)z$4_=&%HGd}UiVEFRU-bM0ae7wg zFJRL{ZOFf~icx+IZ|FB1(<7!2U?jTsnt9Y(rD;zLYkCV(!X_;LR3X9&KJ3P^Tm?`% z&Cg7NM@T{nG`TvQSPQ^YNDGkM@59WZtmucF+W>C8*)6AK-AOISz>3M2FsH6p2E?{RxfE!>9ziZ~41+UGikV~aZN(Si!F+lI?Sf`+5vvr5m2~HWd1OaAcv53s8 z?Bz;J&MCCsocvNNt{j9bq6ITLqCIlvZ#9*oyL^zjyz*3O0dTVOdXrVM%KI%K9!b^$ zTJ(aufLD3+ok&ATW(G>`sW4OgkKQz(%i%S27%ww^FzxiO0#5QgT*9)W`#BER(^ZtQ1-{qqhd&mY z^`Gx-({_N(rO6fp`5PM(ukRx>X$xr2&$SWXqdpr=)6Ez7;W`lQ0s=r(mQ64v_Khq- zt(%6(^gq%l>}u^L8DS}x=K(#F7;6njs@OamAD=9Hrv*m>PGG~orrpAX4BP$IogZ9Q zOgc&*X^I4njJ+01Jr zxs(%4;m^GKm;zD(5Z7=98*oGO`?-d0A~Z2dm*{jD>Qx zXqk;Wg%saXNyDKO?&T6CaVtIaqdv~Yc%+uNYEm;JhaMF4KWr_#BUyo}z1&-mb z!U60l3P+G+upwp;YPGnkgdcV0GHuxEQNF%tg&5M-wh_>8zz2!tV2fm#pJo#4_=WEY zP`=>~mdR3VjADNaeDdV8M~J`+D3sarg?y(swCMgEAx)By7vx-CVh$q(J)wGRV84b>;2TZc~zyD(DI zV2Y;*BhMd@GziNyG|X(<^^H7!B7=?(I?&}JH(yGgCUGiY$tV0;QhVS{APD`>OoQy7 zN#nLg2_h%AA1b_~qxz>ON1N$0mOk6Ql|HAPPMbf7`-GBuZ2e1OWfQC`g(Id?8$}v* zYp-9uxa0Qjx(#nd2&@d{~n{bY<@#4 zj5+)&#+~7(v1`*6V-N7s`2E8*#veZy8rZij8Z?c9J}gyE3)5k=ZPtn%I%^hva*FkH zR+3u5s1e$N32C){i*g;lLNk>i4for4bOx^E`tqb{cIhR}gsE#!U|&wMa+Y zWS8zO#DYkZW8WuVtF!d^VxXT$D1eK$YRz9KV41ciR6CJJ;GfvLCiE70JE5;bRZ{ce zY`!OS>?5mT!A=rm@P`|E;l0za|JTLZcJQJiIL=}ig77HR29udUPq`b8GLyjO9$iZ4U7v|m{ zDpd18ow=-{sm#$Fhfe;G4@|vFS9I&-sMqeY zRE}Czpb&yTZSt@R1zrGEowxX{#3^)Gh9lm3+yaRTvmyCZbC@*+4|w7K8*zRMDejSf z(VGZ~WUHF9R?LLL{*5n!A{8GCt#Cp0OZhrb4vROkye+8sXVFz0Mar2z8qqoeN`3f2WLrGgp$Orq5G8@w18 zIMnDCt;_er#&}mrXI@(16PK* zb2&}fSVlwnL)pIwENlQz>Z#HhhOkcEs+ zRynuPro#|eTT(xS?-(cU)qkQNUd|TQU7r6W5A{uc(PRvHzmnlotFS5*rZZTGNO!Z9 zvuO^5_rglO`5bY@>JHwXEl;#y&L&#P;Utyr2~6n7N!o$-&+9CV|B~)RB#1?4L~4&m zIb^M6C4f4Z4}zB_<7(a`02mL(dh*#-IZyk_{FN9_UgYOZzT@kaZ0C&vMVnmbO;#|S zH|vEIW3!=A-g}IHL%Yzd#3}|pL!%a~&@MD9VL9SIk2@Vo=%&3AywT6=Dg@T^4%+NY z*1@+DEd8F$`XN?B0N1f5f+@ew$_T))I^xHfr4y@%*ZFN1!zsn3_S zELkH4U{}J7jW30oJNH@f@vkF+6;YMK`ZvW;hS})4$rlmJX7^Ax;ZJWZqA35hN7({$ z=MmXxxes(YPo>((I;^$k zvMeCCO`g6~ET>DarPIi~bx*Wedf~*-2Om)b_TOwwOGNW0bvrAgXR=WA6U-Ju@h)>A zJ|S`Wau8B1sy~K%*t#Vw9Tv>;5Q@eNNxPe8;QYW>3)+HWhMGT2f*C1aIqQSCW8W-U zp*en8&IDH^jNsD-NAw?S(d{tosk$}EfjJOLO_7!tU=XT2`7rdu@+5wOkoPYyia01+ zmQd2c%MJkO2gM5pDBtn4d1A8!68+=(;BP;~?)G}NfZJy;5pl?~r*Oln!;*@yi@3{< zAAN{QaA|q9WF(7Eac#Wie& z>>;Vn;&zS*p_8bWKz=HrM~!l}0lP*}$!R|1F|9>=kR7QdhGWBX(M7(R{`D4CmaWF#VjD3KnI_UPSr zCU?0psb8Zq>EmLezOFQnXn;}=Fm@K31tfi!hK=3aXu0{~l_a~uVg*s-Hy|RS^>%sa zE8nceM5BNzKST;^7Ue2&bd3eP?_P z5Go5o^+|dFkMz=plp5z25X`BG$u3Oodjc#0JfLe_(NPe3YH1x=K+R#UvtJQLLPntY zK-&S9;o|M|5I5K`Xq}uf{N@o(%mxjsLEad_<^uK(nC_g0-{$Mwka5@)AFC>U#|kO< zWcX$X3MU{vG<3aY(|hKSFHmi4K0IZBj`i$)7&r!P!B#d3Oy4yqi>+s=)UiiBw*r&I zm{s#p0zivSwqWNt9-^h==?@?*n6Ur5cL+)I=G@H~-%;{tbR7gr)g|)Ky9Qz*espKS z{oGs&1SK(I#BuIdmVgYtKRg32Lt~4;4A^njzi2)Ka`z@XQe;3Bq{Oy6P{DRl$?1GV zQE)z-^%pRauH7g8a8SPO7#9WJ0w*Y(OaNWRjH@$VsK3k(C5w1}I2ma@+no>&K?3A# znUdo7^;@P{43gkqcbjA-38Bi&W;N0cDzfTxq`6^0L8SUt@^b$tdj+i-!?*+bqmg`mA(=z^t^&h2)5>|J1QVbv=p)Tgo&__VKV zg&ILA@DKhF^iWi%qmMlBh+y2q(j6pZfy>ABP<%*!|H?|Lt?b1KfLs;SgfmsX3v3>R zG`)W^T&_a9UVaCMa-0c0_`L0x;KY8M>s(?b*_w7R70N>Bw%o#z8?Qge6lgi<&OkgX z5jMG3C6SIi2_OBL7mX7ppYDj*D*Gpa)w7{#LDBoU5H;^Bz{a9u$bBUl!bRW2mK-6; zCL$3;?uX&?E&roq;_iqMv1NqL2GG~|Habkul8*v@&5t_12qWlhEs<_j&i%9+yVw5+ zJVszHZJ_az?WpA@=9|MI?B@3r};r3 z-<4!unE5U|$fGj9OKMUbEZQO1>gAtxG1%lGsgB>a2Pyn(H#Xt|45M6>y!M8BFug+L7ASxl_LM{yb-r0C9F07^2tz6Nktbw7X!dT3q?UKk! zLGnka%4;RL604E^0v9!E!5W5_@hn(gg?XE(xDZP=VynII)J zfYx;s#mTs~E#?GR)EG-HnmUWSiq+(*To#O=s`a2rMQCCt5ap8KG157Ck z*YecI-JN(qE6;jI5ow&&JQjlS0wNZ@PS@>}YBz!Ojh)6_vpV&?sjkFob|?v^$Q-~0 zXG}V$M?NQ_#auDc3!|zvSt3TAaiLzgj!IX<6FIBIqo>I(w$wwydQV7 zeN^F@EN=F{@?vv z=>!M6)32ktf-d~o*^;hv+cZ#J0r$8yMu#uW<**ztCn)zT4IHf8|E26c2FS)+JNvUg zK1H!qT%R;CNP4$kt0w?pd2NCdc2RP+nhlproNgtxNV-d2>-i^=dP6YCCptLpfjq+yh!YTxza>H1jByh<+f6F`CTeeU1dH8yRakTGO9V|MH^x^WJ@3zmV8_ zDr>z6W$X%B0IZcRjxZc3Y}CW-UnyO%NKjjm`OgMKRj<;zK0BG!)A3K?4qqVSoXIT$ zjAvZhqTg=6Z-)1jQXKBhJLvMP$=K@{H`!c3diMbc-q?yw&#o6nK@`fY4@GCh|6|QXS(PH9s*bdEbI!9P8sz{%K8&J_Zo|qXngO+9i~vCQJ)h z$x;9sO2_!LVtis(WWL?gRqlv(gKqG;eN*;8Y{%6dP1_wbtjsh9|A|M7DS|{e5x$ z1l_(Dva_>Ga8+tx0;LVDQM-X!C(sO}t`WCMZ-lyv!?h6@bZ=#vK2=onG{SK^o9XGj z_Kb46bo$+m{4Ly_SSRTlGcQov*jp?tp}DXGJ1NaYEHls&tb{t390r|f7;s`oHcYop zr~}C12d|;Le8)?ErpRw_{#54Mu-fwZE)ji>K1THt78g=uRqsS^jg%B^DN3rfan`2K z7b!Kz#i-ewjjipVCR(CKZbaoet4#`D|2MA=H9({O%%eMj8b;$dSOYF;tO0y)j+#$g`%4~p1$8j8CH~63YxA<8!Cd0M1 zwYH?$z^&=LIWv^A&hXtu(5Fz~yS6Pc_|GSg9zXcDK&GVWx~PfQg1BWlCy%^lUgiR)!3_%;Z&1$$1GiHP8KIc;>k4W%789}Dmb>u46 zq))`;D(kVs3)_>emHftfSGW!+4aZlx+Xda!kmYRq3>R_IEU>QRVhLQc2{-!$H(kh- zEwW^z0%2AXZldAMZ?iLA{5GZb1}kki@l^#_ZXj20;J9~BE`9g7T>^k{Q{v*J9{C4r z8a_Sorpy6E>Al#s8$>Ukb~kS@Xmdh{T!Y0p8=wYVFAlPp6n|)z;Cl?M2SU%tdRjLI zCKxwu*?|aGk0p=^b#lp9COD#r*Bpx3ctL%4^$~JAWltqN6CPtc7o|KsQw7%_YwwZ6 zDdj~465A~JaJ;9NZnQY=ZsZv=19bep$2x0{EZ^T(rHdSR{6KUu#aW6p`&w|e@$>;# zkFpz01hC;mhZq8=M&am6GXfZS$b3!A63zYdAP%_E-~vr;8W<-Al)vB>u!+ zXJV?LQquWo3SZq-2c+GBvkErWry{j{q{aKT8=;RQ%Ix^&KrSQA3Z5wNk+uK-*n1Q1 zHjb-J_^&{E{e@smP_n$lQM`;LOR?s)mSalJ$tUq3AkY*Mg8&B&Y8j3G`#jHGs%~{R zK#EcpW#}jpy1Uj}w{G3NfCbp`4!;scn^wFKlqu8rQh8&348(;mx^IJH)5LtuOVIeZ zKiImTYg%dfRi}v~1-|a^Z|OjQw$>8>4`{v)1D;yqI@hXi1=^tKya`xmU_m*k0u3CX z?|=xUuJ)XmP!8dOs8IIoL;rBNP`1BeW=2e+TWX?hh8$tdC6>TYra{un9#ibfR4uUx zA7Bspcc19{|3ZZs?|tOs&dw5*0>dG}^%0IXrY{$Pfg))DW1B!;26{ zvZ~Y_&P5~f!waYym(Q|H3Dwpv)Rf@M_ZOh?cJ5!1hgNjM>EPaxe1X1X7Y3V%}WKKG-5sZC`(7mjD?nac>LHY>fmA)!Ey7490%x zayd|OuHH9Iwzp&>Y_;Sg*VN2j%2!`|^D+t9{l#uADRKv&{c)#v~nrad$*XC>k#@@S}<<-oL-0%kO2WM)`(jYnh;s-xP1gLC+!6G8PQMvYVr9Cw)Odyq z5=37eg&=*qS0N(-+$!UjYrpRyY)B6VxjeGrQ3ow1B7x+RPDW1Qrdjcl5`Xqd?-=gG z&0i#*U!l&!>c?wdrYJUqZ6FTsOoUr)bDkW^9mzo zTZ<(;wI@;)oj|DL)YqEL(Nv_=sd5XAR+gK1GZEra9g=b~~atyuVabMZvMxyof^963WCYB80< z!=L9(Xb@W$crSxOQebZ4m$<|k2R{OtnI@RM98_!xeF2%6HJC_G!GKC(9Z(vFw+u?) zYrZ9;O}2iP(3LTl^K`c2S>O_q`8KR9{|EqpaARIa6{J`0rTQ4Qay-F5b0jH`7jyWa z@y*LATv$0#kQQ$GiaQ*>^1QOdr)}E522gsqUneeHdUSl#>W;5~!;`$zq#{p+|43Na z%mpdB&l@>80&n){hrPYOJpARy;ojq4et3N6&ws@>+e)s>e%?HO_}_OP6h#yZ$@&3{ z?%(|ZD*`%?%Z4ftO=T4xKYaYCQD=1me>(m8%bnW~f4%d|UyBk;Wbh#M6|XxqY`lqY zGp%V$X#6AsEwG*F2&4;c<9L0u*P5Dem~0Z!4jgM&8Jdxti}j{-*Q0Y})G?^)NT5mA zxJ0I?)(x6D4n@(_hP!UW{<%(8%%*{MQU+;^#P+nq%pO@ts;0R+aj*h;5Gh=^>_!ko zz(EOgij(-!sIFfwmN0WS+6p4y`eqHD;;GRBd%H8EOYhrLiIpAQ00G~BJ_Q=LJ7Llp zqU`&3)Y=i!nIRmIAxS=t4(UZeh(FEbKVXuSdevULoWYmwULH}cKn*dOv&O@P(Yd}I}#gab94CsW8*=> z2xQP!uVdz}u_JEhFp@G|91U&`giyw{(D_wE+o4Q~T)6|2Xo)JUEU44Z)pw6!Eo5<* zQ~@Dl!L59ZS(rGNpt;E2=%{V7SleDAbx*CZ;)S1fxxQ^-NC#{L7W*FLt0RfLAs0LW_vJ`+1vEukQC|Q@3SaY(_=TrH8j+7TtUrUtl3p(rTr+fS zH;)}{OHgY{EUU4m%_)d2!s1ZHGr)pEZ?u9!J146ss8jZ>Do@;{@`E9Av|V5_X?tKT zTj0qn+(APVd=mvUC};S@k&ylg>S!-Yqq;FO;9%p-L1?=jHM7NJR3Gtd!8?)KTrxTV zL$L;TDfQE#HUv6xho5v&D1B62bMmQRZM9{&WE={1`Kyz^~DE{$LV z#WlaUq)d{=OXw7S&rgpJun8elK=ejxC?vk5x=qyBY*fLd-zLlsk`*L9=%(?k2^n#o z1U98jUh?g+Y$WX^w$MVC>J^lt*mhFVkKoYPQ~m}r$ce=>0#m#{`mO4LQKkxFK%9YK z04oZ>i5!wp2QI;Y43_l%#S9U=3)Sl^IrmC?Rv9pXYP^CM%1dbWzS9R}538$wC{_;< zJM9Qa`X0v|CIrqdT}K;cfY5uL0(lm!c~Mc`4H#k*I#rU=Sh4qMy6qFESg)Ev!JE$L2+{7Q z{HD-!0{YZX5x)l<|2Lof;JqgA+-9CUv9z15YwpQR>kI`m)Scp$RX|$NXug( zCqgnBJeUi~&W-WlU^4{{p2dm@7s-_b52lqtp_LEgV?%(!hItH;1QvmQLtRhuA^e$# z;_b3JV(RknYe)0~p;^&q;^8!5&ITIH$*BY@*j|*MJH5}Z_kJ%y3Zcw-0F8F6hJ!rd zb;rpZU4J`3&FNps@IL4KTOd6bFuEq4fZ}scvuOg+r(0~~Ce{{cl%HrSXGaR zI$aV2aa3l~GTZcV&dKxT@U zX{xcdUw;)og7Ui7R-J_m;Aq0YRZXWqXM!y*%3nSgLM#~t>!CNVjL4aj$L_S z73{<`=OwRdfcB_r;W{}vj>OB@1R)^irksT6f`))u3~Pu0lUKK1=lX_&b|Vv;&#-ss zg(fg?mJuK}Mna4eQFYx&4yVhMWJ!lIou7Ls+By`mxs5!Qu%>XKC{{8%v_WN(b{Bl8 zG#L24++e1Jlj5%L-A$`aS+P%d=P7!+{wMtNO>EjixbgnePZL$rwJ^w_S{TaH>Ariu zLZ+)nutCCs>Zlt3rmMlBSVeK=9h&0HQNYPgM9EweStn#4Lp{y)fo|5@LNniFH09Sc z+JFKE_gqPvHUv-<$bASj%RZ>huo3WU=z|jrs}R0~{%w7l{U^4vdmxRi1581rK@z9p z25QrnZxV#y?+2-PLa{ej&ST4KD8%~HPZcz2Xt|_~zFz0=s_^L;G%&^LCa_EM0pZ1p z_8?)l3?=M<^P#jaQDaKPZ+7gT+rSb`7JUI-J7riv;(NHGoeIneRT6c@106U3cP+#> z9*>r|6&X%U@N*i$i3_io27^>hE`sM5pfqfm(9byFPz!Os2d|}G4KtwV!<>%8@JAcK zyUhCOzSA(>nSdg06-Ntd5-7GSbxgzE8tSM{YW0+tD1&|?Fnf%E7Q#!bM_Pp@d@fI~ z@3RaEh@>N1oYwc13dcfT+7m)RLQd68Z(y}<6Ik~^mf0#%JNBCpSBE4E64ophW&UVK zcQyr4k2)d9JU<}=aoxvxZhuS=Q98Oug?hPIFe zTrQyea`#~6-vyf#P@_X=$bUpD0Fg1J9AXzGZUAmG8TP_LgE?gd6AkSK-MA)GDrv9^ z3Y~6vGwf$b>+T#;aX|9Yml1B*dTq zMci+!Bcdw1R#K57t>w8^6BG*=qXUKhlqvW!&SUq~kFo!^n13vbFIWk+klQjClA}yu z<+xyQe+amd8!+VY6IcUQa$i-b8FdhA2K_g@!f~YH z-z6**{867C-+G;_JxyECILu93jTtZbbqMlFSDtI}p^>Q)%t&2vyrO8(pZD$jbvsjR zmsuEAuaTaX=~NK8u)NlKQ~Cs@Nv=&9lx7(Fks)i|+x*k>-0I@W3UcVoH3qa$wXR0O zbGsx(f?YhO_9-R4c3M@3BhdOiu@xD9us1e%vsbj=*JPXi^{&RO2fH(sH3iM zs47!VBH2U=4>EN+2M4KCZMA9`+THL|ODsh}VQYV<_cXJDp)1~qIg&g=fkl^txG@9S z1l>I$PLqvLi4|Jr61D80yiv%uM`_8hhyw6^_qTiuSP*6bwKG4C{p6$;hPL%k z*)zt8a+zT>R@#IV_M9RAhZ*AEjD4z1V+UPuC z0v=&K_!7ye?66ZNko_yjM5s);GZI8}B-F&DZZ{9kI}8LxHhJtRgQo;~vRP#KyY?AG z=1m-gpSa0l)@|h&b7eDJQ=)%p!)48bhDnzq+S71Q z+R&1!3XusX3?YD)-jS}V&n7bsTlllm3Y=D|&P<_NN;{z|;8=Yt!;A6G;USo8k|NQC zXDX_5U3(siHWEYRtTMXz^nCrpqy#*U{#p+jJuat>88=6+9bFSxIV&Ks!x7K{)`^O_ zN?ND_>2&Cz0!p}q7?`(HNeD7M&3)%(Py?Lp)?y$&cS%riJGT;ct#6ECU|a}p@>UIY z-?<%9p68-}Uz5(Z1SWaZ3Jl-%Sj9}uJ9}-;pIFh^dC^n{O5CI+Nf|uDM_>B(u6qK` zkxrIR*_)pa`-Y5R>;dD2f@gGT=4EyeVU)3wB8=Qiy2CSCeUf}&-jnd)tk&SeGnNoH z)^)kAHu}~o<&p?rA5h{PtFo@=5+CkSFQ#;-usS7_q;#IrB!m%kpz$X9?u^wr2CnvO z>M?%-BL!wM68XHV)%cM8K^*VNB%$sf-q|sB@xS z7;)AZS}pe@g5>3Cm3v1t4tphT?{Laz*f-J9O}2S7X>}y)Y$Dl>-74*5S|dY9@bD8q zkES?33bgR0ZZ;TTkd|F|EZxOze?aaI?CHQ>B}v8)o|thevOqkisV}gdAt!Q_aqPX~ zjjDk|@c?H)krv*>x5ZLkJ28sJ^*6>0eS{@2gWAS^I?v+-tRw_JYL#k86TF4E{gkZ; z14^^B(mp=dc3QLVH#;B6d1h6dIAQIEj=jo@6xd@h%qOl$uwx!GYD?vr3`GeQ?I!h= zB8!$x+))Gq3~xk&T;7>6RfE)enw7?{^_?{;YmXSD{xC^?SCj;Dp5jw**wk@#uRo@o zm!4B^5Z?7LqFsXk@^-NT&LcOP1OvE<=L?$&{UdAqVtEJG&h*U!DQ9$(VO50Wc!7yQ z1L1Q~Hc+Y(7Foxw8;}(X+$06#MxNIBSa)VQ-ayoO4~}bjng1&5*6`x3IMVjT)hggTZx_}I*OX#x!$=>?aju1-cHD{3M z8h*AsY$=dNimD3elhgWWZF}Xew4Sp2N7(sGN0hT+dQQK=lTx0b8WN zyp7&>dP5#?Np1@uduLQ8yw;$xEXq5gPguw%GKfkmBZ8Jp7}6}AK6s4;KH|?6*2c6u z*Yb2;A59Ne#d2nxc>l%pb<50B_qvgyu3e~%gtcHG=HGnfu0&W<#Lm~6An4og93Vnv z(gz_CLpE`WE3!Of%F8A+jC~mXqGwgm+o?p*vWY#I@+qvBy%*2TPN`%Q0!f^5Fl8<- zfJu3+t^?F|7e>`kQ~O+O3XOx7?wVf08M!teCaj!s0$q}ZnVR!1!T|;k1?@5)zcKPu z38tT#!gRHc_r{4U$2Hu%(yHiLt@zZcj02BLaxZ#Y6N%RpZ}iowZ2QPp$6!?dyckWO zvJ6Wk62h7ls&{8rzPx(K6sQeZI5es=Nsf07|ExBb$nxck(niV4Q5H~cNWAEXhMBmP z#RAbRmk@&&wx=vkX7<>e=#o_!SJ#eC`bqm>HMac(P^U8|_vu`6&}aH#71zV5!AE8M zEC=}yhm8)|I_-qgvBD@|YXjjDImo<`8cLko8n%@VWTq~J2_3XzKT!#wmTy}bRAWFL z)3Xih3kby@^hpy<(mo<(WP(ekX~$&&wcbT)>cFN$hC(p~rl#VtEWI00c{ zlRL2F(cRa`0bK8WuP0`Ynpu?HMcg9V==bZ>13_q7U*I0jCd@`5LUHj`1|GX~8PrT8 z-j=`?)R|-!e|+@y=tU*BG11p;_L?EmkjXI1r>w9=@5CaX_YXDQ?$teLOAy}ll++m8 zYo3+5d&-wTO`jjl@P8zvmBvx-;R*Z8&$lIU;Eyog=XZ}8Vs4MpqrP}H-_O%Xrd?fb zSX|5i$BqmV0Uv;4+f>oC(CqMZu9Qig{~m##gz>KelLzoX&B*37fR-*CuLiUKtpk(w zBh>a~YQQC}fq|fS^8AlWNt{yNA$!N8-n~_I%sNIxZR}EzohwZRGwB~!8Ka&5(7T1s18sp`Z(adI}!FtiQWOAbtlFas{*bW@sF(idstEP7MlqDcu z(GQY8aSp|awPq1Vz>V#_s<$@L^kjxqNdkq&orH3f^x?AO=s~o^Lt22M=kO4~kxqx~ za>>1btK`Q=hzt)~PZz~E-?OXW>SmMqmL4#=C7xXko%mLjTfWdzo?3UG{yic25~l;O ze!Jgy6}<1f0zq3Snvt}9Kp+p!cyrL`vRM0f-xY-GyhtOLp7)d9#Vy4z92#Va`u03w{+H3cx&rtwz1 z(+DR-32oQ-kBJw;}P2I&G4b#HPPt_9-ICfVF&?mRtLOHdbco7RNDnf=AJ$RLxeBbxnc zmtAmF*xZ&CJhR91&8!O#8uR;=*R4)x@aX+Oea;uF=^?ImBU_&vN3Xh&q}B~A0F`Yn zth_2fFK>uE4FGB7)+7Q^W{*Tma#rP1i3LVndz%#b6Q%Kp^zkpru$a8w8{=;C+0VFO!~|x(9Dt+7+X2L< z-(($Qq}GGci$_odLL>SM1v{0LX|iTW3o^Ukdj6LsGHD}^mVQ<`z^1C@9m!S%Bc|dV-`G@|IeT zoS(p2bY>tSR^$pboa%eue2WY)-k&5lx_6jDLK;A48u-zSIu+ceNF~Mu5;d~PL%w9z z_~!_R+tq<9N9W7aY(~;*AtoQr!n__e2rCNh`RK(RBvr{Eg?MDpq#ru&kP@2nb|hsnQmx zPIL=gbg@!HzL(@ANkIc0%Y|*1cHic8L&@R6^WjU~sS&&mp^o0yE@Ihl*J`#_v8-at zDW$?Xw#U$3$yS;7TT7=IyQB`d)BvyR4roO-KQgi>-8CT=tQ5 z!mB;94-2t&`vF6IWC>$$oZ+I^w=TSSe5 zZ=_$TEh8u;+KVYKRVxHnPf7gBf9IN02S)iBRzXZ0P^M{+V=~Ja_ezZ(lIi9MNO`_S zff_Cz(9#RjY7C?Yo;r^y;6^jM;rZp^`+3$`XsH@9p$5T9yrvou%#d|&Zr?kn$ zG2{`(x6sdP+cG5UluA}P61RL$Xxp5cp+#)Ny|RV`;c#2>h4eLPh&Vk6O+f{^ECk?V zK(e%q-(^@`xz6^~>m5N55L03Zz$GX_q+smf*^pwy3);u5ugnXr>#?O%V_b&47(>z> zorvt0-a!il`%-#5p?oQZpVRu@#8Tg;uhTh17c6=xug_FopdtK zyi7iUjUmTYL`2PQg^+TK#%+^1Bnm`sLg7lN*){8IER(Il`6&3b;x!9oLw# zQHfaMpU63{J&nD9+TvqT@HU`|~Y7J|d{NyF|Y zjx^GUb(1$}fd-M9`02!>T$WS`y|xOxbn=v>kDQobPiS*4@{)$-29+lrgE|!=2y%#s zC=y_;D~ivz!wG^K$TGw|(k67;k|DZd1e!f>eH(#;jLYBd9lTzAq>7_eG|bNq zNoYNjn~{>XCUHqKYM&nhiM7XU!VxF;X*n%Q(3usbTH>F?}EyAN9?zHkZ??+(?*D6R3~?UImF;LEtoFJP{8Ss+24@K3HCxsk6cnA zRuWj-fFR+*fePLsThOdMs9q|vR~pW!o$@x1)O@jVFW6W)K*v%x_U@R(I+>QN!K?EE zUnhTluq%9;gg#B<-9T*TC$a&iZNiq$;y|@bt|PR}sacP%mB082SsVb7INBNdl;=Po z{Jz-^p>m@WG34QZ*w%ov&6!1_5DDT2q9KT;Kyq%-+l<7b(J=SY6?UaPIDSZDN%-K| zXaRZa5L))r-O-C03tZ2WHW%03Z=QC=rSmIw^0ab*8vjc`q)Z9!$DGei{{f zML$(_hgjmvnpj?&HF`D)7KteFjw+n2wb5GhYBfaPNeTeJ1OOK`*B5jrTRpV9HDs}I zQFtZi(&?Pp_x5PD64k>B`4tVR?T*X-v#VFGKzD^}Oi&26SNI+;uZ-*3etwViwbNr* z3a=n%mj0P9Ce;ub&`)PoeT`MM(zV(20Ln17Lbd{u>GB%%Yt^go-#mNv?CL@sa3RR@ z;U@pO&cAl}7aEbbbZL_p^%zz;Eh*x)zCkNlzb*OC(Ew}l38o&VHunX5hxCfJg_H1W*%?u6e+Oj?mhpJqfj(?GB zXzs$*Iu#+dO~+uhu{z7);k+IWP3OshoC}IRl+L9Fsq!_Zc4hEl@YVHk_2m~|+~9jz z%cD`f*R{r*u;c(p76Gg)IbD_u*`6H2K7CXwS4^oRu z?gxS`H;vr5p6D;V6z|z`zlaFbKy;o3R;rEIp+e{Cgzvr#@fC5DfDZ3EKxcstMitDL zJWp;{KWJ15r)_%{h~ZHHl;;JHUL1eRgYHlAaP;l)#qsVZs=zZ32>mjaFG#yMJKP

    ^!E4bx|T);%sS10#z%zYajgg2<3J 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

    8q7!UojexE_& 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 TM4w(*eo)?_cy{{i+3)`WGHDO( literal 0 HcmV?d00001 diff --git a/priv/static/sw-pleroma.js b/priv/static/sw-pleroma.js index 54c6ed8f00c6983eba70bcf25214b86bb1fd31d8..fa4969025e9e14d590b7beb7a89e65eba8f0ba4c 100644 GIT binary patch delta 174 zcmZ3{&Ap3|g}I5TUUG5q#E()u$YK-o%e?YvBk+j*IoW*-IsLTxU_ From 3a0f99ed35a84145e713d4c640c50dc82c1b0dbb Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 14 Sep 2020 13:52:13 +0200 Subject: [PATCH 172/201] KeywordPolicy: Still match when fields are absent --- .../web/activity_pub/mrf/keyword_policy.ex | 61 +++++++++---------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex index 15e09dcf0..db66cfa3e 100644 --- a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex @@ -20,9 +20,17 @@ defp string_matches?(string, pattern) do String.match?(string, pattern) end - defp check_reject(%{"object" => %{"content" => content, "summary" => summary}} = message) do + defp object_payload(%{} = object) do + [object["content"], object["summary"], object["name"]] + |> Enum.filter(& &1) + |> Enum.join("\n") + end + + defp check_reject(%{"object" => %{} = object} = message) do + payload = object_payload(object) + if Enum.any?(Pleroma.Config.get([:mrf_keyword, :reject]), fn pattern -> - string_matches?(content, pattern) or string_matches?(summary, pattern) + string_matches?(payload, pattern) end) do {:reject, "[KeywordPolicy] Matches with rejected keyword"} else @@ -30,12 +38,12 @@ defp check_reject(%{"object" => %{"content" => content, "summary" => summary}} = end end - defp check_ftl_removal( - %{"to" => to, "object" => %{"content" => content, "summary" => summary}} = message - ) do + defp check_ftl_removal(%{"to" => to, "object" => %{} = object} = message) do + payload = object_payload(object) + if Pleroma.Constants.as_public() in to and Enum.any?(Pleroma.Config.get([:mrf_keyword, :federated_timeline_removal]), fn pattern -> - string_matches?(content, pattern) or string_matches?(summary, pattern) + string_matches?(payload, pattern) end) do to = List.delete(to, Pleroma.Constants.as_public()) cc = [Pleroma.Constants.as_public() | message["cc"] || []] @@ -51,35 +59,24 @@ defp check_ftl_removal( end end - defp check_replace(%{"object" => %{"content" => content, "summary" => summary}} = message) do - content = - if is_binary(content) do - content - else - "" - end + defp check_replace(%{"object" => %{} = object} = message) do + object = + ["content", "name", "summary"] + |> Enum.filter(fn field -> Map.has_key?(object, field) && object[field] end) + |> Enum.reduce(object, fn field, object -> + data = + Enum.reduce( + Pleroma.Config.get([:mrf_keyword, :replace]), + object[field], + fn {pat, repl}, acc -> String.replace(acc, pat, repl) end + ) - summary = - if is_binary(summary) do - summary - else - "" - end + Map.put(object, field, data) + end) - {content, summary} = - Enum.reduce( - Pleroma.Config.get([:mrf_keyword, :replace]), - {content, summary}, - fn {pattern, replacement}, {content_acc, summary_acc} -> - {String.replace(content_acc, pattern, replacement), - String.replace(summary_acc, pattern, replacement)} - end - ) + message = Map.put(message, "object", object) - {:ok, - message - |> put_in(["object", "content"], content) - |> put_in(["object", "summary"], summary)} + {:ok, message} end @impl true From abf25e5d5254edc88a65610bf5a0fd7e52f545c3 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 12 Sep 2020 12:05:36 +0200 Subject: [PATCH 173/201] Create MRF.filter_pipeline to inject :object_data when present --- CHANGELOG.md | 6 +++++ lib/pleroma/web/activity_pub/mrf.ex | 24 ++++++++++++++++--- .../web/activity_pub/mrf/subchain_policy.ex | 3 +-- lib/pleroma/web/activity_pub/pipeline.ex | 8 +++++-- test/web/activity_pub/pipeline_test.exs | 16 ++++++------- .../controllers/chat_controller_test.exs | 17 +++++++++++++ 6 files changed, 59 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c25c60a3..de11dd7a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,12 @@ switched to a new configuration mechanism, however it was not officially removed - Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance - Mastodon API: the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user +## Unreleased-patch + +### Security + +- Fix most MRF rules either crashing or not being applied to objects passed into the Common Pipeline (ChatMessage, Question, Answer, Audio, Event) + ## [2.1.1] - 2020-09-08 ### Security diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex index 206d6af52..5e5361082 100644 --- a/lib/pleroma/web/activity_pub/mrf.ex +++ b/lib/pleroma/web/activity_pub/mrf.ex @@ -5,16 +5,34 @@ defmodule Pleroma.Web.ActivityPub.MRF do @callback filter(Map.t()) :: {:ok | :reject, Map.t()} - def filter(policies, %{} = object) do + def filter(policies, %{} = message) do policies - |> Enum.reduce({:ok, object}, fn - policy, {:ok, object} -> policy.filter(object) + |> Enum.reduce({:ok, message}, fn + policy, {:ok, message} -> policy.filter(message) _, error -> error end) end def filter(%{} = object), do: get_policies() |> filter(object) + def pipeline_filter(%{} = message, meta) do + object = meta[:object_data] + ap_id = message["object"] + + if object && ap_id do + with {:ok, message} <- filter(Map.put(message, "object", object)) do + meta = Keyword.put(meta, :object_data, message["object"]) + {:ok, Map.put(message, "object", ap_id), meta} + else + {err, message} -> {err, message, meta} + end + else + {err, message} = filter(message) + + {err, message, meta} + end + end + def get_policies do Pleroma.Config.get([:mrf, :policies], []) |> get_policies() end diff --git a/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex b/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex index c9f20571f..048052da6 100644 --- a/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex @@ -28,8 +28,7 @@ def filter(%{"actor" => actor} = message) do }" ) - subchain - |> MRF.filter(message) + MRF.filter(subchain, message) else _e -> {:ok, message} end diff --git a/lib/pleroma/web/activity_pub/pipeline.ex b/lib/pleroma/web/activity_pub/pipeline.ex index 36e325c37..2db86f116 100644 --- a/lib/pleroma/web/activity_pub/pipeline.ex +++ b/lib/pleroma/web/activity_pub/pipeline.ex @@ -26,13 +26,17 @@ def common_pipeline(object, meta) do {:error, e} -> {:error, e} + + {:reject, e} -> + {:reject, e} end end def do_common_pipeline(object, meta) do with {_, {:ok, validated_object, meta}} <- {:validate_object, ObjectValidator.validate(object, meta)}, - {_, {:ok, mrfd_object}} <- {:mrf_object, MRF.filter(validated_object)}, + {_, {:ok, mrfd_object, meta}} <- + {:mrf_object, MRF.pipeline_filter(validated_object, meta)}, {_, {:ok, activity, meta}} <- {:persist_object, ActivityPub.persist(mrfd_object, meta)}, {_, {:ok, activity, meta}} <- @@ -40,7 +44,7 @@ def do_common_pipeline(object, meta) do {_, {:ok, _}} <- {:federation, maybe_federate(activity, meta)} do {:ok, activity, meta} else - {:mrf_object, {:reject, _}} -> {:ok, nil, meta} + {:mrf_object, {:reject, message, _}} -> {:reject, message} e -> {:error, e} end end diff --git a/test/web/activity_pub/pipeline_test.exs b/test/web/activity_pub/pipeline_test.exs index f2a231eaf..210a06563 100644 --- a/test/web/activity_pub/pipeline_test.exs +++ b/test/web/activity_pub/pipeline_test.exs @@ -26,7 +26,7 @@ test "when given an `object_data` in meta, Federation will receive a the origina { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -51,7 +51,7 @@ test "when given an `object_data` in meta, Federation will receive a the origina Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) refute called(Pleroma.Web.Federator.publish(activity)) @@ -68,7 +68,7 @@ test "it goes through validation, filtering, persisting, side effects and federa { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -93,7 +93,7 @@ test "it goes through validation, filtering, persisting, side effects and federa Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) assert_called(Pleroma.Web.Federator.publish(activity)) @@ -109,7 +109,7 @@ test "it goes through validation, filtering, persisting, side effects without fe { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -131,7 +131,7 @@ test "it goes through validation, filtering, persisting, side effects without fe Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) end @@ -148,7 +148,7 @@ test "it goes through validation, filtering, persisting, side effects without fe { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -170,7 +170,7 @@ test "it goes through validation, filtering, persisting, side effects without fe Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) end diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs index 7be5fe09c..32c23e9d7 100644 --- a/test/web/pleroma_api/controllers/chat_controller_test.exs +++ b/test/web/pleroma_api/controllers/chat_controller_test.exs @@ -126,6 +126,23 @@ test "it works with an attachment", %{conn: conn, user: user} do assert result["attachment"] end + + test "gets MRF reason when rejected", %{conn: conn, user: user} do + clear_config([:mrf_keyword, :reject], ["GNO"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + + other_user = insert(:user) + + {:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id) + + result = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/pleroma/chats/#{chat.id}/messages", %{"content" => "GNO/Linux"}) + |> json_response_and_validate_schema(200) + + assert result == %{} + end end describe "DELETE /api/v1/pleroma/chats/:id/messages/:message_id" do From 7bf269fe836ded974d2187c6b36eba4ab185ff25 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 14 Sep 2020 14:07:22 +0200 Subject: [PATCH 174/201] Fix MRF reject for ChatMessage --- lib/pleroma/web/api_spec/operations/chat_operation.ex | 3 ++- .../web/api_spec/operations/status_operation.ex | 2 +- lib/pleroma/web/common_api/common_api.ex | 3 +++ .../web/pleroma_api/controllers/chat_controller.ex | 10 ++++++++++ test/web/common_api/common_api_test.exs | 11 +++++++++++ .../pleroma_api/controllers/chat_controller_test.exs | 6 +++--- 6 files changed, 30 insertions(+), 5 deletions(-) diff --git a/lib/pleroma/web/api_spec/operations/chat_operation.ex b/lib/pleroma/web/api_spec/operations/chat_operation.ex index b1a0d26ab..56554d5b4 100644 --- a/lib/pleroma/web/api_spec/operations/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/chat_operation.ex @@ -184,7 +184,8 @@ def post_chat_message_operation do "application/json", ChatMessage ), - 400 => Operation.response("Bad Request", "application/json", ApiError) + 400 => Operation.response("Bad Request", "application/json", ApiError), + 422 => Operation.response("MRF Rejection", "application/json", ApiError) }, security: [ %{ diff --git a/lib/pleroma/web/api_spec/operations/status_operation.ex b/lib/pleroma/web/api_spec/operations/status_operation.ex index 5bd4619d5..d7ebde6f6 100644 --- a/lib/pleroma/web/api_spec/operations/status_operation.ex +++ b/lib/pleroma/web/api_spec/operations/status_operation.ex @@ -55,7 +55,7 @@ def create_operation do "application/json", %Schema{oneOf: [Status, ScheduledStatus]} ), - 422 => Operation.response("Bad Request", "application/json", ApiError) + 422 => Operation.response("Bad Request / MRF Rejection", "application/json", ApiError) } } end diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index a8c83bc8f..60a50b027 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -48,6 +48,9 @@ def post_chat_message(%User{} = user, %User{} = recipient, content, opts \\ []) local: true )} do {:ok, activity} + else + {:common_pipeline, {:reject, _} = e} -> e + e -> e end end diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex index 27c9a2e0f..867cff829 100644 --- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex @@ -90,6 +90,16 @@ def post_chat_message( conn |> put_view(MessageReferenceView) |> render("show.json", chat_message_reference: cm_ref) + else + {:reject, message} -> + conn + |> put_status(:unprocessable_entity) + |> json(%{error: message}) + + {:error, message} -> + conn + |> put_status(:bad_request) + |> json(%{error: message}) end end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index f5559f932..2eab64e8b 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -217,6 +217,17 @@ test "it reject messages over the local limit" do assert message == :content_too_long end + + test "it reject messages via MRF" do + clear_config([:mrf_keyword, :reject], ["GNO"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + + author = insert(:user) + recipient = insert(:user) + + assert {:reject, "[KeywordPolicy] Matches with rejected keyword"} == + CommonAPI.post_chat_message(author, recipient, "GNO/Linux") + end end describe "unblocking" do diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs index 32c23e9d7..44a78a738 100644 --- a/test/web/pleroma_api/controllers/chat_controller_test.exs +++ b/test/web/pleroma_api/controllers/chat_controller_test.exs @@ -100,7 +100,7 @@ test "it fails if there is no content", %{conn: conn, user: user} do |> post("/api/v1/pleroma/chats/#{chat.id}/messages") |> json_response_and_validate_schema(400) - assert result + assert %{"error" => "no_content"} == result end test "it works with an attachment", %{conn: conn, user: user} do @@ -139,9 +139,9 @@ test "gets MRF reason when rejected", %{conn: conn, user: user} do conn |> put_req_header("content-type", "application/json") |> post("/api/v1/pleroma/chats/#{chat.id}/messages", %{"content" => "GNO/Linux"}) - |> json_response_and_validate_schema(200) + |> json_response_and_validate_schema(422) - assert result == %{} + assert %{"error" => "[KeywordPolicy] Matches with rejected keyword"} == result end end From 226fa3e486e3ea9f82e8d3a7025244fdf11d14db Mon Sep 17 00:00:00 2001 From: Sergey Suprunenko Date: Thu, 17 Sep 2020 22:04:47 +0200 Subject: [PATCH 175/201] Make WebPushEncryption use Pleroma.HTTP as an HTTP adapter --- config/config.exs | 2 ++ test/web/push/impl_test.exs | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/config/config.exs b/config/config.exs index c204814d0..b8864fe08 100644 --- a/config/config.exs +++ b/config/config.exs @@ -787,6 +787,8 @@ config :ex_aws, http_client: Pleroma.HTTP.ExAws +config :web_push_encryption, http_client: Pleroma.HTTP + config :pleroma, :instances_favicons, enabled: false config :floki, :html_parser, Floki.HTMLParser.FastHtml diff --git a/test/web/push/impl_test.exs b/test/web/push/impl_test.exs index aeb5c1fbd..c7c17e156 100644 --- a/test/web/push/impl_test.exs +++ b/test/web/push/impl_test.exs @@ -12,7 +12,9 @@ defmodule Pleroma.Web.Push.ImplTest do alias Pleroma.Web.CommonAPI alias Pleroma.Web.Push.Impl alias Pleroma.Web.Push.Subscription + alias Pleroma.Web.WebPushHttpClientMock + import Mock import Pleroma.Factory setup do @@ -78,6 +80,22 @@ test "successful message sending" do assert Impl.push_message(@message, @sub, @api_key, %Subscription{}) == :ok end + test_with_mock "uses WebPushHttpClientMock as an HTTP client", WebPushHttpClientMock, + post: fn _, _, _ -> {:ok, %{status_code: 200}} end do + Impl.push_message(@message, @sub, @api_key, %Subscription{}) + assert_called(WebPushHttpClientMock.post("https://example.com/example/1234", :_, :_)) + end + + test_with_mock "uses Pleroma.HTTP as an HTTP client", Pleroma.HTTP, + post: fn _, _, _ -> {:ok, %{status_code: 200}} end do + client = Application.get_env(:web_push_encryption, :http_client) + on_exit(fn -> Application.put_env(:web_push_encryption, :http_client, client) end) + Application.put_env(:web_push_encryption, :http_client, Pleroma.HTTP) + + Impl.push_message(@message, @sub, @api_key, %Subscription{}) + assert_called(Pleroma.HTTP.post("https://example.com/example/1234", :_, :_)) + end + @tag capture_log: true test "fail message sending" do assert Impl.push_message( From 2159daa9af8967fe4b6d31e19c7048979b4cb165 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Fri, 18 Sep 2020 07:09:53 +0300 Subject: [PATCH 176/201] update changelog --- CHANGELOG.md | 4 ++++ docs/API/pleroma_api.md | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1266d2dfe..5abafdf69 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/). - The `discoverable` field in the `User` struct will now add a NOINDEX metatag to profile pages when false. - Users with the `discoverable` field set to false will not show up in searches. - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). + ### Removed - **Breaking:** `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab` (moved to a simpler implementation). @@ -20,6 +21,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Removed `:managed_config` option. In practice, it was accidentally removed with 2.0.0 release when frontends were switched to a new configuration mechanism, however it was not officially removed until now. +### Added +- Pleroma API: Importing the mutes users from CSV files. + ## [2.1.2] - 2020-09-17 ### Security diff --git a/docs/API/pleroma_api.md b/docs/API/pleroma_api.md index 567ad5732..94b6a4fda 100644 --- a/docs/API/pleroma_api.md +++ b/docs/API/pleroma_api.md @@ -60,7 +60,6 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi * `list`: STRING or FILE containing a whitespace-separated list of accounts to mute * Response: HTTP 200 on success, 500 on error - ## `/api/pleroma/captcha` ### Get a new captcha * Method: `GET` From f2ef9735c52c648a03de4af41f19bb4ec857de03 Mon Sep 17 00:00:00 2001 From: Steven Fuchs Date: Fri, 18 Sep 2020 11:58:22 +0000 Subject: [PATCH 177/201] Federate data through persistent websocket connections --- CHANGELOG.md | 3 + config/config.exs | 12 ++ config/description.exs | 13 ++ config/test.exs | 5 + docs/configuration/cheatsheet.md | 10 + lib/pleroma/application.ex | 9 +- lib/pleroma/object/fetcher.ex | 66 +++++-- lib/pleroma/signature.ex | 6 +- lib/pleroma/user.ex | 10 +- lib/pleroma/web/activity_pub/activity_pub.ex | 14 +- lib/pleroma/web/activity_pub/publisher.ex | 34 ++-- .../web/activity_pub/transmogrifier.ex | 2 +- lib/pleroma/web/fed_sockets/fed_registry.ex | 185 ++++++++++++++++++ lib/pleroma/web/fed_sockets/fed_socket.ex | 137 +++++++++++++ lib/pleroma/web/fed_sockets/fed_sockets.ex | 182 +++++++++++++++++ lib/pleroma/web/fed_sockets/fetch_registry.ex | 151 ++++++++++++++ .../web/fed_sockets/incoming_handler.ex | 88 +++++++++ .../web/fed_sockets/ingester_worker.ex | 33 ++++ .../web/fed_sockets/outgoing_handler.ex | 146 ++++++++++++++ lib/pleroma/web/fed_sockets/socket_info.ex | 52 +++++ lib/pleroma/web/fed_sockets/supervisor.ex | 59 ++++++ mix.lock | 2 +- test/web/fed_sockets/fed_registry_test.exs | 124 ++++++++++++ test/web/fed_sockets/fetch_registry_test.exs | 67 +++++++ test/web/fed_sockets/socket_info_test.exs | 118 +++++++++++ 25 files changed, 1479 insertions(+), 49 deletions(-) create mode 100644 lib/pleroma/web/fed_sockets/fed_registry.ex create mode 100644 lib/pleroma/web/fed_sockets/fed_socket.ex create mode 100644 lib/pleroma/web/fed_sockets/fed_sockets.ex create mode 100644 lib/pleroma/web/fed_sockets/fetch_registry.ex create mode 100644 lib/pleroma/web/fed_sockets/incoming_handler.ex create mode 100644 lib/pleroma/web/fed_sockets/ingester_worker.ex create mode 100644 lib/pleroma/web/fed_sockets/outgoing_handler.ex create mode 100644 lib/pleroma/web/fed_sockets/socket_info.ex create mode 100644 lib/pleroma/web/fed_sockets/supervisor.ex create mode 100644 test/web/fed_sockets/fed_registry_test.exs create mode 100644 test/web/fed_sockets/fetch_registry_test.exs create mode 100644 test/web/fed_sockets/socket_info_test.exs diff --git a/CHANGELOG.md b/CHANGELOG.md index 1266d2dfe..5e4d06c82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased +### Added +- Experimental websocket-based federation between Pleroma instances. + ### Changed - Renamed `:await_up_timeout` in `:connections_pool` namespace to `:connect_timeout`, old name is deprecated. diff --git a/config/config.exs b/config/config.exs index c204814d0..104013b41 100644 --- a/config/config.exs +++ b/config/config.exs @@ -130,6 +130,7 @@ dispatch: [ {:_, [ + {"/api/fedsocket/v1", Pleroma.Web.FedSockets.IncomingHandler, []}, {"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []}, {"/websocket", Phoenix.Endpoint.CowboyWebSocket, {Phoenix.Transports.WebSocket, @@ -148,6 +149,16 @@ "SameSite=Lax" ] +config :pleroma, :fed_sockets, + enabled: false, + connection_duration: :timer.hours(8), + rejection_duration: :timer.minutes(15), + fed_socket_fetches: [ + default: 12_000, + interval: 3_000, + lazy: false + ] + # Configures Elixir's Logger config :logger, :console, level: :debug, @@ -532,6 +543,7 @@ token_expiration: 5, federator_incoming: 50, federator_outgoing: 50, + ingestion_queue: 50, web_push: 50, mailer: 10, transmogrifier: 20, diff --git a/config/description.exs b/config/description.exs index 2b30f8148..6f3855918 100644 --- a/config/description.exs +++ b/config/description.exs @@ -270,6 +270,19 @@ } ] }, + %{ + group: :pleroma, + key: :fed_sockets, + type: :group, + description: "Websocket based federation", + children: [ + %{ + key: :enabled, + type: :boolean, + description: "Enable FedSockets" + } + ] + }, %{ group: :pleroma, key: Pleroma.Emails.Mailer, diff --git a/config/test.exs b/config/test.exs index 0ee6f1b7f..93a0e2a61 100644 --- a/config/test.exs +++ b/config/test.exs @@ -19,6 +19,11 @@ level: :warn, format: "\n[$level] $message\n" +config :pleroma, :fed_sockets, + enabled: false, + connection_duration: 5, + rejection_duration: 5 + config :pleroma, :auth, oauth_consumer_strategies: [] config :pleroma, Pleroma.Upload, diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 054b8fe43..9a275294e 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -225,6 +225,16 @@ Enables the worker which processes posts scheduled for deletion. Pinned posts ar * `enabled`: whether expired activities will be sent to the job queue to be deleted +## FedSockets +FedSockets is an experimental feature allowing for Pleroma backends to federate using a persistant websocket connection as opposed to making each federation a seperate http connection. This feature is currently off by default. It is configurable throught he following options. + +### :fedsockets +* `enabled`: Enables FedSockets for this instance. `false` by default. +* `connection_duration`: Time an idle websocket is kept open. +* `rejection_duration`: Failures to connect via FedSockets will not be retried for this period of time. +* `fed_socket_fetches` and `fed_socket_rejections`: Settings passed to `cachex` for the fetch registry, and rejection stacks. See `Pleroma.Web.FedSockets` for more details. + + ## Frontends ### :frontend_configurations diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index c39e24919..00ec79a2a 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -99,7 +99,7 @@ def start(_type, _args) do {Oban, Config.get(Oban)} ] ++ task_children(@env) ++ - streamer_child(@env) ++ + dont_run_in_test(@env) ++ chat_child(@env, chat_enabled?()) ++ [ Pleroma.Web.Endpoint, @@ -188,16 +188,17 @@ def build_cachex(type, opts), defp chat_enabled?, do: Config.get([:chat, :enabled]) - defp streamer_child(env) when env in [:test, :benchmark], do: [] + defp dont_run_in_test(env) when env in [:test, :benchmark], do: [] - defp streamer_child(_) do + defp dont_run_in_test(_) do [ {Registry, [ name: Pleroma.Web.Streamer.registry(), keys: :duplicate, partitions: System.schedulers_online() - ]} + ]}, + Pleroma.Web.FedSockets.Supervisor ] end diff --git a/lib/pleroma/object/fetcher.ex b/lib/pleroma/object/fetcher.ex index 24dc7cb95..169298b34 100644 --- a/lib/pleroma/object/fetcher.ex +++ b/lib/pleroma/object/fetcher.ex @@ -12,6 +12,7 @@ defmodule Pleroma.Object.Fetcher do alias Pleroma.Web.ActivityPub.ObjectValidator alias Pleroma.Web.ActivityPub.Transmogrifier alias Pleroma.Web.Federator + alias Pleroma.Web.FedSockets require Logger require Pleroma.Constants @@ -182,27 +183,20 @@ defp maybe_date_fetch(headers, date) do end end - def fetch_and_contain_remote_object_from_id(id) when is_binary(id) do + def fetch_and_contain_remote_object_from_id(prm, opts \\ []) + + def fetch_and_contain_remote_object_from_id(%{"id" => id}, opts), + do: fetch_and_contain_remote_object_from_id(id, opts) + + def fetch_and_contain_remote_object_from_id(id, opts) when is_binary(id) do Logger.debug("Fetching object #{id} via AP") - date = Pleroma.Signature.signed_date() - - headers = - [{"accept", "application/activity+json"}] - |> maybe_date_fetch(date) - |> sign_fetch(id, date) - - Logger.debug("Fetch headers: #{inspect(headers)}") - with {:scheme, true} <- {:scheme, String.starts_with?(id, "http")}, - {:ok, %{body: body, status: code}} when code in 200..299 <- HTTP.get(id, headers), - {:ok, data} <- Jason.decode(body), + {:ok, body} <- get_object(id, opts), + {:ok, data} <- safe_json_decode(body), :ok <- Containment.contain_origin_from_id(id, data) do {:ok, data} else - {:ok, %{status: code}} when code in [404, 410] -> - {:error, "Object has been deleted"} - {:scheme, _} -> {:error, "Unsupported URI scheme"} @@ -214,8 +208,44 @@ def fetch_and_contain_remote_object_from_id(id) when is_binary(id) do end end - def fetch_and_contain_remote_object_from_id(%{"id" => id}), - do: fetch_and_contain_remote_object_from_id(id) + def fetch_and_contain_remote_object_from_id(_id, _opts), + do: {:error, "id must be a string"} - def fetch_and_contain_remote_object_from_id(_id), do: {:error, "id must be a string"} + defp get_object(id, opts) do + with false <- Keyword.get(opts, :force_http, false), + {:ok, fedsocket} <- FedSockets.get_or_create_fed_socket(id) do + Logger.debug("fetching via fedsocket - #{inspect(id)}") + FedSockets.fetch(fedsocket, id) + else + _other -> + Logger.debug("fetching via http - #{inspect(id)}") + get_object_http(id) + end + end + + defp get_object_http(id) do + date = Pleroma.Signature.signed_date() + + headers = + [{"accept", "application/activity+json"}] + |> maybe_date_fetch(date) + |> sign_fetch(id, date) + + case HTTP.get(id, headers) do + {:ok, %{body: body, status: code}} when code in 200..299 -> + {:ok, body} + + {:ok, %{status: code}} when code in [404, 410] -> + {:error, "Object has been deleted"} + + {:error, e} -> + {:error, e} + + e -> + {:error, e} + end + end + + defp safe_json_decode(nil), do: {:ok, nil} + defp safe_json_decode(json), do: Jason.decode(json) end diff --git a/lib/pleroma/signature.ex b/lib/pleroma/signature.ex index 3aa6909d2..e388993b7 100644 --- a/lib/pleroma/signature.ex +++ b/lib/pleroma/signature.ex @@ -39,7 +39,7 @@ def key_id_to_actor_id(key_id) do def fetch_public_key(conn) do with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn), {:ok, actor_id} <- key_id_to_actor_id(kid), - {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do + {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id, force_http: true) do {:ok, public_key} else e -> @@ -50,8 +50,8 @@ def fetch_public_key(conn) do def refetch_public_key(conn) do with %{"keyId" => kid} <- HTTPSignatures.signature_for_conn(conn), {:ok, actor_id} <- key_id_to_actor_id(kid), - {:ok, _user} <- ActivityPub.make_user_from_ap_id(actor_id), - {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id) do + {:ok, _user} <- ActivityPub.make_user_from_ap_id(actor_id, force_http: true), + {:ok, public_key} <- User.get_public_key_for_ap_id(actor_id, force_http: true) do {:ok, public_key} else e -> diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 1ffe60dfc..d92484a40 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1820,12 +1820,12 @@ def html_filter_policy(%User{no_rich_text: true}) do def html_filter_policy(_), do: Config.get([:markup, :scrub_policy]) - def fetch_by_ap_id(ap_id), do: ActivityPub.make_user_from_ap_id(ap_id) + def fetch_by_ap_id(ap_id, opts \\ []), do: ActivityPub.make_user_from_ap_id(ap_id, opts) - def get_or_fetch_by_ap_id(ap_id) do + def get_or_fetch_by_ap_id(ap_id, opts \\ []) do cached_user = get_cached_by_ap_id(ap_id) - maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id) + maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id, opts) case {cached_user, maybe_fetched_user} do {_, {:ok, %User{} = user}} -> @@ -1898,8 +1898,8 @@ def public_key(%{public_key: public_key_pem}) when is_binary(public_key_pem) do def public_key(_), do: {:error, "key not found"} - def get_public_key_for_ap_id(ap_id) do - with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id), + def get_public_key_for_ap_id(ap_id, opts \\ []) do + with {:ok, %User{} = user} <- get_or_fetch_by_ap_id(ap_id, opts), {:ok, public_key} <- public_key(user) do {:ok, public_key} else diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 92fc1e422..06e8e1a7c 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1270,10 +1270,12 @@ defp object_to_user_data(data) do def fetch_follow_information_for_user(user) do with {:ok, following_data} <- - Fetcher.fetch_and_contain_remote_object_from_id(user.following_address), + Fetcher.fetch_and_contain_remote_object_from_id(user.following_address, + force_http: true + ), {:ok, hide_follows} <- collection_private(following_data), {:ok, followers_data} <- - Fetcher.fetch_and_contain_remote_object_from_id(user.follower_address), + Fetcher.fetch_and_contain_remote_object_from_id(user.follower_address, force_http: true), {:ok, hide_followers} <- collection_private(followers_data) do {:ok, %{ @@ -1347,8 +1349,8 @@ def user_data_from_user_object(data) do end end - def fetch_and_prepare_user_from_ap_id(ap_id) do - with {:ok, data} <- Fetcher.fetch_and_contain_remote_object_from_id(ap_id), + def fetch_and_prepare_user_from_ap_id(ap_id, opts \\ []) do + with {:ok, data} <- Fetcher.fetch_and_contain_remote_object_from_id(ap_id, opts), {:ok, data} <- user_data_from_user_object(data) do {:ok, maybe_update_follow_information(data)} else @@ -1390,13 +1392,13 @@ def maybe_handle_clashing_nickname(data) do end end - def make_user_from_ap_id(ap_id) do + def make_user_from_ap_id(ap_id, opts \\ []) do user = User.get_cached_by_ap_id(ap_id) if user && !User.ap_enabled?(user) do Transmogrifier.upgrade_user_from_ap_id(ap_id) else - with {:ok, data} <- fetch_and_prepare_user_from_ap_id(ap_id) do + with {:ok, data} <- fetch_and_prepare_user_from_ap_id(ap_id, opts) do if user do user |> User.remote_user_changeset(data) diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex index d88f7f3ee..9c3956683 100644 --- a/lib/pleroma/web/activity_pub/publisher.ex +++ b/lib/pleroma/web/activity_pub/publisher.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.Publisher do alias Pleroma.User alias Pleroma.Web.ActivityPub.Relay alias Pleroma.Web.ActivityPub.Transmogrifier + alias Pleroma.Web.FedSockets require Pleroma.Constants @@ -50,15 +51,35 @@ def is_representable?(%Activity{} = activity) do def publish_one(%{inbox: inbox, json: json, actor: %User{} = actor, id: id} = params) do Logger.debug("Federating #{id} to #{inbox}") - uri = URI.parse(inbox) + case FedSockets.get_or_create_fed_socket(inbox) do + {:ok, fedsocket} -> + Logger.debug("publishing via fedsockets - #{inspect(inbox)}") + FedSockets.publish(fedsocket, json) + _ -> + Logger.debug("publishing via http - #{inspect(inbox)}") + http_publish(inbox, actor, json, params) + end + end + + def publish_one(%{actor_id: actor_id} = params) do + actor = User.get_cached_by_id(actor_id) + + params + |> Map.delete(:actor_id) + |> Map.put(:actor, actor) + |> publish_one() + end + + defp http_publish(inbox, actor, json, params) do + uri = %{path: path} = URI.parse(inbox) digest = "SHA-256=" <> (:crypto.hash(:sha256, json) |> Base.encode64()) date = Pleroma.Signature.signed_date() signature = Pleroma.Signature.sign(actor, %{ - "(request-target)": "post #{uri.path}", + "(request-target)": "post #{path}", host: signature_host(uri), "content-length": byte_size(json), digest: digest, @@ -89,15 +110,6 @@ def publish_one(%{inbox: inbox, json: json, actor: %User{} = actor, id: id} = pa end end - def publish_one(%{actor_id: actor_id} = params) do - actor = User.get_cached_by_id(actor_id) - - params - |> Map.delete(:actor_id) - |> Map.put(:actor, actor) - |> publish_one() - end - defp signature_host(%URI{port: port, scheme: scheme, host: host}) do if port == URI.default_port(scheme) do host diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index fcca014f0..aa6a69463 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -1000,7 +1000,7 @@ def perform(:user_upgrade, user) do def upgrade_user_from_ap_id(ap_id) do with %User{local: false} = user <- User.get_cached_by_ap_id(ap_id), - {:ok, data} <- ActivityPub.fetch_and_prepare_user_from_ap_id(ap_id), + {:ok, data} <- ActivityPub.fetch_and_prepare_user_from_ap_id(ap_id, force_http: true), {:ok, user} <- update_user(user, data) do TransmogrifierWorker.enqueue("user_upgrade", %{"user_id" => user.id}) {:ok, user} diff --git a/lib/pleroma/web/fed_sockets/fed_registry.ex b/lib/pleroma/web/fed_sockets/fed_registry.ex new file mode 100644 index 000000000..e00ea69c0 --- /dev/null +++ b/lib/pleroma/web/fed_sockets/fed_registry.ex @@ -0,0 +1,185 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.FedRegistry do + @moduledoc """ + The FedRegistry stores the active FedSockets for quick retrieval. + + The storage and retrieval portion of the FedRegistry is done in process through + elixir's `Registry` module for speed and its ability to monitor for terminated processes. + + Dropped connections will be caught by `Registry` and deleted. Since the next + message will initiate a new connection there is no reason to try and reconnect at that point. + + Normally outside modules should have no need to call or use the FedRegistry themselves. + """ + + alias Pleroma.Web.FedSockets.FedSocket + alias Pleroma.Web.FedSockets.SocketInfo + + require Logger + + @default_rejection_duration 15 * 60 * 1000 + @rejections :fed_socket_rejections + + @doc """ + Retrieves a FedSocket from the Registry given it's origin. + + The origin is expected to be a string identifying the endpoint "example.com" or "example2.com:8080" + + Will return: + * {:ok, fed_socket} for working FedSockets + * {:error, :rejected} for origins that have been tried and refused within the rejection duration interval + * {:error, some_reason} usually :missing for unknown origins + """ + def get_fed_socket(origin) do + case get_registry_data(origin) do + {:error, reason} -> + {:error, reason} + + {:ok, %{state: :connected} = socket_info} -> + {:ok, socket_info} + end + end + + @doc """ + Adds a connected FedSocket to the Registry. + + Always returns {:ok, fed_socket} + """ + def add_fed_socket(origin, pid \\ nil) do + origin + |> SocketInfo.build(pid) + |> SocketInfo.connect() + |> add_socket_info + end + + defp add_socket_info(%{origin: origin, state: :connected} = socket_info) do + case Registry.register(FedSockets.Registry, origin, socket_info) do + {:ok, _owner} -> + clear_prior_rejection(origin) + Logger.debug("fedsocket added: #{inspect(origin)}") + + {:ok, socket_info} + + {:error, {:already_registered, _pid}} -> + FedSocket.close(socket_info) + existing_socket_info = Registry.lookup(FedSockets.Registry, origin) + + {:ok, existing_socket_info} + + _ -> + {:error, :error_adding_socket} + end + end + + @doc """ + Mark this origin as having rejected a connection attempt. + This will keep it from getting additional connection attempts + for a period of time specified in the config. + + Always returns {:ok, new_reg_data} + """ + def set_host_rejected(uri) do + new_reg_data = + uri + |> SocketInfo.origin() + |> get_or_create_registry_data() + |> set_to_rejected() + |> save_registry_data() + + {:ok, new_reg_data} + end + + @doc """ + Retrieves the FedRegistryData from the Registry given it's origin. + + The origin is expected to be a string identifying the endpoint "example.com" or "example2.com:8080" + + Will return: + * {:ok, fed_registry_data} for known origins + * {:error, :missing} for uniknown origins + * {:error, :cache_error} indicating some low level runtime issues + """ + def get_registry_data(origin) do + case Registry.lookup(FedSockets.Registry, origin) do + [] -> + if is_rejected?(origin) do + Logger.debug("previously rejected fedsocket requested") + {:error, :rejected} + else + {:error, :missing} + end + + [{_pid, %{state: :connected} = socket_info}] -> + {:ok, socket_info} + + _ -> + {:error, :cache_error} + end + end + + @doc """ + Retrieves a map of all sockets from the Registry. The keys are the origins and the values are the corresponding SocketInfo + """ + def list_all do + (list_all_connected() ++ list_all_rejected()) + |> Enum.into(%{}) + end + + defp list_all_connected do + FedSockets.Registry + |> Registry.select([{{:"$1", :_, :"$3"}, [], [{{:"$1", :"$3"}}]}]) + end + + defp list_all_rejected do + {:ok, keys} = Cachex.keys(@rejections) + + {:ok, registry_data} = + Cachex.execute(@rejections, fn worker -> + Enum.map(keys, fn k -> {k, Cachex.get!(worker, k)} end) + end) + + registry_data + end + + defp clear_prior_rejection(origin), + do: Cachex.del(@rejections, origin) + + defp is_rejected?(origin) do + case Cachex.get(@rejections, origin) do + {:ok, nil} -> + false + + {:ok, _} -> + true + end + end + + defp get_or_create_registry_data(origin) do + case get_registry_data(origin) do + {:error, :missing} -> + %SocketInfo{origin: origin} + + {:ok, socket_info} -> + socket_info + end + end + + defp save_registry_data(%SocketInfo{origin: origin, state: :connected} = socket_info) do + {:ok, true} = Registry.update_value(FedSockets.Registry, origin, fn _ -> socket_info end) + socket_info + end + + defp save_registry_data(%SocketInfo{origin: origin, state: :rejected} = socket_info) do + rejection_expiration = + Pleroma.Config.get([:fed_sockets, :rejection_duration], @default_rejection_duration) + + {:ok, true} = Cachex.put(@rejections, origin, socket_info, ttl: rejection_expiration) + socket_info + end + + defp set_to_rejected(%SocketInfo{} = socket_info), + do: %SocketInfo{socket_info | state: :rejected} +end diff --git a/lib/pleroma/web/fed_sockets/fed_socket.ex b/lib/pleroma/web/fed_sockets/fed_socket.ex new file mode 100644 index 000000000..98d64e65a --- /dev/null +++ b/lib/pleroma/web/fed_sockets/fed_socket.ex @@ -0,0 +1,137 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.FedSocket do + @moduledoc """ + The FedSocket module abstracts the actions to be taken taken on connections regardless of + whether the connection started as inbound or outbound. + + + Normally outside modules will have no need to call the FedSocket module directly. + """ + + alias Pleroma.Object + alias Pleroma.Object.Containment + alias Pleroma.User + alias Pleroma.Web.ActivityPub.ObjectView + alias Pleroma.Web.ActivityPub.UserView + alias Pleroma.Web.ActivityPub.Visibility + alias Pleroma.Web.FedSockets.FetchRegistry + alias Pleroma.Web.FedSockets.IngesterWorker + alias Pleroma.Web.FedSockets.OutgoingHandler + alias Pleroma.Web.FedSockets.SocketInfo + + require Logger + + @shake "61dd18f7-f1e6-49a4-939a-a749fcdc1103" + + def connect_to_host(uri) do + case OutgoingHandler.start_link(uri) do + {:ok, pid} -> + {:ok, pid} + + error -> + {:error, error} + end + end + + def close(%SocketInfo{pid: socket_pid}), + do: Process.send(socket_pid, :close, []) + + def publish(%SocketInfo{pid: socket_pid}, json) do + %{action: :publish, data: json} + |> Jason.encode!() + |> send_packet(socket_pid) + end + + def fetch(%SocketInfo{pid: socket_pid}, id) do + fetch_uuid = FetchRegistry.register_fetch(id) + + %{action: :fetch, data: id, uuid: fetch_uuid} + |> Jason.encode!() + |> send_packet(socket_pid) + + wait_for_fetch_to_return(fetch_uuid, 0) + end + + def receive_package(%SocketInfo{} = fed_socket, json) do + json + |> Jason.decode!() + |> process_package(fed_socket) + end + + defp wait_for_fetch_to_return(uuid, cntr) do + case FetchRegistry.check_fetch(uuid) do + {:error, :waiting} -> + Process.sleep(:math.pow(cntr, 3) |> Kernel.trunc()) + wait_for_fetch_to_return(uuid, cntr + 1) + + {:error, :missing} -> + Logger.error("FedSocket fetch timed out - #{inspect(uuid)}") + {:error, :timeout} + + {:ok, _fr} -> + FetchRegistry.pop_fetch(uuid) + end + end + + defp process_package(%{"action" => "publish", "data" => data}, %{origin: origin} = _fed_socket) do + if Containment.contain_origin(origin, data) do + IngesterWorker.enqueue("ingest", %{"object" => data}) + end + + {:reply, %{"action" => "publish_reply", "status" => "processed"}} + end + + defp process_package(%{"action" => "fetch_reply", "uuid" => uuid, "data" => data}, _fed_socket) do + FetchRegistry.register_fetch_received(uuid, data) + {:noreply, nil} + end + + defp process_package(%{"action" => "fetch", "uuid" => uuid, "data" => ap_id}, _fed_socket) do + {:ok, data} = render_fetched_data(ap_id, uuid) + {:reply, data} + end + + defp process_package(%{"action" => "publish_reply"}, _fed_socket) do + {:noreply, nil} + end + + defp process_package(other, _fed_socket) do + Logger.warn("unknown json packages received #{inspect(other)}") + {:noreply, nil} + end + + defp render_fetched_data(ap_id, uuid) do + {:ok, + %{ + "action" => "fetch_reply", + "status" => "processed", + "uuid" => uuid, + "data" => represent_item(ap_id) + }} + end + + defp represent_item(ap_id) do + case User.get_by_ap_id(ap_id) do + nil -> + object = Object.get_cached_by_ap_id(ap_id) + + if Visibility.is_public?(object) do + Phoenix.View.render_to_string(ObjectView, "object.json", object: object) + else + nil + end + + user -> + Phoenix.View.render_to_string(UserView, "user.json", user: user) + end + end + + defp send_packet(data, socket_pid) do + Process.send(socket_pid, {:send, data}, []) + end + + def shake, do: @shake +end diff --git a/lib/pleroma/web/fed_sockets/fed_sockets.ex b/lib/pleroma/web/fed_sockets/fed_sockets.ex new file mode 100644 index 000000000..035d54796 --- /dev/null +++ b/lib/pleroma/web/fed_sockets/fed_sockets.ex @@ -0,0 +1,182 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets do + @moduledoc """ + This documents the FedSockets framework. A framework for federating + ActivityPub objects between servers via persistant WebSocket connections. + + FedSockets allow servers to authenticate on first contact and maintain that + connection, eliminating the need to authenticate every time data needs to be shared. + + ## Protocol + FedSockets currently support 2 types of data transfer: + * `publish` method which doesn't require a response + * `fetch` method requires a response be sent + + ### Publish + The publish operation sends a json encoded map of the shape: + %{action: :publish, data: json} + and accepts (but does not require) a reply of form: + %{"action" => "publish_reply"} + + The outgoing params represent + * data: ActivityPub object encoded into json + + + ### Fetch + The fetch operation sends a json encoded map of the shape: + %{action: :fetch, data: id, uuid: fetch_uuid} + and requires a reply of form: + %{"action" => "fetch_reply", "uuid" => uuid, "data" => data} + + The outgoing params represent + * id: an ActivityPub object URI + * uuid: a unique uuid generated by the sender + + The reply params represent + * data: an ActivityPub object encoded into json + * uuid: the uuid sent along with the fetch request + + ## Examples + Clients of FedSocket transfers shouldn't need to use any of the functions outside of this module. + + A typical publish operation can be performed through the following code, and a fetch operation in a similar manner. + + case FedSockets.get_or_create_fed_socket(inbox) do + {:ok, fedsocket} -> + FedSockets.publish(fedsocket, json) + + _ -> + alternative_publish(inbox, actor, json, params) + end + + ## Configuration + FedSockets have the following config settings + + config :pleroma, :fed_sockets, + enabled: true, + ping_interval: :timer.seconds(15), + connection_duration: :timer.hours(1), + rejection_duration: :timer.hours(1), + fed_socket_fetches: [ + default: 12_000, + interval: 3_000, + lazy: false + ] + * enabled - turn FedSockets on or off with this flag. Can be toggled at runtime. + * connection_duration - How long a FedSocket can sit idle before it's culled. + * rejection_duration - After failing to make a FedSocket connection a host will be excluded + from further connections for this amount of time + * fed_socket_fetches - Use these parameters to pass options to the Cachex queue backing the FetchRegistry + * fed_socket_rejections - Use these parameters to pass options to the Cachex queue backing the FedRegistry + + Cachex options are + * default: the minimum amount of time a fetch can wait before it times out. + * interval: the interval between checks for timed out entries. This plus the default represent the maximum time allowed + * lazy: leave at false for consistant and fast lookups, set to true for stricter timeout enforcement + + """ + require Logger + + alias Pleroma.Web.FedSockets.FedRegistry + alias Pleroma.Web.FedSockets.FedSocket + alias Pleroma.Web.FedSockets.SocketInfo + + @doc """ + returns a FedSocket for the given origin. Will reuse an existing one or create a new one. + + address is expected to be a fully formed URL such as: + "http://www.example.com" or "http://www.example.com:8080" + + It can and usually does include additional path parameters, + but these are ignored as the FedSockets are organized by host and port info alone. + """ + def get_or_create_fed_socket(address) do + with {:cache, {:error, :missing}} <- {:cache, get_fed_socket(address)}, + {:connect, {:ok, _pid}} <- {:connect, FedSocket.connect_to_host(address)}, + {:cache, {:ok, fed_socket}} <- {:cache, get_fed_socket(address)} do + Logger.debug("fedsocket created for - #{inspect(address)}") + {:ok, fed_socket} + else + {:cache, {:ok, socket}} -> + Logger.debug("fedsocket found in cache - #{inspect(address)}") + {:ok, socket} + + {:connect, {:error, _host}} -> + Logger.debug("set host rejected for - #{inspect(address)}") + FedRegistry.set_host_rejected(address) + {:error, :rejected} + + {_, {:error, :disabled}} -> + {:error, :disabled} + + {_, {:error, reason}} -> + Logger.warn("get_or_create_fed_socket error - #{inspect(reason)}") + {:error, reason} + end + end + + @doc """ + returns a FedSocket for the given origin. Will not create a new FedSocket if one does not exist. + + address is expected to be a fully formed URL such as: + "http://www.example.com" or "http://www.example.com:8080" + """ + def get_fed_socket(address) do + origin = SocketInfo.origin(address) + + with {:config, true} <- {:config, Pleroma.Config.get([:fed_sockets, :enabled], false)}, + {:ok, socket} <- FedRegistry.get_fed_socket(origin) do + {:ok, socket} + else + {:config, _} -> + {:error, :disabled} + + {:error, :rejected} -> + Logger.debug("FedSocket previously rejected - #{inspect(origin)}") + {:error, :rejected} + + {:error, reason} -> + {:error, reason} + end + end + + @doc """ + Sends the supplied data via the publish protocol. + It will not block waiting for a reply. + Returns :ok but this is not an indication of a successful transfer. + + the data is expected to be JSON encoded binary data. + """ + def publish(%SocketInfo{} = fed_socket, json) do + FedSocket.publish(fed_socket, json) + end + + @doc """ + Sends the supplied data via the fetch protocol. + It will block waiting for a reply or timeout. + + Returns {:ok, object} where object is the requested object (or nil) + {:error, :timeout} in the event the message was not responded to + + the id is expected to be the URI of an ActivityPub object. + """ + def fetch(%SocketInfo{} = fed_socket, id) do + FedSocket.fetch(fed_socket, id) + end + + @doc """ + Disconnect all and restart FedSockets. + This is mainly used in development and testing but could be useful in production. + """ + def reset do + FedRegistry + |> Process.whereis() + |> Process.exit(:testing) + end + + def uri_for_origin(origin), + do: "ws://#{origin}/api/fedsocket/v1" +end diff --git a/lib/pleroma/web/fed_sockets/fetch_registry.ex b/lib/pleroma/web/fed_sockets/fetch_registry.ex new file mode 100644 index 000000000..7897f0fc6 --- /dev/null +++ b/lib/pleroma/web/fed_sockets/fetch_registry.ex @@ -0,0 +1,151 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.FetchRegistry do + @moduledoc """ + The FetchRegistry acts as a broker for fetch requests and return values. + This allows calling processes to block while waiting for a reply. + It doesn't impose it's own process instead using `Cachex` to handle fetches in process, allowing + multi threaded processes to avoid bottlenecking. + + Normally outside modules will have no need to call or use the FetchRegistry themselves. + + The `Cachex` parameters can be controlled from the config. Since exact timeout intervals + aren't necessary the following settings are used by default: + + config :pleroma, :fed_sockets, + fed_socket_fetches: [ + default: 12_000, + interval: 3_000, + lazy: false + ] + + """ + + defmodule FetchRegistryData do + defstruct uuid: nil, + sent_json: nil, + received_json: nil, + sent_at: nil, + received_at: nil + end + + alias Ecto.UUID + + require Logger + + @fetches :fed_socket_fetches + + @doc """ + Registers a json request wth the FetchRegistry and returns the identifying UUID. + """ + def register_fetch(json) do + %FetchRegistryData{uuid: uuid} = + json + |> new_registry_data + |> save_registry_data + + uuid + end + + @doc """ + Reports on the status of a Fetch given the identifying UUID. + + Will return + * {:ok, fetched_object} if a fetch has completed + * {:error, :waiting} if a fetch is still pending + * {:error, other_error} usually :missing to indicate a fetch that has timed out + """ + def check_fetch(uuid) do + case get_registry_data(uuid) do + {:ok, %FetchRegistryData{received_at: nil}} -> + {:error, :waiting} + + {:ok, %FetchRegistryData{} = reg_data} -> + {:ok, reg_data} + + e -> + e + end + end + + @doc """ + Retrieves the response to a fetch given the identifying UUID. + The completed fetch will be deleted from the FetchRegistry + + Will return + * {:ok, fetched_object} if a fetch has completed + * {:error, :waiting} if a fetch is still pending + * {:error, other_error} usually :missing to indicate a fetch that has timed out + """ + def pop_fetch(uuid) do + case check_fetch(uuid) do + {:ok, %FetchRegistryData{received_json: received_json}} -> + delete_registry_data(uuid) + {:ok, received_json} + + e -> + e + end + end + + @doc """ + This is called to register a fetch has returned. + It expects the result data along with the UUID that was sent in the request + + Will return the fetched object or :error + """ + def register_fetch_received(uuid, data) do + case get_registry_data(uuid) do + {:ok, %FetchRegistryData{received_at: nil} = reg_data} -> + reg_data + |> set_fetch_received(data) + |> save_registry_data() + + {:ok, %FetchRegistryData{} = reg_data} -> + Logger.warn("tried to add fetched data twice - #{uuid}") + reg_data + + {:error, _} -> + Logger.warn("Error adding fetch to registry - #{uuid}") + :error + end + end + + defp new_registry_data(json) do + %FetchRegistryData{ + uuid: UUID.generate(), + sent_json: json, + sent_at: :erlang.monotonic_time(:millisecond) + } + end + + defp get_registry_data(origin) do + case Cachex.get(@fetches, origin) do + {:ok, nil} -> + {:error, :missing} + + {:ok, reg_data} -> + {:ok, reg_data} + + _ -> + {:error, :cache_error} + end + end + + defp set_fetch_received(%FetchRegistryData{} = reg_data, data), + do: %FetchRegistryData{ + reg_data + | received_at: :erlang.monotonic_time(:millisecond), + received_json: data + } + + defp save_registry_data(%FetchRegistryData{uuid: uuid} = reg_data) do + {:ok, true} = Cachex.put(@fetches, uuid, reg_data) + reg_data + end + + defp delete_registry_data(origin), + do: {:ok, true} = Cachex.del(@fetches, origin) +end diff --git a/lib/pleroma/web/fed_sockets/incoming_handler.ex b/lib/pleroma/web/fed_sockets/incoming_handler.ex new file mode 100644 index 000000000..49d0d9d84 --- /dev/null +++ b/lib/pleroma/web/fed_sockets/incoming_handler.ex @@ -0,0 +1,88 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.IncomingHandler do + require Logger + + alias Pleroma.Web.FedSockets.FedRegistry + alias Pleroma.Web.FedSockets.FedSocket + alias Pleroma.Web.FedSockets.SocketInfo + + import HTTPSignatures, only: [validate_conn: 1, split_signature: 1] + + @behaviour :cowboy_websocket + + def init(req, state) do + shake = FedSocket.shake() + + with true <- Pleroma.Config.get([:fed_sockets, :enabled]), + sec_protocol <- :cowboy_req.header("sec-websocket-protocol", req, nil), + headers = %{"(request-target)" => ^shake} <- :cowboy_req.headers(req), + true <- validate_conn(%{req_headers: headers}), + %{"keyId" => origin} <- split_signature(headers["signature"]) do + req = + if is_nil(sec_protocol) do + req + else + :cowboy_req.set_resp_header("sec-websocket-protocol", sec_protocol, req) + end + + {:cowboy_websocket, req, %{origin: origin}, %{}} + else + _ -> + {:ok, req, state} + end + end + + def websocket_init(%{origin: origin}) do + case FedRegistry.add_fed_socket(origin) do + {:ok, socket_info} -> + {:ok, socket_info} + + e -> + Logger.error("FedSocket websocket_init failed - #{inspect(e)}") + {:error, inspect(e)} + end + end + + # Use the ping to check if the connection should be expired + def websocket_handle(:ping, socket_info) do + if SocketInfo.expired?(socket_info) do + {:stop, socket_info} + else + {:ok, socket_info, :hibernate} + end + end + + def websocket_handle({:text, data}, socket_info) do + socket_info = SocketInfo.touch(socket_info) + + case FedSocket.receive_package(socket_info, data) do + {:noreply, _} -> + {:ok, socket_info} + + {:reply, reply} -> + {:reply, {:text, Jason.encode!(reply)}, socket_info} + + {:error, reason} -> + Logger.error("incoming error - receive_package: #{inspect(reason)}") + {:ok, socket_info} + end + end + + def websocket_info({:send, message}, socket_info) do + socket_info = SocketInfo.touch(socket_info) + + {:reply, {:text, message}, socket_info} + end + + def websocket_info(:close, state) do + {:stop, state} + end + + def websocket_info(message, state) do + Logger.debug("#{__MODULE__} unknown message #{inspect(message)}") + {:ok, state} + end +end diff --git a/lib/pleroma/web/fed_sockets/ingester_worker.ex b/lib/pleroma/web/fed_sockets/ingester_worker.ex new file mode 100644 index 000000000..325f2a4ab --- /dev/null +++ b/lib/pleroma/web/fed_sockets/ingester_worker.ex @@ -0,0 +1,33 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.IngesterWorker do + use Pleroma.Workers.WorkerHelper, queue: "ingestion_queue" + require Logger + + alias Pleroma.Web.Federator + + @impl Oban.Worker + def perform(%Job{args: %{"op" => "ingest", "object" => ingestee}}) do + try do + ingestee + |> Jason.decode!() + |> do_ingestion() + rescue + e -> + Logger.error("IngesterWorker error - #{inspect(e)}") + e + end + end + + defp do_ingestion(params) do + case Federator.incoming_ap_doc(params) do + {:error, reason} -> + {:error, reason} + + {:ok, object} -> + {:ok, object} + end + end +end diff --git a/lib/pleroma/web/fed_sockets/outgoing_handler.ex b/lib/pleroma/web/fed_sockets/outgoing_handler.ex new file mode 100644 index 000000000..6ddef17fe --- /dev/null +++ b/lib/pleroma/web/fed_sockets/outgoing_handler.ex @@ -0,0 +1,146 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.OutgoingHandler do + use GenServer + + require Logger + + alias Pleroma.Web.ActivityPub.InternalFetchActor + alias Pleroma.Web.FedSockets + alias Pleroma.Web.FedSockets.FedRegistry + alias Pleroma.Web.FedSockets.FedSocket + alias Pleroma.Web.FedSockets.SocketInfo + + def start_link(uri) do + GenServer.start_link(__MODULE__, %{uri: uri}) + end + + def init(%{uri: uri}) do + case initiate_connection(uri) do + {:ok, ws_origin, conn_pid} -> + FedRegistry.add_fed_socket(ws_origin, conn_pid) + + {:error, reason} -> + Logger.debug("Outgoing connection failed - #{inspect(reason)}") + :ignore + end + end + + def handle_info({:gun_ws, conn_pid, _ref, {:text, data}}, socket_info) do + socket_info = SocketInfo.touch(socket_info) + + case FedSocket.receive_package(socket_info, data) do + {:noreply, _} -> + {:noreply, socket_info} + + {:reply, reply} -> + :gun.ws_send(conn_pid, {:text, Jason.encode!(reply)}) + {:noreply, socket_info} + + {:error, reason} -> + Logger.error("incoming error - receive_package: #{inspect(reason)}") + {:noreply, socket_info} + end + end + + def handle_info(:close, state) do + Logger.debug("Sending close frame !!!!!!!") + {:close, state} + end + + def handle_info({:gun_down, _pid, _prot, :closed, _}, state) do + {:stop, :normal, state} + end + + def handle_info({:send, data}, %{conn_pid: conn_pid} = socket_info) do + socket_info = SocketInfo.touch(socket_info) + :gun.ws_send(conn_pid, {:text, data}) + {:noreply, socket_info} + end + + def handle_info({:gun_ws, _, _, :pong}, state) do + {:noreply, state, :hibernate} + end + + def handle_info(msg, state) do + Logger.debug("#{__MODULE__} unhandled event #{inspect(msg)}") + {:noreply, state} + end + + def terminate(reason, state) do + Logger.debug( + "#{__MODULE__} terminating outgoing connection for #{inspect(state)} for #{inspect(reason)}" + ) + + {:ok, state} + end + + def initiate_connection(uri) do + ws_uri = + uri + |> SocketInfo.origin() + |> FedSockets.uri_for_origin() + + %{host: host, port: port, path: path} = URI.parse(ws_uri) + + with {:ok, conn_pid} <- :gun.open(to_charlist(host), port), + {:ok, _} <- :gun.await_up(conn_pid), + reference <- :gun.get(conn_pid, to_charlist(path)), + {:response, :fin, 204, _} <- :gun.await(conn_pid, reference), + headers <- build_headers(uri), + ref <- :gun.ws_upgrade(conn_pid, to_charlist(path), headers, %{silence_pings: false}) do + receive do + {:gun_upgrade, ^conn_pid, ^ref, [<<"websocket">>], _} -> + {:ok, ws_uri, conn_pid} + after + 15_000 -> + Logger.debug("Fedsocket timeout connecting to #{inspect(uri)}") + {:error, :timeout} + end + else + {:response, :nofin, 404, _} -> + {:error, :fedsockets_not_supported} + + e -> + Logger.debug("Fedsocket error connecting to #{inspect(uri)}") + {:error, e} + end + end + + defp build_headers(uri) do + host_for_sig = uri |> URI.parse() |> host_signature() + + shake = FedSocket.shake() + digest = "SHA-256=" <> (:crypto.hash(:sha256, shake) |> Base.encode64()) + date = Pleroma.Signature.signed_date() + shake_size = byte_size(shake) + + signature_opts = %{ + "(request-target)": shake, + "content-length": to_charlist("#{shake_size}"), + date: date, + digest: digest, + host: host_for_sig + } + + signature = Pleroma.Signature.sign(InternalFetchActor.get_actor(), signature_opts) + + [ + {'signature', to_charlist(signature)}, + {'date', date}, + {'digest', to_charlist(digest)}, + {'content-length', to_charlist("#{shake_size}")}, + {to_charlist("(request-target)"), to_charlist(shake)} + ] + end + + defp host_signature(%{host: host, scheme: scheme, port: port}) do + if port == URI.default_port(scheme) do + host + else + "#{host}:#{port}" + end + end +end diff --git a/lib/pleroma/web/fed_sockets/socket_info.ex b/lib/pleroma/web/fed_sockets/socket_info.ex new file mode 100644 index 000000000..d6fdffe1a --- /dev/null +++ b/lib/pleroma/web/fed_sockets/socket_info.ex @@ -0,0 +1,52 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.SocketInfo do + defstruct origin: nil, + pid: nil, + conn_pid: nil, + state: :default, + connected_until: nil + + alias Pleroma.Web.FedSockets.SocketInfo + @default_connection_duration 15 * 60 * 1000 + + def build(uri, conn_pid \\ nil) do + uri + |> build_origin() + |> build_pids(conn_pid) + |> touch() + end + + def touch(%SocketInfo{} = socket_info), + do: %{socket_info | connected_until: new_ttl()} + + def connect(%SocketInfo{} = socket_info), + do: %{socket_info | state: :connected} + + def expired?(%{connected_until: connected_until}), + do: connected_until < :erlang.monotonic_time(:millisecond) + + def origin(uri), + do: build_origin(uri).origin + + defp build_pids(socket_info, conn_pid), + do: struct(socket_info, pid: self(), conn_pid: conn_pid) + + defp build_origin(uri) when is_binary(uri), + do: uri |> URI.parse() |> build_origin + + defp build_origin(%{host: host, port: nil, scheme: scheme}), + do: build_origin(%{host: host, port: URI.default_port(scheme)}) + + defp build_origin(%{host: host, port: port}), + do: %SocketInfo{origin: "#{host}:#{port}"} + + defp new_ttl do + connection_duration = + Pleroma.Config.get([:fed_sockets, :connection_duration], @default_connection_duration) + + :erlang.monotonic_time(:millisecond) + connection_duration + end +end diff --git a/lib/pleroma/web/fed_sockets/supervisor.ex b/lib/pleroma/web/fed_sockets/supervisor.ex new file mode 100644 index 000000000..a5f4bebfb --- /dev/null +++ b/lib/pleroma/web/fed_sockets/supervisor.ex @@ -0,0 +1,59 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.Supervisor do + use Supervisor + import Cachex.Spec + + def start_link(opts) do + Supervisor.start_link(__MODULE__, opts, name: __MODULE__) + end + + def init(args) do + children = [ + build_cache(:fed_socket_fetches, args), + build_cache(:fed_socket_rejections, args), + {Registry, keys: :unique, name: FedSockets.Registry, meta: [rejected: %{}]} + ] + + opts = [strategy: :one_for_all, name: Pleroma.Web.Streamer.Supervisor] + Supervisor.init(children, opts) + end + + defp build_cache(name, args) do + opts = get_opts(name, args) + + %{ + id: String.to_atom("#{name}_cache"), + start: {Cachex, :start_link, [name, opts]}, + type: :worker + } + end + + defp get_opts(cache_name, args) + when cache_name in [:fed_socket_fetches, :fed_socket_rejections] do + default = get_opts_or_config(args, cache_name, :default, 15_000) + interval = get_opts_or_config(args, cache_name, :interval, 3_000) + lazy = get_opts_or_config(args, cache_name, :lazy, false) + + [expiration: expiration(default: default, interval: interval, lazy: lazy)] + end + + defp get_opts(name, args) do + Keyword.get(args, name, []) + end + + defp get_opts_or_config(args, name, key, default) do + args + |> Keyword.get(name, []) + |> Keyword.get(key) + |> case do + nil -> + Pleroma.Config.get([:fed_sockets, name, key], default) + + value -> + value + end + end +end diff --git a/mix.lock b/mix.lock index a28c47017..a17e8c0fc 100644 --- a/mix.lock +++ b/mix.lock @@ -118,5 +118,5 @@ "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"}, "unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"}, "web_push_encryption": {:hex, :web_push_encryption, "0.3.0", "598b5135e696fd1404dc8d0d7c0fa2c027244a4e5d5e5a98ba267f14fdeaabc8", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "f10bdd1afe527ede694749fb77a2f22f146a51b054c7fa541c9fd920fba7c875"}, - "websocket_client": {:git, "https://github.com/jeremyong/websocket_client.git", "9a6f65d05ebf2725d62fb19262b21f1805a59fbf", []}, + "websocket_client": {:git, "https://github.com/jeremyong/websocket_client.git", "9a6f65d05ebf2725d62fb19262b21f1805a59fbf", []} } diff --git a/test/web/fed_sockets/fed_registry_test.exs b/test/web/fed_sockets/fed_registry_test.exs new file mode 100644 index 000000000..19ac874d6 --- /dev/null +++ b/test/web/fed_sockets/fed_registry_test.exs @@ -0,0 +1,124 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.FedRegistryTest do + use ExUnit.Case + + alias Pleroma.Web.FedSockets + alias Pleroma.Web.FedSockets.FedRegistry + alias Pleroma.Web.FedSockets.SocketInfo + + @good_domain "http://good.domain" + @good_domain_origin "good.domain:80" + + setup do + start_supervised({Pleroma.Web.FedSockets.Supervisor, []}) + build_test_socket(@good_domain) + Process.sleep(10) + + :ok + end + + describe "add_fed_socket/1 without conflicting sockets" do + test "can be added" do + Process.sleep(10) + assert {:ok, %SocketInfo{origin: origin}} = FedRegistry.get_fed_socket(@good_domain_origin) + assert origin == "good.domain:80" + end + + test "multiple origins can be added" do + build_test_socket("http://anothergood.domain") + Process.sleep(10) + + assert {:ok, %SocketInfo{origin: origin_1}} = + FedRegistry.get_fed_socket(@good_domain_origin) + + assert {:ok, %SocketInfo{origin: origin_2}} = + FedRegistry.get_fed_socket("anothergood.domain:80") + + assert origin_1 == "good.domain:80" + assert origin_2 == "anothergood.domain:80" + assert FedRegistry.list_all() |> Enum.count() == 2 + end + end + + describe "add_fed_socket/1 when duplicate sockets conflict" do + setup do + build_test_socket(@good_domain) + build_test_socket(@good_domain) + Process.sleep(10) + :ok + end + + test "will be ignored" do + assert {:ok, %SocketInfo{origin: origin, pid: pid_one}} = + FedRegistry.get_fed_socket(@good_domain_origin) + + assert origin == "good.domain:80" + + assert FedRegistry.list_all() |> Enum.count() == 1 + end + + test "the newer process will be closed" do + pid_two = build_test_socket(@good_domain) + + assert {:ok, %SocketInfo{origin: origin, pid: pid_one}} = + FedRegistry.get_fed_socket(@good_domain_origin) + + assert origin == "good.domain:80" + Process.sleep(10) + + refute Process.alive?(pid_two) + + assert FedRegistry.list_all() |> Enum.count() == 1 + end + end + + describe "get_fed_socket/1" do + test "returns missing for unknown hosts" do + assert {:error, :missing} = FedRegistry.get_fed_socket("not_a_dmoain") + end + + test "returns rejected for hosts previously rejected" do + "rejected.domain:80" + |> FedSockets.uri_for_origin() + |> FedRegistry.set_host_rejected() + + assert {:error, :rejected} = FedRegistry.get_fed_socket("rejected.domain:80") + end + + test "can retrieve a previously added SocketInfo" do + build_test_socket(@good_domain) + Process.sleep(10) + assert {:ok, %SocketInfo{origin: origin}} = FedRegistry.get_fed_socket(@good_domain_origin) + assert origin == "good.domain:80" + end + + test "removes references to SocketInfos when the process crashes" do + assert {:ok, %SocketInfo{origin: origin, pid: pid}} = + FedRegistry.get_fed_socket(@good_domain_origin) + + assert origin == "good.domain:80" + + Process.exit(pid, :testing) + Process.sleep(100) + assert {:error, :missing} = FedRegistry.get_fed_socket(@good_domain_origin) + end + end + + def build_test_socket(uri) do + Kernel.spawn(fn -> fed_socket_almost(uri) end) + end + + def fed_socket_almost(origin) do + FedRegistry.add_fed_socket(origin) + + receive do + :close -> + :ok + after + 5_000 -> :timeout + end + end +end diff --git a/test/web/fed_sockets/fetch_registry_test.exs b/test/web/fed_sockets/fetch_registry_test.exs new file mode 100644 index 000000000..7bd2d995a --- /dev/null +++ b/test/web/fed_sockets/fetch_registry_test.exs @@ -0,0 +1,67 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.FetchRegistryTest do + use ExUnit.Case + + alias Pleroma.Web.FedSockets.FetchRegistry + alias Pleroma.Web.FedSockets.FetchRegistry.FetchRegistryData + + @json_message "hello" + @json_reply "hello back" + + setup do + start_supervised( + {Pleroma.Web.FedSockets.Supervisor, + [ + ping_interval: 8, + connection_duration: 15, + rejection_duration: 5, + fed_socket_fetches: [default: 10, interval: 10] + ]} + ) + + :ok + end + + test "fetches can be stored" do + uuid = FetchRegistry.register_fetch(@json_message) + + assert {:error, :waiting} = FetchRegistry.check_fetch(uuid) + end + + test "fetches can return" do + uuid = FetchRegistry.register_fetch(@json_message) + task = Task.async(fn -> FetchRegistry.register_fetch_received(uuid, @json_reply) end) + + assert {:error, :waiting} = FetchRegistry.check_fetch(uuid) + Task.await(task) + + assert {:ok, %FetchRegistryData{received_json: received_json}} = + FetchRegistry.check_fetch(uuid) + + assert received_json == @json_reply + end + + test "fetches are deleted once popped from stack" do + uuid = FetchRegistry.register_fetch(@json_message) + task = Task.async(fn -> FetchRegistry.register_fetch_received(uuid, @json_reply) end) + Task.await(task) + + assert {:ok, %FetchRegistryData{received_json: received_json}} = + FetchRegistry.check_fetch(uuid) + + assert received_json == @json_reply + assert {:ok, @json_reply} = FetchRegistry.pop_fetch(uuid) + + assert {:error, :missing} = FetchRegistry.check_fetch(uuid) + end + + test "fetches can time out" do + uuid = FetchRegistry.register_fetch(@json_message) + assert {:error, :waiting} = FetchRegistry.check_fetch(uuid) + Process.sleep(500) + assert {:error, :missing} = FetchRegistry.check_fetch(uuid) + end +end diff --git a/test/web/fed_sockets/socket_info_test.exs b/test/web/fed_sockets/socket_info_test.exs new file mode 100644 index 000000000..db3d6edcd --- /dev/null +++ b/test/web/fed_sockets/socket_info_test.exs @@ -0,0 +1,118 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FedSockets.SocketInfoTest do + use ExUnit.Case + + alias Pleroma.Web.FedSockets + alias Pleroma.Web.FedSockets.SocketInfo + + describe "uri_for_origin" do + test "provides the fed_socket URL given the origin information" do + endpoint = "example.com:4000" + assert FedSockets.uri_for_origin(endpoint) =~ "ws://" + assert FedSockets.uri_for_origin(endpoint) =~ endpoint + end + end + + describe "origin" do + test "will provide the origin field given a url" do + endpoint = "example.com:4000" + assert SocketInfo.origin("ws://#{endpoint}") == endpoint + assert SocketInfo.origin("http://#{endpoint}") == endpoint + assert SocketInfo.origin("https://#{endpoint}") == endpoint + end + + test "will proide the origin field given a uri" do + endpoint = "example.com:4000" + uri = URI.parse("http://#{endpoint}") + + assert SocketInfo.origin(uri) == endpoint + end + end + + describe "touch" do + test "will update the TTL" do + endpoint = "example.com:4000" + socket = SocketInfo.build("ws://#{endpoint}") + Process.sleep(2) + touched_socket = SocketInfo.touch(socket) + + assert socket.connected_until < touched_socket.connected_until + end + end + + describe "expired?" do + setup do + start_supervised( + {Pleroma.Web.FedSockets.Supervisor, + [ + ping_interval: 8, + connection_duration: 5, + rejection_duration: 5, + fed_socket_rejections: [lazy: true] + ]} + ) + + :ok + end + + test "tests if the TTL is exceeded" do + endpoint = "example.com:4000" + socket = SocketInfo.build("ws://#{endpoint}") + refute SocketInfo.expired?(socket) + Process.sleep(10) + + assert SocketInfo.expired?(socket) + end + end + + describe "creating outgoing connection records" do + test "can be passed a string" do + assert %{conn_pid: :pid, origin: _origin} = SocketInfo.build("example.com:4000", :pid) + end + + test "can be passed a URI" do + uri = URI.parse("http://example.com:4000") + assert %{conn_pid: :pid, origin: origin} = SocketInfo.build(uri, :pid) + assert origin =~ "example.com:4000" + end + + test "will include the port number" do + assert %{conn_pid: :pid, origin: origin} = SocketInfo.build("http://example.com:4000", :pid) + + assert origin =~ ":4000" + end + + test "will provide the port if missing" do + assert %{conn_pid: :pid, origin: "example.com:80"} = + SocketInfo.build("http://example.com", :pid) + + assert %{conn_pid: :pid, origin: "example.com:443"} = + SocketInfo.build("https://example.com", :pid) + end + end + + describe "creating incoming connection records" do + test "can be passed a string" do + assert %{pid: _, origin: _origin} = SocketInfo.build("example.com:4000") + end + + test "can be passed a URI" do + uri = URI.parse("example.com:4000") + assert %{pid: _, origin: _origin} = SocketInfo.build(uri) + end + + test "will include the port number" do + assert %{pid: _, origin: origin} = SocketInfo.build("http://example.com:4000") + + assert origin =~ ":4000" + end + + test "will provide the port if missing" do + assert %{pid: _, origin: "example.com:80"} = SocketInfo.build("http://example.com") + assert %{pid: _, origin: "example.com:443"} = SocketInfo.build("https://example.com") + end + end +end From 26c571df339ebfdadf760f75871b9343131a2d81 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 18 Sep 2020 16:09:37 +0300 Subject: [PATCH 178/201] FedSockets: fix log spam on cached rejects --- lib/pleroma/web/fed_sockets/fed_sockets.ex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/pleroma/web/fed_sockets/fed_sockets.ex b/lib/pleroma/web/fed_sockets/fed_sockets.ex index 035d54796..1fd5899c8 100644 --- a/lib/pleroma/web/fed_sockets/fed_sockets.ex +++ b/lib/pleroma/web/fed_sockets/fed_sockets.ex @@ -104,6 +104,9 @@ def get_or_create_fed_socket(address) do Logger.debug("fedsocket found in cache - #{inspect(address)}") {:ok, socket} + {:cache, {:error, :rejected} = e} -> + e + {:connect, {:error, _host}} -> Logger.debug("set host rejected for - #{inspect(address)}") FedRegistry.set_host_rejected(address) From 26859c549c58901bbcc9dde009fd1cb81f6eb292 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 18 Sep 2020 17:49:15 -0500 Subject: [PATCH 179/201] Add user agent to fedsocket requests --- lib/pleroma/web/fed_sockets/outgoing_handler.ex | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/fed_sockets/outgoing_handler.ex b/lib/pleroma/web/fed_sockets/outgoing_handler.ex index 6ddef17fe..3ff4a85e3 100644 --- a/lib/pleroma/web/fed_sockets/outgoing_handler.ex +++ b/lib/pleroma/web/fed_sockets/outgoing_handler.ex @@ -7,6 +7,7 @@ defmodule Pleroma.Web.FedSockets.OutgoingHandler do require Logger + alias Pleroma.Application alias Pleroma.Web.ActivityPub.InternalFetchActor alias Pleroma.Web.FedSockets alias Pleroma.Web.FedSockets.FedRegistry @@ -87,7 +88,10 @@ def initiate_connection(uri) do with {:ok, conn_pid} <- :gun.open(to_charlist(host), port), {:ok, _} <- :gun.await_up(conn_pid), - reference <- :gun.get(conn_pid, to_charlist(path)), + reference <- + :gun.get(conn_pid, to_charlist(path), [ + {'user-agent', to_charlist(Application.user_agent())} + ]), {:response, :fin, 204, _} <- :gun.await(conn_pid, reference), headers <- build_headers(uri), ref <- :gun.ws_upgrade(conn_pid, to_charlist(path), headers, %{silence_pings: false}) do @@ -132,7 +136,8 @@ defp build_headers(uri) do {'date', date}, {'digest', to_charlist(digest)}, {'content-length', to_charlist("#{shake_size}")}, - {to_charlist("(request-target)"), to_charlist(shake)} + {to_charlist("(request-target)"), to_charlist(shake)}, + {'user-agent', to_charlist(Application.user_agent())} ] end From 51116b539201eb99fa89cabc88a08f92c67bfeca Mon Sep 17 00:00:00 2001 From: rinpatch Date: Sat, 19 Sep 2020 00:50:00 +0300 Subject: [PATCH 180/201] OpenAPI: fix various errors pointed out by editor.swagger.io --- lib/pleroma/web/api_spec/helpers.ex | 6 +++++- lib/pleroma/web/api_spec/operations/account_operation.ex | 7 +++++-- .../web/api_spec/operations/custom_emoji_operation.ex | 2 +- .../web/api_spec/operations/emoji_reaction_operation.ex | 2 +- lib/pleroma/web/api_spec/operations/list_operation.ex | 3 +-- lib/pleroma/web/api_spec/schemas/chat_message.ex | 3 ++- lib/pleroma/web/api_spec/schemas/scheduled_status.ex | 4 ++-- 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/pleroma/web/api_spec/helpers.ex b/lib/pleroma/web/api_spec/helpers.ex index 2a7f1a706..34de2ed57 100644 --- a/lib/pleroma/web/api_spec/helpers.ex +++ b/lib/pleroma/web/api_spec/helpers.ex @@ -72,7 +72,11 @@ def empty_object_response do end def empty_array_response do - Operation.response("Empty array", "application/json", %Schema{type: :array, example: []}) + Operation.response("Empty array", "application/json", %Schema{ + type: :array, + items: %Schema{type: :object, example: %{}}, + example: [] + }) end def no_content_response do diff --git a/lib/pleroma/web/api_spec/operations/account_operation.ex b/lib/pleroma/web/api_spec/operations/account_operation.ex index aaebc9b5c..d90ddb787 100644 --- a/lib/pleroma/web/api_spec/operations/account_operation.ex +++ b/lib/pleroma/web/api_spec/operations/account_operation.ex @@ -372,6 +372,10 @@ def identity_proofs_operation do tags: ["accounts"], summary: "Identity proofs", operationId: "AccountController.identity_proofs", + # Validators complains about unused path params otherwise + parameters: [ + %Reference{"$ref": "#/components/parameters/accountIdOrNickname"} + ], description: "Not implemented", responses: %{ 200 => empty_array_response() @@ -469,7 +473,6 @@ defp create_response do identifier: %Schema{type: :string}, message: %Schema{type: :string} }, - required: [], # Note: example of successful registration with failed login response: # example: %{ # "identifier" => "missing_confirmed_email", @@ -530,7 +533,7 @@ defp update_credentials_request do nullable: true, oneOf: [ %Schema{type: :array, items: attribute_field()}, - %Schema{type: :object, additionalProperties: %Schema{type: attribute_field()}} + %Schema{type: :object, additionalProperties: attribute_field()} ] }, # NOTE: `source` field is not supported diff --git a/lib/pleroma/web/api_spec/operations/custom_emoji_operation.ex b/lib/pleroma/web/api_spec/operations/custom_emoji_operation.ex index 2f812ac77..5ff263ceb 100644 --- a/lib/pleroma/web/api_spec/operations/custom_emoji_operation.ex +++ b/lib/pleroma/web/api_spec/operations/custom_emoji_operation.ex @@ -69,7 +69,7 @@ defp custom_emoji do type: :object, properties: %{ category: %Schema{type: :string}, - tags: %Schema{type: :array} + tags: %Schema{type: :array, items: %Schema{type: :string}} } } ], diff --git a/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex b/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex index 1a49fece0..745d41f88 100644 --- a/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex +++ b/lib/pleroma/web/api_spec/operations/emoji_reaction_operation.ex @@ -23,7 +23,7 @@ def index_operation do parameters: [ Operation.parameter(:id, :path, FlakeID, "Status ID", required: true), Operation.parameter(:emoji, :path, :string, "Filter by a single unicode emoji", - required: false + required: nil ) ], security: [%{"oAuth" => ["read:statuses"]}], diff --git a/lib/pleroma/web/api_spec/operations/list_operation.ex b/lib/pleroma/web/api_spec/operations/list_operation.ex index 15039052e..f6e73968a 100644 --- a/lib/pleroma/web/api_spec/operations/list_operation.ex +++ b/lib/pleroma/web/api_spec/operations/list_operation.ex @@ -187,8 +187,7 @@ defp add_remove_accounts_request(required) when is_boolean(required) do type: :object, properties: %{ account_ids: %Schema{type: :array, description: "Array of account IDs", items: FlakeID} - }, - required: required && [:account_ids] + } }, required: required ) diff --git a/lib/pleroma/web/api_spec/schemas/chat_message.ex b/lib/pleroma/web/api_spec/schemas/chat_message.ex index bbf2a4427..9d2799618 100644 --- a/lib/pleroma/web/api_spec/schemas/chat_message.ex +++ b/lib/pleroma/web/api_spec/schemas/chat_message.ex @@ -4,6 +4,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessage do alias OpenApiSpex.Schema + alias Pleroma.Web.ApiSpec.Schemas.Emoji require OpenApiSpex @@ -18,7 +19,7 @@ defmodule Pleroma.Web.ApiSpec.Schemas.ChatMessage do chat_id: %Schema{type: :string}, content: %Schema{type: :string, nullable: true}, created_at: %Schema{type: :string, format: :"date-time"}, - emojis: %Schema{type: :array}, + emojis: %Schema{type: :array, items: Emoji}, attachment: %Schema{type: :object, nullable: true}, card: %Schema{ type: :object, diff --git a/lib/pleroma/web/api_spec/schemas/scheduled_status.ex b/lib/pleroma/web/api_spec/schemas/scheduled_status.ex index 0520d0848..addefa9d3 100644 --- a/lib/pleroma/web/api_spec/schemas/scheduled_status.ex +++ b/lib/pleroma/web/api_spec/schemas/scheduled_status.ex @@ -27,9 +27,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.ScheduledStatus do media_ids: %Schema{type: :array, nullable: true, items: %Schema{type: :string}}, sensitive: %Schema{type: :boolean, nullable: true}, spoiler_text: %Schema{type: :string, nullable: true}, - visibility: %Schema{type: VisibilityScope, nullable: true}, + visibility: %Schema{allOf: [VisibilityScope], nullable: true}, scheduled_at: %Schema{type: :string, format: :"date-time", nullable: true}, - poll: %Schema{type: Poll, nullable: true}, + poll: %Schema{allOf: [Poll], nullable: true}, in_reply_to_id: %Schema{type: :string, nullable: true} } } From 4b12e071ac7ea87c91f6192cc0da90c32e846ca4 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Sat, 19 Sep 2020 00:50:38 +0300 Subject: [PATCH 181/201] OpenAPI: make it possible to generate a spec without starting the app Needed for api docs generation on pleroma.social that will come later --- lib/pleroma/web/api_spec.ex | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/web/api_spec.ex b/lib/pleroma/web/api_spec.ex index 79fd5f871..93a5273e3 100644 --- a/lib/pleroma/web/api_spec.ex +++ b/lib/pleroma/web/api_spec.ex @@ -13,10 +13,15 @@ defmodule Pleroma.Web.ApiSpec do @impl OpenApi def spec do %OpenApi{ - servers: [ - # Populate the Server info from a phoenix endpoint - OpenApiSpex.Server.from_endpoint(Endpoint) - ], + servers: + if Phoenix.Endpoint.server?(:pleroma, Endpoint) do + [ + # Populate the Server info from a phoenix endpoint + OpenApiSpex.Server.from_endpoint(Endpoint) + ] + else + [] + end, info: %OpenApiSpex.Info{ title: "Pleroma", description: Application.spec(:pleroma, :description) |> to_string(), From 60b025b782eb27b86a791451149b6690431371dc Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sat, 19 Sep 2020 19:16:55 +0300 Subject: [PATCH 182/201] [#2074] OAuth scope checking in Streaming API. --- lib/pleroma/plugs/oauth_scopes_plug.ex | 2 +- .../web/mastodon_api/websocket_handler.ex | 10 +- lib/pleroma/web/streamer/streamer.ex | 70 ++- test/integration/mastodon_websocket_test.exs | 2 +- test/notification_test.exs | 8 +- test/support/data_case.ex | 15 + test/web/streamer/streamer_test.exs | 408 +++++++++++------- 7 files changed, 332 insertions(+), 183 deletions(-) diff --git a/lib/pleroma/plugs/oauth_scopes_plug.ex b/lib/pleroma/plugs/oauth_scopes_plug.ex index efc25b79f..b1a736d78 100644 --- a/lib/pleroma/plugs/oauth_scopes_plug.ex +++ b/lib/pleroma/plugs/oauth_scopes_plug.ex @@ -53,7 +53,7 @@ def drop_auth_info(conn) do |> assign(:token, nil) end - @doc "Filters descendants of supported scopes" + @doc "Keeps those of `scopes` which are descendants of `supported_scopes`" def filter_descendants(scopes, supported_scopes) do Enum.filter( scopes, diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex index cf923ded8..439cdd716 100644 --- a/lib/pleroma/web/mastodon_api/websocket_handler.ex +++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex @@ -23,8 +23,8 @@ def init(%{qs: qs} = req, state) do with params <- Enum.into(:cow_qs.parse_qs(qs), %{}), sec_websocket <- :cowboy_req.header("sec-websocket-protocol", req, nil), access_token <- Map.get(params, "access_token"), - {:ok, user} <- authenticate_request(access_token, sec_websocket), - {:ok, topic} <- Streamer.get_topic(Map.get(params, "stream"), user, params) do + {:ok, user, oauth_token} <- authenticate_request(access_token, sec_websocket), + {:ok, topic} <- Streamer.get_topic(params["stream"], user, oauth_token, params) do req = if sec_websocket do :cowboy_req.set_resp_header("sec-websocket-protocol", sec_websocket, req) @@ -117,7 +117,7 @@ def terminate(reason, _req, state) do # Public streams without authentication. defp authenticate_request(nil, nil) do - {:ok, nil} + {:ok, nil, nil} end # Authenticated streams. @@ -125,9 +125,9 @@ defp authenticate_request(access_token, sec_websocket) do token = access_token || sec_websocket with true <- is_bitstring(token), - %Token{user_id: user_id} <- Repo.get_by(Token, token: token), + oauth_token = %Token{user_id: user_id} <- Repo.get_by(Token, token: token), user = %User{} <- User.get_cached_by_id(user_id) do - {:ok, user} + {:ok, user, oauth_token} else _ -> {:error, :unauthorized} end diff --git a/lib/pleroma/web/streamer/streamer.ex b/lib/pleroma/web/streamer/streamer.ex index d1d70e556..5475f18a6 100644 --- a/lib/pleroma/web/streamer/streamer.ex +++ b/lib/pleroma/web/streamer/streamer.ex @@ -11,10 +11,12 @@ defmodule Pleroma.Web.Streamer do alias Pleroma.Conversation.Participation alias Pleroma.Notification alias Pleroma.Object + alias Pleroma.Plugs.OAuthScopesPlug alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.ActivityPub.Visibility alias Pleroma.Web.CommonAPI + alias Pleroma.Web.OAuth.Token alias Pleroma.Web.StreamerView @mix_env Mix.env() @@ -26,53 +28,87 @@ def registry, do: @registry @user_streams ["user", "user:notification", "direct", "user:pleroma_chat"] @doc "Expands and authorizes a stream, and registers the process for streaming." - @spec get_topic_and_add_socket(stream :: String.t(), User.t() | nil, Map.t() | nil) :: + @spec get_topic_and_add_socket( + stream :: String.t(), + User.t() | nil, + Token.t() | nil, + Map.t() | nil + ) :: {:ok, topic :: String.t()} | {:error, :bad_topic} | {:error, :unauthorized} - def get_topic_and_add_socket(stream, user, params \\ %{}) do - case get_topic(stream, user, params) do + def get_topic_and_add_socket(stream, user, oauth_token, params \\ %{}) do + case get_topic(stream, user, oauth_token, params) do {:ok, topic} -> add_socket(topic, user) error -> error end end @doc "Expand and authorizes a stream" - @spec get_topic(stream :: String.t(), User.t() | nil, Map.t()) :: + @spec get_topic(stream :: String.t(), User.t() | nil, Token.t() | nil, Map.t()) :: {:ok, topic :: String.t()} | {:error, :bad_topic} - def get_topic(stream, user, params \\ %{}) + def get_topic(stream, user, oauth_token, params \\ %{}) # Allow all public steams. - def get_topic(stream, _, _) when stream in @public_streams do + def get_topic(stream, _user, _oauth_token, _params) when stream in @public_streams do {:ok, stream} end # Allow all hashtags streams. - def get_topic("hashtag", _, %{"tag" => tag}) do + def get_topic("hashtag", _user, _oauth_token, %{"tag" => tag} = _params) do {:ok, "hashtag:" <> tag} end # Expand user streams. - def get_topic(stream, %User{} = user, _) when stream in @user_streams do - {:ok, stream <> ":" <> to_string(user.id)} + def get_topic( + stream, + %User{id: user_id} = user, + %Token{user_id: token_user_id} = oauth_token, + _params + ) + when stream in @user_streams and user_id == token_user_id do + # Note: "read" works for all user streams (not mentioning it since it's an ancestor scope) + required_scopes = + if stream == "user:notification" do + ["read:notifications"] + else + ["read:statuses"] + end + + if OAuthScopesPlug.filter_descendants(required_scopes, oauth_token.scopes) == [] do + {:error, :unauthorized} + else + {:ok, stream <> ":" <> to_string(user.id)} + end end - def get_topic(stream, _, _) when stream in @user_streams do + def get_topic(stream, _user, _oauth_token, _params) when stream in @user_streams do {:error, :unauthorized} end # List streams. - def get_topic("list", %User{} = user, %{"list" => id}) do - if Pleroma.List.get(id, user) do - {:ok, "list:" <> to_string(id)} - else - {:error, :bad_topic} + def get_topic( + "list", + %User{id: user_id} = user, + %Token{user_id: token_user_id} = oauth_token, + %{"list" => id} + ) + when user_id == token_user_id do + cond do + OAuthScopesPlug.filter_descendants(["read", "read:lists"], oauth_token.scopes) == [] -> + {:error, :unauthorized} + + Pleroma.List.get(id, user) -> + {:ok, "list:" <> to_string(id)} + + true -> + {:error, :bad_topic} end end - def get_topic("list", _, _) do + def get_topic("list", _user, _oauth_token, _params) do {:error, :unauthorized} end - def get_topic(_, _, _) do + def get_topic(_stream, _user, _oauth_token, _params) do {:error, :bad_topic} end diff --git a/test/integration/mastodon_websocket_test.exs b/test/integration/mastodon_websocket_test.exs index 76fbc8bda..0f2e6cc2b 100644 --- a/test/integration/mastodon_websocket_test.exs +++ b/test/integration/mastodon_websocket_test.exs @@ -78,7 +78,7 @@ test "receives well formatted events" do Pleroma.Repo.insert( OAuth.App.register_changeset(%OAuth.App{}, %{ client_name: "client", - scopes: ["scope"], + scopes: ["read"], redirect_uris: "url" }) ) diff --git a/test/notification_test.exs b/test/notification_test.exs index a09b08675..f2e0f0b0d 100644 --- a/test/notification_test.exs +++ b/test/notification_test.exs @@ -179,17 +179,19 @@ test "does not create a notification for subscribed users if status is a reply" describe "create_notification" do @tag needs_streamer: true test "it creates a notification for user and send to the 'user' and the 'user:notification' stream" do - user = insert(:user) + %{user: user, token: oauth_token} = oauth_access(["read"]) task = Task.async(fn -> - Streamer.get_topic_and_add_socket("user", user) + {:ok, _topic} = Streamer.get_topic_and_add_socket("user", user, oauth_token) assert_receive {:render_with_user, _, _, _}, 4_000 end) task_user_notification = Task.async(fn -> - Streamer.get_topic_and_add_socket("user:notification", user) + {:ok, _topic} = + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) + assert_receive {:render_with_user, _, _, _}, 4_000 end) diff --git a/test/support/data_case.ex b/test/support/data_case.ex index ba8848952..d5456521c 100644 --- a/test/support/data_case.ex +++ b/test/support/data_case.ex @@ -27,6 +27,21 @@ defmodule Pleroma.DataCase do import Ecto.Query import Pleroma.DataCase use Pleroma.Tests.Helpers + + # Sets up OAuth access with specified scopes + defp oauth_access(scopes, opts \\ []) do + user = + Keyword.get_lazy(opts, :user, fn -> + Pleroma.Factory.insert(:user) + end) + + token = + Keyword.get_lazy(opts, :oauth_token, fn -> + Pleroma.Factory.insert(:oauth_token, user: user, scopes: scopes) + end) + + %{user: user, token: token} + end end end diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index d56d74464..185724a9f 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -21,92 +21,148 @@ defmodule Pleroma.Web.StreamerTest do setup do: clear_config([:instance, :skip_thread_containment]) - describe "get_topic without an user" do + describe "get_topic/_ (unauthenticated)" do test "allows public" do - assert {:ok, "public"} = Streamer.get_topic("public", nil) - assert {:ok, "public:local"} = Streamer.get_topic("public:local", nil) - assert {:ok, "public:media"} = Streamer.get_topic("public:media", nil) - assert {:ok, "public:local:media"} = Streamer.get_topic("public:local:media", nil) + assert {:ok, "public"} = Streamer.get_topic("public", nil, nil) + assert {:ok, "public:local"} = Streamer.get_topic("public:local", nil, nil) + assert {:ok, "public:media"} = Streamer.get_topic("public:media", nil, nil) + assert {:ok, "public:local:media"} = Streamer.get_topic("public:local:media", nil, nil) end test "allows hashtag streams" do - assert {:ok, "hashtag:cofe"} = Streamer.get_topic("hashtag", nil, %{"tag" => "cofe"}) + assert {:ok, "hashtag:cofe"} = Streamer.get_topic("hashtag", nil, nil, %{"tag" => "cofe"}) end test "disallows user streams" do - assert {:error, _} = Streamer.get_topic("user", nil) - assert {:error, _} = Streamer.get_topic("user:notification", nil) - assert {:error, _} = Streamer.get_topic("direct", nil) + assert {:error, _} = Streamer.get_topic("user", nil, nil) + assert {:error, _} = Streamer.get_topic("user:notification", nil, nil) + assert {:error, _} = Streamer.get_topic("direct", nil, nil) end test "disallows list streams" do - assert {:error, _} = Streamer.get_topic("list", nil, %{"list" => 42}) + assert {:error, _} = Streamer.get_topic("list", nil, nil, %{"list" => 42}) end end - describe "get_topic with an user" do - setup do - user = insert(:user) - {:ok, %{user: user}} + describe "get_topic/_ (authenticated)" do + setup do: oauth_access(["read"]) + + test "allows public streams (regardless of OAuth token scopes)", %{ + user: user, + token: read_oauth_token + } do + with oauth_token <- [nil, read_oauth_token] do + assert {:ok, "public"} = Streamer.get_topic("public", user, oauth_token) + assert {:ok, "public:local"} = Streamer.get_topic("public:local", user, oauth_token) + assert {:ok, "public:media"} = Streamer.get_topic("public:media", user, oauth_token) + + assert {:ok, "public:local:media"} = + Streamer.get_topic("public:local:media", user, oauth_token) + end end - test "allows public streams", %{user: user} do - assert {:ok, "public"} = Streamer.get_topic("public", user) - assert {:ok, "public:local"} = Streamer.get_topic("public:local", user) - assert {:ok, "public:media"} = Streamer.get_topic("public:media", user) - assert {:ok, "public:local:media"} = Streamer.get_topic("public:local:media", user) - end + test "allows user streams (with proper OAuth token scopes)", %{ + user: user, + token: read_oauth_token + } do + %{token: read_notifications_token} = oauth_access(["read:notifications"], user: user) + %{token: read_statuses_token} = oauth_access(["read:statuses"], user: user) + %{token: badly_scoped_token} = oauth_access(["irrelevant:scope"], user: user) - test "allows user streams", %{user: user} do expected_user_topic = "user:#{user.id}" - expected_notif_topic = "user:notification:#{user.id}" + expected_notification_topic = "user:notification:#{user.id}" expected_direct_topic = "direct:#{user.id}" - assert {:ok, ^expected_user_topic} = Streamer.get_topic("user", user) - assert {:ok, ^expected_notif_topic} = Streamer.get_topic("user:notification", user) - assert {:ok, ^expected_direct_topic} = Streamer.get_topic("direct", user) + expected_pleroma_chat_topic = "user:pleroma_chat:#{user.id}" + + for valid_user_token <- [read_oauth_token, read_statuses_token] do + assert {:ok, ^expected_user_topic} = Streamer.get_topic("user", user, valid_user_token) + + assert {:ok, ^expected_direct_topic} = + Streamer.get_topic("direct", user, valid_user_token) + + assert {:ok, ^expected_pleroma_chat_topic} = + Streamer.get_topic("user:pleroma_chat", user, valid_user_token) + end + + for invalid_user_token <- [read_notifications_token, badly_scoped_token], + user_topic <- ["user", "direct", "user:pleroma_chat"] do + assert {:error, :unauthorized} = Streamer.get_topic(user_topic, user, invalid_user_token) + end + + for valid_notification_token <- [read_oauth_token, read_notifications_token] do + assert {:ok, ^expected_notification_topic} = + Streamer.get_topic("user:notification", user, valid_notification_token) + end + + for invalid_notification_token <- [read_statuses_token, badly_scoped_token] do + assert {:error, :unauthorized} = + Streamer.get_topic("user:notification", user, invalid_notification_token) + end end - test "allows hashtag streams", %{user: user} do - assert {:ok, "hashtag:cofe"} = Streamer.get_topic("hashtag", user, %{"tag" => "cofe"}) + test "allows hashtag streams (regardless of OAuth token scopes)", %{ + user: user, + token: read_oauth_token + } do + for oauth_token <- [nil, read_oauth_token] do + assert {:ok, "hashtag:cofe"} = + Streamer.get_topic("hashtag", user, oauth_token, %{"tag" => "cofe"}) + end end - test "disallows registering to an user stream", %{user: user} do + test "disallows registering to another user's stream", %{user: user, token: read_oauth_token} do another_user = insert(:user) - assert {:error, _} = Streamer.get_topic("user:#{another_user.id}", user) - assert {:error, _} = Streamer.get_topic("user:notification:#{another_user.id}", user) - assert {:error, _} = Streamer.get_topic("direct:#{another_user.id}", user) + assert {:error, _} = Streamer.get_topic("user:#{another_user.id}", user, read_oauth_token) + + assert {:error, _} = + Streamer.get_topic("user:notification:#{another_user.id}", user, read_oauth_token) + + assert {:error, _} = Streamer.get_topic("direct:#{another_user.id}", user, read_oauth_token) end - test "allows list stream that are owned by the user", %{user: user} do + test "allows list stream that are owned by the user (with `read` or `read:lists` scopes)", %{ + user: user, + token: read_oauth_token + } do + %{token: read_lists_token} = oauth_access(["read:lists"], user: user) + %{token: invalid_token} = oauth_access(["irrelevant:scope"], user: user) {:ok, list} = List.create("Test", user) - assert {:error, _} = Streamer.get_topic("list:#{list.id}", user) - assert {:ok, _} = Streamer.get_topic("list", user, %{"list" => list.id}) + + assert {:error, _} = Streamer.get_topic("list:#{list.id}", user, read_oauth_token) + + for valid_token <- [read_oauth_token, read_lists_token] do + assert {:ok, _} = Streamer.get_topic("list", user, valid_token, %{"list" => list.id}) + end + + assert {:error, _} = Streamer.get_topic("list", user, invalid_token, %{"list" => list.id}) end - test "disallows list stream that are not owned by the user", %{user: user} do + test "disallows list stream that are not owned by the user", %{user: user, token: oauth_token} do another_user = insert(:user) {:ok, list} = List.create("Test", another_user) - assert {:error, _} = Streamer.get_topic("list:#{list.id}", user) - assert {:error, _} = Streamer.get_topic("list", user, %{"list" => list.id}) + + assert {:error, _} = Streamer.get_topic("list:#{list.id}", user, oauth_token) + assert {:error, _} = Streamer.get_topic("list", user, oauth_token, %{"list" => list.id}) end end describe "user streams" do setup do - user = insert(:user) + %{user: user, token: token} = oauth_access(["read"]) notify = insert(:notification, user: user, activity: build(:note_activity)) - {:ok, %{user: user, notify: notify}} + {:ok, %{user: user, notify: notify, token: token}} end - test "it streams the user's post in the 'user' stream", %{user: user} do - Streamer.get_topic_and_add_socket("user", user) + test "it streams the user's post in the 'user' stream", %{user: user, token: oauth_token} do + Streamer.get_topic_and_add_socket("user", user, oauth_token) {:ok, activity} = CommonAPI.post(user, %{status: "hey"}) + assert_receive {:render_with_user, _, _, ^activity} refute Streamer.filtered_by_user?(user, activity) end - test "it streams boosts of the user in the 'user' stream", %{user: user} do - Streamer.get_topic_and_add_socket("user", user) + test "it streams boosts of the user in the 'user' stream", %{user: user, token: oauth_token} do + Streamer.get_topic_and_add_socket("user", user, oauth_token) other_user = insert(:user) {:ok, activity} = CommonAPI.post(other_user, %{status: "hey"}) @@ -117,9 +173,10 @@ test "it streams boosts of the user in the 'user' stream", %{user: user} do end test "it does not stream announces of the user's own posts in the 'user' stream", %{ - user: user + user: user, + token: oauth_token } do - Streamer.get_topic_and_add_socket("user", user) + Streamer.get_topic_and_add_socket("user", user, oauth_token) other_user = insert(:user) {:ok, activity} = CommonAPI.post(user, %{status: "hey"}) @@ -129,9 +186,10 @@ test "it does not stream announces of the user's own posts in the 'user' stream" end test "it does stream notifications announces of the user's own posts in the 'user' stream", %{ - user: user + user: user, + token: oauth_token } do - Streamer.get_topic_and_add_socket("user", user) + Streamer.get_topic_and_add_socket("user", user, oauth_token) other_user = insert(:user) {:ok, activity} = CommonAPI.post(user, %{status: "hey"}) @@ -145,8 +203,11 @@ test "it does stream notifications announces of the user's own posts in the 'use refute Streamer.filtered_by_user?(user, notification) end - test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do - Streamer.get_topic_and_add_socket("user", user) + test "it streams boosts of mastodon user in the 'user' stream", %{ + user: user, + token: oauth_token + } do + Streamer.get_topic_and_add_socket("user", user, oauth_token) other_user = insert(:user) {:ok, activity} = CommonAPI.post(other_user, %{status: "hey"}) @@ -164,21 +225,34 @@ test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do refute Streamer.filtered_by_user?(user, announce) end - test "it sends notify to in the 'user' stream", %{user: user, notify: notify} do - Streamer.get_topic_and_add_socket("user", user) + test "it sends notify to in the 'user' stream", %{ + user: user, + token: oauth_token, + notify: notify + } do + Streamer.get_topic_and_add_socket("user", user, oauth_token) Streamer.stream("user", notify) + assert_receive {:render_with_user, _, _, ^notify} refute Streamer.filtered_by_user?(user, notify) end - test "it sends notify to in the 'user:notification' stream", %{user: user, notify: notify} do - Streamer.get_topic_and_add_socket("user:notification", user) + test "it sends notify to in the 'user:notification' stream", %{ + user: user, + token: oauth_token, + notify: notify + } do + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) Streamer.stream("user:notification", notify) + assert_receive {:render_with_user, _, _, ^notify} refute Streamer.filtered_by_user?(user, notify) end - test "it sends chat messages to the 'user:pleroma_chat' stream", %{user: user} do + test "it sends chat messages to the 'user:pleroma_chat' stream", %{ + user: user, + token: oauth_token + } do other_user = insert(:user) {:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey cirno") @@ -187,7 +261,7 @@ test "it sends chat messages to the 'user:pleroma_chat' stream", %{user: user} d cm_ref = MessageReference.for_chat_and_object(chat, object) cm_ref = %{cm_ref | chat: chat, object: object} - Streamer.get_topic_and_add_socket("user:pleroma_chat", user) + Streamer.get_topic_and_add_socket("user:pleroma_chat", user, oauth_token) Streamer.stream("user:pleroma_chat", {user, cm_ref}) text = StreamerView.render("chat_update.json", %{chat_message_reference: cm_ref}) @@ -196,7 +270,7 @@ test "it sends chat messages to the 'user:pleroma_chat' stream", %{user: user} d assert_receive {:text, ^text} end - test "it sends chat messages to the 'user' stream", %{user: user} do + test "it sends chat messages to the 'user' stream", %{user: user, token: oauth_token} do other_user = insert(:user) {:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey cirno") @@ -205,7 +279,7 @@ test "it sends chat messages to the 'user' stream", %{user: user} do cm_ref = MessageReference.for_chat_and_object(chat, object) cm_ref = %{cm_ref | chat: chat, object: object} - Streamer.get_topic_and_add_socket("user", user) + Streamer.get_topic_and_add_socket("user", user, oauth_token) Streamer.stream("user", {user, cm_ref}) text = StreamerView.render("chat_update.json", %{chat_message_reference: cm_ref}) @@ -214,7 +288,10 @@ test "it sends chat messages to the 'user' stream", %{user: user} do assert_receive {:text, ^text} end - test "it sends chat message notifications to the 'user:notification' stream", %{user: user} do + test "it sends chat message notifications to the 'user:notification' stream", %{ + user: user, + token: oauth_token + } do other_user = insert(:user) {:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey") @@ -223,19 +300,21 @@ test "it sends chat message notifications to the 'user:notification' stream", %{ Repo.get_by(Pleroma.Notification, user_id: user.id, activity_id: create_activity.id) |> Repo.preload(:activity) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) Streamer.stream("user:notification", notify) + assert_receive {:render_with_user, _, _, ^notify} refute Streamer.filtered_by_user?(user, notify) end test "it doesn't send notify to the 'user:notification' stream when a user is blocked", %{ - user: user + user: user, + token: oauth_token } do blocked = insert(:user) {:ok, _user_relationship} = User.block(user, blocked) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) {:ok, activity} = CommonAPI.post(user, %{status: ":("}) {:ok, _} = CommonAPI.favorite(blocked, activity.id) @@ -244,14 +323,15 @@ test "it doesn't send notify to the 'user:notification' stream when a user is bl end test "it doesn't send notify to the 'user:notification' stream when a thread is muted", %{ - user: user + user: user, + token: oauth_token } do user2 = insert(:user) {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"}) {:ok, _} = CommonAPI.add_mute(user, activity) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) {:ok, favorite_activity} = CommonAPI.favorite(user2, activity.id) @@ -260,12 +340,13 @@ test "it doesn't send notify to the 'user:notification' stream when a thread is end test "it sends favorite to 'user:notification' stream'", %{ - user: user + user: user, + token: oauth_token } do user2 = insert(:user, %{ap_id: "https://hecking-lewd-place.com/user/meanie"}) {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"}) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) {:ok, favorite_activity} = CommonAPI.favorite(user2, activity.id) assert_receive {:render_with_user, _, "notification.json", notif} @@ -274,13 +355,14 @@ test "it sends favorite to 'user:notification' stream'", %{ end test "it doesn't send the 'user:notification' stream' when a domain is blocked", %{ - user: user + user: user, + token: oauth_token } do user2 = insert(:user, %{ap_id: "https://hecking-lewd-place.com/user/meanie"}) {:ok, user} = User.block_domain(user, "hecking-lewd-place.com") {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"}) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) {:ok, favorite_activity} = CommonAPI.favorite(user2, activity.id) refute_receive _ @@ -288,7 +370,8 @@ test "it doesn't send the 'user:notification' stream' when a domain is blocked", end test "it sends follow activities to the 'user:notification' stream", %{ - user: user + user: user, + token: oauth_token } do user_url = user.ap_id user2 = insert(:user) @@ -303,7 +386,7 @@ test "it sends follow activities to the 'user:notification' stream", %{ %Tesla.Env{status: 200, body: body} end) - Streamer.get_topic_and_add_socket("user:notification", user) + Streamer.get_topic_and_add_socket("user:notification", user, oauth_token) {:ok, _follower, _followed, follow_activity} = CommonAPI.follow(user2, user) assert_receive {:render_with_user, _, "notification.json", notif} @@ -312,51 +395,53 @@ test "it sends follow activities to the 'user:notification' stream", %{ end end - test "it sends to public authenticated" do - user = insert(:user) - other_user = insert(:user) + describe "public streams" do + test "it sends to public (authenticated)" do + %{user: user, token: oauth_token} = oauth_access(["read"]) + other_user = insert(:user) - Streamer.get_topic_and_add_socket("public", other_user) + Streamer.get_topic_and_add_socket("public", user, oauth_token) - {:ok, activity} = CommonAPI.post(user, %{status: "Test"}) - assert_receive {:render_with_user, _, _, ^activity} - refute Streamer.filtered_by_user?(user, activity) + {:ok, activity} = CommonAPI.post(other_user, %{status: "Test"}) + assert_receive {:render_with_user, _, _, ^activity} + refute Streamer.filtered_by_user?(other_user, activity) + end + + test "it sends to public (unauthenticated)" do + user = insert(:user) + + Streamer.get_topic_and_add_socket("public", nil, nil) + + {:ok, activity} = CommonAPI.post(user, %{status: "Test"}) + activity_id = activity.id + assert_receive {:text, event} + assert %{"event" => "update", "payload" => payload} = Jason.decode!(event) + assert %{"id" => ^activity_id} = Jason.decode!(payload) + + {:ok, _} = CommonAPI.delete(activity.id, user) + assert_receive {:text, event} + assert %{"event" => "delete", "payload" => ^activity_id} = Jason.decode!(event) + end + + test "handles deletions" do + %{user: user, token: oauth_token} = oauth_access(["read"]) + other_user = insert(:user) + {:ok, activity} = CommonAPI.post(other_user, %{status: "Test"}) + + Streamer.get_topic_and_add_socket("public", user, oauth_token) + + {:ok, _} = CommonAPI.delete(activity.id, other_user) + activity_id = activity.id + assert_receive {:text, event} + assert %{"event" => "delete", "payload" => ^activity_id} = Jason.decode!(event) + end end - test "works for deletions" do - user = insert(:user) - other_user = insert(:user) - {:ok, activity} = CommonAPI.post(other_user, %{status: "Test"}) - - Streamer.get_topic_and_add_socket("public", user) - - {:ok, _} = CommonAPI.delete(activity.id, other_user) - activity_id = activity.id - assert_receive {:text, event} - assert %{"event" => "delete", "payload" => ^activity_id} = Jason.decode!(event) - end - - test "it sends to public unauthenticated" do - user = insert(:user) - - Streamer.get_topic_and_add_socket("public", nil) - - {:ok, activity} = CommonAPI.post(user, %{status: "Test"}) - activity_id = activity.id - assert_receive {:text, event} - assert %{"event" => "update", "payload" => payload} = Jason.decode!(event) - assert %{"id" => ^activity_id} = Jason.decode!(payload) - - {:ok, _} = CommonAPI.delete(activity.id, user) - assert_receive {:text, event} - assert %{"event" => "delete", "payload" => ^activity_id} = Jason.decode!(event) - end - - describe "thread_containment" do + describe "thread_containment/2" do test "it filters to user if recipients invalid and thread containment is enabled" do Pleroma.Config.put([:instance, :skip_thread_containment], false) author = insert(:user) - user = insert(:user) + %{user: user, token: oauth_token} = oauth_access(["read"]) User.follow(user, author, :follow_accept) activity = @@ -368,7 +453,7 @@ test "it filters to user if recipients invalid and thread containment is enabled ) ) - Streamer.get_topic_and_add_socket("public", user) + Streamer.get_topic_and_add_socket("public", user, oauth_token) Streamer.stream("public", activity) assert_receive {:render_with_user, _, _, ^activity} assert Streamer.filtered_by_user?(user, activity) @@ -377,7 +462,7 @@ test "it filters to user if recipients invalid and thread containment is enabled test "it sends message if recipients invalid and thread containment is disabled" do Pleroma.Config.put([:instance, :skip_thread_containment], true) author = insert(:user) - user = insert(:user) + %{user: user, token: oauth_token} = oauth_access(["read"]) User.follow(user, author, :follow_accept) activity = @@ -389,7 +474,7 @@ test "it sends message if recipients invalid and thread containment is disabled" ) ) - Streamer.get_topic_and_add_socket("public", user) + Streamer.get_topic_and_add_socket("public", user, oauth_token) Streamer.stream("public", activity) assert_receive {:render_with_user, _, _, ^activity} @@ -400,6 +485,7 @@ test "it sends message if recipients invalid and thread containment is enabled b Pleroma.Config.put([:instance, :skip_thread_containment], false) author = insert(:user) user = insert(:user, skip_thread_containment: true) + %{token: oauth_token} = oauth_access(["read"], user: user) User.follow(user, author, :follow_accept) activity = @@ -411,7 +497,7 @@ test "it sends message if recipients invalid and thread containment is enabled b ) ) - Streamer.get_topic_and_add_socket("public", user) + Streamer.get_topic_and_add_socket("public", user, oauth_token) Streamer.stream("public", activity) assert_receive {:render_with_user, _, _, ^activity} @@ -420,23 +506,26 @@ test "it sends message if recipients invalid and thread containment is enabled b end describe "blocks" do - test "it filters messages involving blocked users" do - user = insert(:user) + setup do: oauth_access(["read"]) + + test "it filters messages involving blocked users", %{user: user, token: oauth_token} do blocked_user = insert(:user) {:ok, _user_relationship} = User.block(user, blocked_user) - Streamer.get_topic_and_add_socket("public", user) + Streamer.get_topic_and_add_socket("public", user, oauth_token) {:ok, activity} = CommonAPI.post(blocked_user, %{status: "Test"}) assert_receive {:render_with_user, _, _, ^activity} assert Streamer.filtered_by_user?(user, activity) end - test "it filters messages transitively involving blocked users" do - blocker = insert(:user) + test "it filters messages transitively involving blocked users", %{ + user: blocker, + token: blocker_token + } do blockee = insert(:user) friend = insert(:user) - Streamer.get_topic_and_add_socket("public", blocker) + Streamer.get_topic_and_add_socket("public", blocker, blocker_token) {:ok, _user_relationship} = User.block(blocker, blockee) @@ -458,8 +547,9 @@ test "it filters messages transitively involving blocked users" do end describe "lists" do - test "it doesn't send unwanted DMs to list" do - user_a = insert(:user) + setup do: oauth_access(["read"]) + + test "it doesn't send unwanted DMs to list", %{user: user_a, token: user_a_token} do user_b = insert(:user) user_c = insert(:user) @@ -468,7 +558,7 @@ test "it doesn't send unwanted DMs to list" do {:ok, list} = List.create("Test", user_a) {:ok, list} = List.follow(list, user_b) - Streamer.get_topic_and_add_socket("list", user_a, %{"list" => list.id}) + Streamer.get_topic_and_add_socket("list", user_a, user_a_token, %{"list" => list.id}) {:ok, _activity} = CommonAPI.post(user_b, %{ @@ -479,14 +569,13 @@ test "it doesn't send unwanted DMs to list" do refute_receive _ end - test "it doesn't send unwanted private posts to list" do - user_a = insert(:user) + test "it doesn't send unwanted private posts to list", %{user: user_a, token: user_a_token} do user_b = insert(:user) {:ok, list} = List.create("Test", user_a) {:ok, list} = List.follow(list, user_b) - Streamer.get_topic_and_add_socket("list", user_a, %{"list" => list.id}) + Streamer.get_topic_and_add_socket("list", user_a, user_a_token, %{"list" => list.id}) {:ok, _activity} = CommonAPI.post(user_b, %{ @@ -497,8 +586,7 @@ test "it doesn't send unwanted private posts to list" do refute_receive _ end - test "it sends wanted private posts to list" do - user_a = insert(:user) + test "it sends wanted private posts to list", %{user: user_a, token: user_a_token} do user_b = insert(:user) {:ok, user_a} = User.follow(user_a, user_b) @@ -506,7 +594,7 @@ test "it sends wanted private posts to list" do {:ok, list} = List.create("Test", user_a) {:ok, list} = List.follow(list, user_b) - Streamer.get_topic_and_add_socket("list", user_a, %{"list" => list.id}) + Streamer.get_topic_and_add_socket("list", user_a, user_a_token, %{"list" => list.id}) {:ok, activity} = CommonAPI.post(user_b, %{ @@ -520,8 +608,9 @@ test "it sends wanted private posts to list" do end describe "muted reblogs" do - test "it filters muted reblogs" do - user1 = insert(:user) + setup do: oauth_access(["read"]) + + test "it filters muted reblogs", %{user: user1, token: user1_token} do user2 = insert(:user) user3 = insert(:user) CommonAPI.follow(user1, user2) @@ -529,34 +618,38 @@ test "it filters muted reblogs" do {:ok, create_activity} = CommonAPI.post(user3, %{status: "I'm kawen"}) - Streamer.get_topic_and_add_socket("user", user1) + Streamer.get_topic_and_add_socket("user", user1, user1_token) {:ok, announce_activity} = CommonAPI.repeat(create_activity.id, user2) assert_receive {:render_with_user, _, _, ^announce_activity} assert Streamer.filtered_by_user?(user1, announce_activity) end - test "it filters reblog notification for reblog-muted actors" do - user1 = insert(:user) + test "it filters reblog notification for reblog-muted actors", %{ + user: user1, + token: user1_token + } do user2 = insert(:user) CommonAPI.follow(user1, user2) CommonAPI.hide_reblogs(user1, user2) {:ok, create_activity} = CommonAPI.post(user1, %{status: "I'm kawen"}) - Streamer.get_topic_and_add_socket("user", user1) + Streamer.get_topic_and_add_socket("user", user1, user1_token) {:ok, _announce_activity} = CommonAPI.repeat(create_activity.id, user2) assert_receive {:render_with_user, _, "notification.json", notif} assert Streamer.filtered_by_user?(user1, notif) end - test "it send non-reblog notification for reblog-muted actors" do - user1 = insert(:user) + test "it send non-reblog notification for reblog-muted actors", %{ + user: user1, + token: user1_token + } do user2 = insert(:user) CommonAPI.follow(user1, user2) CommonAPI.hide_reblogs(user1, user2) {:ok, create_activity} = CommonAPI.post(user1, %{status: "I'm kawen"}) - Streamer.get_topic_and_add_socket("user", user1) + Streamer.get_topic_and_add_socket("user", user1, user1_token) {:ok, _favorite_activity} = CommonAPI.favorite(user2, create_activity.id) assert_receive {:render_with_user, _, "notification.json", notif} @@ -564,27 +657,28 @@ test "it send non-reblog notification for reblog-muted actors" do end end - test "it filters posts from muted threads" do - user = insert(:user) - user2 = insert(:user) - Streamer.get_topic_and_add_socket("user", user2) - {:ok, user2, user, _activity} = CommonAPI.follow(user2, user) - {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"}) - {:ok, _} = CommonAPI.add_mute(user2, activity) - assert_receive {:render_with_user, _, _, ^activity} - assert Streamer.filtered_by_user?(user2, activity) + describe "muted threads" do + test "it filters posts from muted threads" do + user = insert(:user) + %{user: user2, token: user2_token} = oauth_access(["read"]) + Streamer.get_topic_and_add_socket("user", user2, user2_token) + + {:ok, user2, user, _activity} = CommonAPI.follow(user2, user) + {:ok, activity} = CommonAPI.post(user, %{status: "super hot take"}) + {:ok, _} = CommonAPI.add_mute(user2, activity) + + assert_receive {:render_with_user, _, _, ^activity} + assert Streamer.filtered_by_user?(user2, activity) + end end describe "direct streams" do - setup do - :ok - end + setup do: oauth_access(["read"]) - test "it sends conversation update to the 'direct' stream", %{} do - user = insert(:user) + test "it sends conversation update to the 'direct' stream", %{user: user, token: oauth_token} do another_user = insert(:user) - Streamer.get_topic_and_add_socket("direct", user) + Streamer.get_topic_and_add_socket("direct", user, oauth_token) {:ok, _create_activity} = CommonAPI.post(another_user, %{ @@ -602,11 +696,11 @@ test "it sends conversation update to the 'direct' stream", %{} do assert last_status["pleroma"]["direct_conversation_id"] == participation.id end - test "it doesn't send conversation update to the 'direct' stream when the last message in the conversation is deleted" do - user = insert(:user) + test "it doesn't send conversation update to the 'direct' stream when the last message in the conversation is deleted", + %{user: user, token: oauth_token} do another_user = insert(:user) - Streamer.get_topic_and_add_socket("direct", user) + Streamer.get_topic_and_add_socket("direct", user, oauth_token) {:ok, create_activity} = CommonAPI.post(another_user, %{ @@ -629,10 +723,12 @@ test "it doesn't send conversation update to the 'direct' stream when the last m refute_receive _ end - test "it sends conversation update to the 'direct' stream when a message is deleted" do - user = insert(:user) + test "it sends conversation update to the 'direct' stream when a message is deleted", %{ + user: user, + token: oauth_token + } do another_user = insert(:user) - Streamer.get_topic_and_add_socket("direct", user) + Streamer.get_topic_and_add_socket("direct", user, oauth_token) {:ok, create_activity} = CommonAPI.post(another_user, %{ From d72970a1fc852c6a5c836ffd3983f65ddf4ca459 Mon Sep 17 00:00:00 2001 From: Kana Date: Sun, 20 Sep 2020 13:18:26 +0000 Subject: [PATCH 183/201] Added translation using Weblate (Chinese (Simplified)) --- priv/gettext/zh_Hans/LC_MESSAGES/errors.po | 578 +++++++++++++++++++++ 1 file changed, 578 insertions(+) create mode 100644 priv/gettext/zh_Hans/LC_MESSAGES/errors.po diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/errors.po b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po new file mode 100644 index 000000000..8383badc3 --- /dev/null +++ b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po @@ -0,0 +1,578 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-20 13:18+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 2.5.1\n" + +## This file is a PO Template file. +## +## `msgid`s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run `mix gettext.extract` to bring this file up to +## date. Leave `msgstr`s empty as changing them here as no +## effect: edit them in PO (`.po`) files instead. +## From Ecto.Changeset.cast/4 +msgid "can't be blank" +msgstr "" + +## From Ecto.Changeset.unique_constraint/3 +msgid "has already been taken" +msgstr "" + +## From Ecto.Changeset.put_change/3 +msgid "is invalid" +msgstr "" + +## From Ecto.Changeset.validate_format/3 +msgid "has invalid format" +msgstr "" + +## From Ecto.Changeset.validate_subset/3 +msgid "has an invalid entry" +msgstr "" + +## From Ecto.Changeset.validate_exclusion/3 +msgid "is reserved" +msgstr "" + +## From Ecto.Changeset.validate_confirmation/3 +msgid "does not match confirmation" +msgstr "" + +## From Ecto.Changeset.no_assoc_constraint/3 +msgid "is still associated with this entry" +msgstr "" + +msgid "are still associated with this entry" +msgstr "" + +## From Ecto.Changeset.validate_length/3 +msgid "should be %{count} character(s)" +msgid_plural "should be %{count} character(s)" +msgstr[0] "" + +msgid "should have %{count} item(s)" +msgid_plural "should have %{count} item(s)" +msgstr[0] "" + +msgid "should be at least %{count} character(s)" +msgid_plural "should be at least %{count} character(s)" +msgstr[0] "" + +msgid "should have at least %{count} item(s)" +msgid_plural "should have at least %{count} item(s)" +msgstr[0] "" + +msgid "should be at most %{count} character(s)" +msgid_plural "should be at most %{count} character(s)" +msgstr[0] "" + +msgid "should have at most %{count} item(s)" +msgid_plural "should have at most %{count} item(s)" +msgstr[0] "" + +## From Ecto.Changeset.validate_number/3 +msgid "must be less than %{number}" +msgstr "" + +msgid "must be greater than %{number}" +msgstr "" + +msgid "must be less than or equal to %{number}" +msgstr "" + +msgid "must be greater than or equal to %{number}" +msgstr "" + +msgid "must be equal to %{number}" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:505 +#, elixir-format +msgid "Account not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:339 +#, elixir-format +msgid "Already voted" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:359 +#, elixir-format +msgid "Bad request" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:426 +#, elixir-format +msgid "Can't delete object" +msgstr "" + +#: lib/pleroma/web/controller_helper.ex:105 +#: lib/pleroma/web/controller_helper.ex:111 +#, elixir-format +msgid "Can't display this activity" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:285 +#, elixir-format +msgid "Can't find user" +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61 +#, elixir-format +msgid "Can't get favorites" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:438 +#, elixir-format +msgid "Can't like object" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:563 +#, elixir-format +msgid "Cannot post an empty status without attachments" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:511 +#, elixir-format +msgid "Comment must be up to %{max_size} characters" +msgstr "" + +#: lib/pleroma/config/config_db.ex:191 +#, elixir-format +msgid "Config with params %{params} not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:181 +#: lib/pleroma/web/common_api/common_api.ex:185 +#, elixir-format +msgid "Could not delete" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:231 +#, elixir-format +msgid "Could not favorite" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:453 +#, elixir-format +msgid "Could not pin" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:278 +#, elixir-format +msgid "Could not unfavorite" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:463 +#, elixir-format +msgid "Could not unpin" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:216 +#, elixir-format +msgid "Could not unrepeat" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:512 +#: lib/pleroma/web/common_api/common_api.ex:521 +#, elixir-format +msgid "Could not update state" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:207 +#, elixir-format +msgid "Error." +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:106 +#, elixir-format +msgid "Invalid CAPTCHA" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:116 +#: lib/pleroma/web/oauth/oauth_controller.ex:568 +#, elixir-format +msgid "Invalid credentials" +msgstr "" + +#: lib/pleroma/plugs/ensure_authenticated_plug.ex:38 +#, elixir-format +msgid "Invalid credentials." +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:355 +#, elixir-format +msgid "Invalid indices" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:29 +#, elixir-format +msgid "Invalid parameters" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:414 +#, elixir-format +msgid "Invalid password." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:220 +#, elixir-format +msgid "Invalid request" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:109 +#, elixir-format +msgid "Kocaptcha service unavailable" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:112 +#, elixir-format +msgid "Missing parameters" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:547 +#, elixir-format +msgid "No such conversation" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:388 +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:414 lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:456 +#, elixir-format +msgid "No such permission_group" +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:84 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:486 lib/pleroma/web/admin_api/controllers/fallback_controller.ex:11 +#: lib/pleroma/web/feed/user_controller.ex:71 lib/pleroma/web/ostatus/ostatus_controller.ex:143 +#, elixir-format +msgid "Not found" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:331 +#, elixir-format +msgid "Poll's author can't vote" +msgstr "" + +#: 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 +#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:50 lib/pleroma/web/mastodon_api/controllers/status_controller.ex:306 +#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:71 +#, elixir-format +msgid "Record not found" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:35 +#: lib/pleroma/web/feed/user_controller.ex:77 lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:36 +#: lib/pleroma/web/ostatus/ostatus_controller.ex:149 +#, elixir-format +msgid "Something went wrong" +msgstr "" + +#: lib/pleroma/web/common_api/activity_draft.ex:107 +#, elixir-format +msgid "The message visibility must be direct" +msgstr "" + +#: lib/pleroma/web/common_api/utils.ex:573 +#, elixir-format +msgid "The status is over the character limit" +msgstr "" + +#: lib/pleroma/plugs/ensure_public_or_authenticated_plug.ex:31 +#, elixir-format +msgid "This resource requires authentication." +msgstr "" + +#: lib/pleroma/plugs/rate_limiter/rate_limiter.ex:206 +#, elixir-format +msgid "Throttled" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:356 +#, elixir-format +msgid "Too many choices" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:443 +#, elixir-format +msgid "Unhandled activity type" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:485 +#, elixir-format +msgid "You can't revoke your own admin status." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:221 +#: lib/pleroma/web/oauth/oauth_controller.ex:308 +#, elixir-format +msgid "Your account is currently disabled" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:183 +#: lib/pleroma/web/oauth/oauth_controller.ex:331 +#, elixir-format +msgid "Your login is missing a confirmed e-mail address" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:390 +#, elixir-format +msgid "can't read inbox of %{nickname} as %{as_nickname}" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:473 +#, elixir-format +msgid "can't update outbox of %{nickname} as %{as_nickname}" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:471 +#, elixir-format +msgid "conversation is already muted" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:314 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:492 +#, elixir-format +msgid "error" +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:32 +#, elixir-format +msgid "mascots can only be images" +msgstr "" + +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:62 +#, elixir-format +msgid "not found" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:394 +#, elixir-format +msgid "Bad OAuth request." +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:115 +#, elixir-format +msgid "CAPTCHA already used" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:112 +#, elixir-format +msgid "CAPTCHA expired" +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:57 +#, elixir-format +msgid "Failed" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:410 +#, elixir-format +msgid "Failed to authenticate: %{message}." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:441 +#, elixir-format +msgid "Failed to set up user account." +msgstr "" + +#: lib/pleroma/plugs/oauth_scopes_plug.ex:38 +#, elixir-format +msgid "Insufficient permissions: %{permissions}." +msgstr "" + +#: lib/pleroma/plugs/uploaded_media.ex:104 +#, elixir-format +msgid "Internal Error" +msgstr "" + +#: lib/pleroma/web/oauth/fallback_controller.ex:22 +#: lib/pleroma/web/oauth/fallback_controller.ex:29 +#, elixir-format +msgid "Invalid Username/Password" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:118 +#, elixir-format +msgid "Invalid answer data" +msgstr "" + +#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:33 +#, elixir-format +msgid "Nodeinfo schema version not handled" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:172 +#, elixir-format +msgid "This action is outside the authorized scopes" +msgstr "" + +#: lib/pleroma/web/oauth/fallback_controller.ex:14 +#, elixir-format +msgid "Unknown error, please check the details and try again." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:119 +#: lib/pleroma/web/oauth/oauth_controller.ex:158 +#, elixir-format +msgid "Unlisted redirect_uri." +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:390 +#, elixir-format +msgid "Unsupported OAuth provider: %{provider}." +msgstr "" + +#: lib/pleroma/uploaders/uploader.ex:72 +#, elixir-format +msgid "Uploader callback timeout" +msgstr "" + +#: lib/pleroma/web/uploader_controller.ex:23 +#, elixir-format +msgid "bad request" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:103 +#, elixir-format +msgid "CAPTCHA Error" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:290 +#, elixir-format +msgid "Could not add reaction emoji" +msgstr "" + +#: lib/pleroma/web/common_api/common_api.ex:301 +#, elixir-format +msgid "Could not remove reaction emoji" +msgstr "" + +#: lib/pleroma/web/twitter_api/twitter_api.ex:129 +#, elixir-format +msgid "Invalid CAPTCHA (Missing parameter: %{name})" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/list_controller.ex:92 +#, elixir-format +msgid "List not found" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:123 +#, elixir-format +msgid "Missing parameter: %{name}" +msgstr "" + +#: lib/pleroma/web/oauth/oauth_controller.ex:210 +#: lib/pleroma/web/oauth/oauth_controller.ex:321 +#, elixir-format +msgid "Password reset is required" +msgstr "" + +#: lib/pleroma/tests/auth_test_controller.ex:9 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:6 lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/config_controller.ex:6 lib/pleroma/web/admin_api/controllers/fallback_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/invite_controller.ex:6 lib/pleroma/web/admin_api/controllers/media_proxy_cache_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/oauth_app_controller.ex:6 lib/pleroma/web/admin_api/controllers/relay_controller.ex:6 +#: lib/pleroma/web/admin_api/controllers/report_controller.ex:6 lib/pleroma/web/admin_api/controllers/status_controller.ex:6 +#: lib/pleroma/web/controller_helper.ex:6 lib/pleroma/web/embed_controller.ex:6 +#: lib/pleroma/web/fallback_redirect_controller.ex:6 lib/pleroma/web/feed/tag_controller.ex:6 +#: lib/pleroma/web/feed/user_controller.ex:6 lib/pleroma/web/mailer/subscription_controller.ex:2 +#: lib/pleroma/web/masto_fe_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/account_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/app_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/auth_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/conversation_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/custom_emoji_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/filter_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/instance_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/list_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/marker_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex:14 +#: lib/pleroma/web/mastodon_api/controllers/media_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/notification_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/report_controller.ex:8 +#: lib/pleroma/web/mastodon_api/controllers/scheduled_activity_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/search_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:7 +#: lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex:6 lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:6 +#: lib/pleroma/web/media_proxy/media_proxy_controller.ex:6 lib/pleroma/web/mongooseim/mongoose_im_controller.ex:6 +#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:6 lib/pleroma/web/oauth/fallback_controller.ex:6 +#: lib/pleroma/web/oauth/mfa_controller.ex:10 lib/pleroma/web/oauth/oauth_controller.ex:6 +#: lib/pleroma/web/ostatus/ostatus_controller.ex:6 lib/pleroma/web/pleroma_api/controllers/account_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:5 lib/pleroma/web/pleroma_api/controllers/conversation_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:2 lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:6 lib/pleroma/web/pleroma_api/controllers/notification_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/scrobble_controller.ex:6 +#: lib/pleroma/web/pleroma_api/controllers/two_factor_authentication_controller.ex:7 lib/pleroma/web/static_fe/static_fe_controller.ex:6 +#: lib/pleroma/web/twitter_api/controllers/password_controller.ex:10 lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex:6 +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:6 lib/pleroma/web/twitter_api/twitter_api_controller.ex:6 +#: lib/pleroma/web/uploader_controller.ex:6 lib/pleroma/web/web_finger/web_finger_controller.ex:6 +#, elixir-format +msgid "Security violation: OAuth scopes check was neither handled nor explicitly skipped." +msgstr "" + +#: lib/pleroma/plugs/ensure_authenticated_plug.ex:28 +#, elixir-format +msgid "Two-factor authentication enabled, you must use a access token." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:210 +#, elixir-format +msgid "Unexpected error occurred while adding file to pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:138 +#, elixir-format +msgid "Unexpected error occurred while creating pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:278 +#, elixir-format +msgid "Unexpected error occurred while removing file from pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:250 +#, elixir-format +msgid "Unexpected error occurred while updating file in pack." +msgstr "" + +#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:179 +#, elixir-format +msgid "Unexpected error occurred while updating pack metadata." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:61 +#, elixir-format +msgid "Web push subscription is disabled on this Pleroma instance" +msgstr "" + +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:451 +#, elixir-format +msgid "You can't revoke your own admin/moderator status." +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:126 +#, elixir-format +msgid "authorization required for timeline view" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:24 +#, elixir-format +msgid "Access denied" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:282 +#, elixir-format +msgid "This API requires an authenticated user" +msgstr "" + +#: lib/pleroma/plugs/user_is_admin_plug.ex:21 +#, elixir-format +msgid "User is not an admin." +msgstr "" From f3c62b246d6d0b2aab5e155e625118bd2a3d5e8a Mon Sep 17 00:00:00 2001 From: Kana Date: Sun, 20 Sep 2020 13:19:21 +0000 Subject: [PATCH 184/201] Translated using Weblate (Chinese (Simplified)) Currently translated at 24.5% (26 of 106 strings) Translation: Pleroma/Pleroma backend Translate-URL: https://translate.pleroma.social/projects/pleroma/pleroma/zh_Hans/ --- priv/gettext/zh_Hans/LC_MESSAGES/errors.po | 62 +++++++++++----------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/errors.po b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po index 8383badc3..4f029d558 100644 --- a/priv/gettext/zh_Hans/LC_MESSAGES/errors.po +++ b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po @@ -3,14 +3,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-09-20 13:18+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2020-09-20 14:48+0000\n" +"Last-Translator: Kana \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 2.5.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.0.4\n" ## This file is a PO Template file. ## @@ -23,27 +25,27 @@ msgstr "" ## effect: edit them in PO (`.po`) files instead. ## From Ecto.Changeset.cast/4 msgid "can't be blank" -msgstr "" +msgstr "不能为空" ## From Ecto.Changeset.unique_constraint/3 msgid "has already been taken" -msgstr "" +msgstr "已被占用" ## From Ecto.Changeset.put_change/3 msgid "is invalid" -msgstr "" +msgstr "不合法" ## From Ecto.Changeset.validate_format/3 msgid "has invalid format" -msgstr "" +msgstr "的格式不合法" ## From Ecto.Changeset.validate_subset/3 msgid "has an invalid entry" -msgstr "" +msgstr "中存在不合法的项目" ## From Ecto.Changeset.validate_exclusion/3 msgid "is reserved" -msgstr "" +msgstr "是被保留的" ## From Ecto.Changeset.validate_confirmation/3 msgid "does not match confirmation" @@ -51,87 +53,87 @@ msgstr "" ## From Ecto.Changeset.no_assoc_constraint/3 msgid "is still associated with this entry" -msgstr "" +msgstr "仍与该项目相关联" msgid "are still associated with this entry" -msgstr "" +msgstr "仍与该项目相关联" ## From Ecto.Changeset.validate_length/3 msgid "should be %{count} character(s)" msgid_plural "should be %{count} character(s)" -msgstr[0] "" +msgstr[0] "应为 %{count} 个字符" msgid "should have %{count} item(s)" msgid_plural "should have %{count} item(s)" -msgstr[0] "" +msgstr[0] "应有 %{item} 项" msgid "should be at least %{count} character(s)" msgid_plural "should be at least %{count} character(s)" -msgstr[0] "" +msgstr[0] "应至少有 %{count} 个字符" msgid "should have at least %{count} item(s)" msgid_plural "should have at least %{count} item(s)" -msgstr[0] "" +msgstr[0] "应至少有 %{count} 项" msgid "should be at most %{count} character(s)" msgid_plural "should be at most %{count} character(s)" -msgstr[0] "" +msgstr[0] "应至多有 %{count} 个字符" msgid "should have at most %{count} item(s)" msgid_plural "should have at most %{count} item(s)" -msgstr[0] "" +msgstr[0] "应至多有 %{count} 项" ## From Ecto.Changeset.validate_number/3 msgid "must be less than %{number}" -msgstr "" +msgstr "必须小于 %{number}" msgid "must be greater than %{number}" -msgstr "" +msgstr "必须大于 %{number}" msgid "must be less than or equal to %{number}" -msgstr "" +msgstr "必须小于等于 %{number}" msgid "must be greater than or equal to %{number}" -msgstr "" +msgstr "必须大于等于 %{number}" msgid "must be equal to %{number}" -msgstr "" +msgstr "必须等于 %{number}" #: lib/pleroma/web/common_api/common_api.ex:505 #, elixir-format msgid "Account not found" -msgstr "" +msgstr "未找到账号" #: lib/pleroma/web/common_api/common_api.ex:339 #, elixir-format msgid "Already voted" -msgstr "" +msgstr "已经进行了投票" #: lib/pleroma/web/oauth/oauth_controller.ex:359 #, elixir-format msgid "Bad request" -msgstr "" +msgstr "不正确的请求" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:426 #, elixir-format msgid "Can't delete object" -msgstr "" +msgstr "不能删除对象" #: lib/pleroma/web/controller_helper.ex:105 #: lib/pleroma/web/controller_helper.ex:111 #, elixir-format msgid "Can't display this activity" -msgstr "" +msgstr "不能显示该活动" #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:285 #, elixir-format msgid "Can't find user" -msgstr "" +msgstr "找不到用户" #: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61 #, elixir-format msgid "Can't get favorites" -msgstr "" +msgstr "不能获取收藏" #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:438 #, elixir-format From f2f0a0260f00e316f62d42e766787b20cc92601a Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 21 Sep 2020 16:08:38 +0200 Subject: [PATCH 185/201] ActivityPub: Don't block-filter your own posts We are filtering out replies to people you block, but that should not include your own posts. --- lib/pleroma/web/activity_pub/activity_pub.ex | 9 ++++++++- .../controllers/timeline_controller_test.exs | 12 ++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 06e8e1a7c..aacd58d03 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -841,7 +841,14 @@ defp restrict_blocked(query, %{blocking_user: %User{} = user} = opts) do from( [activity, object: o] in query, where: fragment("not (? = ANY(?))", activity.actor, ^blocked_ap_ids), - where: fragment("not (? && ?)", activity.recipients, ^blocked_ap_ids), + where: + fragment( + "((not (? && ?)) or ? = ?)", + activity.recipients, + ^blocked_ap_ids, + activity.actor, + ^user.ap_id + ), where: fragment( "recipients_contain_blocked_domains(?, ?) = false", diff --git a/test/web/mastodon_api/controllers/timeline_controller_test.exs b/test/web/mastodon_api/controllers/timeline_controller_test.exs index 517cabcff..c6e0268fd 100644 --- a/test/web/mastodon_api/controllers/timeline_controller_test.exs +++ b/test/web/mastodon_api/controllers/timeline_controller_test.exs @@ -114,8 +114,16 @@ test "doesn't return replies if follower is posting with blocked user" do {:ok, _reply_from_friend} = CommonAPI.post(friend, %{status: "status", in_reply_to_status_id: reply_from_blockee}) - res_conn = get(conn, "/api/v1/timelines/public") - [%{"id" => ^activity_id}] = json_response_and_validate_schema(res_conn, 200) + # Still shows replies from yourself + {:ok, %{id: reply_from_me}} = + CommonAPI.post(blocker, %{status: "status", in_reply_to_status_id: reply_from_blockee}) + + response = + get(conn, "/api/v1/timelines/public") + |> json_response_and_validate_schema(200) + + assert length(response) == 2 + [%{"id" => ^reply_from_me}, %{"id" => ^activity_id}] = response end test "doesn't return replies if follow is posting with users from blocked domain" do From 8afdbcdb1c012c37cde3a3d2bea147f95c5111b0 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 10:13:41 -0500 Subject: [PATCH 186/201] Force HTTP for fedsockets --- lib/pleroma/web/fed_sockets/outgoing_handler.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/fed_sockets/outgoing_handler.ex b/lib/pleroma/web/fed_sockets/outgoing_handler.ex index 3ff4a85e3..e235a7c43 100644 --- a/lib/pleroma/web/fed_sockets/outgoing_handler.ex +++ b/lib/pleroma/web/fed_sockets/outgoing_handler.ex @@ -86,7 +86,7 @@ def initiate_connection(uri) do %{host: host, port: port, path: path} = URI.parse(ws_uri) - with {:ok, conn_pid} <- :gun.open(to_charlist(host), port), + with {:ok, conn_pid} <- :gun.open(to_charlist(host), port, %{protocols: [:http]}), {:ok, _} <- :gun.await_up(conn_pid), reference <- :gun.get(conn_pid, to_charlist(path), [ From 8b6ac45f3cb5a3c1ac16e766a6f503ee491bc310 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 21 Sep 2020 13:28:02 -0500 Subject: [PATCH 187/201] Allow emails to be sent again, #2101 #2172 https://github.com/swoosh/swoosh/issues/478#issuecomment-642393707 --- lib/pleroma/emails/mailer.ex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/pleroma/emails/mailer.ex b/lib/pleroma/emails/mailer.ex index 8b1bdef75..5108c71c8 100644 --- a/lib/pleroma/emails/mailer.ex +++ b/lib/pleroma/emails/mailer.ex @@ -35,6 +35,11 @@ def perform(:deliver_async, email, config), do: deliver(email, config) def deliver(email, config \\ []) def deliver(email, config) do + # temporary hackney fix until hackney max_connections bug is fixed + # https://git.pleroma.social/pleroma/pleroma/-/issues/2101 + email = + Swoosh.Email.put_private(email, :hackney_options, ssl_options: [versions: [:"tlsv1.2"]]) + case enabled?() do true -> Swoosh.Mailer.deliver(email, parse_config(config)) false -> {:error, :deliveries_disabled} From 23d5d7cf593550669812527ab12501b2a2adc6eb Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 21 Sep 2020 13:56:40 -0500 Subject: [PATCH 188/201] Fix #2172 HTTP error on password reset --- lib/pleroma/web/mastodon_api/controllers/auth_controller.ex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/controllers/auth_controller.ex b/lib/pleroma/web/mastodon_api/controllers/auth_controller.ex index 9f09550e1..57c0be5fe 100644 --- a/lib/pleroma/web/mastodon_api/controllers/auth_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/auth_controller.ex @@ -5,6 +5,8 @@ defmodule Pleroma.Web.MastodonAPI.AuthController do use Pleroma.Web, :controller + import Pleroma.Web.ControllerHelper, only: [json_response: 3] + alias Pleroma.User alias Pleroma.Web.OAuth.App alias Pleroma.Web.OAuth.Authorization @@ -61,9 +63,7 @@ def password_reset(conn, params) do TwitterAPI.password_reset(nickname_or_email) - conn - |> put_status(:no_content) - |> json("") + json_response(conn, :no_content, "") end defp local_mastodon_root_path(conn) do From 0b728ccc4411677f1117f8e01d6f49aa4476c7ff Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 21 Sep 2020 15:05:46 -0500 Subject: [PATCH 189/201] Pass hackney tls config into email tests, #2101 --- test/user_test.exs | 7 ++++++- .../admin_api/controllers/admin_api_controller_test.exs | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/test/user_test.exs b/test/user_test.exs index 301d8f05e..9cabb501c 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -509,7 +509,12 @@ test "it sends a confirm email" do cng = User.register_changeset(%User{}, @full_user_data) {:ok, registered_user} = User.register(cng) ObanHelpers.perform_all() - assert_email_sent(Pleroma.Emails.UserEmail.account_confirmation_email(registered_user)) + + Pleroma.Emails.UserEmail.account_confirmation_email(registered_user) + # temporary hackney fix until hackney max_connections bug is fixed + # https://git.pleroma.social/pleroma/pleroma/-/issues/2101 + |> Swoosh.Email.put_private(:hackney_options, ssl_options: [versions: [:"tlsv1.2"]]) + |> assert_email_sent() end test "it requires an email, name, nickname and password, bio is optional when account_activation_required is enabled" do 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 dbf478edf..f1e9b8938 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -1927,7 +1927,12 @@ test "it resend emails for two users", %{conn: conn, admin: admin} do }" ObanHelpers.perform_all() - assert_email_sent(Pleroma.Emails.UserEmail.account_confirmation_email(first_user)) + + Pleroma.Emails.UserEmail.account_confirmation_email(first_user) + # temporary hackney fix until hackney max_connections bug is fixed + # https://git.pleroma.social/pleroma/pleroma/-/issues/2101 + |> Swoosh.Email.put_private(:hackney_options, ssl_options: [versions: [:"tlsv1.2"]]) + |> assert_email_sent() end end From 7b2bf381e9513450ac26826b11dfbb19ac75802f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 16:02:57 -0500 Subject: [PATCH 190/201] Chase the Autolinker rename from !2677 --- config/description.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/description.exs b/config/description.exs index 097e98633..ac3dfbb2b 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2445,7 +2445,7 @@ %{ group: :pleroma, key: Pleroma.Formatter, - label: "Auto Linker", + label: "Linkify", type: :group, description: "Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs.", From bf181ca96850f3e5baaf8f3dcd6e11b926fcdeeb Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 21 Sep 2020 16:03:22 -0500 Subject: [PATCH 191/201] Fix MastoAPI.AuthControllerTest, json_response(:no_content) --> empty_json_response() --- .../controllers/auth_controller_test.exs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/test/web/mastodon_api/controllers/auth_controller_test.exs b/test/web/mastodon_api/controllers/auth_controller_test.exs index 4fa95fce1..bf2438fe2 100644 --- a/test/web/mastodon_api/controllers/auth_controller_test.exs +++ b/test/web/mastodon_api/controllers/auth_controller_test.exs @@ -61,7 +61,7 @@ test "redirects to the getting-started page when referer is not present", %{conn end test "it returns 204", %{conn: conn} do - assert json_response(conn, :no_content) + assert empty_json_response(conn) end test "it creates a PasswordResetToken record for user", %{user: user} do @@ -91,7 +91,7 @@ test "it returns 204", %{conn: conn} do assert conn |> post("/auth/password?nickname=#{user.nickname}") - |> json_response(:no_content) + |> empty_json_response() ObanHelpers.perform_all() token_record = Repo.get_by(Pleroma.PasswordResetToken, user_id: user.id) @@ -112,7 +112,7 @@ test "it doesn't fail when a user has no email", %{conn: conn} do assert conn |> post("/auth/password?nickname=#{user.nickname}") - |> json_response(:no_content) + |> empty_json_response() end end @@ -125,24 +125,21 @@ test "it doesn't fail when a user has no email", %{conn: conn} do test "it returns 204 when user is not found", %{conn: conn, user: user} do conn = post(conn, "/auth/password?email=nonexisting_#{user.email}") - assert conn - |> json_response(:no_content) + assert empty_json_response(conn) end test "it returns 204 when user is not local", %{conn: conn, user: user} do {:ok, user} = Repo.update(Ecto.Changeset.change(user, local: false)) conn = post(conn, "/auth/password?email=#{user.email}") - assert conn - |> json_response(:no_content) + assert empty_json_response(conn) end test "it returns 204 when user is deactivated", %{conn: conn, user: user} do {:ok, user} = Repo.update(Ecto.Changeset.change(user, deactivated: true, local: true)) conn = post(conn, "/auth/password?email=#{user.email}") - assert conn - |> json_response(:no_content) + assert empty_json_response(conn) end end From 75f6e5e8b7e0408241a633daba7fde8b51dde8ca Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 16:10:31 -0500 Subject: [PATCH 192/201] Add FedSockets config --- installation/pleroma.nginx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/installation/pleroma.nginx b/installation/pleroma.nginx index d301ca615..a3b3394f1 100644 --- a/installation/pleroma.nginx +++ b/installation/pleroma.nginx @@ -63,6 +63,7 @@ server { # the nginx default is 1m, not enough for large media uploads client_max_body_size 16m; + ignore_invalid_headers off; location / { proxy_http_version 1.1; @@ -91,4 +92,17 @@ server { chunked_transfer_encoding on; proxy_pass http://127.0.0.1:4000; } + + location /api/fedsocket/v1 { + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + + # The Important Websocket Bits! + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + proxy_request_buffering off; + proxy_pass http://127.0.0.1:4000/api/fedsocket/v1; + } } From 2b553b8f8e7cf01d8530b905c48b97b815098cd9 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 16:11:01 -0500 Subject: [PATCH 193/201] Remove duplicate setting --- installation/pleroma.nginx | 2 -- 1 file changed, 2 deletions(-) diff --git a/installation/pleroma.nginx b/installation/pleroma.nginx index a3b3394f1..ce74f46e1 100644 --- a/installation/pleroma.nginx +++ b/installation/pleroma.nginx @@ -75,8 +75,6 @@ server { # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only # and `localhost.` resolves to [::0] on some systems: see issue #930 proxy_pass http://127.0.0.1:4000; - - client_max_body_size 16m; } location ~ ^/(media|proxy) { From ade7fede7134d0e05c91ef48d52e48e64fd6dd98 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 16:13:45 -0500 Subject: [PATCH 194/201] Most proxy settings can be global --- installation/pleroma.nginx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/installation/pleroma.nginx b/installation/pleroma.nginx index ce74f46e1..5517e3fc3 100644 --- a/installation/pleroma.nginx +++ b/installation/pleroma.nginx @@ -65,13 +65,13 @@ server { client_max_body_size 16m; ignore_invalid_headers off; - location / { - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + location / { # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only # and `localhost.` resolves to [::0] on some systems: see issue #930 proxy_pass http://127.0.0.1:4000; @@ -82,7 +82,6 @@ server { slice 1m; proxy_cache_key $host$uri$is_args$args$slice_range; proxy_set_header Range $slice_range; - proxy_http_version 1.1; proxy_cache_valid 200 206 301 304 1h; proxy_cache_lock on; proxy_ignore_client_abort on; @@ -92,14 +91,6 @@ server { } location /api/fedsocket/v1 { - proxy_http_version 1.1; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - - # The Important Websocket Bits! - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; proxy_request_buffering off; proxy_pass http://127.0.0.1:4000/api/fedsocket/v1; } From 8906f30ba16bdd91ac51ab9d4568c19070c270d5 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 21 Sep 2020 16:19:08 -0500 Subject: [PATCH 195/201] Use an upstream for reverse proxy so future modifications are simplified --- installation/pleroma.nginx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/installation/pleroma.nginx b/installation/pleroma.nginx index 5517e3fc3..d613befd2 100644 --- a/installation/pleroma.nginx +++ b/installation/pleroma.nginx @@ -9,6 +9,12 @@ proxy_cache_path /tmp/pleroma-media-cache levels=1:2 keys_zone=pleroma_media_cache:10m max_size=10g inactive=720m use_temp_path=off; +# this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only +# and `localhost.` resolves to [::0] on some systems: see issue #930 +upstream phoenix { + server 127.0.0.1:4000 max_fails=5 fail_timeout=60s; +} + server { server_name example.tld; @@ -72,9 +78,7 @@ server { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { - # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only - # and `localhost.` resolves to [::0] on some systems: see issue #930 - proxy_pass http://127.0.0.1:4000; + proxy_pass http://phoenix; } location ~ ^/(media|proxy) { @@ -87,11 +91,11 @@ server { proxy_ignore_client_abort on; proxy_buffering on; chunked_transfer_encoding on; - proxy_pass http://127.0.0.1:4000; + proxy_pass http://phoenix; } location /api/fedsocket/v1 { proxy_request_buffering off; - proxy_pass http://127.0.0.1:4000/api/fedsocket/v1; + proxy_pass http://phoenix/api/fedsocket/v1; } } From 3174804f3cc2b2c4027331ed2f61d53564692b21 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 22 Sep 2020 07:26:31 -0500 Subject: [PATCH 196/201] Add FreeBSD and alpha sort --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6ca3118fb..7a05b9e48 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,16 @@ If you are running Linux (glibc or musl) on x86/arm, the recommended way to inst ### From Source If your platform is not supported, or you just want to be able to edit the source code easily, you may install Pleroma from source. -- [Debian-based](https://docs-develop.pleroma.social/backend/installation/debian_based_en/) -- [Debian-based (jp)](https://docs-develop.pleroma.social/backend/installation/debian_based_jp/) - [Alpine Linux](https://docs-develop.pleroma.social/backend/installation/alpine_linux_en/) - [Arch Linux](https://docs-develop.pleroma.social/backend/installation/arch_linux_en/) +- [CentOS 7](https://docs-develop.pleroma.social/backend/installation/centos7_en/) +- [Debian-based](https://docs-develop.pleroma.social/backend/installation/debian_based_en/) +- [Debian-based (jp)](https://docs-develop.pleroma.social/backend/installation/debian_based_jp/) +- [FreeBSD](https://docs-develop.pleroma.social/backend/installation/freebsd_en/) - [Gentoo Linux](https://docs-develop.pleroma.social/backend/installation/gentoo_en/) - [NetBSD](https://docs-develop.pleroma.social/backend/installation/netbsd_en/) - [OpenBSD](https://docs-develop.pleroma.social/backend/installation/openbsd_en/) - [OpenBSD (fi)](https://docs-develop.pleroma.social/backend/installation/openbsd_fi/) -- [CentOS 7](https://docs-develop.pleroma.social/backend/installation/centos7_en/) ### OS/Distro packages Currently Pleroma is not packaged by any OS/Distros, but if you want to package it for one, we can guide you through the process on our [community channels](#community-channels). If you want to change default options in your Pleroma package, please **discuss it with us first**. From 0e0ece251af9f85d80968df5b43fe49b85f35434 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Tue, 22 Sep 2020 16:55:40 +0400 Subject: [PATCH 197/201] Filter out internal users by default --- lib/pleroma/user/query.ex | 15 ++++++++++----- test/user/query_test.exs | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 test/user/query_test.exs diff --git a/lib/pleroma/user/query.ex b/lib/pleroma/user/query.ex index d618432ff..193b90d9d 100644 --- a/lib/pleroma/user/query.ex +++ b/lib/pleroma/user/query.ex @@ -47,6 +47,7 @@ defmodule Pleroma.User.Query do is_moderator: boolean(), super_users: boolean(), invisible: boolean(), + internal: boolean(), followers: User.t(), friends: User.t(), recipients_from_activity: [String.t()], @@ -80,7 +81,9 @@ defp base_query do end defp prepare_query(query, criteria) do - Enum.reduce(criteria, query, &compose_query/2) + criteria + |> Map.put_new(:internal, false) + |> Enum.reduce(query, &compose_query/2) end defp compose_query({key, value}, query) @@ -129,14 +132,12 @@ defp compose_query({:external, _}, query), do: location_query(query, false) defp compose_query({:active, _}, query) do User.restrict_deactivated(query) - |> where([u], not is_nil(u.nickname)) |> where([u], u.approval_pending == false) end defp compose_query({:legacy_active, _}, query) do query |> where([u], fragment("not (?->'deactivated' @> 'true')", u.info)) - |> where([u], not is_nil(u.nickname)) end defp compose_query({:deactivated, false}, query) do @@ -145,7 +146,6 @@ defp compose_query({:deactivated, false}, query) do defp compose_query({:deactivated, true}, query) do where(query, [u], u.deactivated == ^true) - |> where([u], not is_nil(u.nickname)) end defp compose_query({:need_approval, _}, query) do @@ -199,10 +199,15 @@ defp compose_query({:limit, limit}, query) do limit(query, ^limit) end + defp compose_query({:internal, false}, query) do + query + |> where([u], not is_nil(u.nickname)) + |> where([u], not like(u.nickname, "internal.%")) + end + defp compose_query(_unsupported_param, query), do: query defp location_query(query, local) do where(query, [u], u.local == ^local) - |> where([u], not is_nil(u.nickname)) end end diff --git a/test/user/query_test.exs b/test/user/query_test.exs new file mode 100644 index 000000000..e2f5c7d81 --- /dev/null +++ b/test/user/query_test.exs @@ -0,0 +1,37 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.User.QueryTest do + use Pleroma.DataCase, async: true + + alias Pleroma.Repo + alias Pleroma.User + alias Pleroma.User.Query + alias Pleroma.Web.ActivityPub.InternalFetchActor + + import Pleroma.Factory + + describe "internal users" do + test "it filters out internal users by default" do + %User{nickname: "internal.fetch"} = InternalFetchActor.get_actor() + + assert [_user] = User |> Repo.all() + assert [] == %{} |> Query.build() |> Repo.all() + end + + test "it filters out users without nickname by default" do + insert(:user, %{nickname: nil}) + + assert [_user] = User |> Repo.all() + assert [] == %{} |> Query.build() |> Repo.all() + end + + test "it returns internal users when enabled" do + %User{nickname: "internal.fetch"} = InternalFetchActor.get_actor() + insert(:user, %{nickname: nil}) + + assert %{internal: true} |> Query.build() |> Repo.aggregate(:count) == 2 + end + end +end From df1eb5cf7ee6d718a28fca3d3715f11ab0e263cb Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 22 Sep 2020 17:17:19 +0200 Subject: [PATCH 198/201] Changelog: Add info about chat pagination fix. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e61b1d144..e0982b83c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Removed `:managed_config` option. In practice, it was accidentally removed with 2.0.0 release when frontends were switched to a new configuration mechanism, however it was not officially removed until now. +### Fixed +- Add documented-but-missing chat pagination. ## [2.1.2] - 2020-09-17 From 8e4f043ac72e4236f5690f34e3bdc7ce288005e6 Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Tue, 22 Sep 2020 21:58:30 +0300 Subject: [PATCH 199/201] finland-emojis.zip -> emojis.zip --- test/emoji/pack_test.exs | 8 ++++---- test/fixtures/emojis.zip | Bin 0 -> 1446 bytes test/fixtures/finland-emojis.zip | Bin 460250 -> 0 bytes .../controllers/emoji_file_controller_test.exs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/emojis.zip delete mode 100644 test/fixtures/finland-emojis.zip diff --git a/test/emoji/pack_test.exs b/test/emoji/pack_test.exs index 3ec991f0f..70d1eaa1b 100644 --- a/test/emoji/pack_test.exs +++ b/test/emoji/pack_test.exs @@ -37,8 +37,8 @@ defmodule Pleroma.Emoji.PackTest do test "add emojies from zip file", %{pack: pack} do file = %Plug.Upload{ content_type: "application/zip", - filename: "finland-emojis.zip", - path: Path.absname("test/fixtures/finland-emojis.zip") + filename: "emojis.zip", + path: Path.absname("test/fixtures/emojis.zip") } {:ok, updated_pack} = Pack.add_file(pack, nil, nil, file) @@ -58,7 +58,7 @@ test "add emojies from zip file", %{pack: pack} do test "returns error when zip file is bad", %{pack: pack} do file = %Plug.Upload{ content_type: "application/zip", - filename: "finland-emojis.zip", + filename: "emojis.zip", path: Path.absname("test/instance_static/emoji/test_pack/blank.png") } @@ -68,7 +68,7 @@ test "returns error when zip file is bad", %{pack: pack} do test "returns pack when zip file is empty", %{pack: pack} do file = %Plug.Upload{ content_type: "application/zip", - filename: "finland-emojis.zip", + filename: "emojis.zip", path: Path.absname("test/fixtures/empty.zip") } diff --git a/test/fixtures/emojis.zip b/test/fixtures/emojis.zip new file mode 100644 index 0000000000000000000000000000000000000000..d7fc4732bff01cce84c04f8b6908434aa8bbda86 GIT binary patch literal 1446 zcmWIWW@h1H009%9lU`s3lwfBNU@$Z=Fes?d4~^hq&`C0kbau3g{K_c85CGI9!py+H z!4MPM5>Vyn`7;ElDISO=fEcPNDKV)sJ~J;qF+M53La!h%{WZ^r;^$8%JxWSQc<}X0 z0VmU?9)&X}cvM33+vhR`onf?7T<1_#IrXjXgc#2W@dnL@H%n(a@J(Odoy>9k>k}4* z*`19aCq9x(W>ff3^0hef`IHMRcwEAdjV z2Sz4QW?Z>}2N)J$;PBQFM8oq22Rv^Ccr!BDGh+`*2?iC2b_RupEsdrK12FOl7lQ&= zB_k*|X{2+;a$RF&h<@BFF!35=LwVOf5RK0!eiWPbBiRJa2Y4-bbpA8U0$5mJrflS} zaA1U`+0Y0`P=L}oJ_pL7IIsk+A6J^k=U#?bsb?_v;tF~p6#H11VD3du)A;OYV3~H4 lG&?$gc3`Gie0DIrQauQw`|Lp20yKpOSj;jo0091Cqoe=; literal 0 HcmV?d00001 diff --git a/test/fixtures/finland-emojis.zip b/test/fixtures/finland-emojis.zip deleted file mode 100644 index de7242ea11e618d74ff2fc6526f7c65611f20181..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 460250 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

    *J)m_>`&?yy2p03*vC##1V$vx;k}@iIYsvf) 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�=H-}H-1 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 EYuydHI0)g&a%*+5FEN^F7tWJPCSX zK`^Ymzu#2uSD<{lXKdsK4bj04ltWa#^NEJ~r(V>Itu+}7_{=|7Vr6aOFSt9O=n$!Ba3>w(G$${P~y6SzP$hr^Snl{4$p*>@)3pQoa8mAq@_ zfuuOuhWt)D+;^{HGB9NiRzM-*x&fZA+=D`ZYsY$QJ|mUsX|C1VV?U5I5*c!%w+#Bu zkHLbHa{=7H#@geL^>*5x5S(urM+M4i4R?9S+c|PsbP}KW6n^<}A-LkkLu0k`?KzKP ze-B|``)>v4`B38bmwHV3UWmC^4vonKSanH^FSY^l>ZM^~R+-t|s>2f&K$>5_BHZbd zzspznQqoSdSNhC-GD-f~{^G)pKcv^!q2Ylwkekcc+VOaBZ;gGLHOjFbxL-{7=|#4& zh!~BS5~hT0A)BAc`A!8A8JvF}LKgpn6#DXvgSL8!vo=CWl+D2~fH!Oe;O`Xsa!nu{ z#HmtI6Cm`&A5&lSchBuNfo_rSqC3;sA#ml1tLMFg#+Gl_V|N%bR-*4i>=8Edt^mf` zbSkwK(kz-+M?D%Lw$LTgh>(=~&Vs{2{ojjaN%c*YT#AM!#L&GZm^)V~L}?q}+BEYS zzFLesz#I`&d9Zh%$^I~1fnsPLvfDgMK<46LjnP^WTp@IipQxUnP%3_cTu)hz-HU70+_&YP!!C zLMVVE^;6q^w)JZ3^$>AZ6cws%+O!uPAwN2n)bGNlqX^_y3RL_iC{y2>@3t4OzQ3<@ z$7lTf`%P%$9qIfHgt8H9_gc{LJA(M{0OAW!T>gv$f19URUWkRE6N;M@#KT^8K3J@T z%)w#*o&MgG<4)~HA%D;N`ZECi19tvZzR$UO!1;5g=e}3q(v2vkok&=nU?{zp77o

    8ha5Q)(Tv#>~=|7iGOXvAt&VC}SI_mU2j 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%0AeLQk0B12@QJ4s;P>yktdLX zR3;K5*D2T3OctrHDwQTf@t*^H(BI061moF3M3dcyUR`1d554qQ?pFM0H+=nM(4OY> zmYwqFH%7fWj}|}^?4E>&Z1bU7q~L#p%1HtOp#nnz{3kI>jY<5k!v8*j1Hk-GmH$fM zKSc(5dU`uII%PEo0BQpUbs+&x_5T+D<@Y88K&?Z$Sk9N;JF_n!0C+SY0LFg-6#BFL z{{RO12JX7%HoE${2DWarb~dK}L3F-gSLYgJQ2lR2J9~Fg@Gmu^`(prr=NkY3`2Pd3 z=Jz@OTOpD3&J31K~>6$p08`~Js{KEc^T!>+*YODX3g00>DqG@Ut z0jyZRqx+kY{tsNJnE%23kADA+^&j~z(RBWoj(orK$^AuqE diff --git a/test/web/pleroma_api/controllers/emoji_file_controller_test.exs b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs index 827a4c374..39b4e1dac 100644 --- a/test/web/pleroma_api/controllers/emoji_file_controller_test.exs +++ b/test/web/pleroma_api/controllers/emoji_file_controller_test.exs @@ -59,8 +59,8 @@ test "upload zip file with emojies", %{admin_conn: admin_conn} do |> post("/api/pleroma/emoji/packs/test_pack/files", %{ file: %Plug.Upload{ content_type: "application/zip", - filename: "finland-emojis.zip", - path: Path.absname("test/fixtures/finland-emojis.zip") + filename: "emojis.zip", + path: Path.absname("test/fixtures/emojis.zip") } }) |> json_response_and_validate_schema(200) From 9d6415de157ddf6effb154b354fd6410dba8aae6 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 23 Sep 2020 10:54:24 +0200 Subject: [PATCH 200/201] Changelog: Info about email fix. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e61b1d144..0dc098f80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Removed `:managed_config` option. In practice, it was accidentally removed with 2.0.0 release when frontends were switched to a new configuration mechanism, however it was not officially removed until now. +### Fixed +- Allow sending out emails again. + ## [2.1.2] - 2020-09-17 From 518c0f2962ab36660157d7cbc995d1f4562728b3 Mon Sep 17 00:00:00 2001 From: lain Date: Wed, 23 Sep 2020 10:57:53 +0200 Subject: [PATCH 201/201] Changelog: Add info about emoji zip import feature --- CHANGELOG.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e61b1d144..8ea66844d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased -### Added -- Experimental websocket-based federation between Pleroma instances. - ### Changed - Renamed `:await_up_timeout` in `:connections_pool` namespace to `:connect_timeout`, old name is deprecated. @@ -19,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Media preview proxy (requires media proxy be enabled; see `:media_preview_proxy` config for more details). - Pleroma API: Importing the mutes users from CSV files. +- Experimental websocket-based federation between Pleroma instances. +- Admin API: Importing emoji from a zip file ### Removed @@ -28,7 +27,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Removed `:managed_config` option. In practice, it was accidentally removed with 2.0.0 release when frontends were switched to a new configuration mechanism, however it was not officially removed until now. - ## [2.1.2] - 2020-09-17 ### Security

    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

  • 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 CT6|{! diff --git a/priv/static/static/font/fontello.1599568314856.eot b/priv/static/static/font/fontello.1600365488745.eot similarity index 89% rename from priv/static/static/font/fontello.1599568314856.eot rename to priv/static/static/font/fontello.1600365488745.eot index 1a6931a0eb07cc24d512dcafb2c891f0cbfe033b..255f503728cee8b339cb9a2d46ac63034b892b04 100644 GIT binary patch delta 1032 zcmZvZUu;uV9LK-Edv5>GmW^%QEi1R%U0FA2>o&Vf>z{$$EU=Jm*~qf6K*E~Qb&2hI zm0|Fyh{k{t-EtH6gh69~2Ok#u!UGAx7lT6l^MElnMiZ9I%xDqx!2tDlxrtBSlh65{ z?>WEoJNNv~t?N|1LC)$dpwF&2lXC0Hk@c1IyX8LsngB38SIipUx@nI66~J+J?zJV& zS%3Thm{NINn>X^scUG2X*bf3;BcDBC@ccIRepYwB@cO*(^8Q1Bs~^}mzL3iv4}SQY z0*s#K_2dFixNgcJ_E*_=EfkkdZSI_|f6WtBKGa<(&1GlK?Vkq5?sCA}#q24AR<~XP z#tZDV#cVNm`$Awl`}2Tw+bEq_l9aDR?pv1t?iXeh4!TGhH`zgPAJgG$rU*)}=o zX^`FSOjnZh2>I?4g`zZ4{pLG*5FLDq?y&p3*`x3Ew{)ptrAbp8wr?E?5BH|q^~lQ+ z{rkB3=m*JvC9oQRRDV=|MQn;0^k4#O=}Iy6gD0Al;_4T?%G`9|!;55#6z@Lj5e13H{W5u>E33yyJt8-?e`2PN&}a qFnpO45Hnm+#=U}5geT8P^it)M$vx!RQq1ME#zJW^SNY}8rte?6j{E=s delta 748 zcmZvZUr3Wt7{;HoeQn_kBZPELw_-&tb7ke$oaNBEC|9N+g)kY@ZOE1%DPlodHbN@Q z@zI})imoEUi|8xpLI@!cVL}95*@YKL0|~bN+==#lJJ40%;m32H^S=Pj^6V|onbF + + diff --git a/priv/static/static/font/fontello.1599568314856.ttf b/priv/static/static/font/fontello.1600365488745.ttf similarity index 89% rename from priv/static/static/font/fontello.1599568314856.ttf rename to priv/static/static/font/fontello.1600365488745.ttf index 7954644759a21507582b43e04f155f2f139e63ed..6bda99d50ec6c3474da825e450cac7eb7182c4fa 100644 GIT binary patch delta 1013 zcmZvZU1$?o6vzK(X41qY_A{N>IBBP8)2>NuyXlzvQ8lemOFyJ5rEFQj4K+<+lV;Q^ z>P!4WR75KQ`?QOSXdiqi#s?onL=X`Xbst>BviM-3OBc6(vJYxJ;pV(-a{S;t1KD>8aEh>C|2Mj2@u8!!*^vSamL+slD zhn|e@)_J~^y^GbBOzj_WUfHx2u(kjjw~Qv@J3N2##pU`vXJk&G0 z#|8O80{Ceg`y2YMgg)C5ya{Z-diMWcXd*X2$z>@JZw8G({5lG;+BrN0iB|JM04gNd z=YqMHbjW`YMmzki9mRKA?xb+U(!n{4@@1kxrEnT2h>Fqk*OB*0Rv{Y%<`{%n!zNhH zs+ph(SU7EhX4W$%;NmSzn&3y)X%ldch5IIGWqn}+&bPqzGQbMfS(7XxJa}t@HrCH3 zSP8r?H^C}aE~o*x8n4%xU=1tZ&;aeMF%zt1-C+VFmVd$k>sk3=14My08mvZV6rNDO#=hfAed9g_KXv1lN>%(hZ^TsjyR=7l+V@ zeoRO6cO&;)%52x3%IziX@8J;V_%?WcV!$ZTSItfJv{7g7MNd9=rgyqES|wLq_QX6F zJs*|^mQE;8u6bkLzpJ~e&)0-%&egn9ThynuTJ1;Q6;41*XMU{DA##cX{f7nGkpI}f Vmh6ktiDXXNagx= zdJA<+DswZr+M0R|SiL|;B%O%H9rvFw_dHV;XRt9|Vz=EohPg@pu_vT=XJO9Qg z{xh_3(>=Y~Y!_Sk_{!I=do5N|{s>Sa;G0WFB{&F_CnRX1K9ImqeJsHt>Wl=3sq+%B zR(VN+W-8la0M;(ANN|k$Q<6suC+iXffVCYG@S$t$n*okfPf8G^vVR6RLG6$rM2$<( zM&%_8VC>_;1~>)$;6)73P6YI3YtgUkfzLJ04~5L>>(!y(u$fDY;md6w^QCH2odFTn zzIN)G)-~;aUe{E&;P5$ej#u@y^<&PUbD<&G@X58$HS2b{huv>H5zpMN!ft=%_l5Pr Vi#9X2=XyqU)1@|{pX*(<{{>+1zPbPa diff --git a/priv/static/static/font/fontello.1600365488745.woff b/priv/static/static/font/fontello.1600365488745.woff new file mode 100644 index 0000000000000000000000000000000000000000..11c866ae00fb19196fc2ccfd78000476016422d6 GIT binary patch literal 15108 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 literal 0 HcmV?d00001 diff --git a/priv/static/static/font/fontello.1600365488745.woff2 b/priv/static/static/font/fontello.1600365488745.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..06151d28c78df3cdb3a13f4036203d4a15ee93b0 GIT binary patch literal 12736 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 KLoezqAOJhO#}3{A literal 0 HcmV?d00001 diff --git a/test/fixtures/image.png b/test/fixtures/image.png new file mode 100755 index 0000000000000000000000000000000000000000..e999e8800cf69e0c734a07a6c63b7adc49ad4783 GIT binary patch literal 104426 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 z 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 Cachex.clear(:banned_urls_cache) end) end - test "it returns 404 when MediaProxy disabled", %{conn: conn} do - clear_config([:media_proxy, :enabled], false) - - assert %Conn{ - status: 404, - resp_body: "Not Found" - } = get(conn, "/proxy/hhgfh/eeeee") - - assert %Conn{ - status: 404, - resp_body: "Not Found" - } = get(conn, "/proxy/hhgfh/eeee/fff") - end - - describe "" do + describe "Media Proxy" do setup do clear_config([:media_proxy, :enabled], true) clear_config([Pleroma.Web.Endpoint, :secret_key_base], "00000000000") + [url: MediaProxy.encode_url("https://google.fn/test.png")] end + test "it returns 404 when disabled", %{conn: conn} do + clear_config([:media_proxy, :enabled], false) + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/hhgfh/eeeee") + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/hhgfh/eeee/fff") + end + test "it returns 403 for invalid signature", %{conn: conn, url: url} do Pleroma.Config.put([Pleroma.Web.Endpoint, :secret_key_base], "000") %{path: path} = URI.parse(url) @@ -55,7 +56,7 @@ test "it returns 403 for invalid signature", %{conn: conn, url: url} do } = get(conn, "/proxy/hhgfh/eeee/fff") end - test "redirects on valid url when filename is invalidated", %{conn: conn, url: url} do + test "redirects to valid url when filename is invalidated", %{conn: conn, url: url} do invalid_url = String.replace(url, "test.png", "test-file.png") response = get(conn, invalid_url) assert response.status == 302 @@ -78,4 +79,249 @@ test "it returns 404 when url is in banned_urls cache", %{conn: conn, url: url} end end end + + describe "Media Preview Proxy" do + setup do + clear_config([:media_proxy, :enabled], true) + clear_config([:media_preview_proxy, :enabled], true) + clear_config([Pleroma.Web.Endpoint, :secret_key_base], "00000000000") + + original_url = "https://google.fn/test.png" + + [ + url: MediaProxy.encode_preview_url(original_url), + media_proxy_url: MediaProxy.encode_url(original_url) + ] + end + + test "returns 404 when media proxy is disabled", %{conn: conn} do + clear_config([:media_proxy, :enabled], false) + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/preview/hhgfh/eeeee") + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/preview/hhgfh/fff") + end + + test "returns 404 when disabled", %{conn: conn} do + clear_config([:media_preview_proxy, :enabled], false) + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/preview/hhgfh/eeeee") + + assert %Conn{ + status: 404, + resp_body: "Not Found" + } = get(conn, "/proxy/preview/hhgfh/fff") + end + + test "it returns 403 for invalid signature", %{conn: conn, url: url} do + Pleroma.Config.put([Pleroma.Web.Endpoint, :secret_key_base], "000") + %{path: path} = URI.parse(url) + + assert %Conn{ + status: 403, + resp_body: "Forbidden" + } = get(conn, path) + + assert %Conn{ + status: 403, + resp_body: "Forbidden" + } = get(conn, "/proxy/preview/hhgfh/eeee") + + assert %Conn{ + status: 403, + resp_body: "Forbidden" + } = get(conn, "/proxy/preview/hhgfh/eeee/fff") + end + + test "redirects to valid url when filename is invalidated", %{conn: conn, url: url} do + invalid_url = String.replace(url, "test.png", "test-file.png") + response = get(conn, invalid_url) + assert response.status == 302 + assert redirected_to(response) == url + end + + test "responds with 424 Failed Dependency if HEAD request to media proxy fails", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 500, body: ""} + end) + + response = get(conn, url) + assert response.status == 424 + assert response.resp_body == "Can't fetch HTTP headers (HTTP 500)." + end + + test "redirects to media proxy URI on unsupported content type", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "application/pdf"}]} + end) + + response = get(conn, url) + assert response.status == 302 + assert redirected_to(response) == media_proxy_url + end + + test "with `static=true` and GIF image preview requested, responds with JPEG image", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + # Setting a high :min_content_length to ensure this scenario is not affected by its logic + clear_config([:media_preview_proxy, :min_content_length], 1_000_000_000) + + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{ + status: 200, + body: "", + headers: [{"content-type", "image/gif"}, {"content-length", "1001718"}] + } + + %{method: :get, url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: File.read!("test/fixtures/image.gif")} + end) + + response = get(conn, url <> "?static=true") + + assert response.status == 200 + assert Conn.get_resp_header(response, "content-type") == ["image/jpeg"] + assert response.resp_body != "" + end + + test "with GIF image preview requested and no `static` param, redirects to media proxy URI", + %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/gif"}]} + end) + + response = get(conn, url) + + assert response.status == 302 + assert redirected_to(response) == media_proxy_url + end + + test "with `static` param and non-GIF image preview requested, " <> + "redirects to media preview proxy URI without `static` param", + %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]} + end) + + response = get(conn, url <> "?static=true") + + assert response.status == 302 + assert redirected_to(response) == url + end + + test "with :min_content_length setting not matched by Content-Length header, " <> + "redirects to media proxy URI", + %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + clear_config([:media_preview_proxy, :min_content_length], 100_000) + + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{ + status: 200, + body: "", + headers: [{"content-type", "image/gif"}, {"content-length", "5000"}] + } + end) + + response = get(conn, url) + + assert response.status == 302 + assert redirected_to(response) == media_proxy_url + end + + test "thumbnails PNG images into PNG", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/png"}]} + + %{method: :get, url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: File.read!("test/fixtures/image.png")} + end) + + response = get(conn, url) + + assert response.status == 200 + assert Conn.get_resp_header(response, "content-type") == ["image/png"] + assert response.resp_body != "" + end + + test "thumbnails JPEG images into JPEG", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]} + + %{method: :get, url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: File.read!("test/fixtures/image.jpg")} + end) + + response = get(conn, url) + + assert response.status == 200 + assert Conn.get_resp_header(response, "content-type") == ["image/jpeg"] + assert response.resp_body != "" + end + + test "redirects to media proxy URI in case of thumbnailing error", %{ + conn: conn, + url: url, + media_proxy_url: media_proxy_url + } do + Tesla.Mock.mock(fn + %{method: "head", url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "", headers: [{"content-type", "image/jpeg"}]} + + %{method: :get, url: ^media_proxy_url} -> + %Tesla.Env{status: 200, body: "error"} + end) + + response = get(conn, url) + + assert response.status == 302 + assert redirected_to(response) == media_proxy_url + end + end end From f7e40f7ef134a3030aa61114daa39810efb5889d Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 17 Sep 2020 09:32:50 -0500 Subject: [PATCH 158/201] Deny ConfigDB migration when deprecated settings found --- lib/mix/tasks/pleroma/config.ex | 10 ++++- lib/pleroma/config/deprecation_warnings.ex | 43 ++++++++++++++++++---- test/tasks/config_test.exs | 13 +++++++ 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/lib/mix/tasks/pleroma/config.ex b/lib/mix/tasks/pleroma/config.ex index 904c5a74b..18f99318d 100644 --- a/lib/mix/tasks/pleroma/config.ex +++ b/lib/mix/tasks/pleroma/config.ex @@ -32,7 +32,8 @@ def run(["migrate_from_db" | options]) do @spec migrate_to_db(Path.t() | nil) :: any() def migrate_to_db(file_path \\ nil) do - if Pleroma.Config.get([:configurable_from_database]) do + with true <- Pleroma.Config.get([:configurable_from_database]), + :ok <- Pleroma.Config.DeprecationWarnings.warn() do config_file = if file_path do file_path @@ -46,7 +47,8 @@ def migrate_to_db(file_path \\ nil) do do_migrate_to_db(config_file) else - migration_error() + :error -> deprecation_error() + _ -> migration_error() end end @@ -120,6 +122,10 @@ defp migration_error do ) end + defp deprecation_error do + shell_error("Migration is not allowed until all deprecation warnings have been resolved.") + end + if Code.ensure_loaded?(Config.Reader) do defp config_header, do: "import Config\r\n\r\n" defp read_file(config_file), do: Config.Reader.read_imports!(config_file) diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex index 412d55a77..98c4dc9c8 100644 --- a/lib/pleroma/config/deprecation_warnings.ex +++ b/lib/pleroma/config/deprecation_warnings.ex @@ -26,6 +26,10 @@ def check_hellthread_threshold do !!!DEPRECATION WARNING!!! You are using the old configuration mechanism for the hellthread filter. Please check config.md. """) + + :error + else + :ok end end @@ -47,17 +51,26 @@ def mrf_user_allowlist do config :pleroma, :mrf_user_allowlist, #{inspect(rewritten, pretty: true)} """) + + :error + else + :ok end end def warn do - check_hellthread_threshold() - mrf_user_allowlist() - check_old_mrf_config() - check_media_proxy_whitelist_config() - check_welcome_message_config() - check_gun_pool_options() - check_activity_expiration_config() + with :ok <- check_hellthread_threshold(), + :ok <- mrf_user_allowlist(), + :ok <- check_old_mrf_config(), + :ok <- check_media_proxy_whitelist_config(), + :ok <- check_welcome_message_config(), + :ok <- check_gun_pool_options(), + :ok <- check_activity_expiration_config() do + :ok + else + _ -> + :error + end end def check_welcome_message_config do @@ -74,6 +87,10 @@ def check_welcome_message_config do \n* `config :pleroma, :instance, welcome_user_nickname` is now `config :pleroma, :welcome, :direct_message, :sender_nickname` \n* `config :pleroma, :instance, welcome_message` is now `config :pleroma, :welcome, :direct_message, :message` """) + + :error + else + :ok end end @@ -101,8 +118,11 @@ def move_namespace_and_warn(config_map, warning_preface) do end end) - if warning != "" do + if warning == "" do + :ok + else Logger.warn(warning_preface <> warning) + :error end end @@ -115,6 +135,10 @@ def check_media_proxy_whitelist_config do !!!DEPRECATION WARNING!!! Your config is using old format (only domain) for MediaProxy whitelist option. Setting should work for now, but you are advised to change format to scheme with port to prevent possible issues later. """) + + :error + else + :ok end end @@ -157,6 +181,9 @@ def check_gun_pool_options do Logger.warn(Enum.join([warning_preface | pool_warnings])) Config.put(:pools, updated_config) + :error + else + :ok end end diff --git a/test/tasks/config_test.exs b/test/tasks/config_test.exs index fb12e7fb3..f36648829 100644 --- a/test/tasks/config_test.exs +++ b/test/tasks/config_test.exs @@ -40,6 +40,19 @@ test "error if file with custom settings doesn't exist" do on_exit(fn -> Application.put_env(:quack, :level, initial) end) end + @tag capture_log: true + test "config migration refused when deprecated settings are found" do + clear_config([:media_proxy, :whitelist], ["domain_without_scheme.com"]) + assert Repo.all(ConfigDB) == [] + + Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + + assert_received {:mix_shell, :error, [message]} + + assert message =~ + "Migration is not allowed until all deprecation warnings have been resolved." + end + test "filtered settings are migrated to db" do assert Repo.all(ConfigDB) == [] From dee4639dbb1245d4514b7b81d567321f9b4ee099 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 12:38:00 +0000 Subject: [PATCH 159/201] Merge branch 'feat/rich-media-head' into 'develop' RichMedia: Do a HEAD request to check content type/length See merge request pleroma/pleroma!2995 --- lib/pleroma/web/rich_media/helpers.ex | 46 ++++++++++++++++++++++++++- lib/pleroma/web/rich_media/parser.ex | 8 +++++ test/support/http_request_mock.ex | 17 ++++++++++ test/web/rich_media/parser_test.exs | 29 +++++++++++++++++ 4 files changed, 99 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex index 752ca9f81..b7852c6e3 100644 --- a/lib/pleroma/web/rich_media/helpers.ex +++ b/lib/pleroma/web/rich_media/helpers.ex @@ -96,6 +96,50 @@ def rich_media_get(url) do @rich_media_options end - Pleroma.HTTP.get(url, headers, adapter: options) + head_check = + case Pleroma.HTTP.head(url, headers, adapter: options) do + # If the HEAD request didn't reach the server for whatever reason, + # we assume the GET that comes right after won't either + {:error, _} = e -> + e + + {:ok, %Tesla.Env{status: 200, headers: headers}} -> + with :ok <- check_content_type(headers), + :ok <- check_content_length(headers), + do: :ok + + _ -> + :ok + end + + with :ok <- head_check, do: Pleroma.HTTP.get(url, headers, adapter: options) + end + + defp check_content_type(headers) do + case List.keyfind(headers, "content-type", 0) do + {_, content_type} -> + case Plug.Conn.Utils.media_type(content_type) do + {:ok, "text", "html", _} -> :ok + _ -> {:error, {:content_type, content_type}} + end + + _ -> + :ok + end + end + + @max_body @rich_media_options[:max_body] + defp check_content_length(headers) do + case List.keyfind(headers, "content-length", 0) do + {_, maybe_content_length} -> + case Integer.parse(maybe_content_length) do + {content_length, ""} when content_length <= @max_body -> :ok + {_, ""} -> {:error, :body_too_large} + _ -> :ok + end + + _ -> + :ok + end end end diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index e98c743ca..49ba22c90 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -31,6 +31,14 @@ defp get_cached_or_parse(url) do {:ok, _data} = res -> res + {:error, :body_too_large} = e -> + e + + {:error, {:content_type, _}} -> + e + + # The TTL is not set for the errors above, since they are unlikely to change + # with time {:error, _} = e -> ttl = Pleroma.Config.get([:rich_media, :failure_backoff], 60_000) Cachex.expire(:rich_media_cache, url, ttl) diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex index a0ebf65d9..d9be248dc 100644 --- a/test/support/http_request_mock.ex +++ b/test/support/http_request_mock.ex @@ -1436,4 +1436,21 @@ def post(url, query, body, headers) do inspect(headers) }"} end + + # Most of the rich media mocks are missing HEAD requests, so we just return 404. + @rich_media_mocks [ + "https://example.com/ogp", + "https://example.com/ogp-missing-data", + "https://example.com/twitter-card" + ] + def head(url, _query, _body, _headers) when url in @rich_media_mocks do + {:ok, %Tesla.Env{status: 404, body: ""}} + end + + def head(url, query, body, headers) do + {:error, + "Mock response not implemented for HEAD #{inspect(url)}, #{query}, #{inspect(body)}, #{ + inspect(headers) + }"} + end end diff --git a/test/web/rich_media/parser_test.exs b/test/web/rich_media/parser_test.exs index 1e09cbf84..b8ef2cccf 100644 --- a/test/web/rich_media/parser_test.exs +++ b/test/web/rich_media/parser_test.exs @@ -56,6 +56,27 @@ defmodule Pleroma.Web.RichMedia.ParserTest do %{method: :get, url: "http://example.com/error"} -> {:error, :overload} + + %{ + method: :head, + url: "http://example.com/huge-page" + } -> + %Tesla.Env{ + status: 200, + headers: [{"content-length", "2000001"}, {"content-type", "text/html"}] + } + + %{ + method: :head, + url: "http://example.com/pdf-file" + } -> + %Tesla.Env{ + status: 200, + headers: [{"content-length", "1000000"}, {"content-type", "application/pdf"}] + } + + %{method: :head} -> + %Tesla.Env{status: 404, body: "", headers: []} end) :ok @@ -146,4 +167,12 @@ test "rejects invalid OGP data" do test "returns error if getting page was not successful" do assert {:error, :overload} = Parser.parse("http://example.com/error") end + + test "does a HEAD request to check if the body is too large" do + assert {:error, :body_too_large} = Parser.parse("http://example.com/huge-page") + end + + test "does a HEAD request to check if the body is html" do + assert {:error, {:content_type, _}} = Parser.parse("http://example.com/pdf-file") + end end From eff7f9892dbb042a447fd83e1ce5e9cb69941cf6 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Mon, 14 Sep 2020 12:48:27 +0000 Subject: [PATCH 160/201] Merge branch 'hotfix/rich-media-compile-error' into 'develop' RichMedia: fix a compilation error due to nonexistent variable See merge request pleroma/pleroma!2996 --- lib/pleroma/web/rich_media/parser.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index 49ba22c90..569249f51 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -34,7 +34,7 @@ defp get_cached_or_parse(url) do {:error, :body_too_large} = e -> e - {:error, {:content_type, _}} -> + {:error, {:content_type, _}} = e -> e # The TTL is not set for the errors above, since they are unlikely to change From 41939e3175cf31884cb84acd136c303a84c77f8c Mon Sep 17 00:00:00 2001 From: stwf Date: Mon, 14 Sep 2020 11:40:52 -0400 Subject: [PATCH 161/201] User search respect discoverable flag --- lib/pleroma/user/search.ex | 5 +++ .../tesla_mock/admin@mastdon.example.org.json | 44 +++++++++++-------- ...ps___osada.macgirvin.com_channel_mike.json | 3 +- test/support/factory.ex | 1 + test/web/admin_api/search_test.exs | 9 ++++ .../mastodon_api/views/account_view_test.exs | 4 +- 6 files changed, 45 insertions(+), 21 deletions(-) diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex index 7babd47ea..b8c648672 100644 --- a/lib/pleroma/user/search.ex +++ b/lib/pleroma/user/search.ex @@ -52,6 +52,7 @@ defp search_query(query_string, for_user, following) do |> base_query(following) |> filter_blocked_user(for_user) |> filter_invisible_users() + |> filter_discoverable_users() |> filter_internal_users() |> filter_blocked_domains(for_user) |> fts_search(query_string) @@ -122,6 +123,10 @@ defp filter_invisible_users(query) do from(q in query, where: q.invisible == false) end + defp filter_discoverable_users(query) do + from(q in query, where: q.discoverable == true) + end + defp filter_internal_users(query) do from(q in query, where: q.actor_type != "Application") end diff --git a/test/fixtures/tesla_mock/admin@mastdon.example.org.json b/test/fixtures/tesla_mock/admin@mastdon.example.org.json index a911b979a..f961ccb36 100644 --- a/test/fixtures/tesla_mock/admin@mastdon.example.org.json +++ b/test/fixtures/tesla_mock/admin@mastdon.example.org.json @@ -1,20 +1,24 @@ { - "@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", { - "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", - "sensitive": "as:sensitive", - "movedTo": "as:movedTo", - "Hashtag": "as:Hashtag", - "ostatus": "http://ostatus.org#", - "atomUri": "ostatus:atomUri", - "inReplyToAtomUri": "ostatus:inReplyToAtomUri", - "conversation": "ostatus:conversation", - "toot": "http://joinmastodon.org/ns#", - "Emoji": "toot:Emoji", - "alsoKnownAs": { - "@id": "as:alsoKnownAs", - "@type": "@id" + "@context": [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1", + { + "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", + "sensitive": "as:sensitive", + "movedTo": "as:movedTo", + "Hashtag": "as:Hashtag", + "ostatus": "http://ostatus.org#", + "atomUri": "ostatus:atomUri", + "inReplyToAtomUri": "ostatus:inReplyToAtomUri", + "conversation": "ostatus:conversation", + "toot": "http://joinmastodon.org/ns#", + "Emoji": "toot:Emoji", + "alsoKnownAs": { + "@id": "as:alsoKnownAs", + "@type": "@id" + } } - }], + ], "id": "http://mastodon.example.org/users/admin", "type": "Person", "following": "http://mastodon.example.org/users/admin/following", @@ -23,6 +27,7 @@ "outbox": "http://mastodon.example.org/users/admin/outbox", "preferredUsername": "admin", "name": null, + "discoverable": "true", "summary": "\u003cp\u003e\u003c/p\u003e", "url": "http://mastodon.example.org/@admin", "manuallyApprovesFollowers": false, @@ -34,7 +39,8 @@ "owner": "http://mastodon.example.org/users/admin", "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtc4Tir+3ADhSNF6VKrtW\nOU32T01w7V0yshmQei38YyiVwVvFu8XOP6ACchkdxbJ+C9mZud8qWaRJKVbFTMUG\nNX4+6Q+FobyuKrwN7CEwhDALZtaN2IPbaPd6uG1B7QhWorrY+yFa8f2TBM3BxnUy\nI4T+bMIZIEYG7KtljCBoQXuTQmGtuffO0UwJksidg2ffCF5Q+K//JfQagJ3UzrR+\nZXbKMJdAw4bCVJYs4Z5EhHYBwQWiXCyMGTd7BGlmMkY6Av7ZqHKC/owp3/0EWDNz\nNqF09Wcpr3y3e8nA10X40MJqp/wR+1xtxp+YGbq/Cj5hZGBG7etFOmIpVBrDOhry\nBwIDAQAB\n-----END PUBLIC KEY-----\n" }, - "attachment": [{ + "attachment": [ + { "type": "PropertyValue", "name": "foo", "value": "bar" @@ -58,5 +64,7 @@ "mediaType": "image/png", "url": "https://cdn.niu.moe/accounts/headers/000/033/323/original/850b3448fa5fd477.png" }, - "alsoKnownAs": ["http://example.org/users/foo"] -} + "alsoKnownAs": [ + "http://example.org/users/foo" + ] +} \ No newline at end of file diff --git a/test/fixtures/tesla_mock/https___osada.macgirvin.com_channel_mike.json b/test/fixtures/tesla_mock/https___osada.macgirvin.com_channel_mike.json index c42f3a53c..ca76d6e17 100644 --- a/test/fixtures/tesla_mock/https___osada.macgirvin.com_channel_mike.json +++ b/test/fixtures/tesla_mock/https___osada.macgirvin.com_channel_mike.json @@ -8,6 +8,7 @@ "preferredUsername": "mike", "name": "Mike Macgirvin (Osada)", "updated": "2018-08-29T03:09:11Z", + "discoverable": "true", "icon": { "type": "Image", "mediaType": "image/jpeg", @@ -51,4 +52,4 @@ "created": "2018-10-17T07:16:28Z", "signatureValue": "WbfFVIPImkd3yNu6brz0CvZaeV242rwAbH0vy8DM4vfnXCxLr5Uv/Wj9gwP+tbooTxGaahAKBeqlGkQp8RLEo37LATrKMRLA/0V6DeeV+C5ORWR9B4WxyWiD3s/9Wf+KesFMtktNLAcMZ5PfnOS/xNYerhnpkp/gWPxtkglmLIWJv+w18A5zZ01JCxsO4QljHbhYaEUPHUfQ97abrkLECeam+FThVwdO6BFCtbjoNXHfzjpSZL/oKyBpi5/fpnqMqOLOQPs5WgBBZJvjEYYkQcoPTyxYI5NGpNbzIjGHPQNuACnOelH16A7L+q4swLWDIaEFeXQ2/5bmqVKZDZZ6usNP4QyTVszwd8jqo27qcDTNibXDUTsTdKpNQvM/3UncBuzuzmUV3FczhtGshIU1/pRVZiQycpVqPlGLvXhP/yZCe+1siyqDd+3uMaS2vkHTObSl5r+VYof+c+TcjrZXHSWnQTg8/X3zkoBWosrQ93VZcwjzMxQoARYv6rphbOoTz7RPmGAXYUt3/PDWkqDlmQDwCpLNNkJo1EidyefZBdD9HXQpCBO0ZU0NHb0JmPvg/+zU0krxlv70bm3RHA/maBETVjroIWzt7EwQEg5pL2hVnvSBG+1wF3BtRVe77etkPOHxLnYYIcAMLlVKCcgDd89DPIziQyruvkx1busHI08=" } -} +} \ No newline at end of file diff --git a/test/support/factory.ex b/test/support/factory.ex index 2fdfabbc5..fb82be0c4 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -31,6 +31,7 @@ def user_factory do nickname: sequence(:nickname, &"nick#{&1}"), password_hash: Pbkdf2.hash_pwd_salt("test"), bio: sequence(:bio, &"Tester Number #{&1}"), + discoverable: true, last_digest_emailed_at: NaiveDateTime.utc_now(), last_refreshed_at: NaiveDateTime.utc_now(), notification_settings: %Pleroma.User.NotificationSetting{}, diff --git a/test/web/admin_api/search_test.exs b/test/web/admin_api/search_test.exs index b974cedd5..d88867c52 100644 --- a/test/web/admin_api/search_test.exs +++ b/test/web/admin_api/search_test.exs @@ -177,5 +177,14 @@ test "it returns unapproved user" do assert total == 3 assert count == 1 end + + test "it returns non-discoverable users" do + insert(:user) + insert(:user, discoverable: false) + + {:ok, _results, total} = Search.user() + + assert total == 2 + end end end diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs index c5f491d6b..a54b765ef 100644 --- a/test/web/mastodon_api/views/account_view_test.exs +++ b/test/web/mastodon_api/views/account_view_test.exs @@ -68,7 +68,7 @@ test "Represent a user account" do sensitive: false, pleroma: %{ actor_type: "Person", - discoverable: false + discoverable: true }, fields: [] }, @@ -166,7 +166,7 @@ test "Represent a Service(bot) account" do sensitive: false, pleroma: %{ actor_type: "Service", - discoverable: false + discoverable: true }, fields: [] }, From dfc621a5291a761f025670153bb58a2005fd0a73 Mon Sep 17 00:00:00 2001 From: stwf Date: Thu, 17 Sep 2020 10:13:56 -0400 Subject: [PATCH 162/201] add test and changelog entry --- CHANGELOG.md | 2 +- test/user_search_test.exs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6072d4cbe..5d329fd55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,8 +10,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Renamed `:await_up_timeout` in `:connections_pool` namespace to `:connect_timeout`, old name is deprecated. - Renamed `:timeout` in `pools` namespace to `:recv_timeout`, old name is deprecated. - The `discoverable` field in the `User` struct will now add a NOINDEX metatag to profile pages when false. +- Users with the `discoverable` field set to false will not show up in searches. - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (`:min_lifetime` option). - ### Removed - **Breaking:** `Pleroma.Workers.Cron.StatsWorker` setting from Oban `:crontab` (moved to a simpler implementation). diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 01976bf58..8529ce6db 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -25,6 +25,14 @@ test "excludes invisible users from results" do assert found_user.id == user.id end + test "excludes users when discoverable is false" do + insert(:user, %{nickname: "john 3000", discoverable: false}) + insert(:user, %{nickname: "john 3001"}) + + users = User.search("john") + assert Enum.count(users) == 1 + end + test "excludes service actors from results" do insert(:user, actor_type: "Application", nickname: "user1") service = insert(:user, actor_type: "Service", nickname: "user2") From 9d77f4abf80f75559456cef06da1a0d3b3b4f7e2 Mon Sep 17 00:00:00 2001 From: stwf Date: Thu, 17 Sep 2020 12:32:40 -0400 Subject: [PATCH 163/201] adapt to new user factory behavior --- test/web/metadata/metadata_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/web/metadata/metadata_test.exs b/test/web/metadata/metadata_test.exs index 054844597..ca6cbe67f 100644 --- a/test/web/metadata/metadata_test.exs +++ b/test/web/metadata/metadata_test.exs @@ -16,7 +16,7 @@ test "for remote user" do end test "for local user" do - user = insert(:user) + user = insert(:user, discoverable: false) assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~ "" @@ -40,7 +40,7 @@ test "for local user set to discoverable" do test "search exclusion metadata is included" do clear_config([:instance, :public], false) - user = insert(:user, bio: "This is my secret fedi account bio") + user = insert(:user, bio: "This is my secret fedi account bio", discoverable: false) assert ~s() == Pleroma.Web.Metadata.build_tags(%{user: user}) From 22d49993d9ab35ff5d5276a6a1f4aec96d03b7f3 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 17 Sep 2020 12:13:36 +0000 Subject: [PATCH 164/201] Merge branch 'bugfix/mrf-ingestion' into 'develop' Bugfix: MRF and Pipeline Ingestion See merge request pleroma/secteam/pleroma!15 --- CHANGELOG.md | 11 ++++ lib/pleroma/web/activity_pub/mrf.ex | 24 +++++++- .../web/activity_pub/mrf/keyword_policy.ex | 61 +++++++++---------- .../web/activity_pub/mrf/subchain_policy.ex | 3 +- lib/pleroma/web/activity_pub/pipeline.ex | 8 ++- .../web/api_spec/operations/chat_operation.ex | 3 +- .../api_spec/operations/status_operation.ex | 2 +- lib/pleroma/web/common_api/common_api.ex | 3 + .../controllers/chat_controller.ex | 10 +++ test/web/activity_pub/pipeline_test.exs | 16 ++--- test/web/common_api/common_api_test.exs | 11 ++++ .../controllers/chat_controller_test.exs | 19 +++++- 12 files changed, 121 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92635f6d0..7125e6c1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## unreleased-patch - ??? + +### Security + +- Fix most MRF rules either crashing or not being applied to objects passed into the Common Pipeline (ChatMessage, Question, Answer, Audio, Event) + +### Fixed + +- Welcome Chat messages preventing user registration with MRF Simple Policy applied to the local instance +- Mastodon API: the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user + ## [2.1.1] - 2020-09-08 ### Security diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex index 206d6af52..5e5361082 100644 --- a/lib/pleroma/web/activity_pub/mrf.ex +++ b/lib/pleroma/web/activity_pub/mrf.ex @@ -5,16 +5,34 @@ defmodule Pleroma.Web.ActivityPub.MRF do @callback filter(Map.t()) :: {:ok | :reject, Map.t()} - def filter(policies, %{} = object) do + def filter(policies, %{} = message) do policies - |> Enum.reduce({:ok, object}, fn - policy, {:ok, object} -> policy.filter(object) + |> Enum.reduce({:ok, message}, fn + policy, {:ok, message} -> policy.filter(message) _, error -> error end) end def filter(%{} = object), do: get_policies() |> filter(object) + def pipeline_filter(%{} = message, meta) do + object = meta[:object_data] + ap_id = message["object"] + + if object && ap_id do + with {:ok, message} <- filter(Map.put(message, "object", object)) do + meta = Keyword.put(meta, :object_data, message["object"]) + {:ok, Map.put(message, "object", ap_id), meta} + else + {err, message} -> {err, message, meta} + end + else + {err, message} = filter(message) + + {err, message, meta} + end + end + def get_policies do Pleroma.Config.get([:mrf, :policies], []) |> get_policies() end diff --git a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex index 15e09dcf0..db66cfa3e 100644 --- a/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/keyword_policy.ex @@ -20,9 +20,17 @@ defp string_matches?(string, pattern) do String.match?(string, pattern) end - defp check_reject(%{"object" => %{"content" => content, "summary" => summary}} = message) do + defp object_payload(%{} = object) do + [object["content"], object["summary"], object["name"]] + |> Enum.filter(& &1) + |> Enum.join("\n") + end + + defp check_reject(%{"object" => %{} = object} = message) do + payload = object_payload(object) + if Enum.any?(Pleroma.Config.get([:mrf_keyword, :reject]), fn pattern -> - string_matches?(content, pattern) or string_matches?(summary, pattern) + string_matches?(payload, pattern) end) do {:reject, "[KeywordPolicy] Matches with rejected keyword"} else @@ -30,12 +38,12 @@ defp check_reject(%{"object" => %{"content" => content, "summary" => summary}} = end end - defp check_ftl_removal( - %{"to" => to, "object" => %{"content" => content, "summary" => summary}} = message - ) do + defp check_ftl_removal(%{"to" => to, "object" => %{} = object} = message) do + payload = object_payload(object) + if Pleroma.Constants.as_public() in to and Enum.any?(Pleroma.Config.get([:mrf_keyword, :federated_timeline_removal]), fn pattern -> - string_matches?(content, pattern) or string_matches?(summary, pattern) + string_matches?(payload, pattern) end) do to = List.delete(to, Pleroma.Constants.as_public()) cc = [Pleroma.Constants.as_public() | message["cc"] || []] @@ -51,35 +59,24 @@ defp check_ftl_removal( end end - defp check_replace(%{"object" => %{"content" => content, "summary" => summary}} = message) do - content = - if is_binary(content) do - content - else - "" - end + defp check_replace(%{"object" => %{} = object} = message) do + object = + ["content", "name", "summary"] + |> Enum.filter(fn field -> Map.has_key?(object, field) && object[field] end) + |> Enum.reduce(object, fn field, object -> + data = + Enum.reduce( + Pleroma.Config.get([:mrf_keyword, :replace]), + object[field], + fn {pat, repl}, acc -> String.replace(acc, pat, repl) end + ) - summary = - if is_binary(summary) do - summary - else - "" - end + Map.put(object, field, data) + end) - {content, summary} = - Enum.reduce( - Pleroma.Config.get([:mrf_keyword, :replace]), - {content, summary}, - fn {pattern, replacement}, {content_acc, summary_acc} -> - {String.replace(content_acc, pattern, replacement), - String.replace(summary_acc, pattern, replacement)} - end - ) + message = Map.put(message, "object", object) - {:ok, - message - |> put_in(["object", "content"], content) - |> put_in(["object", "summary"], summary)} + {:ok, message} end @impl true diff --git a/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex b/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex index c9f20571f..048052da6 100644 --- a/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/subchain_policy.ex @@ -28,8 +28,7 @@ def filter(%{"actor" => actor} = message) do }" ) - subchain - |> MRF.filter(message) + MRF.filter(subchain, message) else _e -> {:ok, message} end diff --git a/lib/pleroma/web/activity_pub/pipeline.ex b/lib/pleroma/web/activity_pub/pipeline.ex index 36e325c37..2db86f116 100644 --- a/lib/pleroma/web/activity_pub/pipeline.ex +++ b/lib/pleroma/web/activity_pub/pipeline.ex @@ -26,13 +26,17 @@ def common_pipeline(object, meta) do {:error, e} -> {:error, e} + + {:reject, e} -> + {:reject, e} end end def do_common_pipeline(object, meta) do with {_, {:ok, validated_object, meta}} <- {:validate_object, ObjectValidator.validate(object, meta)}, - {_, {:ok, mrfd_object}} <- {:mrf_object, MRF.filter(validated_object)}, + {_, {:ok, mrfd_object, meta}} <- + {:mrf_object, MRF.pipeline_filter(validated_object, meta)}, {_, {:ok, activity, meta}} <- {:persist_object, ActivityPub.persist(mrfd_object, meta)}, {_, {:ok, activity, meta}} <- @@ -40,7 +44,7 @@ def do_common_pipeline(object, meta) do {_, {:ok, _}} <- {:federation, maybe_federate(activity, meta)} do {:ok, activity, meta} else - {:mrf_object, {:reject, _}} -> {:ok, nil, meta} + {:mrf_object, {:reject, message, _}} -> {:reject, message} e -> {:error, e} end end diff --git a/lib/pleroma/web/api_spec/operations/chat_operation.ex b/lib/pleroma/web/api_spec/operations/chat_operation.ex index b1a0d26ab..56554d5b4 100644 --- a/lib/pleroma/web/api_spec/operations/chat_operation.ex +++ b/lib/pleroma/web/api_spec/operations/chat_operation.ex @@ -184,7 +184,8 @@ def post_chat_message_operation do "application/json", ChatMessage ), - 400 => Operation.response("Bad Request", "application/json", ApiError) + 400 => Operation.response("Bad Request", "application/json", ApiError), + 422 => Operation.response("MRF Rejection", "application/json", ApiError) }, security: [ %{ diff --git a/lib/pleroma/web/api_spec/operations/status_operation.ex b/lib/pleroma/web/api_spec/operations/status_operation.ex index 5bd4619d5..d7ebde6f6 100644 --- a/lib/pleroma/web/api_spec/operations/status_operation.ex +++ b/lib/pleroma/web/api_spec/operations/status_operation.ex @@ -55,7 +55,7 @@ def create_operation do "application/json", %Schema{oneOf: [Status, ScheduledStatus]} ), - 422 => Operation.response("Bad Request", "application/json", ApiError) + 422 => Operation.response("Bad Request / MRF Rejection", "application/json", ApiError) } } end diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 5ad2b91c2..3c7b9e794 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -49,6 +49,9 @@ def post_chat_message(%User{} = user, %User{} = recipient, content, opts \\ []) local: true )} do {:ok, activity} + else + {:common_pipeline, {:reject, _} = e} -> e + e -> e end end diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex index 1f2e953f7..ea0921c77 100644 --- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex @@ -90,6 +90,16 @@ def post_chat_message( conn |> put_view(MessageReferenceView) |> render("show.json", chat_message_reference: cm_ref) + else + {:reject, message} -> + conn + |> put_status(:unprocessable_entity) + |> json(%{error: message}) + + {:error, message} -> + conn + |> put_status(:bad_request) + |> json(%{error: message}) end end diff --git a/test/web/activity_pub/pipeline_test.exs b/test/web/activity_pub/pipeline_test.exs index f2a231eaf..210a06563 100644 --- a/test/web/activity_pub/pipeline_test.exs +++ b/test/web/activity_pub/pipeline_test.exs @@ -26,7 +26,7 @@ test "when given an `object_data` in meta, Federation will receive a the origina { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -51,7 +51,7 @@ test "when given an `object_data` in meta, Federation will receive a the origina Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) refute called(Pleroma.Web.Federator.publish(activity)) @@ -68,7 +68,7 @@ test "it goes through validation, filtering, persisting, side effects and federa { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -93,7 +93,7 @@ test "it goes through validation, filtering, persisting, side effects and federa Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) assert_called(Pleroma.Web.Federator.publish(activity)) @@ -109,7 +109,7 @@ test "it goes through validation, filtering, persisting, side effects without fe { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -131,7 +131,7 @@ test "it goes through validation, filtering, persisting, side effects without fe Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) end @@ -148,7 +148,7 @@ test "it goes through validation, filtering, persisting, side effects without fe { Pleroma.Web.ActivityPub.MRF, [], - [filter: fn o -> {:ok, o} end] + [pipeline_filter: fn o, m -> {:ok, o, m} end] }, { Pleroma.Web.ActivityPub.ActivityPub, @@ -170,7 +170,7 @@ test "it goes through validation, filtering, persisting, side effects without fe Pleroma.Web.ActivityPub.Pipeline.common_pipeline(activity, meta) assert_called(Pleroma.Web.ActivityPub.ObjectValidator.validate(activity, meta)) - assert_called(Pleroma.Web.ActivityPub.MRF.filter(activity)) + assert_called(Pleroma.Web.ActivityPub.MRF.pipeline_filter(activity, meta)) assert_called(Pleroma.Web.ActivityPub.ActivityPub.persist(activity, meta)) assert_called(Pleroma.Web.ActivityPub.SideEffects.handle(activity, meta)) end diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 4ba6232dc..28bb6db30 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -213,6 +213,17 @@ test "it reject messages over the local limit" do assert message == :content_too_long end + + test "it reject messages via MRF" do + clear_config([:mrf_keyword, :reject], ["GNO"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + + author = insert(:user) + recipient = insert(:user) + + assert {:reject, "[KeywordPolicy] Matches with rejected keyword"} == + CommonAPI.post_chat_message(author, recipient, "GNO/Linux") + end end describe "unblocking" do diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs index 7be5fe09c..44a78a738 100644 --- a/test/web/pleroma_api/controllers/chat_controller_test.exs +++ b/test/web/pleroma_api/controllers/chat_controller_test.exs @@ -100,7 +100,7 @@ test "it fails if there is no content", %{conn: conn, user: user} do |> post("/api/v1/pleroma/chats/#{chat.id}/messages") |> json_response_and_validate_schema(400) - assert result + assert %{"error" => "no_content"} == result end test "it works with an attachment", %{conn: conn, user: user} do @@ -126,6 +126,23 @@ test "it works with an attachment", %{conn: conn, user: user} do assert result["attachment"] end + + test "gets MRF reason when rejected", %{conn: conn, user: user} do + clear_config([:mrf_keyword, :reject], ["GNO"]) + clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.KeywordPolicy]) + + other_user = insert(:user) + + {:ok, chat} = Chat.get_or_create(user.id, other_user.ap_id) + + result = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/pleroma/chats/#{chat.id}/messages", %{"content" => "GNO/Linux"}) + |> json_response_and_validate_schema(422) + + assert %{"error" => "[KeywordPolicy] Matches with rejected keyword"} == result + end end describe "DELETE /api/v1/pleroma/chats/:id/messages/:message_id" do From bb70b231d023c6e9f998a6be58f66ae3ff603157 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 15 Sep 2020 12:21:38 +0000 Subject: [PATCH 165/201] Merge branch 'reply-visibility-user-guard' into 'develop' Mastodon API: fix the public timeline returning an error when the `reply_visibility` parameter is set to `self` for an unauthenticated user See merge request pleroma/pleroma!2999 --- lib/pleroma/web/activity_pub/activity_pub.ex | 4 ++-- test/web/activity_pub/activity_pub_test.exs | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 624a508ae..e4eafc8ac 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -744,7 +744,7 @@ defp restrict_replies(query, %{exclude_replies: true}) do end defp restrict_replies(query, %{ - reply_filtering_user: user, + reply_filtering_user: %User{} = user, reply_visibility: "self" }) do from( @@ -760,7 +760,7 @@ defp restrict_replies(query, %{ end defp restrict_replies(query, %{ - reply_filtering_user: user, + reply_filtering_user: %User{} = user, reply_visibility: "following" }) do from( diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 03f968aaf..b579bb0bb 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1773,6 +1773,14 @@ test "public timeline with default reply_visibility `self`", %{users: %{u1: user |> Enum.map(& &1.id) assert activities_ids == [] + + activities_ids = + %{} + |> Map.put(:reply_visibility, "self") + |> Map.put(:reply_filtering_user, nil) + |> ActivityPub.fetch_public_activities() + + assert activities_ids == [] end test "home timeline", %{users: %{u1: user}} do From 0465bdbd49ad729e9aec0b3f330607386f433d5d Mon Sep 17 00:00:00 2001 From: Haelwenn Date: Tue, 15 Sep 2020 08:25:10 +0000 Subject: [PATCH 166/201] Merge branch 'fix/mrf-simple-welcome-chats' into 'develop' Ensure we only apply media_nsfw simple policy on parsable objects Closes #2133 See merge request pleroma/pleroma!2992 --- .../web/activity_pub/mrf/simple_policy.ex | 3 +- .../web/activity_pub/transmogrifier.ex | 2 +- test/user_test.exs | 39 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex index bb193475a..161177727 100644 --- a/lib/pleroma/web/activity_pub/mrf/simple_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/simple_policy.ex @@ -66,7 +66,8 @@ defp check_media_nsfw( "type" => "Create", "object" => child_object } = object - ) do + ) + when is_map(child_object) do media_nsfw = Config.get([:mrf_simple, :media_nsfw]) |> MRF.subdomains_regex() diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 76298c4a0..63dd227c1 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -311,7 +311,7 @@ def fix_url(object), do: object def fix_emoji(%{"tag" => tags} = object) when is_list(tags) do emoji = tags - |> Enum.filter(fn data -> data["type"] == "Emoji" and data["icon"] end) + |> Enum.filter(fn data -> is_map(data) and data["type"] == "Emoji" and data["icon"] end) |> Enum.reduce(%{}, fn data, mapping -> name = String.trim(data["name"], ":") diff --git a/test/user_test.exs b/test/user_test.exs index 3cf248659..301d8f05e 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -440,6 +440,45 @@ test "it sends a welcome chat message if it is set" do assert activity.actor == welcome_user.ap_id end + setup do: + clear_config(:mrf_simple, + media_removal: [], + media_nsfw: [], + federated_timeline_removal: [], + report_removal: [], + reject: [], + followers_only: [], + accept: [], + avatar_removal: [], + banner_removal: [], + reject_deletes: [] + ) + + setup do: + clear_config(:mrf, + policies: [ + Pleroma.Web.ActivityPub.MRF.SimplePolicy + ] + ) + + test "it sends a welcome chat message when Simple policy applied to local instance" do + Pleroma.Config.put([:mrf_simple, :media_nsfw], ["localhost"]) + + welcome_user = insert(:user) + Pleroma.Config.put([:welcome, :chat_message, :enabled], true) + Pleroma.Config.put([:welcome, :chat_message, :sender_nickname], welcome_user.nickname) + Pleroma.Config.put([:welcome, :chat_message, :message], "Hello, this is a chat message") + + cng = User.register_changeset(%User{}, @full_user_data) + {:ok, registered_user} = User.register(cng) + ObanHelpers.perform_all() + + activity = Repo.one(Pleroma.Activity) + assert registered_user.ap_id in activity.recipients + assert Object.normalize(activity).data["content"] =~ "chat message" + assert activity.actor == welcome_user.ap_id + end + test "it sends a welcome email message if it is set" do welcome_user = insert(:user) Pleroma.Config.put([:welcome, :email, :enabled], true) From 608017b7df5916b607e707627dc09d89599129ff Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 18:40:54 +0000 Subject: [PATCH 167/201] Merge branch 'fix/streaming-termination-errors' into 'develop' Fix two pseudo-errors in websocket handler Closes #2131 See merge request pleroma/pleroma!2982 --- .../web/mastodon_api/websocket_handler.ex | 12 ++++++--- test/integration/mastodon_websocket_test.exs | 26 +++++++++---------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/websocket_handler.ex b/lib/pleroma/web/mastodon_api/websocket_handler.ex index 94e4595d8..cf923ded8 100644 --- a/lib/pleroma/web/mastodon_api/websocket_handler.ex +++ b/lib/pleroma/web/mastodon_api/websocket_handler.ex @@ -37,12 +37,12 @@ def init(%{qs: qs} = req, state) do else {:error, :bad_topic} -> Logger.debug("#{__MODULE__} bad topic #{inspect(req)}") - {:ok, req} = :cowboy_req.reply(404, req) + req = :cowboy_req.reply(404, req) {:ok, req, state} {:error, :unauthorized} -> Logger.debug("#{__MODULE__} authentication error: #{inspect(req)}") - {:ok, req} = :cowboy_req.reply(401, req) + req = :cowboy_req.reply(401, req) {:ok, req, state} end end @@ -64,7 +64,9 @@ def websocket_handle(:pong, state) do {:ok, %{state | timer: timer()}} end - # We never receive messages. + # We only receive pings for now + def websocket_handle(:ping, state), do: {:ok, state} + def websocket_handle(frame, state) do Logger.error("#{__MODULE__} received frame: #{inspect(frame)}") {:ok, state} @@ -98,6 +100,10 @@ def websocket_info(:tick, state) do {:reply, :ping, %{state | timer: nil, count: 0}, :hibernate} end + # State can be `[]` only in case we terminate before switching to websocket, + # we already log errors for these cases in `init/1`, so just do nothing here + def terminate(_reason, _req, []), do: :ok + def terminate(reason, _req, state) do Logger.debug( "#{__MODULE__} terminating websocket connection for user #{ diff --git a/test/integration/mastodon_websocket_test.exs b/test/integration/mastodon_websocket_test.exs index ea17e9feb..76fbc8bda 100644 --- a/test/integration/mastodon_websocket_test.exs +++ b/test/integration/mastodon_websocket_test.exs @@ -99,30 +99,30 @@ test "accepts valid tokens", state do test "accepts the 'user' stream", %{token: token} = _state do assert {:ok, _} = start_socket("?stream=user&access_token=#{token.token}") - assert capture_log(fn -> - assert {:error, {401, _}} = start_socket("?stream=user") - Process.sleep(30) - end) =~ ":badarg" + capture_log(fn -> + assert {:error, {401, _}} = start_socket("?stream=user") + Process.sleep(30) + end) end test "accepts the 'user:notification' stream", %{token: token} = _state do assert {:ok, _} = start_socket("?stream=user:notification&access_token=#{token.token}") - assert capture_log(fn -> - assert {:error, {401, _}} = start_socket("?stream=user:notification") - Process.sleep(30) - end) =~ ":badarg" + capture_log(fn -> + assert {:error, {401, _}} = start_socket("?stream=user:notification") + Process.sleep(30) + end) end test "accepts valid token on Sec-WebSocket-Protocol header", %{token: token} do assert {:ok, _} = start_socket("?stream=user", [{"Sec-WebSocket-Protocol", token.token}]) - assert capture_log(fn -> - assert {:error, {401, _}} = - start_socket("?stream=user", [{"Sec-WebSocket-Protocol", "I am a friend"}]) + capture_log(fn -> + assert {:error, {401, _}} = + start_socket("?stream=user", [{"Sec-WebSocket-Protocol", "I am a friend"}]) - Process.sleep(30) - end) =~ ":badarg" + Process.sleep(30) + end) end end end From 6bbd65fb0922c5e7ed4877968c3c92ff51cc12cb Mon Sep 17 00:00:00 2001 From: rinpatch Date: Thu, 10 Sep 2020 18:38:48 +0000 Subject: [PATCH 168/201] Merge branch '2130-mfa-users-oauth-login-fix' into 'develop' [#2130] Fixed OAuth OOB authentication for users with enabled MFA Closes #2130 See merge request pleroma/pleroma!2979 --- lib/pleroma/web/oauth/oauth_controller.ex | 5 ++++- .../o_auth/o_auth/oob_authorization_created.html.eex | 2 +- .../web/templates/o_auth/o_auth/oob_token_exists.html.eex | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index dd00600ea..06b116368 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -145,7 +145,10 @@ def create_authorization( def after_create_authorization(%Plug.Conn{} = conn, %Authorization{} = auth, %{ "authorization" => %{"redirect_uri" => @oob_token_redirect_uri} }) do - render(conn, "oob_authorization_created.html", %{auth: auth}) + # Enforcing the view to reuse the template when calling from other controllers + conn + |> put_view(OAuthView) + |> render("oob_authorization_created.html", %{auth: auth}) end def after_create_authorization(%Plug.Conn{} = conn, %Authorization{} = auth, %{ diff --git a/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex index 8443d906b..ffabe29a6 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex @@ -1,2 +1,2 @@