{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.8WZran3V/b1/slidge_0.2.2-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.8WZran3V/b2/slidge_0.2.2-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- b2d0460c951b6dbb57e55c137f9d5607 2040620 python optional python-slidge-doc_0.2.2-1_all.deb\n+ 04c71961f09e8cb21af9bdf24a47f651 2041692 python optional python-slidge-doc_0.2.2-1_all.deb\n 4218e78f64cd10cf616c7245dff62182 130024 python optional python3-slidge_0.2.2-1_all.deb\n"}, {"source1": "python-slidge-doc_0.2.2-1_all.deb", "source2": "python-slidge-doc_0.2.2-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-11-09 23:44:49.000000 debian-binary\n -rw-r--r-- 0 0 0 4100 2024-11-09 23:44:49.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2036328 2024-11-09 23:44:49.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2037400 2024-11-09 23:44:49.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: python-slidge-doc\n Source: slidge\n Version: 0.2.2-1\n Architecture: all\n Maintainer: Debian XMPP Maintainers \n-Installed-Size: 4394\n+Installed-Size: 4468\n Depends: libjs-sphinxdoc (>= 7.4)\n Section: python\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://slidge.im/\n Description: XMPP puppeteer gateway library in Python (documentation)\n Slidge makes writing gateways to other chat networks (legacy modules)\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -64,15 +64,15 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/\n -rw-r--r-- 0 root (0) root (0) 6513 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/\n -rw-r--r-- 0 root (0) root (0) 1502 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/\n -rw-r--r-- 0 root (0) root (0) 9562 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/\n--rw-r--r-- 0 root (0) root (0) 13320 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt\n+-rw-r--r-- 0 root (0) root (0) 23121 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt\n -rw-r--r-- 0 root (0) root (0) 27261 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/\n -rw-r--r-- 0 root (0) root (0) 882 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/\n -rw-r--r-- 0 root (0) root (0) 15819 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/index.rst.txt\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/group/\n@@ -162,38 +162,38 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/\n -rw-r--r-- 0 root (0) root (0) 64921 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/\n -rw-r--r-- 0 root (0) root (0) 28341 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/\n -rw-r--r-- 0 root (0) root (0) 51899 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/\n--rw-r--r-- 0 root (0) root (0) 80058 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html\n--rw-r--r-- 0 root (0) root (0) 154646 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html\n+-rw-r--r-- 0 root (0) root (0) 132580 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html\n+-rw-r--r-- 0 root (0) root (0) 154778 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/\n -rw-r--r-- 0 root (0) root (0) 22430 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/\n -rw-r--r-- 0 root (0) root (0) 91815 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/\n--rw-r--r-- 0 root (0) root (0) 127861 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html\n+-rw-r--r-- 0 root (0) root (0) 128008 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html\n -rw-r--r-- 0 root (0) root (0) 20200 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/\n--rw-r--r-- 0 root (0) root (0) 101848 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html\n+-rw-r--r-- 0 root (0) root (0) 102009 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html\n -rw-r--r-- 0 root (0) root (0) 24640 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/contributing.html\n -rw-r--r-- 0 root (0) root (0) 27557 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/design.html\n -rw-r--r-- 0 root (0) root (0) 19020 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/howto.html\n -rw-r--r-- 0 root (0) root (0) 21663 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/index.html\n -rw-r--r-- 0 root (0) root (0) 35710 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/tutorial.html\n--rw-r--r-- 0 root (0) root (0) 80575 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html\n+-rw-r--r-- 0 root (0) root (0) 84106 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html\n -rw-r--r-- 0 root (0) root (0) 23527 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/glossary.html\n--rw-r--r-- 0 root (0) root (0) 99812 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/index.html\n--rw-r--r-- 0 root (0) root (0) 5298 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv\n+-rw-r--r-- 0 root (0) root (0) 105359 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/index.html\n+-rw-r--r-- 0 root (0) root (0) 5407 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv\n -rw-r--r-- 0 root (0) root (0) 27013 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/py-modindex.html\n -rw-r--r-- 0 root (0) root (0) 17903 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/search.html\n--rw-r--r-- 0 root (0) root (0) 98833 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js\n+-rw-r--r-- 0 root (0) root (0) 102611 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/\n -rw-r--r-- 0 root (0) root (0) 22996 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/commands.html\n -rw-r--r-- 0 root (0) root (0) 20840 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/contacts.html\n -rw-r--r-- 0 root (0) root (0) 23045 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/index.html\n -rw-r--r-- 0 root (0) root (0) 20170 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/low_profile.html\n -rw-r--r-- 0 root (0) root (0) 19043 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/note.html\n -rw-r--r-- 0 root (0) root (0) 23236 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/register.html\n"}, {"source1": "./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt", "source2": "./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt", "unified_diff": "@@ -153,14 +153,233 @@\n \n .. py:method:: ban(reason = None)\n \n Call this when the participant is banned from the room\n \n \n \n+ .. py:method:: online(status = None, last_seen = None)\n+\n+ Send an \"online\" presence from this contact to the user.\n+\n+ :param status: Arbitrary text, details of the status, eg: \"Listening to Britney Spears\"\n+ :param last_seen: For :xep:`0319`\n+\n+\n+\n+ .. py:method:: away(status = None, last_seen = None)\n+\n+ Send an \"away\" presence from this contact to the user.\n+\n+ This is a global status, as opposed to :meth:`.LegacyContact.inactive`\n+ which concerns a specific conversation, ie a specific \"chat window\"\n+\n+ :param status: Arbitrary text, details of the status, eg: \"Gone to fight capitalism\"\n+ :param last_seen: For :xep:`0319`\n+\n+\n+\n+ .. py:method:: extended_away(status = None, last_seen = None)\n+\n+ Send an \"extended away\" presence from this contact to the user.\n+\n+ This is a global status, as opposed to :meth:`.LegacyContact.inactive`\n+ which concerns a specific conversation, ie a specific \"chat window\"\n+\n+ :param status: Arbitrary text, details of the status, eg: \"Gone to fight capitalism\"\n+ :param last_seen: For :xep:`0319`\n+\n+\n+\n+ .. py:method:: busy(status = None, last_seen = None)\n+\n+ Send a \"busy\" (ie, \"dnd\") presence from this contact to the user,\n+\n+ :param status: eg: \"Trying to make sense of XEP-0100\"\n+ :param last_seen: For :xep:`0319`\n+\n+\n+\n+ .. py:method:: offline(status = None, last_seen = None)\n+\n+ Send an \"offline\" presence from this contact to the user.\n+\n+ :param status: eg: \"Trying to make sense of XEP-0100\"\n+ :param last_seen: For :xep:`0319`\n+\n+\n+\n+ .. py:method:: invite_to(muc, reason = None, password = None, **send_kwargs)\n+\n+ Send an invitation to join a group (:xep:`0249`) from this :term:`XMPP Entity`.\n+\n+ :param muc: the muc the user is invited to\n+ :param reason: a text explaining why the user should join this muc\n+ :param password: maybe this will make sense later? not sure\n+ :param send_kwargs: additional kwargs to be passed to _send()\n+ (internal use by slidge)\n+\n+\n+\n+ .. py:method:: active(**kwargs)\n+\n+ Send an \"active\" chat state (:xep:`0085`) from this\n+ :term:`XMPP Entity`.\n+\n+\n+\n+ .. py:method:: composing(**kwargs)\n+\n+ Send a \"composing\" (ie \"typing notification\") chat state (:xep:`0085`)\n+ from this :term:`XMPP Entity`.\n+\n+\n+\n+ .. py:method:: paused(**kwargs)\n+\n+ Send a \"paused\" (ie \"typing paused notification\") chat state\n+ (:xep:`0085`) from this :term:`XMPP Entity`.\n+\n+\n+\n+ .. py:method:: inactive(**kwargs)\n+\n+ Send an \"inactive\" (ie \"contact has not interacted with the chat session\n+ interface for an intermediate period of time\") chat state (:xep:`0085`)\n+ from this :term:`XMPP Entity`.\n+\n+\n+\n+ .. py:method:: gone(**kwargs)\n+\n+ Send a \"gone\" (ie \"contact has not interacted with the chat session interface,\n+ system, or device for a relatively long period of time\") chat state\n+ (:xep:`0085`) from this :term:`XMPP Entity`.\n+\n+\n+\n+ .. py:method:: ack(legacy_msg_id, **kwargs)\n+\n+ Send an \"acknowledged\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n+\n+ :param legacy_msg_id: The message this marker refers to\n+\n+\n+\n+ .. py:method:: received(legacy_msg_id, **kwargs)\n+\n+ Send a \"received\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n+ If called on a :class:`LegacyContact`, also send a delivery receipt\n+ marker (:xep:`0184`).\n+\n+ :param legacy_msg_id: The message this marker refers to\n+\n+\n+\n+ .. py:method:: displayed(legacy_msg_id, **kwargs)\n+\n+ Send a \"displayed\" message marker (:xep:`0333`) from this :term:`XMPP Entity`.\n+\n+ :param legacy_msg_id: The message this marker refers to\n+\n+\n+\n+ .. py:method:: send_file(file_path = None, legacy_msg_id = None, *, async_data_stream = None, data_stream = None, data = None, file_url = None, file_name = None, content_type = None, reply_to = None, when = None, caption = None, legacy_file_id = None, thread = None, **kwargs)\n+ :async:\n+\n+\n+ Send a single file from this :term:`XMPP Entity`.\n+\n+ :param file_path: Path to the attachment\n+ :param async_data_stream: Alternatively (and ideally) an AsyncIterator yielding bytes\n+ :param data_stream: Alternatively, a stream of bytes (such as a File object)\n+ :param data: Alternatively, a bytes object\n+ :param file_url: Alternatively, a URL\n+ :param file_name: How the file should be named.\n+ :param content_type: MIME type, inferred from filename if not given\n+ :param legacy_msg_id: If you want to be able to transport read markers from the gateway\n+ user to the legacy network, specify this\n+ :param reply_to: Quote another message (:xep:`0461`)\n+ :param when: when the file was sent, for a \"delay\" tag (:xep:`0203`)\n+ :param caption: an optional text that is linked to the file\n+ :param legacy_file_id: A unique identifier for the file on the legacy network.\n+ Plugins should try their best to provide it, to avoid duplicates.\n+ :param thread:\n+\n+\n+\n+ .. py:method:: send_text(body, legacy_msg_id = None, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction=False, correction_event_id = None, link_previews = None, **send_kwargs)\n+\n+ Send a text message from this :term:`XMPP Entity`.\n+\n+ :param body: Content of the message\n+ :param legacy_msg_id: If you want to be able to transport read markers from the gateway\n+ user to the legacy network, specify this\n+ :param when: when the message was sent, for a \"delay\" tag (:xep:`0203`)\n+ :param reply_to: Quote another message (:xep:`0461`)\n+ :param hints:\n+ :param thread:\n+ :param carbon: (only used if called on a :class:`LegacyContact`)\n+ Set this to ``True`` if this is actually a message sent **to** the\n+ :class:`LegacyContact` by the :term:`User`.\n+ Use this to synchronize outgoing history for legacy official apps.\n+ :param correction: whether this message is a correction or not\n+ :param correction_event_id: in the case where an ID is associated with the legacy\n+ 'correction event', specify it here to use it on the XMPP side. If not specified,\n+ a random ID will be used.\n+ :param link_previews: A little of sender (or server, or gateway)-generated\n+ previews of URLs linked in the body.\n+ :param archive_only: (only in groups) Do not send this message to user,\n+ but store it in the archive. Meant to be used during ``MUC.backfill()``\n+\n+\n+\n+ .. py:method:: correct(legacy_msg_id, new_text, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction_event_id = None, link_previews = None, **send_kwargs)\n+\n+ Modify a message that was previously sent by this :term:`XMPP Entity`.\n+\n+ Uses last message correction (:xep:`0308`)\n+\n+ :param new_text: New content of the message\n+ :param legacy_msg_id: The legacy message ID of the message to correct\n+ :param when: when the message was sent, for a \"delay\" tag (:xep:`0203`)\n+ :param reply_to: Quote another message (:xep:`0461`)\n+ :param hints:\n+ :param thread:\n+ :param carbon: (only in 1:1) Reflect a message sent to this ``Contact`` by the user.\n+ Use this to synchronize outgoing history for legacy official apps.\n+ :param archive_only: (only in groups) Do not send this message to user,\n+ but store it in the archive. Meant to be used during ``MUC.backfill()``\n+ :param correction_event_id: in the case where an ID is associated with the legacy\n+ 'correction event', specify it here to use it on the XMPP side. If not specified,\n+ a random ID will be used.\n+ :param link_previews: A little of sender (or server, or gateway)-generated\n+ previews of URLs linked in the body.\n+\n+\n+\n+ .. py:method:: react(legacy_msg_id, emojis = (), thread = None, **kwargs)\n+\n+ Send a reaction (:xep:`0444`) from this :term:`XMPP Entity`.\n+\n+ :param legacy_msg_id: The message which the reaction refers to.\n+ :param emojis: An iterable of emojis used as reactions\n+ :param thread:\n+\n+\n+\n+ .. py:method:: retract(legacy_msg_id, thread = None, **kwargs)\n+\n+ Send a message retraction (:XEP:`0424`) from this :term:`XMPP Entity`.\n+\n+ :param legacy_msg_id: Legacy ID of the message to delete\n+ :param thread:\n+\n+\n+\n .. py:class:: LegacyMUC(session, legacy_id, jid)\n \n \n \n A room, a.k.a. a Multi-User Chat.\n \n MUC instances are obtained by calling :py:meth:`slidge.group.bookmarks.LegacyBookmarks`\n@@ -480,7 +699,56 @@\n The legacy module is responsible for updating :attr:`.subject` of this\n instance.\n \n :param subject: The new subject for this room.\n \n \n \n+ .. py:property:: avatar_id\n+ :type: Optional[slidge.util.types.AvatarIdType]\n+\n+ The unique ID of this entity's avatar.\n+\n+\n+\n+ .. py:property:: avatar\n+ :type: Optional[slidge.util.types.AvatarIdType]\n+\n+ This property can be used to set the avatar, but\n+ :py:meth:`~.AvatarMixin.set_avatar()` should be preferred because you can\n+ provide a unique ID for the avatar for efficient caching.\n+ Setting this is OKish in case the avatar type is a URL or a local path\n+ that can act as a legacy ID.\n+\n+ Python's ``property`` is abused here to maintain backwards\n+ compatibility, but when getting it you actually get the avatar legacy\n+ ID.\n+\n+\n+\n+ .. py:method:: set_avatar(a, avatar_unique_id = None, delete = False, blocking=False, cancel=True)\n+ :async:\n+\n+\n+ Set an avatar for this entity\n+\n+ :param a: The avatar, in one of the types slidge supports\n+ :param avatar_unique_id: A globally unique ID for the avatar on the\n+ legacy network\n+ :param delete: If the avatar is provided as a Path, whether to delete\n+ it once used or not.\n+ :param blocking: Internal use by slidge for tests, do not use!\n+ :param cancel: Internal use by slidge, do not use!\n+\n+\n+\n+ .. py:method:: available_emojis(legacy_msg_id = None)\n+ :async:\n+\n+\n+ Override this to restrict the subset of reactions this recipient\n+ can handle.\n+\n+ :return: A set of emojis or None if any emoji is allowed\n+\n+\n+\n"}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html", "unified_diff": "@@ -463,14 +463,295 @@\n
\n
Parameters:
\n

reason (str | None)

\n
\n
\n \n \n+
\n+
\n+online(status=None, last_seen=None)\u00b6
\n+

Send an \u201conline\u201d presence from this contact to the user.

\n+
\n+
Parameters:
\n+
    \n+
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cListening to Britney Spears\u201d

  • \n+
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+away(status=None, last_seen=None)\u00b6
\n+

Send an \u201caway\u201d presence from this contact to the user.

\n+

This is a global status, as opposed to LegacyContact.inactive()\n+which concerns a specific conversation, ie a specific \u201cchat window\u201d

\n+
\n+
Parameters:
\n+
    \n+
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cGone to fight capitalism\u201d

  • \n+
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+extended_away(status=None, last_seen=None)\u00b6
\n+

Send an \u201cextended away\u201d presence from this contact to the user.

\n+

This is a global status, as opposed to LegacyContact.inactive()\n+which concerns a specific conversation, ie a specific \u201cchat window\u201d

\n+
\n+
Parameters:
\n+
    \n+
  • status (Optional[str]) \u2013 Arbitrary text, details of the status, eg: \u201cGone to fight capitalism\u201d

  • \n+
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+busy(status=None, last_seen=None)\u00b6
\n+

Send a \u201cbusy\u201d (ie, \u201cdnd\u201d) presence from this contact to the user,

\n+
\n+
Parameters:
\n+
    \n+
  • status (Optional[str]) \u2013 eg: \u201cTrying to make sense of XEP-0100\u201d

  • \n+
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+offline(status=None, last_seen=None)\u00b6
\n+

Send an \u201coffline\u201d presence from this contact to the user.

\n+
\n+
Parameters:
\n+
    \n+
  • status (Optional[str]) \u2013 eg: \u201cTrying to make sense of XEP-0100\u201d

  • \n+
  • last_seen (Optional[datetime.datetime]) \u2013 For XEP-0319

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+invite_to(muc, reason=None, password=None, **send_kwargs)\u00b6
\n+

Send an invitation to join a group (XEP-0249) from this XMPP Entity.

\n+
\n+
Parameters:
\n+
    \n+
  • muc (slidge.group.LegacyMUC) \u2013 the muc the user is invited to

  • \n+
  • reason (Optional[str]) \u2013 a text explaining why the user should join this muc

  • \n+
  • password (Optional[str]) \u2013 maybe this will make sense later? not sure

  • \n+
  • send_kwargs \u2013 additional kwargs to be passed to _send()\n+(internal use by slidge)

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+active(**kwargs)\u00b6
\n+

Send an \u201cactive\u201d chat state (XEP-0085) from this\n+XMPP Entity.

\n+
\n+\n+
\n+
\n+composing(**kwargs)\u00b6
\n+

Send a \u201ccomposing\u201d (ie \u201ctyping notification\u201d) chat state (XEP-0085)\n+from this XMPP Entity.

\n+
\n+\n+
\n+
\n+paused(**kwargs)\u00b6
\n+

Send a \u201cpaused\u201d (ie \u201ctyping paused notification\u201d) chat state\n+(XEP-0085) from this XMPP Entity.

\n+
\n+\n+
\n+
\n+inactive(**kwargs)\u00b6
\n+

Send an \u201cinactive\u201d (ie \u201ccontact has not interacted with the chat session\n+interface for an intermediate period of time\u201d) chat state (XEP-0085)\n+from this XMPP Entity.

\n+
\n+\n+
\n+
\n+gone(**kwargs)\u00b6
\n+

Send a \u201cgone\u201d (ie \u201ccontact has not interacted with the chat session interface,\n+system, or device for a relatively long period of time\u201d) chat state\n+(XEP-0085) from this XMPP Entity.

\n+
\n+\n+
\n+
\n+ack(legacy_msg_id, **kwargs)\u00b6
\n+

Send an \u201cacknowledged\u201d message marker (XEP-0333) from this XMPP Entity.

\n+
\n+
Parameters:
\n+

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n+
\n+
\n+
\n+\n+
\n+
\n+received(legacy_msg_id, **kwargs)\u00b6
\n+

Send a \u201creceived\u201d message marker (XEP-0333) from this XMPP Entity.\n+If called on a LegacyContact, also send a delivery receipt\n+marker (XEP-0184).

\n+
\n+
Parameters:
\n+

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n+
\n+
\n+
\n+\n+
\n+
\n+displayed(legacy_msg_id, **kwargs)\u00b6
\n+

Send a \u201cdisplayed\u201d message marker (XEP-0333) from this XMPP Entity.

\n+
\n+
Parameters:
\n+

legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message this marker refers to

\n+
\n+
\n+
\n+\n+
\n+
\n+async send_file(file_path=None, legacy_msg_id=None, *, async_data_stream=None, data_stream=None, data=None, file_url=None, file_name=None, content_type=None, reply_to=None, when=None, caption=None, legacy_file_id=None, thread=None, **kwargs)\u00b6
\n+

Send a single file from this XMPP Entity.

\n+
\n+
Parameters:
\n+
    \n+
  • file_path (Optional[Union[pathlib.Path, str]]) \u2013 Path to the attachment

  • \n+
  • async_data_stream (Optional[AsyncIterator[bytes]]) \u2013 Alternatively (and ideally) an AsyncIterator yielding bytes

  • \n+
  • data_stream (Optional[IO[bytes]]) \u2013 Alternatively, a stream of bytes (such as a File object)

  • \n+
  • data (Optional[bytes]) \u2013 Alternatively, a bytes object

  • \n+
  • file_url (Optional[str]) \u2013 Alternatively, a URL

  • \n+
  • file_name (Optional[str]) \u2013 How the file should be named.

  • \n+
  • content_type (Optional[str]) \u2013 MIME type, inferred from filename if not given

  • \n+
  • legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 If you want to be able to transport read markers from the gateway\n+user to the legacy network, specify this

  • \n+
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n+
  • when (Optional[datetime.datetime]) \u2013 when the file was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n+
  • caption (Optional[str]) \u2013 an optional text that is linked to the file

  • \n+
  • legacy_file_id (Optional[Union[str, int]]) \u2013 A unique identifier for the file on the legacy network.\n+Plugins should try their best to provide it, to avoid duplicates.

  • \n+
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n+
\n+
\n+
Return type:
\n+

tuple[Optional[str], list[slixmpp.Message]]

\n+
\n+
\n+
\n+\n+
\n+
\n+send_text(body, legacy_msg_id=None, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction=False, correction_event_id=None, link_previews=None, **send_kwargs)\u00b6
\n+

Send a text message from this XMPP Entity.

\n+
\n+
Parameters:
\n+
    \n+
  • body (str) \u2013 Content of the message

  • \n+
  • legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 If you want to be able to transport read markers from the gateway\n+user to the legacy network, specify this

  • \n+
  • when (Optional[datetime.datetime]) \u2013 when the message was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n+
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n+
  • hints (Optional[Iterable[slidge.util.types.ProcessingHint]])

  • \n+
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n+
  • carbon \u2013 (only used if called on a LegacyContact)\n+Set this to True if this is actually a message sent to the\n+LegacyContact by the User.\n+Use this to synchronize outgoing history for legacy official apps.

  • \n+
  • correction \u2013 whether this message is a correction or not

  • \n+
  • correction_event_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 in the case where an ID is associated with the legacy\n+\u2018correction event\u2019, specify it here to use it on the XMPP side. If not specified,\n+a random ID will be used.

  • \n+
  • link_previews (Optional[list[slidge.util.types.LinkPreview]]) \u2013 A little of sender (or server, or gateway)-generated\n+previews of URLs linked in the body.

  • \n+
  • archive_only \u2013 (only in groups) Do not send this message to user,\n+but store it in the archive. Meant to be used during MUC.backfill()

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+correct(legacy_msg_id, new_text, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction_event_id=None, link_previews=None, **send_kwargs)\u00b6
\n+

Modify a message that was previously sent by this XMPP Entity.

\n+

Uses last message correction (XEP-0308)

\n+
\n+
Parameters:
\n+
    \n+
  • new_text (str) \u2013 New content of the message

  • \n+
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The legacy message ID of the message to correct

  • \n+
  • when (Optional[datetime.datetime]) \u2013 when the message was sent, for a \u201cdelay\u201d tag (XEP-0203)

  • \n+
  • reply_to (Optional[slidge.util.types.MessageReference]) \u2013 Quote another message (XEP-0461)

  • \n+
  • hints (Optional[Iterable[slidge.util.types.ProcessingHint]])

  • \n+
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n+
  • carbon \u2013 (only in 1:1) Reflect a message sent to this Contact by the user.\n+Use this to synchronize outgoing history for legacy official apps.

  • \n+
  • archive_only \u2013 (only in groups) Do not send this message to user,\n+but store it in the archive. Meant to be used during MUC.backfill()

  • \n+
  • correction_event_id (Optional[slidge.util.types.LegacyMessageType]) \u2013 in the case where an ID is associated with the legacy\n+\u2018correction event\u2019, specify it here to use it on the XMPP side. If not specified,\n+a random ID will be used.

  • \n+
  • link_previews (Optional[list[slidge.util.types.LinkPreview]]) \u2013 A little of sender (or server, or gateway)-generated\n+previews of URLs linked in the body.

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+react(legacy_msg_id, emojis=(), thread=None, **kwargs)\u00b6
\n+

Send a reaction (XEP-0444) from this XMPP Entity.

\n+
\n+
Parameters:
\n+
    \n+
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 The message which the reaction refers to.

  • \n+
  • emojis (Iterable[str]) \u2013 An iterable of emojis used as reactions

  • \n+
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n+
\n+
\n+
\n+
\n+\n+
\n+
\n+retract(legacy_msg_id, thread=None, **kwargs)\u00b6
\n+

Send a message retraction (XEP-0424) from this XMPP Entity.

\n+
\n+
Parameters:
\n+
    \n+
  • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Legacy ID of the message to delete

  • \n+
  • thread (Optional[slidge.util.types.LegacyThreadType])

  • \n+
\n+
\n+
\n+
\n+\n \n \n
\n
\n class slidge.group.LegacyMUC(session, legacy_id, jid)\u00b6
\n

A room, a.k.a. a Multi-User Chat.

\n

MUC instances are obtained by calling slidge.group.bookmarks.LegacyBookmarks()\n@@ -759,15 +1040,15 @@\n the XMPP client, there is no guarantee that this is valid or\n correct.

\n \n
\n
Returns:
\n

A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively, None, if\n-LegacyMUC.set_avatar() is meant to be awaited somewhere else.

\n+LegacyMUC.set_avatar() is meant to be awaited somewhere else.

\n
\n
Return type:
\n

Optional[Union[int, str]]

\n
\n
\n \n \n@@ -895,14 +1176,83 @@\n \n
Return type:
\n

None

\n
\n \n \n \n+
\n+
\n+property avatar_id: slidge.util.types.AvatarIdType | None\u00b6
\n+

The unique ID of this entity\u2019s avatar.

\n+
\n+
Return type:
\n+

Optional[slidge.util.types.AvatarIdType]

\n+
\n+
\n+
\n+\n+
\n+
\n+property avatar: slidge.util.types.AvatarIdType | None\u00b6
\n+

This property can be used to set the avatar, but\n+set_avatar() should be preferred because you can\n+provide a unique ID for the avatar for efficient caching.\n+Setting this is OKish in case the avatar type is a URL or a local path\n+that can act as a legacy ID.

\n+

Python\u2019s property is abused here to maintain backwards\n+compatibility, but when getting it you actually get the avatar legacy\n+ID.

\n+
\n+
Return type:
\n+

Optional[slidge.util.types.AvatarIdType]

\n+
\n+
\n+
\n+\n+
\n+
\n+async set_avatar(a, avatar_unique_id=None, delete=False, blocking=False, cancel=True)\u00b6
\n+

Set an avatar for this entity

\n+
\n+
Parameters:
\n+
    \n+
  • a (Optional[slidge.util.types.AvatarType]) \u2013 The avatar, in one of the types slidge supports

  • \n+
  • avatar_unique_id (Optional[slidge.util.types.LegacyFileIdType]) \u2013 A globally unique ID for the avatar on the\n+legacy network

  • \n+
  • delete (bool) \u2013 If the avatar is provided as a Path, whether to delete\n+it once used or not.

  • \n+
  • blocking \u2013 Internal use by slidge for tests, do not use!

  • \n+
  • cancel \u2013 Internal use by slidge, do not use!

  • \n+
\n+
\n+
Return type:
\n+

None

\n+
\n+
\n+
\n+\n+
\n+
\n+async available_emojis(legacy_msg_id=None)\u00b6
\n+

Override this to restrict the subset of reactions this recipient\n+can handle.

\n+
\n+
Returns:
\n+

A set of emojis or None if any emoji is allowed

\n+
\n+
Parameters:
\n+

legacy_msg_id (Optional[slidge.util.types.LegacyMessageType])

\n+
\n+
Return type:
\n+

Optional[set[str]]

\n+
\n+
\n+
\n+\n \n \n \n \n \n \n \n@@ -976,14 +1326,33 @@\n \n \n
  • LegacyParticipant\n
  • \n
  • LegacyMUC\n
  • \n \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -128,14 +128,211 @@\n Call this when the participant is kicked from the room\n Parameters:\n r\bre\bea\bas\bso\bon\bn (_\bs\bs_\bt\bt_\br\br |\b| N\bNo\bon\bne\be)\n ban(r\bre\bea\bas\bso\bon\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n Call this when the participant is banned from the room\n Parameters:\n r\bre\bea\bas\bso\bon\bn (_\bs\bs_\bt\bt_\br\br |\b| N\bNo\bon\bne\be)\n+ online(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Send an \u201conline\u201d presence from this contact to the user.\n+ Parameters:\n+ * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n+ status, eg: \u201cListening to Britney Spears\u201d\n+ * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n+ away(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Send an \u201caway\u201d presence from this contact to the user.\n+ This is a global status, as opposed to LegacyContact.inactive()\n+ which concerns a specific conversation, ie a specific \u201cchat window\u201d\n+ Parameters:\n+ * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n+ status, eg: \u201cGone to fight capitalism\u201d\n+ * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n+ extended_away(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Send an \u201cextended away\u201d presence from this contact to the user.\n+ This is a global status, as opposed to LegacyContact.inactive()\n+ which concerns a specific conversation, ie a specific \u201cchat window\u201d\n+ Parameters:\n+ * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Arbitrary text, details of the\n+ status, eg: \u201cGone to fight capitalism\u201d\n+ * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n+ busy(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Send a \u201cbusy\u201d (ie, \u201cdnd\u201d) presence from this contact to the user,\n+ Parameters:\n+ * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 eg: \u201cTrying to make sense of\n+ XEP-0100\u201d\n+ * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n+ offline(s\bst\bta\bat\btu\bus\bs=\b=N\bNo\bon\bne\be, l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Send an \u201coffline\u201d presence from this contact to the user.\n+ Parameters:\n+ * s\bst\bta\bat\btu\bus\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 eg: \u201cTrying to make sense of\n+ XEP-0100\u201d\n+ * l\bla\bas\bst\bt_\b_s\bse\bee\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 For _\bX_\bE_\bP_\b-_\b0_\b3_\b1_\b9\n+ invite_to(m\bmu\buc\bc, r\bre\bea\bas\bso\bon\bn=\b=N\bNo\bon\bne\be, p\bpa\bas\bss\bsw\bwo\bor\brd\bd=\b=N\bNo\bon\bne\be, *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send an invitation to join a group (_\bX_\bE_\bP_\b-_\b0_\b2_\b4_\b9) from this _\bX_\bM_\bP_\bP\n+ _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ * m\bmu\buc\bc (_\bs\bs_\bl\bl_\bi\bi_\bd\bd_\bg\bg_\be\be_\b.\b._\bg\bg_\br\br_\bo\bo_\bu\bu_\bp\bp_\b.\b._\bL\bL_\be\be_\bg\bg_\ba\ba_\bc\bc_\by\by_\bM\bM_\bU\bU_\bC\bC) \u2013 the muc the user is\n+ invited to\n+ * r\bre\bea\bas\bso\bon\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 a text explaining why the user\n+ should join this muc\n+ * p\bpa\bas\bss\bsw\bwo\bor\brd\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 maybe this will make sense\n+ later? not sure\n+ * s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs \u2013 additional kwargs to be passed to _send()\n+ (internal use by slidge)\n+ active(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send an \u201cactive\u201d chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ composing(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a \u201ccomposing\u201d (ie \u201ctyping notification\u201d) chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5)\n+ from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ paused(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a \u201cpaused\u201d (ie \u201ctyping paused notification\u201d) chat state (_\bX_\bE_\bP_\b-\n+ _\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ inactive(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send an \u201cinactive\u201d (ie \u201ccontact has not interacted with the chat\n+ session interface for an intermediate period of time\u201d) chat state\n+ (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ gone(*\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a \u201cgone\u201d (ie \u201ccontact has not interacted with the chat session\n+ interface, system, or device for a relatively long period of time\u201d)\n+ chat state (_\bX_\bE_\bP_\b-_\b0_\b0_\b8_\b5) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ ack(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send an \u201cacknowledged\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP\n+ _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n+ message this marker refers to\n+ received(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a \u201creceived\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ If called on a LegacyContact, also send a delivery receipt marker\n+ (_\bX_\bE_\bP_\b-_\b0_\b1_\b8_\b4).\n+ Parameters:\n+ l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n+ message this marker refers to\n+ displayed(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a \u201cdisplayed\u201d message marker (_\bX_\bE_\bP_\b-_\b0_\b3_\b3_\b3) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013 The\n+ message this marker refers to\n+ a\bas\bsy\byn\bnc\bc send_file(f\bfi\bil\ble\be_\b_p\bpa\bat\bth\bh=\b=N\bNo\bon\bne\be, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be, *\b*,\n+ a\bas\bsy\byn\bnc\bc_\b_d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm=\b=N\bNo\bon\bne\be, d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm=\b=N\bNo\bon\bne\be, d\bda\bat\bta\ba=\b=N\bNo\bon\bne\be, f\bfi\bil\ble\be_\b_u\bur\brl\bl=\b=N\bNo\bon\bne\be,\n+ f\bfi\bil\ble\be_\b_n\bna\bam\bme\be=\b=N\bNo\bon\bne\be, c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be,\n+ c\bca\bap\bpt\bti\bio\bon\bn=\b=N\bNo\bon\bne\be, l\ble\beg\bga\bac\bcy\by_\b_f\bfi\bil\ble\be_\b_i\bid\bd=\b=N\bNo\bon\bne\be, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a single file from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ * f\bfi\bil\ble\be_\b_p\bpa\bat\bth\bh (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[U\bUn\bni\bio\bon\bn[\b[_\bp\bp_\ba\ba_\bt\bt_\bh\bh_\bl\bl_\bi\bi_\bb\bb_\b.\b._\bP\bP_\ba\ba_\bt\bt_\bh\bh,\b, _\bs\bs_\bt\bt_\br\br]\b]]\b]) \u2013 Path\n+ to the attachment\n+ * a\bas\bsy\byn\bnc\bc_\b_d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[A\bAs\bsy\byn\bnc\bcI\bIt\bte\ber\bra\bat\bto\bor\br[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]]\b]) \u2013\n+ Alternatively (and ideally) an AsyncIterator yielding\n+ bytes\n+ * d\bda\bat\bta\ba_\b_s\bst\btr\bre\bea\bam\bm (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIO\bO[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]]\b]) \u2013 Alternatively, a\n+ stream of bytes (such as a File object)\n+ * d\bda\bat\bta\ba (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bb\bb_\by\by_\bt\bt_\be\be_\bs\bs]\b]) \u2013 Alternatively, a bytes object\n+ * f\bfi\bil\ble\be_\b_u\bur\brl\bl (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 Alternatively, a URL\n+ * f\bfi\bil\ble\be_\b_n\bna\bam\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 How the file should be\n+ named.\n+ * c\bco\bon\bnt\bte\ben\bnt\bt_\b_t\bty\byp\bpe\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 MIME type, inferred from\n+ filename if not given\n+ * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 If you want to\n+ be able to transport read markers from the gateway user\n+ to the legacy network, specify this\n+ * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n+ \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n+ * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the file was\n+ sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n+ * c\bca\bap\bpt\bti\bio\bon\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 an optional text that is\n+ linked to the file\n+ * l\ble\beg\bga\bac\bcy\by_\b_f\bfi\bil\ble\be_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[U\bUn\bni\bio\bon\bn[\b[_\bs\bs_\bt\bt_\br\br,\b, _\bi\bi_\bn\bn_\bt\bt]\b]]\b]) \u2013 A unique\n+ identifier for the file on the legacy network. Plugins\n+ should try their best to provide it, to avoid\n+ duplicates.\n+ * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n+ Return type:\n+ _\bt_\bu_\bp_\bl_\be[Optional[_\bs_\bt_\br], _\bl_\bi_\bs_\bt[slixmpp.Message]]\n+ send_text(b\bbo\bod\bdy\by, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be, *\b*, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be,\n+ t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be, c\bca\bar\brb\bbo\bon\bn=\b=F\bFa\bal\bls\bse\be, a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be,\n+ c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn=\b=F\bFa\bal\bls\bse\be, c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs=\b=N\bNo\bon\bne\be,\n+ *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a text message from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ * b\bbo\bod\bdy\by (_\bs\bs_\bt\bt_\br\br) \u2013 Content of the message\n+ * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 If you want to\n+ be able to transport read markers from the gateway user\n+ to the legacy network, specify this\n+ * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the message\n+ was sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n+ * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n+ \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n+ * h\bhi\bin\bnt\bts\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIt\bte\ber\bra\bab\bbl\ble\be\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.P\bPr\bro\boc\bce\bes\bss\bsi\bin\bng\bgH\bHi\bin\bnt\bt]\b]]\b])\n+ * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n+ * c\bca\bar\brb\bbo\bon\bn \u2013 (only used if called on a LegacyContact) Set\n+ this to True if this is actually a message sent t\bto\bo the\n+ LegacyContact by the _\bU_\bs_\be_\br. Use this to synchronize\n+ outgoing history for legacy official apps.\n+ * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn \u2013 whether this message is a correction or\n+ not\n+ * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 in the case\n+ where an ID is associated with the legacy \u2018correction\n+ event\u2019, specify it here to use it on the XMPP side. If\n+ not specified, a random ID will be used.\n+ * l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bl\bl_\bi\bi_\bs\bs_\bt\bt\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLi\bin\bnk\bkP\bPr\bre\bev\bvi\bie\bew\bw]\b]]\b]) \u2013 A little of sender\n+ (or server, or gateway)-generated previews of URLs\n+ linked in the body.\n+ * a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by \u2013 (only in groups) Do not send this\n+ message to user, but store it in the archive. Meant to\n+ be used during MUC.backfill()\n+ correct(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, n\bne\bew\bw_\b_t\bte\bex\bxt\bt, *\b*, w\bwh\bhe\ben\bn=\b=N\bNo\bon\bne\be, r\bre\bep\bpl\bly\by_\b_t\bto\bo=\b=N\bNo\bon\bne\be,\n+ t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, h\bhi\bin\bnt\bts\bs=\b=N\bNo\bon\bne\be, c\bca\bar\brb\bbo\bon\bn=\b=F\bFa\bal\bls\bse\be, a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by=\b=F\bFa\bal\bls\bse\be,\n+ c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd=\b=N\bNo\bon\bne\be, l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs=\b=N\bNo\bon\bne\be, *\b**\b*s\bse\ben\bnd\bd_\b_k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Modify a message that was previously sent by this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Uses last message correction (_\bX_\bE_\bP_\b-_\b0_\b3_\b0_\b8)\n+ Parameters:\n+ * n\bne\bew\bw_\b_t\bte\bex\bxt\bt (_\bs\bs_\bt\bt_\br\br) \u2013 New content of the message\n+ * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n+ The legacy message ID of the message to correct\n+ * w\bwh\bhe\ben\bn (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be_\b.\b._\bd\bd_\ba\ba_\bt\bt_\be\be_\bt\bt_\bi\bi_\bm\bm_\be\be]\b]) \u2013 when the message\n+ was sent, for a \u201cdelay\u201d tag (_\bX_\bE_\bP_\b-_\b0_\b2_\b0_\b3)\n+ * r\bre\bep\bpl\bly\by_\b_t\bto\bo (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.M\bMe\bes\bss\bsa\bag\bge\beR\bRe\bef\bfe\ber\bre\ben\bnc\bce\be]\b])\n+ \u2013 Quote another message (_\bX_\bE_\bP_\b-_\b0_\b4_\b6_\b1)\n+ * h\bhi\bin\bnt\bts\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[I\bIt\bte\ber\bra\bab\bbl\ble\be\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.P\bPr\bro\boc\bce\bes\bss\bsi\bin\bng\bgH\bHi\bin\bnt\bt]\b]]\b])\n+ * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n+ * c\bca\bar\brb\bbo\bon\bn \u2013 (only in 1:1) Reflect a message sent to this\n+ Contact by the user. Use this to synchronize outgoing\n+ history for legacy official apps.\n+ * a\bar\brc\bch\bhi\biv\bve\be_\b_o\bon\bnl\bly\by \u2013 (only in groups) Do not send this\n+ message to user, but store it in the archive. Meant to\n+ be used during MUC.backfill()\n+ * c\bco\bor\brr\bre\bec\bct\bti\bio\bon\bn_\b_e\bev\bve\ben\bnt\bt_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b]) \u2013 in the case\n+ where an ID is associated with the legacy \u2018correction\n+ event\u2019, specify it here to use it on the XMPP side. If\n+ not specified, a random ID will be used.\n+ * l\bli\bin\bnk\bk_\b_p\bpr\bre\bev\bvi\bie\bew\bws\bs (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bl\bl_\bi\bi_\bs\bs_\bt\bt\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLi\bin\bnk\bkP\bPr\bre\bev\bvi\bie\bew\bw]\b]]\b]) \u2013 A little of sender\n+ (or server, or gateway)-generated previews of URLs\n+ linked in the body.\n+ react(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, e\bem\bmo\boj\bji\bis\bs=\b=(\b()\b), t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a reaction (_\bX_\bE_\bP_\b-_\b0_\b4_\b4_\b4) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n+ The message which the reaction refers to.\n+ * e\bem\bmo\boj\bji\bis\bs (I\bIt\bte\ber\bra\bab\bbl\ble\be[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 An iterable of emojis used as\n+ reactions\n+ * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n+ retract(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be, *\b**\b*k\bkw\bwa\bar\brg\bgs\bs)_\b\u00b6\n+ Send a message retraction (_\bX_\bE_\bP_\b-_\b0_\b4_\b2_\b4) from this _\bX_\bM_\bP_\bP_\b _\bE_\bn_\bt_\bi_\bt_\by.\n+ Parameters:\n+ * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n+ Legacy ID of the message to delete\n+ * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n c\bcl\bla\bas\bss\bs slidge.group.LegacyMUC(s\bse\bes\bss\bsi\bio\bon\bn, l\ble\beg\bga\bac\bcy\by_\b_i\bid\bd, j\bji\bid\bd)_\b\u00b6\n A room, a.k.a. a Multi-User Chat.\n MUC instances are obtained by calling\n slidge.group.bookmarks.LegacyBookmarks() on the user\u2019s\n slidge.core.session.BaseSession.\n Parameters:\n * s\bse\bes\bss\bsi\bio\bon\bn (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bor\bre\be.\b.s\bse\bes\bss\bsi\bio\bon\bn.\b.B\bBa\bas\bse\beS\bSe\bes\bss\bsi\bio\bon\bn)\n@@ -306,15 +503,15 @@\n meant to remove the avatar\n * m\bmi\bim\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 the mime type of the image.\n Since this is provided by the XMPP client, there is no\n guarantee that this is valid or correct.\n Returns:\n A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively,\n- None, if LegacyMUC.set_avatar() is meant to be awaited\n+ None, if _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b) is meant to be awaited\n somewhere else.\n Return type:\n Optional[Union[_\bi_\bn_\bt, _\bs_\bt_\br]]\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_set_affiliation(c\bco\bon\bnt\bta\bac\bct\bt, a\baf\bff\bfi\bil\bli\bia\bat\bti\bio\bon\bn, r\bre\bea\bas\bso\bon\bn, n\bni\bic\bck\bkn\bna\bam\bme\be)_\b\u00b6\n Async:\n Parameters:\n * c\bco\bon\bnt\bta\bac\bct\bt (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.L\bLe\beg\bga\bac\bcy\byC\bCo\bon\bnt\bta\bac\bct\bt)\n@@ -375,14 +572,53 @@\n Triggered when the user requests changing the room subject.\n The legacy module is responsible for updating subject of this\n instance.\n Parameters:\n s\bsu\bub\bbj\bje\bec\bct\bt (_\bs\bs_\bt\bt_\br\br) \u2013 The new subject for this room.\n Return type:\n None\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by avatar_id:\b: s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brI\bId\bdT\bTy\byp\bpe\be |\b| _\bN\bN_\bo\bo_\bn\bn_\be\be_\b\u00b6\n+ The unique ID of this entity\u2019s avatar.\n+ Return type:\n+ Optional[slidge.util.types.AvatarIdType]\n+ p\bpr\bro\bop\bpe\ber\brt\bty\by avatar:\b: s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brI\bId\bdT\bTy\byp\bpe\be |\b| _\bN\bN_\bo\bo_\bn\bn_\be\be_\b\u00b6\n+ This property can be used to set the avatar, but set_avatar()\n+ should be preferred because you can provide a unique ID for the\n+ avatar for efficient caching. Setting this is OKish in case the\n+ avatar type is a URL or a local path that can act as a legacy ID.\n+ Python\u2019s property is abused here to maintain backwards\n+ compatibility, but when getting it you actually get the avatar\n+ legacy ID.\n+ Return type:\n+ Optional[slidge.util.types.AvatarIdType]\n+ a\bas\bsy\byn\bnc\bc set_avatar(a\ba, a\bav\bva\bat\bta\bar\br_\b_u\bun\bni\biq\bqu\bue\be_\b_i\bid\bd=\b=N\bNo\bon\bne\be, d\bde\bel\ble\bet\bte\be=\b=F\bFa\bal\bls\bse\be,\n+ b\bbl\blo\boc\bck\bki\bin\bng\bg=\b=F\bFa\bal\bls\bse\be, c\bca\ban\bnc\bce\bel\bl=\b=T\bTr\bru\bue\be)_\b\u00b6\n+ Set an avatar for this entity\n+ Parameters:\n+ * a\ba (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.A\bAv\bva\bat\bta\bar\brT\bTy\byp\bpe\be]\b]) \u2013 The\n+ avatar, in one of the types slidge supports\n+ * a\bav\bva\bat\bta\bar\br_\b_u\bun\bni\biq\bqu\bue\be_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl\n+ [\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byF\bFi\bil\ble\beI\bId\bdT\bTy\byp\bpe\be]\b]) \u2013 A globally\n+ unique ID for the avatar on the legacy network\n+ * d\bde\bel\ble\bet\bte\be (_\bb\bb_\bo\bo_\bo\bo_\bl\bl) \u2013 If the avatar is provided as a Path,\n+ whether to delete it once used or not.\n+ * b\bbl\blo\boc\bck\bki\bin\bng\bg \u2013 Internal use by slidge for tests, do not\n+ use!\n+ * c\bca\ban\bnc\bce\bel\bl \u2013 Internal use by slidge, do not use!\n+ Return type:\n+ None\n+ a\bas\bsy\byn\bnc\bc available_emojis(l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd=\b=N\bNo\bon\bne\be)_\b\u00b6\n+ Override this to restrict the subset of reactions this recipient\n+ can handle.\n+ Returns:\n+ A set of emojis or None if any emoji is allowed\n+ Parameters:\n+ l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be]\b])\n+ Return type:\n+ Optional[_\bs_\be_\bt[_\bs_\bt_\br]]\n _\bN_\be_\bx_\bt\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bm_\ba_\bi_\bn\n _\bP_\br_\be_\bv_\bi_\bo_\bu_\bs\n _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt\n Copyright \u00a9 2024, Nicolas Cedilnik\n Made with _\bS_\bp_\bh_\bi_\bn_\bx and _\b@_\bp_\br_\ba_\bd_\by_\bu_\bn_\bs_\bg's _\bF_\bu_\br_\bo\n On this page\n@@ -399,14 +635,33 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\bf_\bi_\bl_\bl_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\br_\be_\bm_\bo_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bl_\be_\ba_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\ba_\bn_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bw_\ba_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\bu_\bs_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bg_\bo_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bk_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\ba_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bK_\bE_\bE_\bP_\b__\bB_\bA_\bC_\bK_\bF_\bI_\bL_\bL_\bE_\bD_\b__\bP_\bA_\bR_\bT_\bI_\bC_\bI_\bP_\bA_\bN_\bT_\bS\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bu_\bp_\bd_\ba_\bt_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)\n@@ -420,7 +675,11 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html", "unified_diff": "@@ -348,15 +348,15 @@\n
  • validate()

  • \n
  • validate_two_factor_code()

  • \n
  • get_qr_text()

  • \n
  • confirm_qr()

  • \n \n

    NB: Not all of these must be overridden, it depends on the\n REGISTRATION_TYPE.

    \n-

    The other methods, such as send_text() or react() are the same\n+

    The other methods, such as send_text() or react() are the same\n as those of LegacyContact and LegacyParticipant, because\n the component itself is also a \u201cmessaging actor\u201d, ie, an XMPP Entity.\n For these methods, you need to specify the JID of the recipient with the\n mto parameter.

    \n

    Since it inherits from slixmpp.componentxmpp.ComponentXMPP,you also\n have a hand on low-level XMPP interactions via slixmpp methods, e.g.:

    \n
    self.send_presence(\n@@ -1034,15 +1034,15 @@\n \n \n 

    Triggered when the user reads a message in a legacy chat. (XEP-0333)

    \n

    This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text()\n or\n-slidge.group.LegacyParticipant.send_text().

    \n+slidge.group.LegacyParticipant.send_text().

    \n
    \n
    Parameters:
    \n
      \n
    • chat (slidge.util.types.RecipientType) \u2013 See BaseSession.on_text()

    • \n
    • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Identifier of the message/

    • \n
    • thread (Optional[slidge.util.types.LegacyThreadType])

    • \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -496,15 +496,15 @@\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be)\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n Triggered when the user reads a message in a legacy chat. (_\bX_\bE_\bP_\b-\n _\b0_\b3_\b3_\b3)\n This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text() or\n- slidge.group.LegacyParticipant.send_text().\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b).\n Parameters:\n * c\bch\bha\bat\bt (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.R\bRe\bec\bci\bip\bpi\bie\ben\bnt\btT\bTy\byp\bpe\be) \u2013 See\n _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b._\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n Identifier of the message/\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_correct(c\bch\bha\bat\bt, t\bte\bex\bxt\bt, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b*, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be,\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html", "unified_diff": "@@ -648,15 +648,15 @@\n the XMPP client, there is no guarantee that this is valid or\n correct.

    \n \n
    \n
    Returns:
    \n

    A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively, None, if\n-LegacyMUC.set_avatar() is meant to be awaited somewhere else.

    \n+LegacyMUC.set_avatar() is meant to be awaited somewhere else.

    \n
    \n
    Return type:
    \n

    Optional[Union[int, str]]

    \n
    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -258,15 +258,15 @@\n meant to remove the avatar\n * m\bmi\bim\bme\be (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[_\bs\bs_\bt\bt_\br\br]\b]) \u2013 the mime type of the image.\n Since this is provided by the XMPP client, there is no\n guarantee that this is valid or correct.\n Returns:\n A unique avatar identifier, which will trigger\n slidge.group.room.LegacyMUC.set_avatar(). Alternatively,\n- None, if LegacyMUC.set_avatar() is meant to be awaited\n+ None, if _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b) is meant to be awaited\n somewhere else.\n Return type:\n Optional[Union[_\bi_\bn_\bt, _\bs_\bt_\br]]\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_set_affiliation(c\bco\bon\bnt\bta\bac\bct\bt, a\baf\bff\bfi\bil\bli\bia\bat\bti\bio\bon\bn, r\bre\bea\bas\bso\bon\bn, n\bni\bic\bck\bkn\bna\bam\bme\be)_\b\u00b6\n Async:\n Parameters:\n * c\bco\bon\bnt\bta\bac\bct\bt (s\bsl\bli\bid\bdg\bge\be.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.c\bco\bon\bnt\bta\bac\bct\bt.\b.L\bLe\beg\bga\bac\bcy\byC\bCo\bon\bnt\bta\bac\bct\bt)\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html", "unified_diff": "@@ -596,15 +596,15 @@\n \n \n

    Triggered when the user reads a message in a legacy chat. (XEP-0333)

    \n

    This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text()\n or\n-slidge.group.LegacyParticipant.send_text().

    \n+slidge.group.LegacyParticipant.send_text().

    \n
    \n
    Parameters:
    \n
      \n
    • chat (slidge.util.types.RecipientType) \u2013 See BaseSession.on_text()

    • \n
    • legacy_msg_id (slidge.util.types.LegacyMessageType) \u2013 Identifier of the message/

    • \n
    • thread (Optional[slidge.util.types.LegacyThreadType])

    • \n
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -239,15 +239,15 @@\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be)\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n Triggered when the user reads a message in a legacy chat. (_\bX_\bE_\bP_\b-\n _\b0_\b3_\b3_\b3)\n This is only possible if a valid legacy_msg_id was passed when\n transmitting a message from a legacy chat to the user, eg in\n slidge.contact.LegacyContact.send_text() or\n- slidge.group.LegacyParticipant.send_text().\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b).\n Parameters:\n * c\bch\bha\bat\bt (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.R\bRe\bec\bci\bip\bpi\bie\ben\bnt\btT\bTy\byp\bpe\be) \u2013 See\n _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b._\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)\n * l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd (s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byM\bMe\bes\bss\bsa\bag\bge\beT\bTy\byp\bpe\be) \u2013\n Identifier of the message/\n * t\bth\bhr\bre\bea\bad\bd (O\bOp\bpt\bti\bio\bon\bna\bal\bl[\b[s\bsl\bli\bid\bdg\bge\be.\b.u\but\bti\bil\bl.\b.t\bty\byp\bpe\bes\bs.\b.L\bLe\beg\bga\bac\bcy\byT\bTh\bhr\bre\bea\bad\bdT\bTy\byp\bpe\be]\b])\n a\bab\bbs\bst\btr\bra\bac\bct\bt on_correct(c\bch\bha\bat\bt, t\bte\bex\bxt\bt, l\ble\beg\bga\bac\bcy\by_\b_m\bms\bsg\bg_\b_i\bid\bd, *\b*, t\bth\bhr\bre\bea\bad\bd=\b=N\bNo\bon\bne\be,\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/genindex.html", "source2": "./usr/share/doc/python-slidge-doc/html/genindex.html", "unified_diff": "@@ -383,54 +383,74 @@\n
  • module\n
  • \n \n
  • accept_friend_request() (slidge.contact.LegacyContact method)\n
  • \n
  • ACCESS (slidge.command.Command attribute)\n
  • \n-
  • ack() (superduper.gateway.Gateway method)\n+
  • ack() (slidge.group.LegacyParticipant method)\n \n
  • \n-
  • active() (superduper.gateway.Gateway method)\n+
  • active() (slidge.group.LegacyParticipant method)\n \n
  • \n- \n- \n+ \n \n \n \n
    \n

    B

    \n \n@@ -451,30 +471,34 @@\n \n
  • backfill() (slidge.group.LegacyMUC method)\n \n
  • \n- \n- \n+ \n
    \n
    \n \n
    \n@@ -506,51 +530,55 @@\n \n \n
  • CommandAccess (class in slidge.command)\n
  • \n- \n- \n+ \n \n
    \n \n@@ -562,17 +590,19 @@\n \n \n \n \n \n \n \n@@ -587,16 +617,20 @@\n
  • module\n
  • \n \n \n \n \n \n \n
    \n

    F

    \n \n@@ -683,17 +717,19 @@\n
  • (slidge.command.FormField method)\n
  • \n
  • (slidge.command.SearchResult method)\n
  • \n
  • (slidge.command.TableResult method)\n
  • \n \n-
  • gone() (superduper.gateway.Gateway method)\n+
  • gone() (slidge.group.LegacyParticipant method)\n \n
  • \n
  • GROUP (slidge.group.MucType attribute)\n
  • \n \n
    \n@@ -731,17 +767,19 @@\n \n
    \n

    I

    \n \n \n
      \n-
    • invite_to() (superduper.gateway.Gateway method)\n+
    • invite_to() (slidge.group.LegacyParticipant method)\n \n
    • \n
    • items (slidge.command.SearchResult attribute)\n \n
        \n
      • (slidge.command.TableResult attribute)\n@@ -998,16 +1038,20 @@\n \n
        \n

        O

        \n \n \n
        \n
      • on_text() (slidge.BaseSession method)\n \n
      • \n-
      • online() (superduper.group.Participant method)\n+
      • online() (slidge.group.LegacyParticipant method)\n+\n+
      • \n
        \n
        \n \n
        \n

        P

        \n \n \n
          \n
        • private (slidge.command.FormField attribute)\n
        • \n@@ -1200,23 +1250,27 @@\n \n
          \n

          R

          \n \n \n
            \n+
          • SigTermInterrupt\n+
          • \n
          • SINGLE_STEP_FORM (slidge.command.register.RegistrationType attribute)\n
          • \n
          • \n slidge\n \n
              \n
            • module\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -59,91 +59,98 @@\n * 29f5280c61aa_store_subject_setter_in_room * 8b993243a536_add_vcard_content_to_contact_table\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n * 2b1f45ab7379_store_room_subject_setter_by_nickname * 8d2ced764698_rely_on_db_to_store_contacts_rooms_and_\n o _\bm_\bo_\bd_\bu_\bl_\be o _\bm_\bo_\bd_\bu_\bl_\be\n * 3071e0fa69d4_add_contact_client_type\n o _\bm_\bo_\bd_\bu_\bl_\be\n *\b**\b**\b**\b**\b* A\bA *\b**\b**\b**\b**\b*\n- * aa9d82a7f6ef_db_creation * _\bA\bA_\bd\bd_\b-\b-_\bh\bh_\bo\bo_\bc\bc_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd\n- o _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)_\b \n- * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bd_\bd_\b__\bt_\bo_\b__\br_\bo_\bs_\bt_\be_\br_\b(_\b)_\b \n- * _\bA_\bC_\bC_\bE_\bS_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- * _\ba_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)_\b \n- * _\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * aa9d82a7f6ef_db_creation * _\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)_\b \n+ o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\ba_\bd_\bd_\b__\bt_\bo_\b__\br_\bo_\bs_\bt_\be_\br_\b(_\b)_\b \n+ * _\ba_\bc_\bc_\be_\bp_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bA_\bC_\bC_\bE_\bS_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)_\b \n+ * _\ba_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bA\bA_\bv\bv_\ba\ba_\bt\bt_\ba\ba_\br\br\n- * _\ba_\bv_\ba_\bt_\ba_\br_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n+ * _\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\ba_\bv_\ba_\bt_\ba_\br_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n+ * _\bA\bA_\bd\bd_\b-\b-_\bh\bh_\bo\bo_\bc\bc_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ * _\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- * _\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n- * _\bA_\bV_\bA_\bT_\bA_\bR_\b__\bI_\bD_\b__\bT_\bY_\bP_\bE_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n+ * _\bA_\bV_\bA_\bT_\bA_\bR_\b__\bI_\bD_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n * _\ba_\bw_\ba_\by_\b(_\b)_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* B\bB *\b**\b**\b**\b**\b*\n- * b33993e87db3_move_everything_to_persistent_db * _\bb_\ba_\bn_\b(_\b)_\b \n- o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * b64b1a793483_add_source_and_legacy_id_for_archived_ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\bm_\bo_\bd_\bu_\bl_\be o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n- * _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n- * _\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b)\n- * _\bb_\bu_\bs_\by_\b(_\b)_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * b33993e87db3_move_everything_to_persistent_db * _\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n+ * b64b1a793483_add_source_and_legacy_id_for_archived_ * _\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ o _\bm_\bo_\bd_\bu_\bl_\be _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b)\n+ * _\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bb_\bu_\bs_\by_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ * _\bb_\ba_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bb_\by_\b__\bl_\be_\bg_\ba_\bc_\by_\b__\bi_\bd_\b(_\b)_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bR_\bo_\bs_\bt_\be_\br\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* C\bC *\b**\b**\b**\b**\b*\n- * c4a8ec35a0e8_per_room_user_nick * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bA_\bV_\bA_\bT_\bA_\bR_\b \n- o _\bm_\bo_\bd_\bu_\bl_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC\bC_\ba\ba_\br\br_\bb\bb_\bo\bo_\bn\bn_\bs\bs o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- * _\bC_\bA_\bT_\bE_\bG_\bO_\bR_\bY_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bN_\bA_\bM_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b__\bN_\bO_\bN_\b__\bA_\bN_\bO_\bN_\bY_\bM_\bO_\bU_\bS_\b * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- * _\bC_\bH_\bA_\bT_\b__\bC_\bO_\bM_\bM_\bA_\bN_\bD_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd * _\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC\bC_\bh\bh_\ba\ba_\bt\bt_\bb\bb_\bo\bo_\bt\bt_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bA_\bc_\bc_\be_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b)\n- * _\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * c4a8ec35a0e8_per_room_user_nick * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bN_\bA_\bM_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ o _\bm_\bo_\bd_\bu_\bl_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bC\bC_\ba\ba_\br\br_\bb\bb_\bo\bo_\bn\bn_\bs\bs o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC_\bA_\bT_\bE_\bG_\bO_\bR_\bY_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bT_\bY_\bP_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC_\bH_\bA_\bN_\bN_\bE_\bL_\b__\bN_\bO_\bN_\b__\bA_\bN_\bO_\bN_\bY_\bM_\bO_\bU_\bS_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b \n+ * _\bC_\bH_\bA_\bT_\b__\bC_\bO_\bM_\bM_\bA_\bN_\bD_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC\bC_\bh\bh_\ba\ba_\bt\bt_\bb\bb_\bo\bo_\bt\bt_\b _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bc_\bl_\bi_\be_\bn_\bt_\b__\bt_\by_\bp_\be_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b) * _\bc_\bo_\bn_\bf_\bi_\br_\bm_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC\bC_\bo\bo_\bm\bm_\bm\bm_\ba\ba_\bn\bn_\bd\bd _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bC_\bo_\bm_\bm_\ba_\bn_\bd_\bA_\bc_\bc_\be_\bs_\bs_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) * _\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n+ * _\bC_\bO_\bM_\bP_\bO_\bN_\bE_\bN_\bT_\b__\bA_\bV_\bA_\bT_\bA_\bR_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* D\bD *\b**\b**\b**\b**\b*\n * _\bd_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn_\b * _\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* E\bE *\b**\b**\b**\b**\b*\n- * e91195719c2c_store_users_avatars_persistently * _\be_\bn_\bt_\br_\by_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be\n- o _\bm_\bo_\bd_\bu_\bl_\be _\bs_\bl_\bi_\bd_\bg_\be_\b)\n- * _\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ * e91195719c2c_store_users_avatars_persistently * _\be_\bn_\bt_\br_\by_\bp_\bo_\bi_\bn_\bt_\b(_\b)_\b _\b(_\bi_\bn_\b _\bm_\bo_\bd_\bu_\bl_\be_\b _\bs_\bl_\bi_\bd_\bg_\be_\b)\n+ o _\bm_\bo_\bd_\bu_\bl_\be * _\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* F\bF *\b**\b**\b**\b**\b*\n * _\bf_\be_\bt_\bc_\bh_\b__\bv_\bc_\ba_\br_\bd_\b(_\b)_\b * _\bf_\bi_\bl_\bl_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\bs_\b(_\b)_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n * _\bf_\bi_\be_\bl_\bd_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bF_\bo_\br_\bm_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b)\n o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt * _\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n@@ -164,23 +171,23 @@\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n * _\bg_\be_\bt_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt\n * _\bg_\be_\bt_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b__\bb_\by_\b__\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\bo_\bn_\be_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- * _\bg_\be_\bt_\b__\bq_\br_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bg_\be_\bt_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bg_\bo_\bn_\be_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bg_\be_\bt_\b__\bq_\br_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bg_\be_\bt_\b__\bs_\by_\bs_\bt_\be_\bm_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b * _\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bu_\bc_\bT_\by_\bp_\be\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* H\bH *\b**\b**\b**\b**\b*\n * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b * _\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n * _\bh_\ba_\bn_\bd_\bl_\be_\br_\b__\ba_\br_\bg_\bs_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n@@ -192,17 +199,20 @@\n * _\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* I\bI *\b**\b**\b**\b**\b*\n * _\bi_\bm_\ba_\bg_\be_\b__\bu_\br_\bl_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd * _\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ * _\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\bi_\bt_\be_\bm_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n * _\bi_\bn_\bp_\bu_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt\n o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n@@ -286,163 +296,172 @@\n o _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn\n *\b**\b**\b**\b**\b* N\bN *\b**\b**\b**\b**\b*\n * _\bN_\bA_\bM_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd * _\bn_\ba_\bm_\be_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bp_\br_\bo_\bp_\be_\br_\bt_\by_\b)\n * _\bN_\bO_\bD_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* O\bO *\b**\b**\b**\b**\b*\n- * _\bO\bO_\bf\bf_\bf\bf_\bi\bi_\bc\bc_\bi\bi_\ba\ba_\bl\bl_\b _\bC\bC_\bl\bl_\bi\bi_\be\be_\bn\bn_\bt\bt * _\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- * _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bl_\be_\ba_\bv_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bm_\bo_\bd_\be_\br_\ba_\bt_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC * _\bo_\bn_\b__\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b * _\bo_\bn_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b * _\bo_\bn_\b__\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b * _\bo_\bn_\b__\bs_\be_\ba_\br_\bc_\bh_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b * _\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\ba_\bc_\bc_\be_\bp_\bt_\b(_\b)_\b * _\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\bo_\bn_\b__\bs_\bt_\bi_\bc_\bk_\be_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- * _\bo_\bn_\b__\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)_\b \n- * _\bo_\bn_\b__\bi_\bn_\bv_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bO\bO_\bf\bf_\bf\bf_\bi\bi_\bc\bc_\bi\bi_\ba\ba_\bl\bl_\b _\bC\bC_\bl\bl_\bi\bi_\be\be_\bn\bn_\bt\bt * _\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n+ * _\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bl_\be_\ba_\bv_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bm_\bo_\bd_\be_\br_\ba_\bt_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bc_\br_\be_\ba_\bt_\be_\b__\bg_\br_\bo_\bu_\bp_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\ba_\br_\bc_\bh_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b \n+ * _\bo_\bn_\b__\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\bi_\bl_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\ba_\bc_\bc_\be_\bp_\bt_\b(_\b)_\b * _\bo_\bn_\b__\bs_\bt_\bi_\bc_\bk_\be_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\bd_\be_\bl_\be_\bt_\be_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt * _\bo_\bn_\b__\bt_\be_\bx_\bt_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)_\b \n+ * _\bo_\bn_\b__\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ * _\bo_\bn_\b__\bi_\bn_\bv_\bi_\bt_\ba_\bt_\bi_\bo_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* P\bP *\b**\b**\b**\b**\b*\n * _\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\bp_\br_\bi_\bv_\ba_\bt_\be_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n * _\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)_\b * _\bp_\br_\bo_\bm_\bp_\bt_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bP_\bR_\bO_\bP_\bE_\bR_\b__\bR_\bE_\bC_\bE_\bI_\bP_\bT_\bS_\b \n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\bP_\bR_\bO_\bP_\bE_\bR_\b__\bR_\bE_\bC_\bE_\bI_\bP_\bT_\bS_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* Q\bQ *\b**\b**\b**\b**\b*\n * _\bQ_\bR_\bC_\bO_\bD_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* R\bR *\b**\b**\b**\b**\b*\n * _\br_\ba_\bi_\bs_\be_\b__\bi_\bf_\b__\bn_\bo_\bt_\b__\ba_\bu_\bt_\bh_\bo_\br_\bi_\bz_\be_\bd_\b(_\b)_\b * _\br_\be_\bj_\be_\bc_\bt_\b__\bf_\br_\bi_\be_\bn_\bd_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n- * _\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b \n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\br_\be_\bm_\bo_\bv_\be_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b \n- _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n+ * _\br_\be_\ba_\bc_\bt_\b(_\b)_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt * _\br_\be_\bm_\bo_\bv_\be_\b(_\b)_\b \n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bm_\bo_\bv_\be_\b__\bp_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b(_\b)_\b \n+ * _\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\br_\be_\bq_\bu_\bi_\br_\be_\bd_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR_\bE_\bS_\bO_\bU_\bR_\bC_\bE_\b \n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bR_\bE_\bS_\bO_\bU_\bR_\bC_\bE_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bn_\bt_\ba_\bc_\bt_\b._\bL_\be_\bg_\ba_\bc_\by_\bC_\bo_\bn_\bt_\ba_\bc_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b * _\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR\bR_\bo\bo_\bs\bs_\bt\bt_\be\be_\br\br\n+ * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bT_\bY_\bP_\bE_\b * _\bR_\bO_\bS_\bT_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bR_\bE_\bG_\bI_\bS_\bT_\bR_\bA_\bT_\bI_\bO_\bN_\b__\bT_\bY_\bP_\bE_\b o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * _\bR\bR_\bo\bo_\bs\bs_\bt\bt_\be\be_\br\br\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bR_\bO_\bS_\bT_\bE_\bR_\b__\bG_\bR_\bO_\bU_\bP_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n- * _\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\br_\bu_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * _\br_\bu_\bn_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bm_\bm_\ba_\bn_\bd\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b) _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* S\bS *\b**\b**\b**\b**\b*\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * _\bS_\bI_\bN_\bG_\bL_\bE_\b__\bS_\bT_\bE_\bP_\b__\bF_\bO_\bR_\bM_\b \n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bF_\bI_\bE_\bL_\bD_\bS_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * _\bS_\bI_\bN_\bG_\bL_\bE_\b__\bS_\bT_\bE_\bP_\b__\bF_\bO_\bR_\bM_\b \n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b * slidge\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bT_\bI_\bT_\bL_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.command.register\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by * slidge.contact\n+ _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn * slidge.group\n+ _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)_\b * slidge.main\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\bm_\bo_\bd_\bu_\bl_\be\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bP_\bE_\bC_\bI_\bA_\bL_\b__\bM_\bS_\bG_\b__\bI_\bD_\b__\bP_\bR_\bE_\bF_\bI_\bX_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * slidge\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bI_\bN_\bS_\bT_\bR_\bU_\bC_\bT_\bI_\bO_\bN_\bS_\b o _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * slidge.command\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * slidge.command.register\n- * _\bS_\bE_\bA_\bR_\bC_\bH_\b__\bT_\bI_\bT_\bL_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by o _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * slidge.contact\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by o _\bm_\bo_\bd_\bu_\bl_\be\n- _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) * slidge.group\n- * _\bS_\be_\ba_\br_\bc_\bh_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn o _\bm_\bo_\bd_\bu_\bl_\be\n- _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) * slidge.main\n- * _\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)_\b o _\bm_\bo_\bd_\bu_\bl_\be\n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bP_\bE_\bC_\bI_\bA_\bL_\b__\bM_\bS_\bG_\b__\bI_\bD_\b__\bP_\bR_\bE_\bF_\bI_\bX_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bi_\bn_\bv_\bi_\bt_\be_\b(_\b)_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) * _\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bi_\bn_\bv_\bi_\bt_\be_\b(_\b)_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * _\bs_\bu_\bc_\bc_\be_\bs_\bs_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bC_\bo_\bn_\bf_\bi_\br_\bm_\ba_\bt_\bi_\bo_\bn\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bm_\be_\bs_\bs_\ba_\bg_\be_\b(_\b)_\b * superduper\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper.gateway\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bs_\bt_\ba_\bt_\bu_\bs_\b(_\b)_\b * superduper.gateway\n+ * _\bs_\be_\bn_\bd_\b__\bg_\ba_\bt_\be_\bw_\ba_\by_\b__\bs_\bt_\ba_\bt_\bu_\bs_\b(_\b)_\b * superduper.group\n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper.group\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn * superduper.session\n _\bm_\be_\bt_\bh_\bo_\bd_\b) o _\bm_\bo_\bd_\bu_\bl_\be\n- * _\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b * superduper.session\n- _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt o _\bm_\bo_\bd_\bu_\bl_\be\n+ * _\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bs_\be_\bn_\bd_\b__\bq_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b._\bS_\be_\bs_\bs_\bi_\bo_\bn\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)_\b \n- _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\ba_\bt_\be_\bw_\ba_\by_\b._\bG_\ba_\bt_\be_\bw_\ba_\by\n+ _\bm_\be_\bt_\bh_\bo_\bd_\b)\n o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n _\bm_\be_\bt_\bh_\bo_\bd_\b)\n * _\bS_\be_\bs_\bs_\bi_\bo_\bn_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn\n _\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bs_\be_\bs_\bs_\bi_\bo_\bn_\b)\n- * _\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC\n- _\bm_\be_\bt_\bh_\bo_\bd_\b)\n- * _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n+ * _\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)_\b \n+ _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bg_\br_\bo_\bu_\bp_\b._\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n+ o _\b(_\bs_\bu_\bp_\be_\br_\bd_\bu_\bp_\be_\br_\b._\bg_\br_\bo_\bu_\bp_\b._\bM_\bU_\bC_\b _\bm_\be_\bt_\bh_\bo_\bd_\b)\n *\b**\b**\b**\b**\b* T\bT *\b**\b**\b**\b**\b*\n * _\bT_\ba_\bb_\bl_\be_\bR_\be_\bs_\bu_\bl_\bt_\b _\b(_\bc_\bl_\ba_\bs_\bs_\b _\bi_\bn_\b _\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b) * _\bT_\bw_\bo_\bF_\ba_\bc_\bt_\bo_\br_\bN_\bo_\bt_\bR_\be_\bq_\bu_\bi_\br_\be_\bd\n * _\bT_\bW_\bO_\b__\bF_\bA_\bC_\bT_\bO_\bR_\b__\bC_\bO_\bD_\bE_\b * _\bt_\by_\bp_\be_\b \n _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b._\bR_\be_\bg_\bi_\bs_\bt_\br_\ba_\bt_\bi_\bo_\bn_\bT_\by_\bp_\be _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bc_\bo_\bm_\bm_\ba_\bn_\bd_\b._\bF_\bo_\br_\bm_\bF_\bi_\be_\bl_\bd\n _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b) _\ba_\bt_\bt_\br_\bi_\bb_\bu_\bt_\be_\b)\n *\b**\b**\b**\b**\b* U\bU *\b**\b**\b**\b**\b*\n * _\bu_\bn_\br_\be_\bg_\bi_\bs_\bt_\be_\br_\b(_\b)_\b _\b(_\bs_\bl_\bi_\bd_\bg_\be_\b._\bB_\ba_\bs_\be_\bG_\ba_\bt_\be_\bw_\ba_\by * _\bu_\bp_\bd_\ba_\bt_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)_\b \n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/index.html", "source2": "./usr/share/doc/python-slidge-doc/html/index.html", "unified_diff": "@@ -529,14 +529,33 @@\n
            \n
          • \n
          • LegacyParticipant\n
          • \n
          • LegacyMUC\n
          • \n
          \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -218,14 +218,33 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bB_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b._\br_\be_\bm_\bo_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bi_\bn_\bi_\bt_\bi_\ba_\bl_\b__\bp_\br_\be_\bs_\be_\bn_\bc_\be\n _\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bl_\be_\ba_\bv_\be_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\ba_\bn_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bn_\bl_\bi_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bw_\ba_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\be_\bx_\bt_\be_\bn_\bd_\be_\bd_\b__\ba_\bw_\ba_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bb_\bu_\bs_\by_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bo_\bf_\bf_\bl_\bi_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\bv_\bi_\bt_\be_\b__\bt_\bo_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\bm_\bp_\bo_\bs_\bi_\bn_\bg_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bp_\ba_\bu_\bs_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bi_\bn_\ba_\bc_\bt_\bi_\bv_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bg_\bo_\bn_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\ba_\bc_\bk_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bc_\be_\bi_\bv_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bd_\bi_\bs_\bp_\bl_\ba_\by_\be_\bd_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bf_\bi_\bl_\be_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bs_\be_\bn_\bd_\b__\bt_\be_\bx_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\bc_\bo_\br_\br_\be_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\ba_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bP_\ba_\br_\bt_\bi_\bc_\bi_\bp_\ba_\bn_\bt_\b._\br_\be_\bt_\br_\ba_\bc_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bS_\bT_\bA_\bB_\bL_\bE_\b__\bA_\bR_\bC_\bH_\bI_\bV_\bE\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bK_\bE_\bE_\bP_\b__\bB_\bA_\bC_\bK_\bF_\bI_\bL_\bL_\bE_\bD_\b__\bP_\bA_\bR_\bT_\bI_\bC_\bI_\bP_\bA_\bN_\bT_\bS\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bD_\bE_\bS_\bC_\bR_\bI_\bP_\bT_\bI_\bO_\bN\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bH_\bA_\bS_\b__\bS_\bU_\bB_\bJ_\bE_\bC_\bT\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bu_\bp_\bd_\ba_\bt_\be_\b__\bi_\bn_\bf_\bo_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bb_\ba_\bc_\bk_\bf_\bi_\bl_\bl_\b(_\b)\n@@ -240,14 +259,18 @@\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bd_\bd_\b__\bt_\bo_\b__\bb_\bo_\bo_\bk_\bm_\ba_\br_\bk_\bs_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\ba_\bf_\bf_\bi_\bl_\bi_\ba_\bt_\bi_\bo_\bn_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bk_\bi_\bc_\bk_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bc_\bo_\bn_\bf_\bi_\bg_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bd_\be_\bs_\bt_\br_\bo_\by_\b__\br_\be_\bq_\bu_\be_\bs_\bt_\b(_\b)\n # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bo_\bn_\b__\bs_\be_\bt_\b__\bs_\bu_\bb_\bj_\be_\bc_\bt_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br_\b__\bi_\bd\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bt_\ba_\br\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\bs_\be_\bt_\b__\ba_\bv_\ba_\bt_\ba_\br_\b(_\b)\n+ # _\bL_\be_\bg_\ba_\bc_\by_\bM_\bU_\bC_\b._\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b__\be_\bm_\bo_\bj_\bi_\bs_\b(_\b)\n # _\bS_\bu_\bb_\bm_\bo_\bd_\bu_\bl_\be_\bs\n # _\bs_\bl_\bi_\bd_\bg_\be_\b._\bm_\ba_\bi_\bn\n # _\bE_\bx_\bc_\be_\bp_\bt_\bi_\bo_\bn_\bs\n # _\bM_\bo_\bd_\bu_\bl_\be_\b _\bC_\bo_\bn_\bt_\be_\bn_\bt_\bs\n # _\bS_\bi_\bg_\bT_\be_\br_\bm_\bI_\bn_\bt_\be_\br_\br_\bu_\bp_\bt\n # _\bC_\bl_\ba_\bs_\bs_\be_\bs\n # _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/objects.inv", "source2": "./usr/share/doc/python-slidge-doc/html/objects.inv", "unified_diff": null, "details": [{"source1": "Sphinx inventory", "source2": "Sphinx inventory", "unified_diff": "@@ -154,34 +154,57 @@\n slidge.group.LegacyBookmarks.remove py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC py:class 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.HAS_DESCRIPTION py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.HAS_SUBJECT py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.KEEP_BACKFILLED_PARTICIPANTS py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.STABLE_ARCHIVE py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.add_to_bookmarks py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyMUC.available_emojis py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyMUC.avatar py:property 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyMUC.avatar_id py:property 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.backfill py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.fill_participants py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.get_participant py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.get_participant_by_contact py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.get_system_participant py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.get_user_participant py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.kick_resource py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_avatar py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_destroy_request py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_kick py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_set_affiliation py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_set_config py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.on_set_subject py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.remove_participant py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyMUC.set_avatar py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyMUC.update_info py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyParticipant py:class 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.ack py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.active py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.away py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyParticipant.ban py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.busy py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.composing py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.correct py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.displayed py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.extended_away py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.gone py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.inactive py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.invite_to py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyParticipant.kick py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyParticipant.leave py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.offline py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.online py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.paused py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.react py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.received py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.retract py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.send_file py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.LegacyParticipant.send_initial_presence py:method 1 dev/api/slidge/group/index.html#$ -\n+slidge.group.LegacyParticipant.send_text py:method 1 dev/api/slidge/group/index.html#$ -\n slidge.group.MucType py:class 1 dev/api/slidge/group/index.html#$ -\n slidge.group.MucType.CHANNEL py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.MucType.CHANNEL_NON_ANONYMOUS py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.group.MucType.GROUP py:attribute 1 dev/api/slidge/group/index.html#$ -\n slidge.main py:module 0 dev/api/slidge/main/index.html#module-$ -\n slidge.main.SigTermInterrupt py:exception 1 dev/api/slidge/main/index.html#$ -\n superduper py:module 0 dev/api/superduper/index.html#module-$ -\n"}]}, {"source1": "./usr/share/doc/python-slidge-doc/html/searchindex.js", "source2": "./usr/share/doc/python-slidge-doc/html/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -382,20 +382,26 @@\n ],\n \"accept_friend_request() (slidge.contact.legacycontact method)\": [\n [28, \"slidge.contact.LegacyContact.accept_friend_request\", false]\n ],\n \"access (slidge.command.command attribute)\": [\n [26, \"slidge.command.Command.ACCESS\", false]\n ],\n+ \"ack() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.ack\", false]\n+ ],\n \"ack() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.ack\", false]\n ],\n \"ack() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.ack\", false]\n ],\n+ \"active() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.active\", false]\n+ ],\n \"active() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.active\", false]\n ],\n \"active() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.active\", false]\n ],\n \"ad-hoc command\": [\n@@ -406,32 +412,44 @@\n ],\n \"add_to_bookmarks() (superduper.group.muc method)\": [\n [33, \"superduper.group.MUC.add_to_bookmarks\", false]\n ],\n \"add_to_roster() (slidge.contact.legacycontact method)\": [\n [28, \"slidge.contact.LegacyContact.add_to_roster\", false]\n ],\n+ \"available_emojis() (slidge.group.legacymuc method)\": [\n+ [29, \"slidge.group.LegacyMUC.available_emojis\", false]\n+ ],\n \"available_emojis() (superduper.group.muc method)\": [\n [33, \"superduper.group.MUC.available_emojis\", false]\n ],\n \"avatar\": [\n [41, \"term-Avatar\", true]\n ],\n+ \"avatar (slidge.group.legacymuc property)\": [\n+ [29, \"slidge.group.LegacyMUC.avatar\", false]\n+ ],\n \"avatar (superduper.group.muc property)\": [\n [33, \"superduper.group.MUC.avatar\", false]\n ],\n+ \"avatar_id (slidge.group.legacymuc property)\": [\n+ [29, \"slidge.group.LegacyMUC.avatar_id\", false]\n+ ],\n \"avatar_id (superduper.group.muc property)\": [\n [33, \"superduper.group.MUC.avatar_id\", false]\n ],\n \"avatar_id_type (slidge.basegateway attribute)\": [\n [30, \"slidge.BaseGateway.AVATAR_ID_TYPE\", false]\n ],\n \"avatar_id_type (superduper.gateway.gateway attribute)\": [\n [32, \"superduper.gateway.Gateway.AVATAR_ID_TYPE\", false]\n ],\n+ \"away() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.away\", false]\n+ ],\n \"away() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.away\", false]\n ],\n \"b33993e87db3_move_everything_to_persistent_db\": [\n [22, \"module-b33993e87db3_move_everything_to_persistent_db\", false]\n ],\n \"b64b1a793483_add_source_and_legacy_id_for_archived_\": [\n@@ -454,14 +472,17 @@\n ],\n \"basesession (class in slidge)\": [\n [30, \"slidge.BaseSession\", false]\n ],\n \"bookmarks (class in superduper.group)\": [\n [33, \"superduper.group.Bookmarks\", false]\n ],\n+ \"busy() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.busy\", false]\n+ ],\n \"busy() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.busy\", false]\n ],\n \"by_legacy_id() (slidge.contact.legacyroster method)\": [\n [28, \"slidge.contact.LegacyRoster.by_legacy_id\", false]\n ],\n \"c4a8ec35a0e8_per_room_user_nick\": [\n@@ -511,14 +532,17 @@\n ],\n \"component_type (slidge.basegateway attribute)\": [\n [30, \"slidge.BaseGateway.COMPONENT_TYPE\", false]\n ],\n \"component_type (superduper.gateway.gateway attribute)\": [\n [32, \"superduper.gateway.Gateway.COMPONENT_TYPE\", false]\n ],\n+ \"composing() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.composing\", false]\n+ ],\n \"composing() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.composing\", false]\n ],\n \"composing() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.composing\", false]\n ],\n \"confirm_qr() (slidge.basegateway method)\": [\n@@ -526,38 +550,47 @@\n ],\n \"confirm_qr() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.confirm_qr\", false]\n ],\n \"confirmation (class in slidge.command)\": [\n [26, \"slidge.command.Confirmation\", false]\n ],\n+ \"correct() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.correct\", false]\n+ ],\n \"correct() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.correct\", false]\n ],\n \"correct() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.correct\", false]\n ],\n \"description (slidge.command.searchresult attribute)\": [\n [26, \"slidge.command.SearchResult.description\", false]\n ],\n \"description (slidge.command.tableresult attribute)\": [\n [26, \"slidge.command.TableResult.description\", false]\n ],\n+ \"displayed() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.displayed\", false]\n+ ],\n \"displayed() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.displayed\", false]\n ],\n \"displayed() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.displayed\", false]\n ],\n \"e91195719c2c_store_users_avatars_persistently\": [\n [25, \"module-e91195719c2c_store_users_avatars_persistently\", false]\n ],\n \"entrypoint() (in module slidge)\": [\n [30, \"slidge.entrypoint\", false]\n ],\n+ \"extended_away() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.extended_away\", false]\n+ ],\n \"extended_away() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.extended_away\", false]\n ],\n \"fetch_vcard() (slidge.contact.legacycontact method)\": [\n [28, \"slidge.contact.LegacyContact.fetch_vcard\", false]\n ],\n \"fields (slidge.command.searchresult attribute)\": [\n@@ -637,14 +670,17 @@\n ],\n \"get_xml() (slidge.command.searchresult method)\": [\n [26, \"slidge.command.SearchResult.get_xml\", false]\n ],\n \"get_xml() (slidge.command.tableresult method)\": [\n [26, \"slidge.command.TableResult.get_xml\", false]\n ],\n+ \"gone() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.gone\", false]\n+ ],\n \"gone() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.gone\", false]\n ],\n \"gone() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.gone\", false]\n ],\n \"group (slidge.group.muctype attribute)\": [\n@@ -673,14 +709,17 @@\n ],\n \"help (slidge.command.command attribute)\": [\n [26, \"slidge.command.Command.HELP\", false]\n ],\n \"image_url (slidge.command.formfield attribute)\": [\n [26, \"slidge.command.FormField.image_url\", false]\n ],\n+ \"inactive() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.inactive\", false]\n+ ],\n \"inactive() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.inactive\", false]\n ],\n \"inactive() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.inactive\", false]\n ],\n \"input() (slidge.basegateway method)\": [\n@@ -691,14 +730,17 @@\n ],\n \"input() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.input\", false]\n ],\n \"input() (superduper.session.session method)\": [\n [35, \"superduper.session.Session.input\", false]\n ],\n+ \"invite_to() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.invite_to\", false]\n+ ],\n \"invite_to() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.invite_to\", false]\n ],\n \"invite_to() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.invite_to\", false]\n ],\n \"items (slidge.command.searchresult attribute)\": [\n@@ -873,14 +915,17 @@\n ],\n \"node (slidge.command.command attribute)\": [\n [26, \"slidge.command.Command.NODE\", false]\n ],\n \"official client\": [\n [41, \"term-Official-Client\", true]\n ],\n+ \"offline() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.offline\", false]\n+ ],\n \"offline() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.offline\", false]\n ],\n \"on_active() (slidge.basesession method)\": [\n [30, \"slidge.BaseSession.on_active\", false]\n ],\n \"on_active() (superduper.session.session method)\": [\n@@ -1029,20 +1074,26 @@\n ],\n \"on_text() (slidge.basesession method)\": [\n [30, \"slidge.BaseSession.on_text\", false]\n ],\n \"on_text() (superduper.session.session method)\": [\n [35, \"superduper.session.Session.on_text\", false]\n ],\n+ \"online() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.online\", false]\n+ ],\n \"online() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.online\", false]\n ],\n \"participant (class in superduper.group)\": [\n [33, \"superduper.group.Participant\", false]\n ],\n+ \"paused() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.paused\", false]\n+ ],\n \"paused() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.paused\", false]\n ],\n \"paused() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.paused\", false]\n ],\n \"private (slidge.command.formfield attribute)\": [\n@@ -1059,20 +1110,26 @@\n ],\n \"qrcode (slidge.command.register.registrationtype attribute)\": [\n [27, \"slidge.command.register.RegistrationType.QRCODE\", false]\n ],\n \"raise_if_not_authorized() (slidge.command.command method)\": [\n [26, \"slidge.command.Command.raise_if_not_authorized\", false]\n ],\n+ \"react() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.react\", false]\n+ ],\n \"react() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.react\", false]\n ],\n \"react() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.react\", false]\n ],\n+ \"received() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.received\", false]\n+ ],\n \"received() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.received\", false]\n ],\n \"received() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.received\", false]\n ],\n \"registration_fields (slidge.basegateway attribute)\": [\n@@ -1113,14 +1170,17 @@\n ],\n \"required (slidge.command.formfield attribute)\": [\n [26, \"slidge.command.FormField.required\", false]\n ],\n \"resource (slidge.contact.legacycontact attribute)\": [\n [28, \"slidge.contact.LegacyContact.RESOURCE\", false]\n ],\n+ \"retract() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.retract\", false]\n+ ],\n \"retract() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.retract\", false]\n ],\n \"retract() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.retract\", false]\n ],\n \"roster\": [\n@@ -1152,14 +1212,17 @@\n ],\n \"search_title (superduper.gateway.gateway attribute)\": [\n [32, \"superduper.gateway.Gateway.SEARCH_TITLE\", false]\n ],\n \"searchresult (class in slidge.command)\": [\n [26, \"slidge.command.SearchResult\", false]\n ],\n+ \"send_file() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.send_file\", false]\n+ ],\n \"send_file() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.send_file\", false]\n ],\n \"send_file() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.send_file\", false]\n ],\n \"send_gateway_invite() (slidge.basesession method)\": [\n@@ -1194,23 +1257,29 @@\n ],\n \"send_qr() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.send_qr\", false]\n ],\n \"send_qr() (superduper.session.session method)\": [\n [35, \"superduper.session.Session.send_qr\", false]\n ],\n+ \"send_text() (slidge.group.legacyparticipant method)\": [\n+ [29, \"slidge.group.LegacyParticipant.send_text\", false]\n+ ],\n \"send_text() (superduper.gateway.gateway method)\": [\n [32, \"superduper.gateway.Gateway.send_text\", false]\n ],\n \"send_text() (superduper.group.participant method)\": [\n [33, \"superduper.group.Participant.send_text\", false]\n ],\n \"session (class in superduper.session)\": [\n [35, \"superduper.session.Session\", false]\n ],\n+ \"set_avatar() (slidge.group.legacymuc method)\": [\n+ [29, \"slidge.group.LegacyMUC.set_avatar\", false]\n+ ],\n \"set_avatar() (superduper.group.muc method)\": [\n [33, \"superduper.group.MUC.set_avatar\", false]\n ],\n \"sigterminterrupt\": [\n [31, \"slidge.main.SigTermInterrupt\", false]\n ],\n \"single_step_form (slidge.command.register.registrationtype attribute)\": [\n@@ -1530,35 +1599,58 @@\n ],\n \"slidge.group.LegacyMUC\": [\n [29, 2, 1, \"\", \"HAS_DESCRIPTION\"],\n [29, 2, 1, \"\", \"HAS_SUBJECT\"],\n [29, 2, 1, \"\", \"KEEP_BACKFILLED_PARTICIPANTS\"],\n [29, 2, 1, \"\", \"STABLE_ARCHIVE\"],\n [29, 3, 1, \"\", \"add_to_bookmarks\"],\n+ [29, 3, 1, \"\", \"available_emojis\"],\n+ [29, 5, 1, \"\", \"avatar\"],\n+ [29, 5, 1, \"\", \"avatar_id\"],\n [29, 3, 1, \"\", \"backfill\"],\n [29, 3, 1, \"\", \"fill_participants\"],\n [29, 3, 1, \"\", \"get_participant\"],\n [29, 3, 1, \"\", \"get_participant_by_contact\"],\n [29, 3, 1, \"\", \"get_system_participant\"],\n [29, 3, 1, \"\", \"get_user_participant\"],\n [29, 3, 1, \"\", \"kick_resource\"],\n [29, 3, 1, \"\", \"on_avatar\"],\n [29, 3, 1, \"\", \"on_destroy_request\"],\n [29, 3, 1, \"\", \"on_kick\"],\n [29, 3, 1, \"\", \"on_set_affiliation\"],\n [29, 3, 1, \"\", \"on_set_config\"],\n [29, 3, 1, \"\", \"on_set_subject\"],\n [29, 3, 1, \"\", \"remove_participant\"],\n+ [29, 3, 1, \"\", \"set_avatar\"],\n [29, 3, 1, \"\", \"update_info\"]\n ],\n \"slidge.group.LegacyParticipant\": [\n+ [29, 3, 1, \"\", \"ack\"],\n+ [29, 3, 1, \"\", \"active\"],\n+ [29, 3, 1, \"\", \"away\"],\n [29, 3, 1, \"\", \"ban\"],\n+ [29, 3, 1, \"\", \"busy\"],\n+ [29, 3, 1, \"\", \"composing\"],\n+ [29, 3, 1, \"\", \"correct\"],\n+ [29, 3, 1, \"\", \"displayed\"],\n+ [29, 3, 1, \"\", \"extended_away\"],\n+ [29, 3, 1, \"\", \"gone\"],\n+ [29, 3, 1, \"\", \"inactive\"],\n+ [29, 3, 1, \"\", \"invite_to\"],\n [29, 3, 1, \"\", \"kick\"],\n [29, 3, 1, \"\", \"leave\"],\n- [29, 3, 1, \"\", \"send_initial_presence\"]\n+ [29, 3, 1, \"\", \"offline\"],\n+ [29, 3, 1, \"\", \"online\"],\n+ [29, 3, 1, \"\", \"paused\"],\n+ [29, 3, 1, \"\", \"react\"],\n+ [29, 3, 1, \"\", \"received\"],\n+ [29, 3, 1, \"\", \"retract\"],\n+ [29, 3, 1, \"\", \"send_file\"],\n+ [29, 3, 1, \"\", \"send_initial_presence\"],\n+ [29, 3, 1, \"\", \"send_text\"]\n ],\n \"slidge.group.MucType\": [\n [29, 2, 1, \"\", \"CHANNEL\"],\n [29, 2, 1, \"\", \"CHANNEL_NON_ANONYMOUS\"],\n [29, 2, 1, \"\", \"GROUP\"]\n ],\n \"slidge.main\": [\n@@ -1734,38 +1826,38 @@\n \"00\": [11, 13],\n \"0004\": [26, 30, 32],\n \"0045\": [8, 29, 33],\n \"0050\": [41, 43],\n \"0055\": [30, 32, 35, 44],\n \"0077\": [27, 30, 32, 35, 48],\n \"0084\": [30, 35],\n- \"0085\": [30, 32, 33, 35],\n+ \"0085\": [29, 30, 32, 33, 35],\n \"01\": [15, 17, 20, 25],\n- \"0100\": [30, 32, 33, 41],\n+ \"0100\": [29, 30, 32, 33, 41],\n \"0106\": [28, 29, 33],\n \"0114\": 5,\n- \"0184\": [30, 32, 33],\n+ \"0184\": [29, 30, 32, 33],\n \"02\": 18,\n- \"0203\": [32, 33],\n+ \"0203\": [29, 32, 33],\n \"020569\": 23,\n \"022088\": 19,\n \"022994\": 10,\n- \"0249\": [30, 32, 33, 35],\n+ \"0249\": [29, 30, 32, 33, 35],\n \"0280\": 41,\n- \"0308\": [30, 32, 33, 35],\n- \"0319\": 33,\n- \"0333\": [30, 32, 33, 35],\n+ \"0308\": [29, 30, 32, 33, 35],\n+ \"0319\": [29, 33],\n+ \"0333\": [29, 30, 32, 33, 35],\n \"0356\": [8, 28],\n \"0363\": [0, 4, 28, 30, 35],\n \"04\": 20,\n \"0402\": [8, 29, 33],\n- \"0424\": [30, 32, 33, 35],\n+ \"0424\": [29, 30, 32, 33, 35],\n \"0425\": [30, 35],\n- \"0444\": [30, 32, 33, 35],\n- \"0461\": [30, 32, 33, 35],\n+ \"0444\": [29, 30, 32, 33, 35],\n+ \"0461\": [29, 30, 32, 33, 35],\n \"05\": 17,\n \"06\": [10, 22, 23, 24, 25],\n \"07\": [9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24],\n \"073935\": 15,\n \"08\": [10, 11, 15, 19],\n \"09\": [12, 22],\n \"09f27f098baa\": [9, 24],\n@@ -1843,15 +1935,15 @@\n \"8d2ced764698\": [12, 19],\n \"984943\": 25,\n \"A\": [4, 6, 26, 28, 29, 30, 32, 33, 35, 41],\n \"As\": [2, 5, 42],\n \"At\": [0, 30, 35, 37],\n \"But\": [30, 32],\n \"By\": [2, 3, 28, 29, 30, 32, 33, 37, 40],\n- \"For\": [0, 1, 2, 3, 4, 7, 26, 30, 33, 36, 42, 43, 46, 47, 48],\n+ \"For\": [0, 1, 2, 3, 4, 7, 26, 29, 30, 33, 36, 42, 43, 46, 47, 48],\n \"If\": [1, 6, 8, 26, 28, 29, 30, 32, 33, 35, 36, 44],\n \"In\": [0, 3, 8, 28, 29, 33, 41, 48],\n \"It\": [2, 28, 29, 30, 32, 33, 35],\n \"No\": [4, 5, 42],\n \"Not\": [30, 35],\n \"OR\": 26,\n \"On\": 30,\n@@ -1861,41 +1953,41 @@\n \"These\": [4, 43, 45, 47, 48],\n \"To\": [0, 3, 5, 28, 29, 31, 33, 36, 40, 46, 48],\n \"Will\": [26, 30, 35],\n \"With\": [8, 39, 40, 42],\n \"__init__\": [26, 28, 40],\n \"__main__\": 30,\n \"_privileg\": 4,\n- \"_send\": [32, 33],\n+ \"_send\": [29, 32, 33],\n \"a_real_secret\": 3,\n \"aa9d82a7f6ef\": [20, 25],\n \"abba1ae0edb3\": [14, 21],\n- \"abl\": [32, 33, 37],\n+ \"abl\": [29, 32, 33, 37],\n \"about\": [0, 1, 5, 6, 28, 29, 33, 37, 42],\n \"abov\": 4,\n \"abstract\": [26, 29, 30, 32, 33, 35],\n- \"abus\": 33,\n+ \"abus\": [29, 33],\n \"accept\": [28, 36],\n \"accept_friend_request\": [28, 42],\n \"accept_subscript\": 28,\n \"access\": [0, 4, 26, 28, 30, 40, 42, 46],\n \"access_rul\": [4, 8],\n \"accomplish\": 28,\n \"accord\": [29, 30, 33, 35],\n \"account\": [0, 8, 30, 32, 35, 41, 45, 46, 48],\n \"achiev\": 3,\n- \"ack\": [30, 32, 33, 35, 42],\n- \"acknowledg\": [30, 32, 33, 35],\n+ \"ack\": [29, 30, 32, 33, 35, 42],\n+ \"acknowledg\": [29, 30, 32, 33, 35],\n \"acl\": [0, 4, 8],\n \"across\": [29, 33],\n- \"act\": [33, 45],\n+ \"act\": [29, 33, 45],\n \"action\": [8, 28, 29, 30, 33, 35, 41],\n- \"activ\": [8, 30, 32, 33, 35, 42, 46],\n+ \"activ\": [8, 29, 30, 32, 33, 35, 42, 46],\n \"actor\": 30,\n- \"actual\": [30, 32, 33, 40],\n+ \"actual\": [29, 30, 32, 33, 40],\n \"ad\": [4, 17, 26, 28, 30, 32, 40, 41, 43, 44, 48],\n \"adapt\": 3,\n \"add\": [0, 1, 3, 8, 9, 14, 15, 17, 18, 23, 28, 29, 30, 33, 35, 40, 44],\n \"add_event_handl\": 40,\n \"add_to_bookmark\": [29, 33, 42],\n \"add_to_rost\": [28, 30, 32, 42],\n \"addit\": [1, 4, 26, 28, 29, 30, 32, 33, 35, 43, 46],\n@@ -1918,76 +2010,76 @@\n \"also\": [3, 17, 28, 29, 30, 32, 33, 35, 36, 37, 40],\n \"altern\": [29, 32, 33, 45, 46],\n \"alwai\": [29, 30, 32, 33, 35, 48],\n \"amd64\": 6,\n \"among\": 40,\n \"an\": [0, 1, 2, 4, 5, 6, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 45, 48],\n \"android\": 41,\n- \"ani\": [0, 1, 3, 6, 26, 28, 30, 32, 33, 35, 41, 45],\n+ \"ani\": [0, 1, 3, 6, 26, 28, 29, 30, 32, 33, 35, 41, 45],\n \"announc\": [29, 33],\n \"anonym\": [29, 33],\n- \"anoth\": [9, 30, 31, 32, 33, 35, 39, 42],\n+ \"anoth\": [9, 29, 30, 31, 32, 33, 35, 39, 42],\n \"anotherexampl\": 30,\n \"anymor\": 28,\n \"anyth\": [26, 30, 41],\n \"anywai\": [29, 33],\n \"api\": [26, 28, 30, 40],\n \"app\": [4, 8, 29, 32, 33, 41],\n \"appear\": 28,\n \"appli\": [30, 35, 46],\n \"appropri\": [1, 8, 26, 28, 30, 35, 37],\n \"apt\": 3,\n \"ar\": [2, 3, 4, 6, 26, 28, 29, 30, 32, 33, 35, 40, 41, 43, 45, 46, 47, 48],\n- \"arbitrari\": [28, 30, 32, 33, 35],\n+ \"arbitrari\": [28, 29, 30, 32, 33, 35],\n \"archiv\": [23, 29, 32, 33],\n \"archive_onli\": [29, 32, 33],\n \"arg\": [2, 26, 28, 31],\n \"argument\": [2, 3, 26, 28, 30, 32, 37],\n \"arm64\": 6,\n \"around\": 30,\n \"artifact\": 6,\n \"aspect\": 30,\n \"aspir\": 32,\n \"assign\": [30, 32],\n \"associ\": [26, 29, 32, 33],\n \"assum\": [3, 29, 33],\n \"async\": [26, 28, 29, 30, 32, 33, 35, 40],\n- \"async_data_stream\": [32, 33],\n+ \"async_data_stream\": [29, 32, 33],\n \"asyncio\": [30, 35],\n \"asynciter\": [28, 29, 32, 33],\n- \"attach\": [2, 4, 5, 32, 33, 42],\n+ \"attach\": [2, 4, 5, 29, 32, 33, 42],\n \"attempt\": [28, 29, 30, 33, 35],\n \"attr\": [29, 33],\n \"attribut\": [9, 26, 28, 29, 30, 32, 33, 35, 37, 40],\n \"authent\": [1, 27],\n \"author\": [26, 30, 35],\n \"auto\": [3, 4, 29, 33],\n \"auto_join\": [29, 33],\n \"autom\": 45,\n \"automag\": [30, 32, 37, 40, 44],\n \"automat\": [3, 8, 26, 28, 29, 30, 31, 33, 35, 37],\n \"autoupd\": 3,\n \"avail\": [3, 6, 30, 31, 32, 35],\n- \"available_emoji\": [33, 42],\n+ \"available_emoji\": [29, 33, 42],\n \"avatar\": [21, 25, 28, 29, 30, 32, 33, 35, 37, 41, 42],\n- \"avatar_id\": [33, 42],\n+ \"avatar_id\": [29, 33, 42],\n \"avatar_id_typ\": [30, 32, 42],\n- \"avatar_unique_id\": 33,\n- \"avataridtyp\": 33,\n+ \"avatar_unique_id\": [29, 33],\n+ \"avataridtyp\": [29, 33],\n \"avatarmixin\": [28, 29, 33],\n- \"avatartyp\": [30, 33],\n+ \"avatartyp\": [29, 30, 33],\n \"avoid\": [3, 28, 29, 32, 33],\n- \"awai\": [30, 32, 33, 37, 42],\n+ \"awai\": [29, 30, 32, 33, 37, 42],\n \"await\": [28, 29, 30, 32, 33, 35, 37, 40],\n \"b\": 46,\n \"b33993e87db3\": [19, 22],\n \"b64b1a793483\": [16, 23],\n \"back\": [30, 32, 48],\n \"backfil\": [29, 32, 33, 42],\n- \"backward\": 33,\n+ \"backward\": [29, 33],\n \"ban\": [29, 33, 42],\n \"band\": 48,\n \"bare\": [30, 32],\n \"bare_jid\": [30, 32],\n \"base\": [26, 30, 31, 32, 40, 41],\n \"basegatewai\": [26, 27, 30, 32, 35, 37, 40, 42],\n \"basesess\": [26, 28, 29, 30, 32, 33, 35, 37, 40, 42],\n@@ -1998,65 +2090,65 @@\n \"becaus\": [1, 2, 8, 29, 30, 32, 33, 35, 40],\n \"becom\": [27, 31],\n \"been\": [3, 9, 17, 28, 29, 30, 32, 33, 37],\n \"befor\": [28, 29, 30, 33, 35],\n \"behaviour\": [30, 35],\n \"being\": 46,\n \"below\": [0, 1],\n- \"best\": [32, 33],\n+ \"best\": [29, 32, 33],\n \"beta\": 43,\n \"better\": 28,\n \"between\": [3, 37, 41],\n \"bin\": 3,\n \"bit\": [40, 41],\n \"black\": 36,\n \"bleed\": 6,\n- \"block\": [1, 8, 33],\n+ \"block\": [1, 8, 29, 33],\n \"blog\": 42,\n \"blue\": [30, 35],\n \"bob\": 15,\n- \"bodi\": [32, 33, 40],\n+ \"bodi\": [29, 32, 33, 40],\n \"bogu\": [10, 16],\n \"bookmark\": [8, 29, 33, 42],\n \"bookworm\": 6,\n- \"bool\": [26, 33],\n+ \"bool\": [26, 29, 33],\n \"boolean\": 2,\n \"both\": [4, 8, 41],\n \"box\": 0,\n \"break\": 45,\n \"bridg\": [4, 8, 30, 35],\n- \"britnei\": 33,\n+ \"britnei\": [29, 33],\n \"broken\": [4, 16],\n \"browser\": [36, 46],\n \"buddi\": 3,\n \"bug\": 28,\n \"build\": 6,\n \"built\": 6,\n \"bullsey\": 3,\n \"bunch\": 6,\n- \"busi\": [33, 42],\n+ \"busi\": [29, 33, 42],\n \"bust\": [30, 32],\n \"by_legacy_id\": [28, 29, 33, 40, 42],\n \"byte\": [29, 30, 32, 33, 35],\n \"bytes_\": [30, 35],\n \"c\": [2, 6, 29, 31, 33, 36],\n \"c4a8ec35a0e8\": [13, 24],\n \"ca\": 36,\n \"cach\": [28, 29, 33, 36],\n \"call\": [28, 29, 30, 32, 33, 35, 37, 40, 41],\n \"callabl\": [30, 32],\n \"callback\": 40,\n \"can\": [0, 1, 2, 3, 6, 8, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 40, 41, 43, 44, 45, 48],\n- \"cancel\": 33,\n+ \"cancel\": [29, 33],\n \"cannot\": [29, 33, 44],\n \"cap\": 11,\n- \"capit\": 33,\n+ \"capit\": [29, 33],\n \"caps_ver_bar\": 17,\n- \"caption\": [32, 33],\n- \"carbon\": [4, 28, 32, 33, 41],\n+ \"caption\": [29, 32, 33],\n+ \"carbon\": [4, 28, 29, 32, 33, 41],\n \"care\": 0,\n \"case\": [6, 26, 28, 29, 30, 32, 33, 35, 37, 46],\n \"categori\": [26, 28, 30, 32, 42],\n \"central\": 28,\n \"cert\": 36,\n \"certif\": 36,\n \"cf\": 28,\n@@ -2091,26 +2183,26 @@\n \"commandcategori\": 26,\n \"commandresponsetyp\": 26,\n \"comment\": 4,\n \"commit\": 9,\n \"common\": [3, 5, 30, 31, 32, 42],\n \"commonli\": [29, 30, 33],\n \"commun\": [5, 8, 41],\n- \"compat\": [27, 33],\n+ \"compat\": [27, 29, 33],\n \"complet\": [4, 29, 33],\n \"complex\": 36,\n \"compon\": [0, 1, 2, 3, 4, 5, 8, 30, 32, 35, 36, 41, 42, 43, 45, 48],\n \"component_avatar\": [30, 32, 42],\n \"component_nam\": [30, 32, 40, 42],\n \"component_secret\": [1, 4],\n \"component_typ\": [30, 32, 42],\n \"componentxmpp\": 30,\n- \"compos\": [32, 33, 36, 42],\n+ \"compos\": [29, 32, 33, 36, 42],\n \"con\": 0,\n- \"concern\": 33,\n+ \"concern\": [29, 33],\n \"conf\": [2, 3, 31],\n \"confer\": 42,\n \"config\": [0, 3, 4, 5, 8, 36, 42],\n \"configur\": [0, 1, 5, 29, 30, 31, 32, 33, 42, 46],\n \"confirm\": [26, 27, 28, 29, 30, 32, 33, 42],\n \"confirm_qr\": [27, 30, 32, 42],\n \"confirmationhandlertyp\": 26,\n@@ -2121,28 +2213,28 @@\n \"construct\": [29, 33],\n \"constructor\": 28,\n \"contact\": [8, 11, 14, 18, 19, 21, 26, 29, 30, 32, 33, 35, 39, 40, 41, 42, 45],\n \"contact_id\": 28,\n \"contain\": [1, 5, 6, 28, 30, 39, 42],\n \"container_nam\": 3,\n \"content\": [18, 39, 42],\n- \"content_typ\": [32, 33],\n+ \"content_typ\": [29, 32, 33],\n \"continu\": 30,\n \"contribut\": [1, 3, 39, 42],\n \"control\": 28,\n \"conveni\": [40, 46],\n \"convent\": [31, 41],\n- \"convers\": [28, 33, 45],\n+ \"convers\": [28, 29, 33, 45],\n \"convert\": [28, 30, 32, 35],\n \"cool\": 41,\n \"copi\": 0,\n \"core\": [26, 28, 29, 30, 33, 35],\n \"coroutin\": 37,\n \"correct\": [29, 30, 32, 33, 35, 42],\n- \"correction_event_id\": [32, 33],\n+ \"correction_event_id\": [29, 32, 33],\n \"correctli\": [29, 33],\n \"correspond\": [29, 33],\n \"could\": 40,\n \"cover\": [4, 28],\n \"cp\": 36,\n \"creat\": [3, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 35, 40],\n \"creation\": [20, 30, 35],\n@@ -2152,48 +2244,48 @@\n \"crucial\": 37,\n \"custom\": [28, 30, 32, 35, 37, 40],\n \"d\": [0, 2, 3, 4, 31],\n \"daemon\": [5, 6, 42],\n \"dai\": 0,\n \"dash\": 31,\n \"data\": [5, 26, 29, 30, 32, 33, 35, 36, 42],\n- \"data_stream\": [32, 33],\n+ \"data_stream\": [29, 32, 33],\n \"date\": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],\n- \"datetim\": [32, 33],\n+ \"datetim\": [29, 32, 33],\n \"db\": [11, 19, 20, 22, 28, 30, 32, 36],\n \"dbm\": 6,\n \"deactiv\": 8,\n \"debian\": [2, 5, 36, 42],\n \"debug\": 31,\n \"decid\": [29, 33],\n \"declar\": 30,\n \"dedic\": [3, 30, 35],\n \"deepli\": [30, 35],\n \"def\": 40,\n \"default\": [2, 3, 28, 29, 30, 32, 33, 35],\n \"defin\": [8, 26, 27, 28, 30, 32, 35, 36, 37],\n \"definit\": [30, 35],\n- \"delai\": [32, 33],\n+ \"delai\": [29, 32, 33],\n \"delet\": [0, 29, 32, 33],\n- \"deliveri\": [30, 32, 33],\n+ \"deliveri\": [29, 30, 32, 33],\n \"depend\": [30, 40, 45],\n \"depth\": 0,\n \"describ\": [3, 30, 32, 35],\n \"descript\": [26, 29, 33, 42],\n \"design\": [39, 42],\n \"desktop\": 41,\n \"destin\": 40,\n \"destruct\": [29, 33],\n \"detach\": 3,\n- \"detail\": [0, 6, 28, 30, 32, 33, 41],\n+ \"detail\": [0, 6, 28, 29, 30, 32, 33, 41],\n \"detect\": [37, 46],\n \"determin\": [30, 32],\n \"dev\": [31, 42],\n \"develop\": [39, 42],\n- \"devic\": [30, 32, 33],\n+ \"devic\": [29, 30, 32, 33],\n \"dialog\": [26, 30],\n \"dict\": [26, 30, 32, 35, 40],\n \"differ\": [1, 41, 48],\n \"dino\": 45,\n \"dir\": 31,\n \"dir1\": 2,\n \"dir2\": 2,\n@@ -2203,18 +2295,18 @@\n \"directori\": [0, 3],\n \"disco\": [28, 30, 32],\n \"discord\": [43, 45, 47, 48],\n \"discov\": [43, 48],\n \"discoveri\": [30, 32],\n \"discrimin\": 37,\n \"disk\": [29, 33],\n- \"displai\": [26, 30, 32, 33, 42],\n+ \"displai\": [26, 29, 30, 32, 33, 42],\n \"dissect\": 40,\n \"distro\": [3, 6],\n- \"dnd\": [30, 33, 35],\n+ \"dnd\": [29, 30, 33, 35],\n \"do\": [0, 1, 26, 28, 29, 30, 32, 33, 35, 40],\n \"doc\": [0, 1, 2, 5, 7, 43, 45, 47, 48],\n \"docker\": [3, 6, 36],\n \"dockerhub\": [5, 42],\n \"docroot\": [0, 4],\n \"document\": [0, 1, 3],\n \"doe\": [0, 1, 3, 4, 26, 29, 30, 32, 33, 42],\n@@ -2224,48 +2316,48 @@\n \"done\": [8, 28, 37, 41, 48],\n \"doubl\": 31,\n \"download\": 6,\n \"driver\": 3,\n \"drop\": 17,\n \"dude\": [30, 35],\n \"duper\": [3, 5, 36, 40],\n- \"duplic\": [32, 33],\n- \"dure\": [3, 32, 33, 36],\n+ \"duplic\": [29, 32, 33],\n+ \"dure\": [3, 29, 32, 33, 36],\n \"e\": [2, 3, 28, 29, 30, 33, 35],\n \"e91195719c2c\": [22, 25],\n \"each\": [1, 6, 26, 30, 35],\n \"earli\": [29, 33],\n \"easi\": [8, 46],\n \"easier\": 0,\n \"easiest\": [8, 36],\n \"easili\": 0,\n \"echo\": 3,\n \"edg\": 6,\n \"edit\": [2, 3, 29, 30, 33, 35],\n \"effect\": [28, 29, 30, 33, 40],\n- \"effici\": 33,\n+ \"effici\": [29, 33],\n \"eg\": [0, 1, 2, 4, 26, 27, 29, 30, 31, 32, 33, 35, 41],\n \"either\": [8, 26, 28, 30, 41, 43, 48],\n \"ejabberd\": [5, 42],\n \"ejabberd_http\": [0, 4],\n \"ejabberd_servic\": [1, 4],\n \"element\": [30, 35],\n \"els\": [29, 30, 32, 33],\n \"elsewher\": [29, 33],\n \"email\": 27,\n \"eman\": [29, 30, 33, 35],\n- \"emoji\": [8, 30, 32, 33, 35],\n+ \"emoji\": [8, 29, 30, 32, 33, 35],\n \"empti\": [0, 30, 35],\n \"enabl\": 3,\n \"encod\": [30, 35],\n \"enough\": 28,\n \"ensur\": [28, 29, 33],\n \"enter\": [30, 32],\n \"entir\": 1,\n- \"entiti\": [8, 26, 28, 30, 32, 33, 35, 37, 41],\n+ \"entiti\": [8, 26, 28, 29, 30, 32, 33, 35, 37, 41],\n \"entri\": [5, 26],\n \"entrypoint\": [30, 32, 37, 42],\n \"enum\": 27,\n \"env\": [2, 31],\n \"environ\": [31, 36],\n \"equival\": [30, 32],\n \"error\": [26, 29, 33],\n@@ -2281,19 +2373,19 @@\n \"examin\": 3,\n \"exampl\": [1, 3, 5, 8, 28, 29, 30, 31, 32, 33, 34, 35, 39, 41, 42, 45, 48],\n \"except\": [30, 32, 42],\n \"exist\": [26, 40],\n \"exit\": [6, 31],\n \"expect\": [30, 32],\n \"experi\": 8,\n- \"explain\": [1, 32, 33],\n+ \"explain\": [1, 29, 32, 33],\n \"export\": 3,\n \"expos\": 36,\n- \"extend\": [30, 32, 33],\n- \"extended_awai\": [33, 42],\n+ \"extend\": [29, 30, 32, 33],\n+ \"extended_awai\": [29, 33, 42],\n \"extens\": [3, 29, 33],\n \"extern\": 4,\n \"extra\": [30, 35],\n \"face\": 37,\n \"facebook\": [43, 45, 47, 48],\n \"fail\": 30,\n \"fake\": [32, 36, 40],\n@@ -2307,20 +2399,20 @@\n \"fetch\": [28, 29, 33, 39, 42],\n \"fetch_vcard\": [28, 42],\n \"few\": 45,\n \"fiction\": 5,\n \"field\": [26, 29, 30, 32, 33, 40, 42],\n \"field_typ\": 26,\n \"fieldtyp\": 26,\n- \"fight\": [33, 46],\n+ \"fight\": [29, 33, 46],\n \"file\": [2, 3, 4, 5, 28, 29, 30, 31, 32, 33, 35, 40, 42],\n- \"file_nam\": [32, 33],\n- \"file_path\": [32, 33],\n- \"file_url\": [32, 33],\n- \"filenam\": [32, 33],\n+ \"file_nam\": [29, 32, 33],\n+ \"file_path\": [29, 32, 33],\n+ \"file_url\": [29, 32, 33],\n+ \"filenam\": [29, 32, 33],\n \"fill\": [4, 26, 28, 29, 33, 39, 40, 42],\n \"fill_first\": [29, 33],\n \"fill_histori\": [29, 33],\n \"fill_particip\": [29, 33, 42],\n \"final\": [27, 30, 32],\n \"find\": [0, 42, 45],\n \"firefox\": 46,\n@@ -2356,15 +2448,15 @@\n \"further\": [39, 42],\n \"g\": [2, 3, 28, 29, 30, 33, 35],\n \"gajim\": [36, 42, 45],\n \"garden\": [4, 8],\n \"gatewai\": [1, 3, 8, 26, 28, 29, 30, 33, 34, 35, 36, 41, 42, 43, 48],\n \"gatewayus\": [26, 30, 32, 35, 40],\n \"gdbm\": 6,\n- \"gener\": [0, 3, 5, 28, 30, 32, 33, 35, 42, 43, 44, 45, 47, 48],\n+ \"gener\": [0, 3, 5, 28, 29, 30, 32, 33, 35, 42, 43, 44, 45, 47, 48],\n \"get\": [0, 4, 26, 29, 30, 32, 33, 35],\n \"get_form\": [26, 42],\n \"get_msg_xmpp_id_up_to\": [28, 42],\n \"get_particip\": [29, 33, 42],\n \"get_participant_by_contact\": [29, 33, 42],\n \"get_qr_text\": [27, 30, 32, 42],\n \"get_system_particip\": [29, 33, 42],\n@@ -2372,52 +2464,52 @@\n \"get_valu\": [26, 42],\n \"get_xml\": [26, 42],\n \"gib\": 0,\n \"git\": [6, 31],\n \"github\": 8,\n \"give\": 3,\n \"given\": [1, 26, 28, 29, 30, 32, 33, 35, 45],\n- \"global\": [30, 33, 35],\n+ \"global\": [29, 30, 33, 35],\n \"global_rout\": 4,\n \"glossari\": 42,\n \"gnu\": 6,\n \"go\": [8, 29, 33, 39, 42, 48],\n \"goe\": [30, 35],\n- \"gone\": [32, 33, 42],\n+ \"gone\": [29, 32, 33, 42],\n \"good\": [30, 35, 36, 40],\n \"great\": [32, 40],\n \"group\": [26, 30, 32, 34, 35, 39, 41, 42, 45],\n \"group_id\": [29, 33],\n \"guarante\": [29, 33],\n \"guess\": 44,\n \"guid\": 5,\n \"guidelin\": [39, 42],\n \"ha\": [0, 4, 28, 29, 30, 32, 33, 35, 41],\n \"hacki\": [30, 35],\n \"hand\": 30,\n \"handi\": 36,\n- \"handl\": [0, 2, 27, 30, 33],\n+ \"handl\": [0, 2, 27, 29, 30, 33],\n \"handler\": [26, 40, 42],\n \"handler_arg\": [26, 42],\n \"handler_kwarg\": [26, 42],\n \"happen\": [3, 27, 30, 32, 43],\n \"has_descript\": [29, 33, 42],\n \"has_subject\": [29, 33, 42],\n \"hash\": [25, 30, 35],\n \"hash_\": [30, 35],\n \"hasn\": 28,\n \"hat\": [29, 33],\n \"have\": [0, 3, 9, 17, 28, 29, 30, 33, 36, 37, 40, 44, 46, 48],\n \"header\": 26,\n \"height\": [30, 35],\n \"help\": [26, 29, 30, 32, 33, 42, 43],\n- \"here\": [0, 3, 6, 8, 28, 30, 32, 33, 40],\n+ \"here\": [0, 3, 6, 8, 28, 29, 30, 32, 33, 40],\n \"hierarchi\": 26,\n \"higher\": 30,\n- \"hint\": [32, 33],\n+ \"hint\": [29, 32, 33],\n \"histori\": [29, 32, 33, 41],\n \"history_fil\": 17,\n \"hoc\": [26, 41, 43, 48],\n \"hole\": [29, 33],\n \"holebound\": [29, 33],\n \"home\": [3, 31],\n \"home_dir\": 31,\n@@ -2447,73 +2539,73 @@\n \"human\": [3, 30, 35, 44],\n \"i\": [0, 1, 2, 3, 4, 6, 8, 9, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 48],\n \"id\": [3, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 32, 33, 35, 39, 40, 42],\n \"idea\": [30, 35],\n \"ideal\": [29, 32, 33],\n \"ident\": [28, 30, 35],\n \"identifi\": [28, 29, 30, 32, 33, 35],\n- \"ie\": [1, 28, 30, 32, 33, 35, 41, 43],\n+ \"ie\": [1, 28, 29, 30, 32, 33, 35, 41, 43],\n \"ifrom\": 26,\n \"igimonst\": 6,\n \"ignor\": [29, 33],\n \"im\": 8,\n \"imag\": [3, 26, 29, 30, 32, 33, 35],\n \"image_url\": [26, 42],\n \"immedi\": [29, 33],\n \"imperson\": 28,\n \"implement\": [26, 28, 29, 30, 32, 33, 35, 36],\n \"import\": [6, 26, 30, 37, 40],\n \"imposs\": 2,\n- \"inact\": [30, 32, 33, 35, 42],\n+ \"inact\": [29, 30, 32, 33, 35, 42],\n \"includ\": [8, 20, 28],\n \"incom\": [30, 32, 35, 40],\n \"incoming_legacy_messag\": 40,\n \"incomingmessageev\": 40,\n \"incorpor\": 28,\n \"independ\": 5,\n \"index\": 42,\n \"indic\": [29, 30, 33, 35],\n \"individu\": 1,\n \"inevit\": 3,\n- \"infer\": [28, 32, 33],\n+ \"infer\": [28, 29, 32, 33],\n \"info\": [0, 1, 26, 39, 42],\n \"inform\": [0, 6, 28, 29, 33, 37, 41],\n \"inherit\": 30,\n \"ini\": 31,\n \"initi\": 30,\n \"input\": [26, 30, 32, 35, 42],\n \"insert\": [30, 35],\n \"insid\": [3, 31],\n \"instal\": [5, 36, 42],\n \"instanc\": [3, 28, 29, 30, 32, 33, 35, 40, 45, 46],\n \"instanti\": [28, 29, 30, 32, 33, 35],\n \"instead\": [2, 29, 30, 32, 33],\n \"instruct\": [3, 6, 30, 32],\n \"int\": [29, 30, 32, 33, 35],\n- \"interact\": [3, 30, 32, 33, 41, 45],\n- \"interfac\": [26, 32, 33, 41, 46],\n- \"intermedi\": [32, 33],\n+ \"interact\": [3, 29, 30, 32, 33, 41, 45],\n+ \"interfac\": [26, 29, 32, 33, 41, 46],\n+ \"intermedi\": [29, 32, 33],\n \"intern\": [26, 28, 29, 32, 33],\n \"interpret\": [30, 35],\n \"invalid\": 37,\n \"invers\": 28,\n \"invit\": [29, 30, 32, 33, 35],\n \"invite\": [30, 35],\n- \"invite_to\": [32, 33, 42],\n+ \"invite_to\": [29, 32, 33, 42],\n \"involv\": 36,\n- \"io\": [3, 32, 33],\n+ \"io\": [3, 29, 32, 33],\n \"ip\": [1, 4, 46],\n \"iq\": [4, 8, 29, 30, 32, 33, 35],\n \"is_friend\": 28,\n \"is_system\": [29, 33],\n \"is_us\": [29, 33],\n \"ish\": 0,\n \"issu\": [8, 42],\n \"item\": [26, 29, 30, 31, 32, 33, 42],\n- \"iter\": [26, 30, 32, 33, 35],\n+ \"iter\": [26, 29, 30, 32, 33, 35],\n \"its\": [3, 5, 26, 28, 30, 35, 40],\n \"itself\": [29, 30, 33],\n \"jabber\": [4, 5, 8, 26, 30, 32, 35, 44],\n \"jid\": [0, 1, 3, 26, 27, 28, 29, 30, 32, 33, 36, 39, 40, 41, 42, 43, 44, 45],\n \"jid_usernam\": 28,\n \"jid_username_to_legacy_id\": [28, 29, 33, 37, 42],\n \"job\": 6,\n@@ -2531,108 +2623,108 @@\n \"kick_resourc\": [29, 33, 42],\n \"kindli\": 6,\n \"know\": [1, 29, 33],\n \"known\": [29, 33, 37],\n \"kwarg\": [28, 29, 30, 32, 33, 35, 40],\n \"label\": [3, 26, 42],\n \"last\": [1, 29, 32, 33],\n- \"last_seen\": 33,\n- \"later\": [30, 32, 33, 35],\n+ \"last_seen\": [29, 33],\n+ \"later\": [29, 30, 32, 33, 35],\n \"latest\": [3, 28, 30, 32],\n \"launch\": [2, 3, 6, 30, 31, 36, 37, 40],\n \"leav\": [29, 30, 33, 35, 42],\n \"left\": [29, 33],\n \"legaci\": [2, 4, 5, 6, 7, 8, 16, 21, 23, 26, 27, 28, 29, 30, 32, 33, 34, 35, 39, 41, 42, 43, 45, 46, 47, 48],\n \"legacy_contact_id_typ\": [30, 32, 42],\n \"legacy_data\": [30, 32],\n- \"legacy_file_id\": [32, 33],\n+ \"legacy_file_id\": [29, 32, 33],\n \"legacy_id\": [28, 29, 33, 37, 40, 42],\n \"legacy_id_to_jid_usernam\": [28, 29, 33, 37, 42],\n \"legacy_modul\": 37,\n \"legacy_module_data\": [30, 32],\n- \"legacy_msg_id\": [30, 32, 33, 35, 40],\n+ \"legacy_msg_id\": [29, 30, 32, 33, 35, 40],\n \"legacy_msg_id_typ\": [30, 32, 42],\n \"legacy_room_id_typ\": [30, 32, 42],\n \"legacy_to_xmpp_msg_id\": [30, 35, 42],\n \"legacybookmark\": [29, 33, 37, 42],\n \"legacycontact\": [28, 29, 30, 32, 33, 35, 37, 40, 41, 42],\n \"legacycontacttyp\": 28,\n- \"legacyfileidtyp\": 33,\n+ \"legacyfileidtyp\": [29, 33],\n \"legacygroupidtyp\": [29, 30, 33, 35],\n- \"legacymessagetyp\": [30, 32, 33, 35],\n+ \"legacymessagetyp\": [29, 30, 32, 33, 35],\n \"legacymuc\": [29, 30, 32, 33, 35, 37, 42],\n \"legacyparticip\": [29, 30, 35, 42],\n \"legacyparticipanttyp\": [29, 33],\n \"legacyrost\": [28, 37, 42],\n- \"legacythreadtyp\": [30, 32, 33, 35],\n+ \"legacythreadtyp\": [29, 30, 32, 33, 35],\n \"legacyuseridtyp\": 28,\n \"let\": [0, 3, 40],\n \"level\": [0, 26, 30, 35],\n \"lib\": [0, 3, 4, 40],\n \"librari\": 40,\n \"lift\": 16,\n \"like\": [0, 28, 29, 30, 33, 35, 36, 41, 44],\n \"limit\": [30, 32],\n \"line\": [0, 1, 3, 4],\n \"linger\": 3,\n- \"link\": [30, 32, 33, 35, 43, 45, 47, 48],\n- \"link_preview\": [30, 32, 33, 35],\n- \"linkpreview\": [30, 32, 33, 35],\n+ \"link\": [29, 30, 32, 33, 35, 43, 45, 47, 48],\n+ \"link_preview\": [29, 30, 32, 33, 35],\n+ \"linkpreview\": [29, 30, 32, 33, 35],\n \"list\": [0, 8, 26, 28, 29, 30, 32, 33, 35, 41, 43],\n- \"listen\": [0, 1, 4, 30, 33, 35],\n- \"littl\": [32, 33],\n+ \"listen\": [0, 1, 4, 29, 30, 33, 35],\n+ \"littl\": [29, 32, 33],\n \"ll\": 5,\n- \"local\": [0, 1, 4, 28, 33, 36, 39, 41, 42, 44],\n+ \"local\": [0, 1, 4, 28, 29, 33, 36, 39, 41, 42, 44],\n \"localhost\": [1, 3, 36],\n \"locat\": [0, 3],\n \"lock\": 45,\n \"log\": [2, 3, 30, 32, 35, 40, 45],\n \"logic\": [28, 29, 30, 33, 35],\n \"login\": [3, 27, 29, 30, 32, 33, 35, 36, 37, 42],\n \"loginctl\": 3,\n \"logout\": [30, 32, 35, 42],\n- \"long\": [1, 26, 31, 32, 33],\n+ \"long\": [1, 26, 29, 31, 32, 33],\n \"look\": [6, 28, 40],\n \"lot\": 36,\n \"low\": [30, 35, 42, 45],\n \"lua\": [1, 8],\n \"lucki\": 40,\n \"made\": 30,\n \"mai\": [0, 41, 43],\n \"main\": [30, 37, 42],\n- \"maintain\": [6, 33],\n+ \"maintain\": [6, 29, 33],\n \"make\": [0, 1, 3, 6, 8, 26, 28, 29, 30, 32, 33, 43, 48],\n \"mandatori\": [26, 28],\n \"mani\": 28,\n \"manual\": [0, 28],\n \"map\": [3, 28, 29, 30, 33, 37, 40],\n \"mark\": [28, 30, 32, 35],\n \"mark_all_messag\": [30, 32, 42],\n- \"marker\": [28, 32, 33],\n+ \"marker\": [28, 29, 32, 33],\n \"master\": [6, 31],\n \"match\": 43,\n \"matridg\": [2, 5, 7],\n \"matrix\": [43, 45, 47, 48],\n \"matteridg\": [2, 5, 7],\n \"mattermost\": [30, 35, 43, 45, 46, 47, 48],\n \"max\": 0,\n- \"mayb\": [28, 32, 33],\n+ \"mayb\": [28, 29, 32, 33],\n \"mean\": [29, 30, 32, 33, 35, 45],\n \"meant\": [4, 28, 29, 30, 32, 33],\n \"measur\": 45,\n \"mechan\": [3, 29, 30, 33, 35, 40],\n \"member\": [29, 30, 33, 35],\n \"mention\": [30, 35],\n \"menu\": 48,\n \"merge_resourc\": [30, 35],\n \"merged_resourc\": [30, 35],\n \"mess\": [2, 9, 36],\n \"messag\": [4, 8, 23, 26, 28, 29, 30, 32, 33, 35, 40, 41, 44, 45],\n \"message_ids_are_thread_id\": [30, 35, 42],\n- \"messagerefer\": [32, 33],\n+ \"messagerefer\": [29, 32, 33],\n \"messagetyp\": [30, 32],\n \"messeng\": [43, 45, 47, 48],\n \"messlidg\": [2, 5, 7],\n \"method\": [28, 29, 30, 32, 33, 35, 40],\n \"mib\": 0,\n \"might\": [0, 3, 8, 28, 30, 32, 48],\n \"migrat\": 20,\n@@ -2681,15 +2773,15 @@\n \"nb\": [30, 35, 36],\n \"necessari\": [27, 29, 33],\n \"necessarili\": [30, 35],\n \"need\": [0, 3, 4, 8, 28, 29, 30, 32, 33, 35, 37, 43],\n \"network\": [3, 5, 27, 28, 29, 30, 32, 33, 35, 40, 41, 43, 44, 45, 46, 47, 48],\n \"never\": [17, 28],\n \"new\": [3, 29, 30, 32, 33, 35, 40],\n- \"new_text\": [32, 33],\n+ \"new_text\": [29, 32, 33],\n \"newer\": 8,\n \"next\": 4,\n \"nginx\": [4, 5, 42],\n \"nick\": 24,\n \"nick_chang\": [29, 33],\n \"nicknam\": [13, 28, 29, 30, 33, 35],\n \"nicoco\": [6, 31, 42],\n@@ -2699,21 +2791,21 @@\n \"none\": [26, 28, 29, 30, 32, 33, 35, 46],\n \"normal\": [0, 45, 46],\n \"notabl\": [30, 32],\n \"note\": 4,\n \"notif\": [29, 32, 33],\n \"now\": [0, 3, 40, 41],\n \"number\": [29, 30, 32, 33, 44, 45],\n- \"object\": [30, 32, 33, 35],\n+ \"object\": [29, 30, 32, 33, 35],\n \"obtain\": [29, 33],\n \"off\": 2,\n \"offici\": [8, 27, 28, 29, 32, 33, 41],\n- \"offlin\": [30, 33, 35, 42],\n+ \"offlin\": [29, 30, 33, 35, 42],\n \"often\": [30, 44],\n- \"okish\": 33,\n+ \"okish\": [29, 33],\n \"old\": [0, 41],\n \"older\": 0,\n \"on_act\": [30, 35, 42],\n \"on_avatar\": [29, 30, 33, 35, 42],\n \"on_compos\": [30, 35, 42],\n \"on_correct\": [30, 35, 42],\n \"on_create_group\": [30, 35, 42],\n@@ -2740,25 +2832,25 @@\n \"on_text\": [30, 35, 42],\n \"onc\": [29, 30, 32, 33, 35],\n \"one\": [0, 29, 30, 32, 33, 35],\n \"onli\": [0, 8, 26, 27, 28, 29, 30, 32, 33, 35],\n \"onlin\": [29, 30, 33, 35, 42],\n \"open\": [30, 32],\n \"oper\": [28, 29, 33],\n- \"oppos\": 33,\n+ \"oppos\": [29, 33],\n \"opt\": 2,\n \"option\": [0, 1, 2, 3, 4, 5, 7, 26, 27, 28, 29, 30, 32, 33, 35],\n \"order\": [0, 28],\n \"org\": [0, 1, 3, 4, 8, 28, 30, 32, 40, 41, 45],\n \"other\": [0, 1, 3, 4, 8, 28, 30, 40, 42, 45],\n \"otherwis\": 30,\n \"our\": 40,\n \"out\": [0, 30, 35],\n \"outcast\": [29, 33],\n- \"outgo\": [4, 8, 32, 33, 41],\n+ \"outgo\": [4, 8, 29, 32, 33, 41],\n \"outsid\": [29, 33, 36],\n \"overlap\": 3,\n \"overrid\": [28, 29, 30, 32, 33, 35, 37, 40],\n \"overridden\": [28, 29, 30, 33, 35],\n \"overriden\": 30,\n \"overview\": 42,\n \"own\": [2, 5, 7, 28],\n@@ -2766,24 +2858,24 @@\n \"p\": [3, 29, 33, 36],\n \"packag\": [2, 5, 6, 39, 42],\n \"page\": [3, 42],\n \"paramet\": [26, 28, 29, 30, 32, 33, 35],\n \"pars\": 26,\n \"part\": [1, 4, 9, 28, 29, 33, 39, 40, 41, 42, 44],\n \"particip\": [19, 29, 30, 33, 35, 42],\n- \"pass\": [3, 26, 28, 30, 32, 33, 35, 36],\n- \"password\": [1, 4, 30, 32, 33, 35, 36, 40],\n- \"path\": [0, 2, 4, 30, 31, 32, 33],\n- \"pathlib\": [32, 33],\n- \"paus\": [30, 32, 33, 35, 42],\n+ \"pass\": [3, 26, 28, 29, 30, 32, 33, 35, 36],\n+ \"password\": [1, 4, 29, 30, 32, 33, 35, 36, 40],\n+ \"path\": [0, 2, 4, 29, 30, 31, 32, 33],\n+ \"pathlib\": [29, 32, 33],\n+ \"paus\": [29, 30, 32, 33, 35, 42],\n \"pc\": 28,\n \"pend\": [30, 32],\n \"per\": [0, 3, 24, 29, 30, 32, 33],\n \"perform\": [28, 30, 35],\n- \"period\": [32, 33],\n+ \"period\": [29, 32, 33],\n \"perman\": [29, 33],\n \"permiss\": 3,\n \"permit\": 32,\n \"persist\": [5, 22, 25, 29, 30, 32, 33, 42],\n \"pfrom\": 30,\n \"phone\": [30, 32, 44, 45],\n \"pictur\": 41,\n@@ -2799,33 +2891,33 @@\n \"popul\": 28,\n \"port\": [0, 1, 4, 36],\n \"posit\": 28,\n \"possibl\": [3, 28, 29, 30, 33, 35, 36],\n \"post\": 42,\n \"potenti\": [30, 35],\n \"pre\": [26, 39, 42],\n- \"prefer\": [33, 48],\n+ \"prefer\": [29, 33, 48],\n \"prefix\": [0, 31],\n \"presenc\": [28, 29, 30, 33, 35, 44],\n \"presence_id\": [29, 33],\n \"presenceshow\": [30, 35],\n \"present\": [26, 29, 30, 32, 33, 35, 43],\n \"preserv\": [29, 33],\n \"pretti\": [41, 46],\n \"prevent\": 46,\n- \"preview\": [30, 32, 33, 35],\n- \"previous\": [32, 33],\n+ \"preview\": [29, 30, 32, 33, 35],\n+ \"previous\": [29, 32, 33],\n \"privat\": [26, 29, 42],\n \"privileg\": [1, 4, 5, 29, 33, 42],\n \"privileged_ent\": [4, 8],\n \"pro\": 0,\n \"probabl\": [29, 33, 37],\n \"problem\": 45,\n \"process\": [1, 5, 30, 32],\n- \"processinghint\": [32, 33],\n+ \"processinghint\": [29, 32, 33],\n \"processon\": 8,\n \"profil\": [28, 36, 41, 42, 45],\n \"profound\": [30, 35],\n \"promot\": [29, 33],\n \"prompt\": [26, 30, 32, 35, 42],\n \"proper\": [29, 30, 32, 33, 37],\n \"proper_receipt\": [30, 32, 42],\n@@ -2846,76 +2938,76 @@\n \"push\": [6, 29, 33],\n \"put\": [31, 40],\n \"put_url\": [0, 4],\n \"py\": [26, 30, 40],\n \"pypi\": 6,\n \"pyproject\": 36,\n \"pytest\": 36,\n- \"python\": [33, 40, 42],\n+ \"python\": [29, 33, 40, 42],\n \"python3\": 6,\n \"qr\": [26, 27, 30, 32, 35],\n \"qrcode\": [27, 30, 32, 42],\n \"queri\": [28, 30, 35],\n- \"quot\": [30, 32, 33, 35],\n+ \"quot\": [29, 30, 32, 33, 35],\n \"quota\": 0,\n \"r\": [29, 33],\n \"rais\": [26, 27, 29, 30, 32, 33, 35, 37],\n \"raise_if_not_author\": [26, 42],\n \"raise_if_not_found\": [29, 33],\n- \"random\": [32, 33, 44],\n+ \"random\": [29, 32, 33, 44],\n \"rang\": 3,\n \"rather\": [4, 28],\n \"raver\": 6,\n \"re\": [4, 6, 29, 33],\n \"reach\": 45,\n- \"react\": [30, 32, 33, 35, 42],\n+ \"react\": [29, 30, 32, 33, 35, 42],\n \"reaction\": [8, 29, 30, 32, 33, 35],\n- \"read\": [0, 4, 8, 28, 30, 32, 33, 35],\n+ \"read\": [0, 4, 8, 28, 29, 30, 32, 33, 35],\n \"readabl\": [0, 30, 35, 44],\n \"readm\": 6,\n \"real\": [1, 30, 32],\n \"realist\": [29, 33],\n \"realli\": [29, 33, 40],\n \"reason\": [28, 29, 30, 32, 33, 35],\n \"rebas\": 9,\n- \"receipt\": [30, 32, 33],\n+ \"receipt\": [29, 30, 32, 33],\n \"receiv\": [0, 26, 27, 28, 29, 30, 32, 33, 35, 40, 42, 45],\n \"recent\": [29, 33],\n- \"recipi\": [30, 32, 33, 35, 40],\n+ \"recipi\": [29, 30, 32, 33, 35, 40],\n \"recipienttyp\": [30, 35],\n \"reciproc\": 28,\n \"recommend\": [0, 2, 3, 8, 28, 29, 30, 33, 35],\n \"red\": [30, 35],\n- \"refer\": [2, 5, 6, 7, 30, 32, 33, 35, 36, 40, 41],\n- \"reflect\": [8, 32, 33],\n+ \"refer\": [2, 5, 6, 7, 29, 30, 32, 33, 35, 36, 40, 41],\n+ \"reflect\": [8, 29, 32, 33],\n \"refus\": 28,\n \"regist\": [0, 26, 30, 32, 35, 36, 41, 42, 48],\n \"registr\": [27, 30, 32, 35, 40, 42, 44, 45],\n \"registrar\": [28, 30, 32],\n \"registration_field\": [27, 30, 32, 40, 42],\n \"registration_form\": [26, 30, 32, 40],\n \"registration_instruct\": [27, 30, 32, 42],\n \"registration_typ\": [30, 32, 42],\n \"registrationtyp\": [27, 30, 32, 42],\n \"regularli\": 0,\n \"reject_friend_request\": [28, 42],\n \"reject_subscript\": 28,\n- \"rel\": [32, 33],\n+ \"rel\": [29, 32, 33],\n \"relat\": [28, 29, 30],\n \"releas\": 6,\n \"relev\": 4,\n \"reli\": [19, 28],\n \"reload\": [3, 8, 36],\n \"remov\": [0, 3, 8, 10, 16, 28, 29, 30, 32, 33, 35, 42, 43],\n \"remove_particip\": [29, 33, 42],\n \"renam\": [29, 33],\n \"repeat\": 4,\n \"replac\": 1,\n \"repli\": [28, 30, 32, 35],\n- \"reply_to\": [30, 32, 33, 35],\n+ \"reply_to\": [29, 30, 32, 33, 35],\n \"reply_to_fallback_text\": [30, 35],\n \"reply_to_msg_id\": [30, 35],\n \"repo\": [6, 36],\n \"report\": 26,\n \"repres\": [26, 28, 29, 30, 33, 35, 37, 40, 41],\n \"request\": [0, 26, 28, 29, 30, 32, 33, 35, 41, 44],\n \"request_handl\": [0, 4],\n@@ -2923,17 +3015,17 @@\n \"resourc\": [0, 28, 29, 30, 33, 35, 42],\n \"resourcedict\": [30, 35],\n \"respect\": [30, 35],\n \"respond\": 28,\n \"respons\": [29, 30, 32, 33, 35],\n \"responsetyp\": 26,\n \"restart\": [8, 29, 33],\n- \"restrict\": [0, 30, 32, 33, 35],\n+ \"restrict\": [0, 29, 30, 32, 33, 35],\n \"result\": [26, 30, 32],\n- \"retract\": [8, 30, 32, 33, 35, 42],\n+ \"retract\": [8, 29, 30, 32, 33, 35, 42],\n \"retriev\": [26, 28, 29, 33, 40],\n \"return\": [6, 26, 28, 29, 30, 32, 33, 35],\n \"rev\": 16,\n \"revis\": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],\n \"right\": 40,\n \"rm\": 3,\n \"rock\": 8,\n@@ -2960,27 +3052,27 @@\n \"section\": [0, 4, 40],\n \"secur\": [45, 46],\n \"see\": [0, 1, 4, 6, 26, 27, 30, 32, 35, 40, 41, 45, 48],\n \"seen\": [30, 32],\n \"select\": [36, 48],\n \"self\": [26, 28, 29, 30, 33, 35, 36, 40],\n \"send\": [26, 28, 29, 30, 32, 33, 35, 40, 43, 45],\n- \"send_fil\": [30, 32, 33, 42],\n+ \"send_fil\": [29, 30, 32, 33, 42],\n \"send_gateway_invit\": [30, 35, 42],\n \"send_gateway_messag\": [30, 35, 42],\n \"send_gateway_statu\": [30, 35, 42],\n \"send_initial_pres\": [29, 33, 42],\n- \"send_kwarg\": [32, 33],\n+ \"send_kwarg\": [29, 32, 33],\n \"send_messag\": 40,\n \"send_pres\": 30,\n \"send_qr\": [27, 30, 32, 35, 42],\n- \"send_text\": [30, 32, 33, 35, 40, 42],\n+ \"send_text\": [29, 30, 32, 33, 35, 40, 42],\n \"send_xxxx\": [29, 33],\n- \"sender\": [30, 32, 33, 35, 40],\n- \"sens\": [32, 33],\n+ \"sender\": [29, 30, 32, 33, 35, 40],\n+ \"sens\": [29, 32, 33],\n \"sensit\": [26, 28],\n \"sent\": [8, 28, 29, 30, 32, 33, 35, 41],\n \"separ\": 3,\n \"sequenc\": [26, 28, 30, 32],\n \"seri\": 41,\n \"serialis\": [30, 32],\n \"serv\": [0, 40],\n@@ -3009,15 +3101,15 @@\n \"signal\": [43, 45, 46, 47, 48],\n \"signatur\": 40,\n \"signifi\": 28,\n \"sigterminterrupt\": [31, 42],\n \"similar\": [0, 40],\n \"simpl\": [30, 32],\n \"sinc\": [4, 29, 30, 32, 33, 36, 41, 44],\n- \"singl\": [0, 26, 28, 32, 33],\n+ \"singl\": [0, 26, 28, 29, 32, 33],\n \"single_step_form\": [27, 30, 42],\n \"singleton\": [28, 30, 35],\n \"size\": 0,\n \"skidg\": [2, 5, 7],\n \"skype\": [43, 45, 47, 48],\n \"sleamdg\": [2, 5, 7],\n \"slidcord\": [2, 5, 7],\n@@ -3046,104 +3138,104 @@\n \"somewher\": [29, 33],\n \"soon\": [2, 38],\n \"sophist\": [30, 32],\n \"sort\": [30, 35],\n \"sound\": 41,\n \"sourc\": 23,\n \"sourcehut\": 42,\n- \"spear\": 33,\n+ \"spear\": [29, 33],\n \"spec\": [30, 35],\n \"special_msg_id_prefix\": [30, 35, 42],\n \"specif\": [2, 3, 5, 7, 28, 29, 30, 31, 33, 35, 43, 45, 47, 48],\n- \"specifi\": [2, 30, 32, 33],\n+ \"specifi\": [2, 29, 30, 32, 33],\n \"spoke\": [29, 33],\n \"sql\": [30, 32],\n \"sr\": [6, 31, 42],\n \"ssh\": 46,\n \"stabil\": [29, 33],\n \"stable_arch\": [29, 33, 42],\n \"stanza\": [29, 30, 33, 35],\n \"start\": [0, 3, 8, 30, 32, 35, 40],\n \"startup\": [2, 3, 28, 29, 30, 33, 35],\n- \"state\": [8, 28, 30, 32, 33, 35],\n+ \"state\": [8, 28, 29, 30, 32, 33, 35],\n \"static\": [0, 30, 35],\n- \"statu\": [30, 33, 35],\n+ \"statu\": [29, 30, 33, 35],\n \"steam\": [43, 45, 47, 48],\n \"step\": [1, 27, 30],\n \"sticker\": [30, 35],\n \"still\": [30, 32],\n \"stop\": [3, 43],\n \"store\": [2, 11, 12, 13, 19, 21, 25, 29, 30, 32, 33],\n \"str\": [26, 28, 29, 30, 32, 33, 35, 40],\n- \"stream\": [32, 33, 36],\n+ \"stream\": [29, 32, 33, 36],\n \"strictli\": [29, 33],\n \"string\": [26, 28, 30, 32, 35],\n \"structur\": 26,\n \"stuff\": [26, 28, 30, 32, 36, 43],\n \"su\": 3,\n \"subclass\": [26, 28, 30, 35, 37, 40],\n \"subdomain\": [0, 1],\n \"subgid\": 3,\n \"subject\": [12, 13, 29, 33],\n \"submiss\": 26,\n \"submodul\": [39, 42],\n \"subpackag\": [39, 42],\n \"subscrib\": [28, 40, 44],\n \"subscript\": 26,\n- \"subset\": 33,\n+ \"subset\": [29, 33],\n \"subtl\": [29, 33],\n \"subuid\": 3,\n \"success\": [26, 29, 30, 33, 35, 42],\n \"successfulli\": [28, 30],\n \"sudo\": [3, 36],\n \"suggest\": [30, 35],\n \"summari\": [30, 35],\n \"super\": [3, 5, 36, 40],\n \"super_dup\": 40,\n \"superdup\": [0, 1, 2, 3, 4, 5, 8, 39, 40, 42],\n \"superdupercli\": 40,\n \"support\": [29, 30, 33, 35, 43, 44],\n- \"sure\": [0, 3, 6, 8, 26, 30, 32, 33, 43],\n+ \"sure\": [0, 3, 6, 8, 26, 29, 30, 32, 33, 43],\n \"surnam\": 44,\n \"sync\": [4, 41, 42, 45],\n- \"synchron\": [8, 32, 33],\n- \"system\": [3, 6, 32, 33],\n+ \"synchron\": [8, 29, 32, 33],\n+ \"system\": [3, 6, 29, 32, 33],\n \"systemctl\": 3,\n \"systemd\": [0, 2, 5, 6, 42],\n \"sysv\": 3,\n \"t\": [28, 29, 30, 32, 33, 35, 36, 40, 48],\n \"tabl\": [10, 16, 18, 21, 26],\n \"tableresult\": [26, 42],\n- \"tag\": [6, 32, 33],\n+ \"tag\": [6, 29, 32, 33],\n \"take\": [0, 28, 29, 33],\n \"taken\": 8,\n \"talk\": 5,\n \"target\": [30, 32],\n \"task\": [30, 35],\n \"telegram\": [1, 3, 41, 43, 45, 46, 47, 48],\n \"temporarili\": 3,\n \"term\": [28, 45],\n- \"test\": [3, 26, 33, 36],\n- \"text\": [26, 28, 30, 32, 33, 35, 40],\n+ \"test\": [3, 26, 29, 33, 36],\n+ \"text\": [26, 28, 29, 30, 32, 33, 35, 40],\n \"than\": [0, 30, 32],\n \"thank\": [30, 32],\n \"thei\": [3, 28, 29, 30, 32, 33, 41],\n \"them\": [26, 29, 33, 37, 43, 45],\n \"themselv\": 37,\n \"theori\": [29, 33],\n \"therefor\": 1,\n \"thi\": [0, 1, 2, 3, 4, 5, 6, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 40, 41, 43, 44, 45, 46, 48],\n \"thing\": [28, 40],\n \"those\": [28, 30, 32, 37],\n \"though\": 44,\n- \"thread\": [30, 32, 33, 35],\n+ \"thread\": [29, 30, 32, 33, 35],\n \"through\": [28, 30, 32, 36],\n \"thrown\": [30, 32],\n \"thu\": [29, 33],\n- \"time\": [30, 32, 33, 35, 44],\n+ \"time\": [29, 30, 32, 33, 35, 44],\n \"timer\": 0,\n \"titl\": [29, 30, 32, 33],\n \"tl\": [0, 4],\n \"tmp\": 36,\n \"todo\": 42,\n \"toler\": 46,\n \"toml\": 36,\n@@ -3154,22 +3246,22 @@\n \"tracker\": 42,\n \"traffic\": 46,\n \"transform\": 28,\n \"translat\": 28,\n \"translated_group_nam\": [30, 35],\n \"translated_user_nam\": [30, 35],\n \"transmit\": [28, 30, 35, 40],\n- \"transport\": [32, 33, 40],\n+ \"transport\": [29, 32, 33, 40],\n \"tree\": 31,\n \"tri\": [29, 33],\n \"trigger\": [26, 29, 30, 33, 35, 41, 44, 45],\n \"true\": [0, 2, 4, 8, 28, 29, 30, 31, 32, 33, 35],\n \"try\": [26, 29, 32, 33, 36, 44],\n \"tty\": 3,\n- \"tupl\": [32, 33],\n+ \"tupl\": [29, 32, 33],\n \"turn\": [2, 29, 30, 32, 33],\n \"tutori\": [39, 42],\n \"twice\": 28,\n \"two\": [0, 8],\n \"two_factor_cod\": [27, 30, 42],\n \"twofactornotrequir\": [27, 42],\n \"type\": [0, 26, 28, 29, 30, 32, 33, 35, 42, 45],\n@@ -3197,15 +3289,15 @@\n \"unsubscrib\": [28, 42],\n \"until\": [29, 33, 40],\n \"up\": [0, 1, 3, 4, 8, 9, 28, 29, 30, 33, 36, 46],\n \"updat\": [3, 28, 29, 33, 36, 37],\n \"update_info\": [28, 29, 33, 37, 42],\n \"upload\": [5, 6, 30, 35, 42],\n \"upon\": [30, 35],\n- \"url\": [0, 30, 32, 33, 35],\n+ \"url\": [0, 29, 30, 32, 33, 35],\n \"us\": [0, 1, 2, 3, 4, 5, 8, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48],\n \"usabl\": [30, 35],\n \"usag\": 0,\n \"user\": [0, 3, 8, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 40, 41, 42, 43, 47, 48],\n \"user_bare_jid\": [30, 32],\n \"user_jid\": [30, 32],\n \"user_stor\": 20,\n@@ -3258,15 +3350,15 @@\n \"which\": [0, 3, 6, 27, 28, 29, 30, 32, 33, 35, 36, 37, 48],\n \"while\": [3, 26, 29, 33],\n \"who\": [26, 41],\n \"whole\": [27, 30],\n \"whose\": [29, 30, 32, 33],\n \"why\": [29, 32, 33],\n \"width\": [30, 35],\n- \"window\": [30, 32, 33],\n+ \"window\": [29, 30, 32, 33],\n \"wise\": 28,\n \"within\": [29, 33],\n \"without\": [1, 30, 31, 35, 39, 40, 42],\n \"won\": [28, 30, 35, 48],\n \"word\": [26, 44],\n \"work\": [0, 1, 4, 8, 28, 30, 32, 40, 48],\n \"workaround\": [2, 29, 33, 36],\n"}]}]}]}]}]}