From 4f3ee124091b267ce4425530906f9c37dc81b653 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 22 Dec 2014 10:46:50 +0000 Subject: [PATCH 001/801] Proposal for human ID rules. Includes handling of namespaces for bots, handing of capitalisation, spoof checks and escape sequences. --- drafts/human-id-rules.rst | 141 ++++++++++++++++++++++++++------------ 1 file changed, 99 insertions(+), 42 deletions(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index 914a9a423..b31d188d6 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -1,5 +1,21 @@ This document outlines the format for human-readable IDs within matrix. +Summary +------- + - Human-readable IDs are Room Aliases and User IDs. + - They MUST be Unicode as UTF-8. + - If spoof checks fail, the user ID in question MUST be rewritten to be punycode + with an additional ``@`` prefix. + Room aliases cannot be rewritten. + - Spoof Checks: + - MUST NOT contain one of the 107 blacklisted characters on this list: + http://kb.mozillazine.org/Network.IDN.blacklist_chars + - MUST NOT contain characters from >1 language, defined by + http://cldr.unicode.org/ + - User IDs MUST NOT contain a ``:`` or start with a ``@`` or ``.`` + - Room aliases MUST NOT contain a ``:`` + - User IDs SHOULD be case-insensitive. + Overview -------- UTF-8 is quickly becoming the standard character encoding set on the web. As @@ -10,16 +26,16 @@ identify different users. In addition, there are non-printable characters which cannot be rendered by the end-user. This opens up a security vulnerability with phishing/spoofing of IDs, commonly known as a homograph attack. -Web browers encountered this problem when International Domain Names were +Web browsers encountered this problem when International Domain Names were introduced. A variety of checks were put in place in order to protect users. If an address failed the check, the raw punycode would be displayed to disambiguate the address. Similar checks are performed by home servers in -Matrix. However, Matrix does not use punycode representations, and so does not -show raw punycode on a failed check. Instead, home servers must outright reject -these misleading IDs. +Matrix in order to protect users. In the event of a failed check, the raw +punycode is displayed as the user ID along with a special escape sequence to +indicate the change. Types of human-readable IDs ---------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are two main human-readable IDs in question: - Room aliases @@ -28,54 +44,95 @@ There are two main human-readable IDs in question: Room aliases look like ``#localpart:domain``. These aliases point to opaque non human-readable room IDs. These pointers can change, so there is already an issue present with the same ID pointing to a different destination at a later -date. +date. Checks SHOULD be applied to room aliases, but they cannot be renamed in +punycode as that would break the alias. As a result, the checks in this document +apply to user IDs, although HSes may wish to enforce them on room alias +creation. User IDs look like ``@localpart:domain``. These represent actual end-users, and unlike room aliases, there is no layer of indirection. This presents a much -greater concern with homograph attacks. - -Checks ------- -- Similar to web browsers. -- blacklisted chars (e.g. non-printable characters) -- mix of language sets from 'preferred' language not allowed. -- Language sets from CLDR dataset. -- Treated in segments (localpart, domain) -- Additional restrictions for ease of processing IDs. - - - Room alias localparts MUST NOT have ``#`` or ``:``. - - User ID localparts MUST NOT have ``@`` or ``:``. - -Rejecting ---------- -- Home servers MUST reject room aliases which do not pass the check, both on - GETs and PUTs. -- Home servers MUST reject user ID localparts which do not pass the check, both - on creation and on events. -- Any home server whose domain does not pass this check, MUST use their punycode - domain name instead of the IDN, to prevent other home servers rejecting you. -- Error code is ``M_FAILED_HUMAN_ID_CHECK``. (generic enough for both failing - due to homograph attacks, and failing due to including ``:`` s, etc) -- Error message MAY go into further information about which characters were +greater concern with homograph attacks. Checks MUST be applied to user IDs. + +Spoof Checks +------------ +First, each ID is split into segments (localpart/domain) around the ``:``. For +this reason, ``:`` is a reserved character and cannot be a localpart or domain +character. + +User IDs which start with an ``@`` are used as an escape sequence for failed +user IDs. As a result, the localpart MUST NOT start with an ``@`` in order to +avoid namespace clashes. + +The checks are similar to web browsers for IDNs. The first check is that the +segment MUST NOT contain a blacklisted character on this list: +http://kb.mozillazine.org/Network.IDN.blacklist_chars - NB: Even though +this is Mozilla, Chrome follows the same list as per +http://www.chromium.org/developers/design-documents/idn-in-google-chrome + +The second check is that it MUST NOT contain characters from more than 1 +language. This is defined by this dataset http://cldr.unicode.org/ and is +applied after stripping " 0-9, +, -, [, ], _, and the space character" +( http://www.chromium.org/developers/design-documents/idn-in-google-chrome ) + + +Consequences of a failed check +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +If a user ID fails the check, the user ID on the event is renamed. This is +possible because user IDs contain routing information. This doesn't require +extra work for clients, and users will see an odd user ID rather than a spoofed +name. Renaming is done in order to protect users of a given HS, so if a +malicious HS doesn't rename their IDs, it doesn't affect any other HS. + +- The HS MAY reject the creation of the room alias or user ID. This is the + preferred choice but it is entirely benevolent: other HSes may not apply this + rule so checks on incoming events MUST still be applied. The error code returned + for the rejection is ``M_FAILED_HUMAN_ID_CHECK``, which is generic enough for + both failing due to homograph attacks, and failing due to including ``:`` s. + Error message MAY go into further information about which characters were rejected and why. -- Error message SHOULD contain a ``failed_keys`` key which contains an array - of strings which represent the keys which failed the check e.g:: - failed_keys: [ user_id, room_alias ] +- The HS MUST rename the localpart which failed the check. It SHOULD be + represented as punycode. The HS MUST prefix the punycode with the escape + sequence ``@`` on user ID localparts, e.g. ``@@somepunycode:domain``. Room + aliases do not need to be escaped, and indeed they cannot be, as the originating + HS will not understand the rewritten alias. If a HS renames a user ID, it MUST + be able to apply the reverse mapping in case the user wishes to communicate with + the ID which failed the check. -Other considerations --------------------- -- Basic security: Informational key on the event attached by HS to say "unsafe +Other rejected solutions for failed checks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- Additional key: Informational key on the event attached by HS to say "unsafe ID". Problem: clients can just ignore it, and since it will appear only very rarely, easy to forget when implementing clients. -- Moderate security: Requires client handshake. Forces clients to implement +- Require client handshake: Forces clients to implement a check, else they cannot communicate with the misleading ID. However, this is extra overhead in both client implementations and round-trips. -- High security: Outright rejection of the ID at the point of creation / +- Reject event: Outright rejection of the ID at the point of creation / receiving event. Point of creation rejection is preferable to avoid the ID entering the system in the first place. However, malicious HSes can just allow the ID. Hence, other home servers must reject them if they see them in events. Client never sees the problem ID, provided the HS is correctly - implemented. -- High security decided; client doesn't need to worry about it, no additional - protocol complexity aside from rejection of an event. + implemented. However, it is difficult to ensure that ALL HSes will come to the + same conclusion (given the CLDR dataset does come out with new versions). + +Namespacing +----------- + +Bots +~~~~ +User IDs representing real users SHOULD NOT start with a ``.``. User IDs which +act on behalf of a real user (e.g. an IRC/XMPP bot) SHOULD start with a ``.``. +This namespaces real/generated user IDs. Further namespacing SHOULD be applied +based on the service being used, getting progressively more specific, similar to +event types: e.g. ``@.irc.freenode.matrix.:domain``. Ultimately, the +HS in question has control over their user ID namespace, so this is just a +recommendation. + +Additional recommendations +-------------------------- + +Capitalisation +~~~~~~~~~~~~~~ +User IDs SHOULD be case-insensitive. This SHOULD be applied based on the +capitalisation rules in the CLDR dataset: http://cldr.unicode.org/ + From 408a0519ec43c004c821ece05a9febd74b3e2b75 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Mon, 22 Dec 2014 14:39:16 +0000 Subject: [PATCH 002/801] Update human-id-rules.rst Clarify position on capitalisation. --- drafts/human-id-rules.rst | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index b31d188d6..f28a5a6ab 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -2,19 +2,19 @@ This document outlines the format for human-readable IDs within matrix. Summary ------- - - Human-readable IDs are Room Aliases and User IDs. - - They MUST be Unicode as UTF-8. - - If spoof checks fail, the user ID in question MUST be rewritten to be punycode - with an additional ``@`` prefix. - Room aliases cannot be rewritten. - - Spoof Checks: - - MUST NOT contain one of the 107 blacklisted characters on this list: - http://kb.mozillazine.org/Network.IDN.blacklist_chars - - MUST NOT contain characters from >1 language, defined by - http://cldr.unicode.org/ - - User IDs MUST NOT contain a ``:`` or start with a ``@`` or ``.`` - - Room aliases MUST NOT contain a ``:`` - - User IDs SHOULD be case-insensitive. +- Human-readable IDs are Room Aliases and User IDs. +- They MUST be Unicode as UTF-8. +- If spoof checks fail, the user ID in question MUST be rewritten to be punycode + with an additional ``@`` prefix. + Room aliases cannot be rewritten. +- Spoof Checks: + - MUST NOT contain one of the 107 blacklisted characters on this list: + http://kb.mozillazine.org/Network.IDN.blacklist_chars + - MUST NOT contain characters from >1 language, defined by + http://cldr.unicode.org/ +- User IDs MUST NOT contain a ``:`` or start with a ``@`` or ``.`` +- Room aliases MUST NOT contain a ``:`` +- User IDs SHOULD be case-insensitive. Overview -------- @@ -136,3 +136,7 @@ Capitalisation User IDs SHOULD be case-insensitive. This SHOULD be applied based on the capitalisation rules in the CLDR dataset: http://cldr.unicode.org/ +This check SHOULD be applied when the user ID is created, in order to prevent +registration with the same name and different capitalisations, e.g. +``@foo:bar`` vs ``@Foo:bar`` vs ``@FOO:bar``. + From f2422eae3f2a76071fb35d9643d39e95c4275848 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Mon, 22 Dec 2014 14:41:32 +0000 Subject: [PATCH 003/801] Update human-id-rules.rst Moar clarify. --- drafts/human-id-rules.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index f28a5a6ab..fd20ea815 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -133,7 +133,7 @@ Additional recommendations Capitalisation ~~~~~~~~~~~~~~ -User IDs SHOULD be case-insensitive. This SHOULD be applied based on the +The home server SHOULD NOT allow two user IDs that differ only by case. This SHOULD be applied based on the capitalisation rules in the CLDR dataset: http://cldr.unicode.org/ This check SHOULD be applied when the user ID is created, in order to prevent From 37a7f2108e766cd89e84ac6c8285036de413e496 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Mon, 22 Dec 2014 14:48:28 +0000 Subject: [PATCH 004/801] Update human-id-rules.rst Mention case canonicalisation on registration. --- drafts/human-id-rules.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index fd20ea815..3fc585203 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -138,5 +138,6 @@ capitalisation rules in the CLDR dataset: http://cldr.unicode.org/ This check SHOULD be applied when the user ID is created, in order to prevent registration with the same name and different capitalisations, e.g. -``@foo:bar`` vs ``@Foo:bar`` vs ``@FOO:bar``. +``@foo:bar`` vs ``@Foo:bar`` vs ``@FOO:bar``. Home servers MAY canonicalise +the user ID to be completely lower-case if desired. From 3d5ec5eb15c5574c9fc155bf5ed5a5c1083c1345 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Tue, 13 Oct 2015 15:09:00 +0100 Subject: [PATCH 005/801] Updated to reflect more recent progress --- drafts/human-id-rules.rst | 203 +++++++++++++++++--------------------- 1 file changed, 93 insertions(+), 110 deletions(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index 3fc585203..b3178ee39 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -1,103 +1,101 @@ -This document outlines the format for human-readable IDs within matrix. - -Summary -------- -- Human-readable IDs are Room Aliases and User IDs. -- They MUST be Unicode as UTF-8. -- If spoof checks fail, the user ID in question MUST be rewritten to be punycode - with an additional ``@`` prefix. - Room aliases cannot be rewritten. -- Spoof Checks: - - MUST NOT contain one of the 107 blacklisted characters on this list: - http://kb.mozillazine.org/Network.IDN.blacklist_chars - - MUST NOT contain characters from >1 language, defined by - http://cldr.unicode.org/ -- User IDs MUST NOT contain a ``:`` or start with a ``@`` or ``.`` -- Room aliases MUST NOT contain a ``:`` -- User IDs SHOULD be case-insensitive. - -Overview --------- -UTF-8 is quickly becoming the standard character encoding set on the web. As -such, Matrix requires that all strings MUST be encoded as UTF-8. However, +Abstract +======== + +This document outlines the format for human-readable IDs within Matrix. + +Background +---------- +UTF-8 is the dominant character encoding for Unicode on the web. However, using Unicode as the character set for human-readable IDs is troublesome. There are many different characters which appear identical to each other, but would -identify different users. In addition, there are non-printable characters which -cannot be rendered by the end-user. This opens up a security vulnerability with +produce different IDs. In addition, there are non-printable characters which +cannot be rendered by the end-user. This creates an opportunity for phishing/spoofing of IDs, commonly known as a homograph attack. Web browsers encountered this problem when International Domain Names were introduced. A variety of checks were put in place in order to protect users. If an address failed the check, the raw punycode would be displayed to -disambiguate the address. Similar checks are performed by home servers in -Matrix in order to protect users. In the event of a failed check, the raw -punycode is displayed as the user ID along with a special escape sequence to -indicate the change. +disambiguate the address. -Types of human-readable IDs -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -There are two main human-readable IDs in question: +The human-readable IDs in Matrix are Room Aliases and User IDs. +Room aliases look like ``#localpart:domain``. These aliases point to opaque +non human-readable room IDs. These pointers can change to point at a different +room ID at any time. User IDs look like ``@localpart:domain``. These represent +actual end-users (there is no indirection). -- Room aliases -- User IDs +Proposal +======== -Room aliases look like ``#localpart:domain``. These aliases point to opaque -non human-readable room IDs. These pointers can change, so there is already an -issue present with the same ID pointing to a different destination at a later -date. Checks SHOULD be applied to room aliases, but they cannot be renamed in -punycode as that would break the alias. As a result, the checks in this document -apply to user IDs, although HSes may wish to enforce them on room alias -creation. - -User IDs look like ``@localpart:domain``. These represent actual end-users, and -unlike room aliases, there is no layer of indirection. This presents a much -greater concern with homograph attacks. Checks MUST be applied to user IDs. - -Spoof Checks ------------- -First, each ID is split into segments (localpart/domain) around the ``:``. For -this reason, ``:`` is a reserved character and cannot be a localpart or domain -character. - -User IDs which start with an ``@`` are used as an escape sequence for failed -user IDs. As a result, the localpart MUST NOT start with an ``@`` in order to -avoid namespace clashes. - -The checks are similar to web browsers for IDNs. The first check is that the -segment MUST NOT contain a blacklisted character on this list: -http://kb.mozillazine.org/Network.IDN.blacklist_chars - NB: Even though -this is Mozilla, Chrome follows the same list as per -http://www.chromium.org/developers/design-documents/idn-in-google-chrome - -The second check is that it MUST NOT contain characters from more than 1 -language. This is defined by this dataset http://cldr.unicode.org/ and is -applied after stripping " 0-9, +, -, [, ], _, and the space character" -( http://www.chromium.org/developers/design-documents/idn-in-google-chrome ) - - -Consequences of a failed check -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If a user ID fails the check, the user ID on the event is renamed. This is -possible because user IDs contain routing information. This doesn't require -extra work for clients, and users will see an odd user ID rather than a spoofed -name. Renaming is done in order to protect users of a given HS, so if a +User IDs and Room Aliases MUST be Unicode as UTF-8. Checks are performed on +these IDs by homeservers to protect users from phishing/spoofing attacks. +These checks are: + +User ID Localparts: + - MUST NOT contain a ``:`` or start with a ``@`` or ``.`` + - MUST NOT contain one of the 107 blacklisted characters on this list: + http://kb.mozillazine.org/Network.IDN.blacklist_chars + - After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT + contain characters from >1 language, defined by http://cldr.unicode.org/ + +Room Alias Localparts: + - MUST NOT contain a ``:`` + - MUST NOT contain one of the 107 blacklisted characters on this list: + http://kb.mozillazine.org/Network.IDN.blacklist_chars + - After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT + contain characters from >1 language, defined by http://cldr.unicode.org/ + + +In the event of a failed user ID check, well behaved homeservers MUST: +- Rewrite user IDs in the offending events to be punycode with an additional ``@`` + prefix **before** delivering them to clients. There are no guarantees for + consistency between homeserver ID checking implementations. As a result, user + IDs MUST be sent in their *original* form over federation. This can be done in + a stateless manner as the punycode form has no information loss. + +In the event of a failed room alias check, well behaved homeservers MUST: +- Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` + to the client if the client is attempting to *create* this alias. +- Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` + to the client if the client is attempting to *join* a room via this alias. + +Examples:: + + @ebаy:domain.com (Cyrillic 'a', everything else English) + @@xn--eby-7cd:domain.com (Punycode with additional '@') + +Homeservers SHOULD NOT allow two user IDs that differ only by case. This +SHOULD be applied based on the capitalisation rules in the CLDR dataset: +http://cldr.unicode.org/ + +This check SHOULD be applied when the user ID is created, in order to prevent +registration with the same name and different capitalisations, e.g. +``@foo:bar`` vs ``@Foo:bar`` vs ``@FOO:bar``. Home servers MAY canonicalise +the user ID to be completely lower-case if desired. + +Rationale +========= + +Each ID is split into segments (localpart/domain) around the ``:``. For +this reason, ``:`` is a reserved character and cannot be a localpart character. +The 107 blacklisted characters are used to prevent non-printable characters and +spaces from being used. The decision to ban characters from more than 1 language +matches the behaviour of Google Chrome for IDN handling. This is to protect +against common homograph attacks such as ebаy.com (Cyrillic "a", rest is +English). This would always result in a failed check. Even with this though +there are limitations. For example, сахар is entirely Cyrillic, whereas caxap is +entirely Latin. + +User ID localparts cannot start with ``@`` so that a namespace of localparts +beginning with ``@`` can be created. This namespace is used for user IDs which +fail the ID checks. A failed ID could look like ``@@xn--c1yn36f:domain.com``. + +If a user ID fails the check, the user ID on the event is renamed. This doesn't +require extra work for clients, and users will see an odd user ID rather than a +spoofed name. Renaming is done in order to protect users of a given HS, so if a malicious HS doesn't rename their IDs, it doesn't affect any other HS. -- The HS MAY reject the creation of the room alias or user ID. This is the - preferred choice but it is entirely benevolent: other HSes may not apply this - rule so checks on incoming events MUST still be applied. The error code returned - for the rejection is ``M_FAILED_HUMAN_ID_CHECK``, which is generic enough for - both failing due to homograph attacks, and failing due to including ``:`` s. - Error message MAY go into further information about which characters were - rejected and why. - -- The HS MUST rename the localpart which failed the check. It SHOULD be - represented as punycode. The HS MUST prefix the punycode with the escape - sequence ``@`` on user ID localparts, e.g. ``@@somepunycode:domain``. Room - aliases do not need to be escaped, and indeed they cannot be, as the originating - HS will not understand the rewritten alias. If a HS renames a user ID, it MUST - be able to apply the reverse mapping in case the user wishes to communicate with - the ID which failed the check. +Room aliases cannot be rewritten as punycode and sent to the HS the alias is +referring to as the HS will not necessarily understand the rewritten alias. Other rejected solutions for failed checks ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -115,29 +113,14 @@ Other rejected solutions for failed checks implemented. However, it is difficult to ensure that ALL HSes will come to the same conclusion (given the CLDR dataset does come out with new versions). -Namespacing ------------ - -Bots -~~~~ -User IDs representing real users SHOULD NOT start with a ``.``. User IDs which -act on behalf of a real user (e.g. an IRC/XMPP bot) SHOULD start with a ``.``. -This namespaces real/generated user IDs. Further namespacing SHOULD be applied -based on the service being used, getting progressively more specific, similar to -event types: e.g. ``@.irc.freenode.matrix.:domain``. Ultimately, the -HS in question has control over their user ID namespace, so this is just a -recommendation. - -Additional recommendations --------------------------- +Outstanding Problems +==================== Capitalisation -~~~~~~~~~~~~~~ -The home server SHOULD NOT allow two user IDs that differ only by case. This SHOULD be applied based on the -capitalisation rules in the CLDR dataset: http://cldr.unicode.org/ +-------------- -This check SHOULD be applied when the user ID is created, in order to prevent -registration with the same name and different capitalisations, e.g. -``@foo:bar`` vs ``@Foo:bar`` vs ``@FOO:bar``. Home servers MAY canonicalise -the user ID to be completely lower-case if desired. +The capitalisation rules outlined above are nice but do not fully resolve issues +where ``@alice:example.com`` tries to speak with ``@bob:domain.com`` using +``@Bob:domain.com``. It is up to ``domain.com`` to map ``Bob`` to ``bob`` in +a sensible way. From 0ab2d66ae2f9047f38e56c7336bbb3b98c102e87 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Tue, 13 Oct 2015 15:11:17 +0100 Subject: [PATCH 006/801] Make it valid RST --- drafts/human-id-rules.rst | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index b3178ee39..3da575bc3 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -46,17 +46,17 @@ Room Alias Localparts: In the event of a failed user ID check, well behaved homeservers MUST: -- Rewrite user IDs in the offending events to be punycode with an additional ``@`` - prefix **before** delivering them to clients. There are no guarantees for - consistency between homeserver ID checking implementations. As a result, user - IDs MUST be sent in their *original* form over federation. This can be done in - a stateless manner as the punycode form has no information loss. + - Rewrite user IDs in the offending events to be punycode with an additional ``@`` + prefix **before** delivering them to clients. There are no guarantees for + consistency between homeserver ID checking implementations. As a result, user + IDs MUST be sent in their *original* form over federation. This can be done in + a stateless manner as the punycode form has no information loss. In the event of a failed room alias check, well behaved homeservers MUST: -- Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` - to the client if the client is attempting to *create* this alias. -- Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` - to the client if the client is attempting to *join* a room via this alias. + - Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` + to the client if the client is attempting to *create* this alias. + - Send an HTTP status code 400 with an ``errcode`` of ``M_FAILED_HUMAN_ID_CHECK`` + to the client if the client is attempting to *join* a room via this alias. Examples:: @@ -98,7 +98,7 @@ Room aliases cannot be rewritten as punycode and sent to the HS the alias is referring to as the HS will not necessarily understand the rewritten alias. Other rejected solutions for failed checks -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------ - Additional key: Informational key on the event attached by HS to say "unsafe ID". Problem: clients can just ignore it, and since it will appear only very rarely, easy to forget when implementing clients. @@ -123,4 +123,3 @@ The capitalisation rules outlined above are nice but do not fully resolve issues where ``@alice:example.com`` tries to speak with ``@bob:domain.com`` using ``@Bob:domain.com``. It is up to ``domain.com`` to map ``Bob`` to ``bob`` in a sensible way. - From ee3fe989ca2fde6d968aba6e90013143e27ecc42 Mon Sep 17 00:00:00 2001 From: Kegsay Date: Tue, 13 Oct 2015 15:47:56 +0100 Subject: [PATCH 007/801] Linkify --- drafts/human-id-rules.rst | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index 3da575bc3..3eb1cbee0 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -35,15 +35,20 @@ User ID Localparts: - MUST NOT contain one of the 107 blacklisted characters on this list: http://kb.mozillazine.org/Network.IDN.blacklist_chars - After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT - contain characters from >1 language, defined by http://cldr.unicode.org/ + contain characters from >1 language, defined by the `exemplar characters`_ + on http://cldr.unicode.org/ + +.. _exemplar characters: http://cldr.unicode.org/translation/characters#TOC-Exemplar-Characters Room Alias Localparts: - MUST NOT contain a ``:`` - MUST NOT contain one of the 107 blacklisted characters on this list: http://kb.mozillazine.org/Network.IDN.blacklist_chars - After stripping " 0-9, +, -, [, ], _, and the space character it MUST NOT - contain characters from >1 language, defined by http://cldr.unicode.org/ + contain characters from >1 language, defined by the `exemplar characters`_ + on http://cldr.unicode.org/ +.. _exemplar characters: http://cldr.unicode.org/translation/characters#TOC-Exemplar-Characters In the event of a failed user ID check, well behaved homeservers MUST: - Rewrite user IDs in the offending events to be punycode with an additional ``@`` @@ -79,11 +84,13 @@ Each ID is split into segments (localpart/domain) around the ``:``. For this reason, ``:`` is a reserved character and cannot be a localpart character. The 107 blacklisted characters are used to prevent non-printable characters and spaces from being used. The decision to ban characters from more than 1 language -matches the behaviour of Google Chrome for IDN handling. This is to protect +matches the behaviour of `Google Chrome for IDN handling`_. This is to protect against common homograph attacks such as ebаy.com (Cyrillic "a", rest is English). This would always result in a failed check. Even with this though there are limitations. For example, сахар is entirely Cyrillic, whereas caxap is -entirely Latin. +entirely Latin. + +.. _Google Chrome for IDN handling: https://www.chromium.org/developers/design-documents/idn-in-google-chrome User ID localparts cannot start with ``@`` so that a namespace of localparts beginning with ``@`` can be created. This namespace is used for user IDs which From 8526da835f716315cb64c7721270a65b94afd87a Mon Sep 17 00:00:00 2001 From: Gal Pressman Date: Tue, 3 Jan 2017 22:04:02 +0200 Subject: [PATCH 008/801] projects: Add matrigram project Signed-off-by: Gal Pressman --- .../projects/2017-01-03-matrigram.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 supporting-docs/projects/2017-01-03-matrigram.md diff --git a/supporting-docs/projects/2017-01-03-matrigram.md b/supporting-docs/projects/2017-01-03-matrigram.md new file mode 100644 index 000000000..2d9043fef --- /dev/null +++ b/supporting-docs/projects/2017-01-03-matrigram.md @@ -0,0 +1,17 @@ +--- +layout: project +title: matrigram +categories: projects other +author: GalPressman & YuvalFatael +maturity: Alpha +--- + +# {{ page.title }} +This project bridges between matrix and telegram. + +Telegram users can now participate in matrix rooms, while choosing +which room to "focus" (send and receive messages) at a time. +Our goal is to provide full matrix user experience, including support of +all media types, relaying "typing..." messages, etc.. + +Find the source on [GitHub](https://github.com/GalPressman/matrigram/). From 40022609f96b2ab88b825e01c77fc0b257b3f79e Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Wed, 25 Jan 2017 16:59:07 +0000 Subject: [PATCH 009/801] Add "Why can't I rename my homeserver?" --- supporting-docs/guides/2015-08-19-faq.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index d0c7f8b38..7fd74ee3e 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -571,6 +571,12 @@ Synapse is *very* database dependent (as of Oct 2015; this is improving in the n Data is only shared between servers of participating users of a room. If all users in a room are on your server, no data is shared with other servers. +##### Why can't I rename my homeserver? + +Currently, the homeserver name is assumed never to change. This means that if you rename your server, other servers will think it's a different server. + +Perhaps in the future we will add an API for changing the homeserver name, but for now this is not supported. + ### Clients ##### Where can I find a mobile app? From 7fa45fbf18ae8da282f4a5d821747e40607d65ea Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 27 Jan 2017 11:59:02 +0000 Subject: [PATCH 010/801] Add TURN server Q. --- supporting-docs/guides/2015-08-19-faq.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index 7fd74ee3e..b4a0a97f8 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -486,6 +486,12 @@ Since events are extensible it is possible for malicious users and/or servers to Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event. Currently calls are only supported in rooms with exactly two participants - however, one of those participants may be a conferencing bridge. We're looking at better ways to do group calling. +##### Do I need a TURN server? + +VoIP calls should work if both parties are on public networks. However, in practice one (or both) devices are often behind NAT, and so having a [TURN](https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT) server is important to help set up the call. + +See [this guide](https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.rst) for setting up a TURN server with Synapse. + ##### Can I log into other homeservers with my username and password? Currently, no. We are looking at options for decentralising or migrating user accounts between multiple servers, and might add this feature at a later stage. From 226f469156aa00e98eeb4778223952d8a432d89f Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 27 Jan 2017 16:27:17 +0000 Subject: [PATCH 011/801] Add more answers --- supporting-docs/guides/2015-08-19-faq.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index b4a0a97f8..174cdef5c 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -484,7 +484,11 @@ Since events are extensible it is possible for malicious users and/or servers to ##### How do you do VoIP calls on Matrix? -Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event. Currently calls are only supported in rooms with exactly two participants - however, one of those participants may be a conferencing bridge. We're looking at better ways to do group calling. +Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event. + +##### Are VoIP calls encrypted? + +WebRTC encrypts the media that's being sent. The signalling events that set up (and end) the call are encrypted if the room they were sent in has enabled encryption. ##### Do I need a TURN server? @@ -638,13 +642,16 @@ disable encryption. We might experiment with ways to improve this in the future - for instance, by alerting the user next time they try to send a message in the room if encryption has been disabled. +##### Why isn't end-to-end encryption enabled by default? + +We are deliberately keeping E2E opt-in during the beta as there is a small risk of undecryptable messages, and we don’t want to lull folks into a false sense of security. As soon as we are out of beta, we will turn E2E on for any room with private history by default. Another consideration is to give other clients a chance to catch up with E2E support before it's used by default. + | ### QUESTIONS TO BE ANSWERED! This FAQ is a constant work in progress - patches and pull requests are *very* welcome to help us improve it. Some of the frequent questions where we need to write an answer include: - * How do I rename servers? * How do I change the TLS key of my server? * How do I maintain my synapse's DB (e.g. prune old conversations)? * How do I maintain my synapse's content repository (e.g. prune old content)? From 3783ecb738998d043108c5574602d2d69713173f Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Mon, 6 Feb 2017 18:00:12 +0000 Subject: [PATCH 012/801] Add mxisd --- supporting-docs/projects/2017-01-23-mxisd.md | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 supporting-docs/projects/2017-01-23-mxisd.md diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md new file mode 100644 index 000000000..d3a012c68 --- /dev/null +++ b/supporting-docs/projects/2017-01-23-mxisd.md @@ -0,0 +1,23 @@ +--- +layout: project +title: mxisd +categories: projects other +description: A Matrix Identity Server implementation +author: Kamax.io +maturity: Alpha +--- + +# {{ page.title }} +mxisd is an implementation of the Matrix Identity Server which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) and an external validation implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html). + +mxisd is currently in read-only mode and use a priority lookup strategy with several providers. + +Given the 3PID ```john.doe@example.org```, the following would be performed in priority order until a mapping is found: + +LDAP: lookup the Matrix ID from an configurable attribute. +DNS: lookup another Identity Server using the domain part of an e-mail and: +Look for a SRV record under ```_identity._matrix._tcp.example.org``` +Lookup using the base domain name ```example.org``` +Forwarder: Proxy the request to other identity servers (```matrix.org``` and ```vector.im``` currently hardcoded). + +Follow the progress and grab the code from [GitHub](https://github.com/kamax-io/mxisd). From 0f9d29cd07e4f0b44767937f71402371a96cb46a Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 6 Feb 2017 12:21:48 -0700 Subject: [PATCH 013/801] Create 2016-12-17-matrix-email-bot.md --- .../projects/2016-12-17-matrix-email-bot.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2016-12-17-matrix-email-bot.md diff --git a/supporting-docs/projects/2016-12-17-matrix-email-bot.md b/supporting-docs/projects/2016-12-17-matrix-email-bot.md new file mode 100644 index 000000000..e2ea52c0c --- /dev/null +++ b/supporting-docs/projects/2016-12-17-matrix-email-bot.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-email-bot +categories: projects other +description: Posts links to emails in Matrix rooms. Ideal for newsletter distribution. +author: Travis Ralston +maturity: Early beta +--- + +# {{ page.title }} + +Uses [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) and [mailin](http://mailin.io/) to receive emails and post messages in chat. Ideal for having your newsletters also land in a chat room. + +The source can be found on [GitHub](https://github.com/turt2live/matrix-email-bot). From 15fb89002a4324dc71dca3e95431f50d0189c4f0 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 6 Feb 2017 12:29:21 -0700 Subject: [PATCH 014/801] Create 2017-02-02-matrix-appservice-minecraft.md --- .../2017-02-02-matrix-appservice-minecraft.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md diff --git a/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md b/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md new file mode 100644 index 000000000..847851396 --- /dev/null +++ b/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-appservice-minecraft +categories: projects as +description: Bridges Minecraft server chat to and from Matrix +author: Travis Ralston +maturity: Alpha +--- + +# {{ page.title }} + +This is a Node.js application that bridges Minecraft chat with Matrix. The project is still in early development and is not intended for production use (yet). + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-minecraft). From ea62826739318f80f62ef312e22a2a508377f505 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Tue, 7 Feb 2017 17:21:57 +0000 Subject: [PATCH 015/801] Add SmartParking --- supporting-docs/projects/2017-02-06-smartparking.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-02-06-smartparking.md diff --git a/supporting-docs/projects/2017-02-06-smartparking.md b/supporting-docs/projects/2017-02-06-smartparking.md new file mode 100644 index 000000000..6568b8538 --- /dev/null +++ b/supporting-docs/projects/2017-02-06-smartparking.md @@ -0,0 +1,13 @@ +--- +layout: project +title: SmartParking +categories: projects other +description: A parking system PoC using Matrix +author: Natan Bagrov, Ran Moshe +maturity: Alpha +--- + +# {{ page.title }} +A proof of concept of a Smart Parking system, where each parking space is monitored and connected to the Smart Parking Manager via Matrix. This project was written for a hackathon. + +Check it out on [GitHub](https://github.com/NatanBagrov/SmartParking). From 2e68afa3ca64a3f44e5cf61394e82384f48be228 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Wed, 8 Feb 2017 16:55:46 +0000 Subject: [PATCH 016/801] Add MatrixClient --- .../projects/2017-02-06-matrixclient.md | 15 +++++++++++++++ .../projects/images/matrixclient.png | Bin 0 -> 305661 bytes 2 files changed, 15 insertions(+) create mode 100644 supporting-docs/projects/2017-02-06-matrixclient.md create mode 100644 supporting-docs/projects/images/matrixclient.png diff --git a/supporting-docs/projects/2017-02-06-matrixclient.md b/supporting-docs/projects/2017-02-06-matrixclient.md new file mode 100644 index 000000000..7b1b5ca0a --- /dev/null +++ b/supporting-docs/projects/2017-02-06-matrixclient.md @@ -0,0 +1,15 @@ +--- +layout: project +title: MatrixClient +categories: projects client +description: Matrix Client for macOS +author: Avery Pierce +maturity: Alpha +--- + +![screenshot](/docs/projects/images/matrixclient.png "{{ page.title }}") + +# {{ page.title }} +MatrixClient (working title) is a native Matrix client for macOS. + +Get the code from [GitHub](https://github.com/aapierce0/MatrixClient). diff --git a/supporting-docs/projects/images/matrixclient.png b/supporting-docs/projects/images/matrixclient.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebc3a353e9d98ddca83a09b1d798c7d529b98f3 GIT binary patch literal 305661 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

RdtCn5WM3Nh$Cl#Zo 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

xh#a=^slU-Y4>_;;UdZ#DS1sSj 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

S!(gvz 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 z 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 B5mx{J literal 0 HcmV?d00001 From f656aa55e4e2d7fca57205367ada84d38230c705 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 10 Feb 2017 16:18:12 +0000 Subject: [PATCH 017/801] Add Navi --- supporting-docs/projects/2017-02-05-navi.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 supporting-docs/projects/2017-02-05-navi.md diff --git a/supporting-docs/projects/2017-02-05-navi.md b/supporting-docs/projects/2017-02-05-navi.md new file mode 100644 index 000000000..0c563ca60 --- /dev/null +++ b/supporting-docs/projects/2017-02-05-navi.md @@ -0,0 +1,17 @@ +--- +layout: project +title: Navi +categories: projects other +description: A minimal Matrix notification bot +author: Maximilian Fricke +maturity: Alpha +--- + +# {{ page.title }} +Navi is a tiny bot for Matrix that sends notifications to users. It is builtupon the [Matrix Python SDK](https://github.com/matrix-org/matrix-python-sdk). + +The motivation behind Navi is to send notifications from anywhere to everywhere. This includes the push services GCM and APNs that [Riot](https://riot.im/) bridges to, without having to rely on services such as Pushbullet or Pushover. + +The first time you use it, Navi creates a new room and invites your user to it. The room will be reused afterwards. If you leave the room, so will Navi, and invite you to a new room. + +Follow the progress and grab the code from [GitHub](https://github.com/madmax28/navi)! From e682db96c42f5fc8e0a11aa8215fb1c19c8b6661 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 17 Feb 2017 14:51:51 +0000 Subject: [PATCH 018/801] Add python-matrix-bot-api --- .../projects/2016-12-17-python-matrix-bot-api.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 supporting-docs/projects/2016-12-17-python-matrix-bot-api.md diff --git a/supporting-docs/projects/2016-12-17-python-matrix-bot-api.md b/supporting-docs/projects/2016-12-17-python-matrix-bot-api.md new file mode 100644 index 000000000..baf8c19de --- /dev/null +++ b/supporting-docs/projects/2016-12-17-python-matrix-bot-api.md @@ -0,0 +1,16 @@ +--- +layout: project +title: python-matrix-bot-api +categories: projects other +description: A Python API for making Matrix bots +author: Shawn Anastasio +maturity: Early beta +--- + +# {{ page.title }} + +A Python API for making Matrix bots. + +Requires [matrix-python-sdk](https://github.com/matrix-org/matrix-python-sdk). + +The project lives on [GitHub](https://github.com/shawnanastasio/python-matrix-bot-api/) From cdd4e717730267c928c3193bf72263abf7a05d2c Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 17 Feb 2017 14:54:36 +0000 Subject: [PATCH 019/801] Fix date --- ...thon-matrix-bot-api.md => 2017-02-17-python-matrix-bot-api.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename supporting-docs/projects/{2016-12-17-python-matrix-bot-api.md => 2017-02-17-python-matrix-bot-api.md} (100%) diff --git a/supporting-docs/projects/2016-12-17-python-matrix-bot-api.md b/supporting-docs/projects/2017-02-17-python-matrix-bot-api.md similarity index 100% rename from supporting-docs/projects/2016-12-17-python-matrix-bot-api.md rename to supporting-docs/projects/2017-02-17-python-matrix-bot-api.md From 857ff2573fb238ade39b054611e26842e8ea44c7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sat, 18 Feb 2017 20:02:16 +0000 Subject: [PATCH 020/801] e2e guide: add link about m.room_key events. --- supporting-docs/guides/2016-10-18-e2e_implementation.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst index a754f7c64..d0e1ca5bd 100644 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ b/supporting-docs/guides/2016-10-18-e2e_implementation.rst @@ -396,7 +396,8 @@ These events contain key data to allow decryption of other messages. They are sent to specific devices, so they appear in the ``to_device`` section of the response to ``GET /_matrix/client/r0/sync``. They will also be encrypted, so will need decrypting as above before they can be -seen. +seen. (These events are generated by other clients - see `starting a megolm +session`_). The event content will contain an 'algorithm' property, indicating the encryption algorithm the key data is to be used for. Currently, this From 39f177b5eb900374bf033fd8023d259b3ec95769 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sat, 18 Feb 2017 20:02:59 +0000 Subject: [PATCH 021/801] e2e guide: fix /claim response --- .../guides/2016-10-18-e2e_implementation.rst | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst index d0e1ca5bd..39a51d3f5 100644 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ b/supporting-docs/guides/2016-10-18-e2e_implementation.rst @@ -654,20 +654,22 @@ This will return a result as follows: .. code:: json { - "": { - "": { - "signed_curve25519:": { - "key": "", - "signatures": { - "": { - "ed25519:": "" + "one_time_keys": { + "": { + "": { + "signed_curve25519:": { + "key": "", + "signatures": { + "": { + "ed25519:": "" + } } - } + }, }, + ... }, ... - }, - ... + } } The client should first check the signatures on the signed key objects. As with From b62f49ed610c2076fd9351ae421724b65be45f62 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Mon, 20 Feb 2017 17:16:00 +0000 Subject: [PATCH 022/801] Add matrix-dotnet-framework --- .../projects/2016-10-04-matrix-dotnet-framework.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md diff --git a/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md b/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md new file mode 100644 index 000000000..05c182a30 --- /dev/null +++ b/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-dotnet-framework +categories: projects other +description: Bot framework for matrix-dotnet-sdk +author: Half-Shot +maturity: Early beta +--- + +# {{ page.title }} + +A .NET framework for making Matrix bots with [matrix-dotnet-sdk](https://github.com/Half-Shot/matrix-dotnet-sdk). + +The project lives on [GitHub](https://github.com/Half-Shot/matrix-dotnet-framework) From 736ba5fb1f94bb903226f9f216a7fbb560a93112 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Mon, 20 Feb 2017 17:22:52 +0000 Subject: [PATCH 023/801] Add matrix-appservice-discord --- .../2016-06-19-matrix-appservice-discord.md | 14 ++++++++++++++ supporting-docs/projects/images/discord.png | Bin 0 -> 793286 bytes 2 files changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2016-06-19-matrix-appservice-discord.md create mode 100644 supporting-docs/projects/images/discord.png diff --git a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md new file mode 100644 index 000000000..172dd59a5 --- /dev/null +++ b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-appservice-discord +categories: projects as +author: Half-Shot +maturity: Early beta +--- + +![screenshot](/docs/projects/images/discord.png "{{ page.title }}") + +# {{ page.title }} +This project bridges [Discord](https://discordapp.com) to Maatrix via the Application API + +Get it from [GitHub](https://github.com/Half-Shot/matrix-appservice-discord). diff --git a/supporting-docs/projects/images/discord.png b/supporting-docs/projects/images/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..68c159a3cb2f100472f6ea05a75ae672c48d8303 GIT binary patch literal 793286 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 j{ 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

q{(9^X5~{WJrR041BoMU#>k`nKLDh|7B&L!* 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%0A_`MaO=Uy{20HV6H$yPw-|fBsLI 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¨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%0A5+qoLFjHiXsmmD% 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 z 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%0A#Q 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 z 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 literal 0 HcmV?d00001 From 242c8aa1c17e59f77e2d14a408c57e3e524e4563 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Mon, 20 Feb 2017 17:23:22 +0000 Subject: [PATCH 024/801] Discord bridge is alpha --- .../projects/2016-06-19-matrix-appservice-discord.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md index 172dd59a5..69cef6a97 100644 --- a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md +++ b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md @@ -3,7 +3,7 @@ layout: project title: matrix-appservice-discord categories: projects as author: Half-Shot -maturity: Early beta +maturity: Alpha --- ![screenshot](/docs/projects/images/discord.png "{{ page.title }}") From 3b7fb8dc9af55af7f3408ab557217ba6b9d7e00d Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Wed, 22 Feb 2017 14:54:41 -0600 Subject: [PATCH 025/801] Maatrix => Matrix in matrix-appservice-discord --- .../projects/2016-06-19-matrix-appservice-discord.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md index 69cef6a97..a5a5bcb4b 100644 --- a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md +++ b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md @@ -9,6 +9,6 @@ maturity: Alpha ![screenshot](/docs/projects/images/discord.png "{{ page.title }}") # {{ page.title }} -This project bridges [Discord](https://discordapp.com) to Maatrix via the Application API +This project bridges [Discord](https://discordapp.com) to Matrix via the Application API Get it from [GitHub](https://github.com/Half-Shot/matrix-appservice-discord). From 8e35111f470080a9d136ca1cdf892b1f60270de9 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 27 Feb 2017 17:52:18 +0000 Subject: [PATCH 026/801] FAQ: remove 'Why don't you use websockets' todo ... since we already have an answer that answers it --- supporting-docs/guides/2015-08-19-faq.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index 174cdef5c..9dd309cee 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -520,7 +520,7 @@ Privacy of metadata is not currently protected from server administrators - a ma Rather than relying on Certificate Authorities (CAs) as in traditional SSL, a [Perspectives](https://perspectives-project.org/)-style system uses a more decentralized model for verifying keys. Perspectives uses notary servers to verify that the same key is seen across the network, making a man-in-the-middle attack much harder since an attacker must insert itself into multiple places. For federation in Matrix, each Home Server acts as a notary. When one Home Server connects to another Home Server that uses a key that it doesn't recognize, it contacts other Home Servers to ensure that they all see the same key from that Home Server. -##### Why HTTP? Doesn't HTTP suck? +##### Why HTTP? Doesn't HTTP suck? Why don't you use websockets/CoAP/HTTP2/etc? HTTP is indeed not the most efficient transport, but it is ubiquitous, very well understood and has numerous implementations on almost every platform and language. It also has a simple upgrade path to HTTP/2, which is relatively bandwidth and round-trip efficient. @@ -666,7 +666,6 @@ This FAQ is a constant work in progress - patches and pull requests are *very* w * What's on the roadmap? * How can I use Matrix to talk on Freenode or other IRC networks? * Where can I learn more about Matrix? (link to PDFs of other presentations etc) - * Why don't you use websockets? * Why is synapse so resource intensive immediately after federating for the first time? * \[your question goes here...\] From da686ba4ebe0798d1cbaf29adb022b4bc2adf96c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 1 Mar 2017 08:50:07 +0000 Subject: [PATCH 027/801] Specification of unpadded Base64 --- specification/appendices/base64.rst | 57 +++++++++++++++++++++++ specification/appendices/signing_json.rst | 4 +- specification/identity_service_api.rst | 4 +- specification/server_server_api.rst | 5 +- specification/targets.yaml | 1 + 5 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 specification/appendices/base64.rst diff --git a/specification/appendices/base64.rst b/specification/appendices/base64.rst new file mode 100644 index 000000000..d046e0fc1 --- /dev/null +++ b/specification/appendices/base64.rst @@ -0,0 +1,57 @@ +.. Copyright 2017 Vector Creations Limited +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Unpadded Base64 +--------------- + +*Unpadded* Base64 refers to 'standard' Base64 encoding as defined in `RFC +4648`_, without "=" padding. Specifically, where RFC 4648 requires that encoded +data be padded to a multiple of four characters using ``=`` characters, +unpadded Base64 omits this padding. + +For reference, RFC 4648 uses the following alphabet for Base 64:: + + Value Encoding Value Encoding Value Encoding Value Encoding + 0 A 17 R 34 i 51 z + 1 B 18 S 35 j 52 0 + 2 C 19 T 36 k 53 1 + 3 D 20 U 37 l 54 2 + 4 E 21 V 38 m 55 3 + 5 F 22 W 39 n 56 4 + 6 G 23 X 40 o 57 5 + 7 H 24 Y 41 p 58 6 + 8 I 25 Z 42 q 59 7 + 9 J 26 a 43 r 60 8 + 10 K 27 b 44 s 61 9 + 11 L 28 c 45 t 62 + + 12 M 29 d 46 u 63 / + 13 N 30 e 47 v + 14 O 31 f 48 w + 15 P 32 g 49 x + 16 Q 33 h 50 y + +Examples of strings encoded using unpadded Base64:: + + UNPADDED_BASE64("") = "" + UNPADDED_BASE64("f") = "Zg" + UNPADDED_BASE64("fo") = "Zm8" + UNPADDED_BASE64("foo") = "Zm9v" + UNPADDED_BASE64("foob") = "Zm9vYg" + UNPADDED_BASE64("fooba") = "Zm9vYmE" + UNPADDED_BASE64("foobar") = "Zm9vYmFy" + +When decoding Base64, implementations SHOULD accept input with or without +padding characters whereever possible, to ensure maximum interoperability. + +.. _`RFC 4648`: https://tools.ietf.org/html/rfc4648 diff --git a/specification/appendices/signing_json.rst b/specification/appendices/signing_json.rst index 5536af5ed..bc76c89ab 100644 --- a/specification/appendices/signing_json.rst +++ b/specification/appendices/signing_json.rst @@ -91,8 +91,8 @@ Signing Details JSON is signed by encoding the JSON object without ``signatures`` or keys grouped as ``unsigned``, using the canonical encoding described above. The JSON bytes are then signed using the -signature algorithm and the signature is encoded using base64 with the padding -stripped. The resulting base64 signature is added to an object under the +signature algorithm and the signature is encoded using `unpadded Base64`._ +The resulting base64 signature is added to an object under the *signing key identifier* which is added to the ``signatures`` object under the name of the entity signing it which is added back to the original JSON object along with the ``unsigned`` object. diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index 3be9d9eb8..36f4c3d44 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -267,7 +267,7 @@ This is less secure than the client doing it itself, but may be useful where thi The identity service will happily sign invitation details with a request-specified ed25519 private key for you, if you want it to. It takes URL-encoded POST parameters: - mxid (string, required) - token (string, required) -- private_key (string, required): The unpadded base64-encoded private key. +- private_key (string, required): The private key, encoded as `Unpadded base64`_. It will look up ``token`` which was stored in a call to ``store-invite``, and fetch the sender of the invite. It will then respond with JSON which looks something like:: @@ -281,3 +281,5 @@ It will look up ``token`` which was stored in a call to ``store-invite``, and fe }, "token": "abc123" } + +.. _`Unpadded Base64`: ../appendices.html#unpadded-base64 diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 1f283722b..cb76c3d55 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -165,7 +165,7 @@ events sent by that server can still be checked. ``signatures`` Object Digital signatures for this object signed using the ``verify_keys``. ``tls_fingerprints`` Array of Objects Hashes of X.509 TLS certificates used - by this this server encoded as base64. + by this this server encoded as `Unpadded Base64`_. ``valid_until_ts`` Integer POSIX timestamp when the list of valid keys should be refreshed. ==================== =================== ====================================== @@ -271,7 +271,7 @@ at ``/_matrix/key/v1``. ``signatures`` Object Digital signatures for this object signed using the ``verify_keys``. ``tls_certificate`` String The X.509 TLS certificate used by this - this server encoded as base64. + this server encoded as `Unpadded Base64`_. ==================== =================== ====================================== .. code:: json @@ -1144,3 +1144,4 @@ that are too long. known hash functions like SHA-256 when none of the keys have been redacted]] .. _`Canonical JSON`: ../appendices.html#canonical-json +.. _`Unpadded Base64`: ../appendices.html#unpadded-base64 diff --git a/specification/targets.yaml b/specification/targets.yaml index 7d415fb44..0d64815b1 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -32,6 +32,7 @@ targets: appendices: files: - appendices.rst + - appendices/base64.rst - appendices/signing_json.rst - appendices/threat_model.rst - appendices/test_vectors.rst From f740e3fb083da304ea02d45d2df011c131f0b799 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Wed, 1 Mar 2017 11:28:05 +0000 Subject: [PATCH 028/801] Add Matrix Recorder --- .../projects/2017-01-31-matrix-recorder.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 supporting-docs/projects/2017-01-31-matrix-recorder.md diff --git a/supporting-docs/projects/2017-01-31-matrix-recorder.md b/supporting-docs/projects/2017-01-31-matrix-recorder.md new file mode 100644 index 000000000..806b26420 --- /dev/null +++ b/supporting-docs/projects/2017-01-31-matrix-recorder.md @@ -0,0 +1,18 @@ +--- +layout: project +title: Matrix Recorder +categories: projects other +description: Enables you to keep a record of all messages you have received. +author: ar +maturity: Alpha +--- + +# {{ page.title }} + +While Matrix homeservers store your message history so that you can retrieve them on all your devices, currently there is no easy way to download and backup this message history. This is especially relevant for end-to-end (E2E) encrypted rooms because their history cannot be decrypted anymore if you lose your encryption keys (which is as easy as logging out of your Riot client). + +This is where Matrix Recorder jumps in. This tool (written in Node.js) retrieves all messages you receive or send just as a regular client would. It uses your existing Matrix account but registers as a new device with its own encryption keys, which means that it can decrypt messages sent to you after Matrix Recorder has been registered. You don’t need to keep it running all the time but can just start it from time to time - it will continue from where it left off when you start it the next time. + +All timeline events retrieved that way will be stored in an sqlite database which you can just keep as a backup or use to create your own archive. Matrix Recorder comes with a small utility that extracts messages from this database into HTML files that can be viewed in your browser. + +Follow the progress and grab the code from [GitLab](https://gitlab.com/argit/matrix-recorder). From 16a4c77012b876e69fd5596f28a643036fa671cb Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Wed, 1 Mar 2017 11:34:53 +0000 Subject: [PATCH 029/801] Add Go-NEB --- supporting-docs/projects/2016-07-29-go-neb.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2016-07-29-go-neb.md diff --git a/supporting-docs/projects/2016-07-29-go-neb.md b/supporting-docs/projects/2016-07-29-go-neb.md new file mode 100644 index 000000000..a6fd22809 --- /dev/null +++ b/supporting-docs/projects/2016-07-29-go-neb.md @@ -0,0 +1,13 @@ +--- +layout: project +title: Go-NEB +categories: projects other +description: Our dear Matrix Bot (v2) +author: Kegsay +maturity: Late beta +--- + +# {{ page.title }} +Go-NEB is a Matrix bot written in Go. It is the successor to [Matrix-NEB](/docs/projects/other/neb.html), the original Matrix bot written in Python. + +Follow development on [GitHub](https://github.com/matrix-org/go-neb)! From ee9a3efdf587990e4dcc1f6e13d84d30ae6c9596 Mon Sep 17 00:00:00 2001 From: Oddvar Lovaas Date: Fri, 3 Mar 2017 15:45:42 +0000 Subject: [PATCH 030/801] Add Riotic --- supporting-docs/projects/2016-10-18-riotic.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2016-10-18-riotic.md diff --git a/supporting-docs/projects/2016-10-18-riotic.md b/supporting-docs/projects/2016-10-18-riotic.md new file mode 100644 index 000000000..a79dda1ad --- /dev/null +++ b/supporting-docs/projects/2016-10-18-riotic.md @@ -0,0 +1,13 @@ +--- +layout: project +categories: projects client +title: Riotic +description: macOS native webkitwrapper of Riot +author: Joakim Ahlen +maturity: Alpha +--- + +# {{ page.title }} + + +Riotic is a macOS native webkitwrapper of [Riot](./riot.html). Source at [Bitbucket](https://bitbucket.org/riotic/riotic/). From 20e7a0ccfae84af1b56bf357c735fb719ecfc3e0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Mar 2017 15:27:18 +0000 Subject: [PATCH 031/801] types of bridging --- .../guides/2017-03-11-types-of-bridging.md | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 supporting-docs/guides/2017-03-11-types-of-bridging.md diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md new file mode 100644 index 000000000..1c3bacf45 --- /dev/null +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -0,0 +1,64 @@ +--- +layout: post +version: v1.0 +title: Types of Bridging +categories: guides +--- + + + +Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges. + +*The most recent version of this document is at https://matrix.org/guides/types-of-bridging.html (source: https://github.com/matrix-org/matrix-doc/supporting-docs/guides/2017-03-11-types-of-bridging.md) but we’re also posting it as a blog post for visibility.* + +## Types of rooms + +### Portal rooms + +Bridges can register themselves as controlling chunks of room aliases namespace, letting Matrix users join remote rooms transparently if they /join #freenode_#wherever:matrix.org or similar. The resulting Matrix room is typically automatically bridged to the single target remote room. Access control for Matrix users is typically managed by the remote network’s side of the room. This is called a portal room, and is useful for jumping into remote rooms without any configuration needed whatsoever - using Matrix as a ‘bouncer’ for the remote network. + +### Plumbed rooms + +Alternatively, an existing Matrix room can be can plumbed into one or more specific remote rooms by configuring a bridge (which can be run by anyone). For instance, #matrix:matrix.org is plumbed into #matrix on Freenode, matrixdotorg/#matrix on Slack, etc. Access control for Matrix users is necessarily managed by the Matrix side of the room. This is useful for using Matrix to link together different communities. + +Migrating rooms between a portal & plumbed room is currently a bit of a mess, as there’s not yet a way for users to remove portal rooms once they’re created, so you can end up with a mix of portal & plumbed users bridged into a room, which looks weird from both the Matrix and non-Matrix viewpoints. https://github.com/matrix-org/matrix-appservice-irc/issues/387 tracks this. + +## Types of bridges (simplest first): + +### Bridgebot-based bridges + +The simplest way to exchange messages with a remote network is to have the bridge log into the network using one or more predefined users called bridge bots - typically called MatrixBridge or MatrixBridge[123] etc. These relay traffic on behalf of the users on the other side, but it’s a terrible experience as all the metadata about the messages and senders is lost. This is how the “telematrix” matrix<->telegram bridge currently works. + +### Bot-API (aka Virtual user) based bridges + +Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current matrix-appservice-slack bridge works. + +### One-way puppeted bridge + +This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. + +This is essentially how the current matrix-appservice-irc bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). matrix-appservice-gitter is being extended to support both puppeted and bridgebot-based operation. It’s also how kfatehi’s puppeting bridges work for iMessage, Facebook Messenger, Slack etc, and how the experimental matrix-appservice-tg bridge works. + +Going forwards we’re aiming for all bridges to be at least one-way puppeted, if not two-way. + +### Two-way puppeted bridge + +A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. + +This is the holy-grail of bridging; we’re not aware of any who have implemented this yet. The main blocker is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). +Server-to-server bridging +Some remote protocols (IRC, XMPP, SIP, SMTP, NNTP, GnuSocial etc) support federation - either open or closed. The most elegant way of bridging to these protocols would be to have the bridge participate in the federation as a server, directly bridging the entire namespace into Matrix. + +We’re not aware of anyone who’s done this yet. + +### Sidecar bridge + +Finally: the types of bridging described above assume that you are synchronising the conversation history of the remote system into Matrix, so it may be decentralised and exposed to multiple users within the wider Matrix network. + +This can cause problems where the remote system may have arbitrarily complicated permissions (ACLs) controlling access to the history, which will then need to be correctly synchronised with Matrix’s ACL model, without introducing security issues such as races. We already see some problems with this on the IRC bridge, where history visibility for +i and +k channels have to be carefully synchronised with the Matrix rooms. + +You can also hit problems with other network-specific features not yet having equivalent representation in the Matrix protocol (e.g. ephemeral messages, or op-only messages - although arguably that’s a type of ACL). + +One solution could be to support an entirely different architecture of bridging, where the Matrix client-server API is mapped directly to the remote service, meaning that ACL decisions are delegated to the remote service, and conversations are not exposed into the wider Matrix. This is effectively using the bridge purely as a 3rd party client for the network (similar to Bitlbee). The bridge is only available to a single user, and conversations cannot be shared with other Matrix users as they aren’t actually Matrix rooms. (Another solution could be to use Active Policy Servers at last as a way of centralising and delegating ACLs for a room) + +This is essentially an entirely different product to the rest of Matrix, and whilst it could be a solution for some particularly painful ACL problems, we’re focusing on non-sidecar bridges for now. From f5bf64d0bbb896ebd822290181c03f6cd5851c1f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Mar 2017 15:38:51 +0000 Subject: [PATCH 032/801] bridging in the index --- supporting-docs/guides/2016-01-01-index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/supporting-docs/guides/2016-01-01-index.md b/supporting-docs/guides/2016-01-01-index.md index 10ba5a912..32fdebac8 100644 --- a/supporting-docs/guides/2016-01-01-index.md +++ b/supporting-docs/guides/2016-01-01-index.md @@ -12,6 +12,7 @@ categories: guides

If you were using the old v1 CS API, there is also the v1 migration guide which justs lists the changes from v1 to r0.

Let's Encrypt Matrix explains how to use Let's Encrypt's certificates with your Synapse installation. This guide was written by William A Stevens.

The Application services guide introduces and explains Application services, and what they can be used for.

+

Types of Bridging should be read by all bridge developers to ensure everyone has the same mental map of terminology when implementing bridges.

The End-to-end Encryption Implementation Guide is intended for client developers who wish to add support for end-to-end encryption.

From 4c41e07e87222ffe0c4be336ed33e8a81925953e Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Mar 2017 15:44:54 +0000 Subject: [PATCH 033/801] cosmetics --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 1c3bacf45..28a1bc8ec 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -6,10 +6,11 @@ categories: guides --- +# Types of bridging Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges. -*The most recent version of this document is at https://matrix.org/guides/types-of-bridging.html (source: https://github.com/matrix-org/matrix-doc/supporting-docs/guides/2017-03-11-types-of-bridging.md) but we’re also posting it as a blog post for visibility.* +*The most recent version of this document is [here](https://matrix.org/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* ## Types of rooms @@ -27,17 +28,17 @@ Migrating rooms between a portal & plumbed room is currently a bit of a mess, as ### Bridgebot-based bridges -The simplest way to exchange messages with a remote network is to have the bridge log into the network using one or more predefined users called bridge bots - typically called MatrixBridge or MatrixBridge[123] etc. These relay traffic on behalf of the users on the other side, but it’s a terrible experience as all the metadata about the messages and senders is lost. This is how the “telematrix” matrix<->telegram bridge currently works. +The simplest way to exchange messages with a remote network is to have the bridge log into the network using one or more predefined users called bridge bots - typically called MatrixBridge or MatrixBridge[123] etc. These relay traffic on behalf of the users on the other side, but it’s a terrible experience as all the metadata about the messages and senders is lost. This is how the [telematrix](https://github.com/SijmenSchoon/telematrix) matrix<->telegram bridge currently works. ### Bot-API (aka Virtual user) based bridges -Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current matrix-appservice-slack bridge works. +Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge works. ### One-way puppeted bridge This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. -This is essentially how the current matrix-appservice-irc bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). matrix-appservice-gitter is being extended to support both puppeted and bridgebot-based operation. It’s also how kfatehi’s puppeting bridges work for iMessage, Facebook Messenger, Slack etc, and how the experimental matrix-appservice-tg bridge works. +This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s also how kfatehi’s [puppeting bridges](https://github.com/matrix-hacks) work for iMessage, Facebook Messenger, Slack etc, and how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. Going forwards we’re aiming for all bridges to be at least one-way puppeted, if not two-way. From 2c0048edfd330a446c5834743cacdcd36f160d39 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Mar 2017 16:08:52 +0000 Subject: [PATCH 034/801] fix link --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 28a1bc8ec..0d45adda0 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -10,7 +10,7 @@ categories: guides Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges. -*The most recent version of this document is [here](https://matrix.org/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* +*The most recent version of this document is [here](https://matrix.org/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/blob/master/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* ## Types of rooms From b5acd9b3fd42249ee2a7cbe22d4f30b64cf997f9 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sat, 11 Mar 2017 20:45:51 +0000 Subject: [PATCH 035/801] fix b0rk3d url --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 0d45adda0..22b61289f 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -10,7 +10,7 @@ categories: guides Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges. -*The most recent version of this document is [here](https://matrix.org/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/blob/master/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* +*The most recent version of this document is [here](https://matrix.org/docs/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/blob/master/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* ## Types of rooms From 012aa8fba4e8cfe63e15fc97dff15941c5e7b107 Mon Sep 17 00:00:00 2001 From: Keyvan Fatehi Date: Sat, 11 Mar 2017 13:57:08 -0800 Subject: [PATCH 036/801] fixes * Moved matrix-puppet-bridge out of one-way and into two-way * Fixed server to server heading --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 22b61289f..d79ff13c3 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -38,7 +38,7 @@ Some remote systems support the idea of injecting messages from ‘fake’ or This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. -This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s also how kfatehi’s [puppeting bridges](https://github.com/matrix-hacks) work for iMessage, Facebook Messenger, Slack etc, and how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. +This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. Going forwards we’re aiming for all bridges to be at least one-way puppeted, if not two-way. @@ -46,8 +46,10 @@ Going forwards we’re aiming for all bridges to be at least one-way puppeted, i A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. -This is the holy-grail of bridging; we’re not aware of any who have implemented this yet. The main blocker is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). -Server-to-server bridging +This is the holy-grail of bridging; [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of two-way puppeted bridges, having done so for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). The main obstacle is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). + +### Server-to-server bridging + Some remote protocols (IRC, XMPP, SIP, SMTP, NNTP, GnuSocial etc) support federation - either open or closed. The most elegant way of bridging to these protocols would be to have the bridge participate in the federation as a server, directly bridging the entire namespace into Matrix. We’re not aware of anyone who’s done this yet. From b314b308129e6f20896b7f309d64d8084787efc8 Mon Sep 17 00:00:00 2001 From: turt2live Date: Sat, 11 Mar 2017 16:49:49 -0700 Subject: [PATCH 037/801] Add matrix-appservice-instagram --- .../2017-02-23-matrix-appservice-instagram.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md diff --git a/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md b/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md new file mode 100644 index 000000000..ae9319806 --- /dev/null +++ b/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-appservice-instagram +categories: projects as +description: Bridges Instagram to Matrix +author: Travis Ralston +maturity: Alpha +--- + +# {{ page.title }} + +This is a Node.js application that bridges Instagram to Matrix. The project is still in early development and is not intended for production use (yet). + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-instagram). From 9304d6d71d2e0d5fdd6012a4a27b9c5f4e092613 Mon Sep 17 00:00:00 2001 From: Andreas Zwinkau Date: Tue, 14 Mar 2017 21:57:25 +0100 Subject: [PATCH 038/801] Fix device keys query Omitting the "device_keys" wrap results in an empty response. --- supporting-docs/guides/2016-10-18-e2e_implementation.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst index 39a51d3f5..fdb2c69c1 100644 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ b/supporting-docs/guides/2016-10-18-e2e_implementation.rst @@ -432,8 +432,10 @@ The client should build a JSON query object as follows: .. code:: json { - "": {}, - ... + "device_keys": { + "": {}, + [...] + } } Each member in the room should be included in the query. This is then From d60aa4ba28f850837a2aeabdb2e11e96379df2f6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 15 Mar 2017 01:51:35 +0000 Subject: [PATCH 039/801] switch from one/two-way puppeting to simple/double puppeting --- .../guides/2017-03-11-types-of-bridging.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 22b61289f..09cf08b05 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -34,20 +34,22 @@ The simplest way to exchange messages with a remote network is to have the bridg Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge works. -### One-way puppeted bridge +### Simple puppeted bridge This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s also how kfatehi’s [puppeting bridges](https://github.com/matrix-hacks) work for iMessage, Facebook Messenger, Slack etc, and how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. -Going forwards we’re aiming for all bridges to be at least one-way puppeted, if not two-way. +Going forwards we’re aiming for all bridges to be at least simple puppeted, if not double-puppeted. -### Two-way puppeted bridge +### Double-puppeted bridge -A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. +A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. + +This is the holy-grail of bridging; [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of double puppeted bridges, having done so for several networks. The main obstacle is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). + +### Server-to-server bridging -This is the holy-grail of bridging; we’re not aware of any who have implemented this yet. The main blocker is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). -Server-to-server bridging Some remote protocols (IRC, XMPP, SIP, SMTP, NNTP, GnuSocial etc) support federation - either open or closed. The most elegant way of bridging to these protocols would be to have the bridge participate in the federation as a server, directly bridging the entire namespace into Matrix. We’re not aware of anyone who’s done this yet. From 550884931564d8e6455a853c6d0b1185cca2c41c Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 15 Mar 2017 01:52:33 +0000 Subject: [PATCH 040/801] fix merge --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index d79ff13c3..dc02e6ffb 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -34,17 +34,17 @@ The simplest way to exchange messages with a remote network is to have the bridg Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge works. -### One-way puppeted bridge +### Simple puppeted bridge This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. -Going forwards we’re aiming for all bridges to be at least one-way puppeted, if not two-way. +Going forwards we’re aiming for all bridges to be at least simple puppeted, if not double-puppeted. -### Two-way puppeted bridge +### Double-puppeted bridge -A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. +A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. This is the holy-grail of bridging; [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of two-way puppeted bridges, having done so for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). The main obstacle is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). From 0805bbbed7782d429b5be040968bfc8e0a0c8778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Br=C3=B6nnimann?= Date: Tue, 21 Mar 2017 20:57:09 +0100 Subject: [PATCH 041/801] The matrix-rocketchat bridge is in alpha MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Andreas Brönnimann --- .../projects/2016-11-20-matrix-rocketchat.md | 4 +++- .../projects/images/matrix-rocketchat.png | Bin 0 -> 205787 bytes 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 supporting-docs/projects/images/matrix-rocketchat.png diff --git a/supporting-docs/projects/2016-11-20-matrix-rocketchat.md b/supporting-docs/projects/2016-11-20-matrix-rocketchat.md index f66064de2..426a5d6ac 100644 --- a/supporting-docs/projects/2016-11-20-matrix-rocketchat.md +++ b/supporting-docs/projects/2016-11-20-matrix-rocketchat.md @@ -3,9 +3,11 @@ layout: project title: matrix-rocketchat categories: projects as author: exul -maturity: Early beta +maturity: Alpha --- +![screenshot](/docs/projects/images/matrix-rocketchat.png "{{ page.title }}") + # {{ page.title }} This is an application service that bridges Matrix to Rocket.Chat, written in Rust. diff --git a/supporting-docs/projects/images/matrix-rocketchat.png b/supporting-docs/projects/images/matrix-rocketchat.png new file mode 100644 index 0000000000000000000000000000000000000000..9779e3c3e733b91839c56c18393fbcd00f30fdd6 GIT binary patch literal 205787 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 Date: Tue, 28 Mar 2017 10:49:55 -0700 Subject: [PATCH 042/801] Tempering the sales pitch of puppetted bridges. Folks are getting confused. The article sells the puppeted bridge concept a little too hard and needs to temper it with the reality that most networks people want to bridge (Facebook, Hangouts) suffer from the fact that there is no means of representation for non-puppeted users. Relevant discussions: * https://matrix.to/#/!ChuQQIVJvwyJujhNIG:synapse.keyvan.pw/$149063160814JjbEL:gruenhage.xyz * https://matrix.to/#/!svJUttHBtRMdXmEhEy:matrix.org/$149072185910105qOwCB:synapse.keyvan.pw Signed-off-by: Keyvan Fatehi --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index dc02e6ffb..8f3dd9383 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -46,7 +46,7 @@ Going forwards we’re aiming for all bridges to be at least simple puppeted, if A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. -This is the holy-grail of bridging; [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of two-way puppeted bridges, having done so for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). The main obstacle is working out an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). +This is the holy-grail of bridging, but it is elusive and difficult to achieve. Third party clients to walled gardens are typically reverse-engineered, fragile, and only allow puppeting through login, and no capability of representing other users. [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of two-way puppeted bridges, having done so, without a "relaybot" feature, for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). However, this type of bridge does not necessarily solve the problem of relaying communication between two disparate third party networks. For example, a Facebook user cannot talk to a Hangouts user and vice versa because practically speaking the puppeted accounts cannot impersonate or represent anyone except themselves. This can be solved using a hybrid solution in which a relay bot is used, but suffers issues already discussed above. In addition to this, we need to work out a more elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). ### Server-to-server bridging From 6296d676c87f7fb098b709c64599e8355ede6d86 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 30 Mar 2017 13:14:57 +0100 Subject: [PATCH 043/801] Remove unused ID server file --- specification/identity_servers.rst | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 specification/identity_servers.rst diff --git a/specification/identity_servers.rst b/specification/identity_servers.rst deleted file mode 100644 index db82865e2..000000000 --- a/specification/identity_servers.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright 2016 OpenMarket Ltd -.. -.. Licensed under the Apache License, Version 2.0 (the "License"); -.. you may not use this file except in compliance with the License. -.. You may obtain a copy of the License at -.. -.. http://www.apache.org/licenses/LICENSE-2.0 -.. -.. Unless required by applicable law or agreed to in writing, software -.. distributed under the License is distributed on an "AS IS" BASIS, -.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -.. See the License for the specific language governing permissions and -.. limitations under the License. - -Identity Servers -================ -.. NOTE:: - This section is a work in progress. - -.. TODO-doc Dave - - 3PIDs and identity server, functions - From 35605b4c1db1f432caa274b0b104dc426ae97170 Mon Sep 17 00:00:00 2001 From: Keyvan Fatehi Date: Sat, 1 Apr 2017 08:44:01 -0700 Subject: [PATCH 044/801] Improvements to the "types of bridging" guide Signed-off-by: Keyvan Fatehi --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 8f3dd9383..91565bc0f 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -46,7 +46,15 @@ Going forwards we’re aiming for all bridges to be at least simple puppeted, if A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. -This is the holy-grail of bridging, but it is elusive and difficult to achieve. Third party clients to walled gardens are typically reverse-engineered, fragile, and only allow puppeting through login, and no capability of representing other users. [matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of two-way puppeted bridges, having done so, without a "relaybot" feature, for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). However, this type of bridge does not necessarily solve the problem of relaying communication between two disparate third party networks. For example, a Facebook user cannot talk to a Hangouts user and vice versa because practically speaking the puppeted accounts cannot impersonate or represent anyone except themselves. This can be solved using a hybrid solution in which a relay bot is used, but suffers issues already discussed above. In addition to this, we need to work out a more elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). +This is the holy-grail of bridging because both the Matrix account and the third party account are accurately represented on their respective networks, with all user metadata intact. This is in contrast to a relaybot which would appear as a separate user from whom it represents. + +Several obstacles exist to the proper implementation of double-puppeted bridges. On the Matrix side, we need an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). On the third-party network, unique problems exist depending on the limitations of that particular network network. For example, many third party networks will lack the ability to represent other Matrix users than the one being puppeted (see hybrid relaybot). + +[matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of double-puppeted bridges, having done so, without a bridgebot feature, for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). A downside to their approach is the assumption that an individual will run the bridge on their own homeserver, thus working around the problem of sharing auth credentials on a shared homeserver. + +### Hybrid Relaybot Puppet Bridge + +This type of bridge is a combination single or double puppet bridge which tries to solve the problem of representing other users by means of the bridgebot technique. [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) works in this way. ### Server-to-server bridging From 1646d4b83295bd743239a81f0e26371e67ef1ec6 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Tue, 4 Apr 2017 11:07:46 -0700 Subject: [PATCH 045/801] Remove Morpheus Closes #878 Closes #873 Closes #847 --- supporting-docs/projects/2016-02-07-morpheus.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 supporting-docs/projects/2016-02-07-morpheus.md diff --git a/supporting-docs/projects/2016-02-07-morpheus.md b/supporting-docs/projects/2016-02-07-morpheus.md deleted file mode 100644 index 14e17223d..000000000 --- a/supporting-docs/projects/2016-02-07-morpheus.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: morpheus -categories: projects client -description: A Haskell client for Matrix -author: Xe -maturity: Alpha ---- - -# {{ page.title }} -A Matrix client written in Haskell ([github](https://github.com/Xe/morpheus)) From 68d69d5fd5ee9e44ce04b63f73d2589c7c0028c0 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 4 Apr 2017 12:20:36 -0600 Subject: [PATCH 046/801] Create 2017-03-19-matrix-voyager-bot.md --- .../projects/2017-03-19-matrix-voyager-bot.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 supporting-docs/projects/2017-03-19-matrix-voyager-bot.md diff --git a/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md b/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md new file mode 100644 index 000000000..d39c69f6a --- /dev/null +++ b/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md @@ -0,0 +1,16 @@ +--- +layout: project +title: matrix-voyager-bot +categories: projects other +description: Maps the Matrix network as it discovers rooms +author: Travis Ralston +maturity: Alpha +--- + +# {{ page.title }} + +Voyager is a bot that travels the network by looking for rooms it can join. When the bot sees a message with a room alias, it will try to join the room to gather more links to rooms. + +Check out [the current graph](https://voyager.t2bot.io), or ask questions in [#voyager:t2l.io](https://matrix.to/#/#voyager:t2l.io). Voyager is not meant to be an intrusive bot, and is more than happy to automatically de-list a room when kicked or banned. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-voyager-bot). From 6651a4a43767d863d38bbc9855e99740d610b913 Mon Sep 17 00:00:00 2001 From: Ryan Rix Date: Mon, 10 Apr 2017 15:57:59 -0700 Subject: [PATCH 047/801] Remove mclient.el from the Projects page I'm removing this from MELPA since it's buggy, unmaintained, doesn't work with e2e and I don't have bandwidth to fix it right now. :( --- supporting-docs/projects/2015-10-01-mclient.el.md | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 supporting-docs/projects/2015-10-01-mclient.el.md diff --git a/supporting-docs/projects/2015-10-01-mclient.el.md b/supporting-docs/projects/2015-10-01-mclient.el.md deleted file mode 100644 index 3d49db75c..000000000 --- a/supporting-docs/projects/2015-10-01-mclient.el.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-client.el -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/10/mclient1-400x284.png -description: A Matrix.org frontend for Emacs! -author: Ryan Rix -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/10/mclient1-1080x365.png "{{ page.title }}") - -# {{ page.title }} -`matrix-client.el` is a Matrix.org frontend for Emacs. For more information and install instructions visit [the MELPA Emacs package repository](https://melpa.org/#/matrix-client). The code is available at [https://fort.kickass.systems/git/rrix/matrix-client.git](https://fort.kickass.systems/git/rrix/matrix-client.git). From 0a6886e73c63f64286d16d98e9ee0384b06239c2 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 22 Mar 2017 07:39:06 +0000 Subject: [PATCH 048/801] Fix broken link in spec --- specification/appendices/signing_json.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/appendices/signing_json.rst b/specification/appendices/signing_json.rst index bc76c89ab..30bf91a07 100644 --- a/specification/appendices/signing_json.rst +++ b/specification/appendices/signing_json.rst @@ -91,7 +91,7 @@ Signing Details JSON is signed by encoding the JSON object without ``signatures`` or keys grouped as ``unsigned``, using the canonical encoding described above. The JSON bytes are then signed using the -signature algorithm and the signature is encoded using `unpadded Base64`._ +signature algorithm and the signature is encoded using `unpadded Base64`_. The resulting base64 signature is added to an object under the *signing key identifier* which is added to the ``signatures`` object under the name of the entity signing it which is added back to the original JSON object From 934dd4754c0dbf9155da5d282176ea8deb2f6e07 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 19 Apr 2017 16:10:53 +0100 Subject: [PATCH 049/801] swagger-http-server: fix port param it needs to be an int, not a list --- scripts/swagger-http-server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/swagger-http-server.py b/scripts/swagger-http-server.py index 348e93db9..5ec001019 100755 --- a/scripts/swagger-http-server.py +++ b/scripts/swagger-http-server.py @@ -36,7 +36,7 @@ if __name__ == '__main__': scripts_dir = os.path.dirname(os.path.abspath(__file__)) parser = argparse.ArgumentParser() parser.add_argument( - '--port', '-p', nargs=1, + '--port', '-p', type=int, default=8000, help='TCP port to listen on (default: %(default)s)', ) From a2860beb68d7376273a1c1416a8c9e8a1a0350dc Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 19 Apr 2017 16:50:58 +0100 Subject: [PATCH 050/801] Add comment to swagger parsing thing --- templating/matrix_templates/units.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 051b38d7c..6d340b135 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -359,6 +359,9 @@ def get_example_for_response(response): # be formatted as raw objects rather than json-formatted strings, but we # have lots of the latter in our spec, which work with the swagger UI, # so grandfather them in. + # + # FIXME: swagger-ui no longer supports this. We should fix the inputs + # and remove the grandfathering. if isinstance(exampleobj, basestring): return exampleobj From da6938b818eab5ffdb4035b2bb3af9b1c5b44833 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 20 Apr 2017 16:51:42 +0100 Subject: [PATCH 051/801] Key management APIs (#894) Spec the e2e key-management APIs. --- .../definitions/device_keys.yaml | 68 ++++ api/client-server/keys.yaml | 336 ++++++++++++++++++ api/client-server/sync.yaml | 6 + changelogs/client_server.rst | 2 + specification/client_server_api.rst | 2 + .../modules/end_to_end_encryption.rst | 288 ++++++++++++++- specification/modules/send_to_device.rst | 10 +- templating/matrix_templates/units.py | 14 +- 8 files changed, 715 insertions(+), 11 deletions(-) create mode 100644 api/client-server/definitions/device_keys.yaml create mode 100644 api/client-server/keys.yaml diff --git a/api/client-server/definitions/device_keys.yaml b/api/client-server/definitions/device_keys.yaml new file mode 100644 index 000000000..888c93a44 --- /dev/null +++ b/api/client-server/definitions/device_keys.yaml @@ -0,0 +1,68 @@ +# Copyright 2016 OpenMarket Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: DeviceKeys +description: Device identity keys +properties: + user_id: + type: string + description: |- + The ID of the user the device belongs to. Must match the user ID used + when logging in. + example: "@alice:example.com" + device_id: + type: string + description: |- + The ID of the device these keys belong to. Must match the device ID used + when logging in. + example: "JLAFKJWSCS" + algorithms: + type: array + items: + type: string + description: |- + The encryption algorithms supported by this device. + example: ["m.olm.curve25519-aes-sha256", "m.megolm.v1.aes-sha"] + keys: + type: object + description: |- + Public identity keys. The names of the properties should be in the + format ``:``. The keys themselves should be + encoded as specified by the key algorithm. + additionalProperties: + type: string + example: + "curve25519:JLAFKJWSCS": "3C5BFWi2Y8MaVvjM8M22DBmh24PmgR0nPvJOIArzgyI" + "ed25519:JLAFKJWSCS": "lEuiRJBit0IG6nUf5pUzWTUEsRVVe/HJkoKuEww9ULI" + signatures: + type: object + description: |- + Signatures for the device key object. A map from user ID, to a map from + ``:`` to the signature. + + The signature is calculated using the process described at `Signing + JSON`_. + additionalProperties: + type: object + additionalProperties: + type: string + example: + "@alice:example.com": + "ed25519:JLAFKJWSCS": "dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA" +required: + - user_id + - device_id + - algorithms + - keys + - signatures diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml new file mode 100644 index 000000000..e77d53254 --- /dev/null +++ b/api/client-server/keys.yaml @@ -0,0 +1,336 @@ +# Copyright 2016 OpenMarket Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Client Config API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/keys/upload": + post: + summary: Upload end-to-end encryption keys. + description: |- + Publishes end-to-end encryption keys for the device. + security: + - accessToken: [] + parameters: + - in: body + name: keys + description: |- + The keys to be published + schema: + type: object + properties: + device_keys: + description: |- + Identity keys for the device. May be absent if no new + identity keys are required. + allOf: + - $ref: definitions/device_keys.yaml + one_time_keys: + type: object + description: |- + One-time public keys for "pre-key" messages. The names of + the properties should be in the format + ``:``. The format of the key is determined + by the key algorithm. + + May be absent if no new one-time keys are required. + additionalProperties: + type: + - string + - object + example: + "curve25519:AAAAAQ": "/qyvZvwjiTxGdGU0RCguDCLeR+nmsb3FfNG3/Ve4vU8" + signed_curve25519:AAAAHg: + key: "zKbLg+NrIjpnagy+pIY6uPL4ZwEG2v+8F9lmgsnlZzs" + signatures: + "@alice:example.com": + ed25519:JLAFKJWSCS: "FLWxXqGbwrb8SM3Y795eB6OA8bwBcoMZFXBqnTn58AYWZSqiD45tlBVcDa2L7RwdKXebW/VzDlnfVJ+9jok1Bw" + signed_curve25519:AAAAHQ: + key: "j3fR3HemM16M7CWhoI4Sk5ZsdmdfQHsKL1xuSft6MSw" + signatures: + "@alice:example.com": + ed25519:JLAFKJWSCS: "IQeCEPb9HFk217cU9kw9EOiusC6kMIkoIRnbnfOh5Oc63S1ghgyjShBGpu34blQomoalCyXWyhaaT3MrLZYQAA" + responses: + 200: + description: + The provided keys were sucessfully uploaded. + schema: + type: object + properties: + one_time_key_counts: + type: object + additionalProperties: + type: integer + description: |- + For each key algorithm, the number of unclaimed one-time keys + of that type currently held on the server for this device. + example: + curve25519: 10 + signed_curve25519: 20 + required: + - one_time_key_counts + + tags: + - End-to-end encryption + "/keys/query": + post: + summary: Download device identity keys. + description: |- + Returns the current devices and identity keys for the given users. + security: + - accessToken: [] + parameters: + - in: body + name: query + description: |- + Query defining the keys to be downloaded + schema: + type: object + properties: + timeout: + type: integer + description: |- + The time (in milliseconds) to wait when downloading keys from + remote servers. 10 seconds is the recommended default. + example: 10000 + device_keys: + type: object + description: |- + The keys to be downloaded. A map from user ID, to a list of + device IDs, or to an empty list to indicate all devices for the + corresponding user. + additionalProperties: + type: array + items: + type: string + description: "device ID" + example: + "@alice:example.com": [] + required: + - device_keys + + responses: + 200: + description: + The device information + schema: + type: object + properties: + failures: + type: object + description: |- + If any remote homeservers could not be reached, they are + recorded here. The names of the properties are the names of + the unreachable servers. + + If the homeserver could be reached, but the user or device + was unknown, no failure is recorded. Instead, the corresponding + user or device is missing from the ``device_keys`` result. + additionalProperties: + type: object + example: {} + device_keys: + type: object + description: |- + Information on the queried devices. A map from user ID, to a + map from device ID to device information. For each device, + the information returned will be the same as uploaded via + ``/keys/upload``, with the addition of an ``unsigned`` + property. + additionalProperties: + type: object + additionalProperties: + allOf: + - $ref: definitions/device_keys.yaml + properties: + unsigned: + title: UnsignedDeviceInfo + type: object + description: |- + Additional data added to the device key information + by intermediate servers, and not covered by the + signatures. + properties: + device_display_name: + type: string + description: + The display name which the user set on the device. + example: + "@alice:example.com": + JLAFKJWSCS: { + "user_id": "@alice:example.com", + "device_id": "JLAFKJWSCS", + "algorithms": [ + "m.olm.curve25519-aes-sha256", + "m.megolm.v1.aes-sha" + ], + "keys": { + "curve25519:JLAFKJWSCS": "3C5BFWi2Y8MaVvjM8M22DBmh24PmgR0nPvJOIArzgyI", + "ed25519:JLAFKJWSCS": "lEuiRJBit0IG6nUf5pUzWTUEsRVVe/HJkoKuEww9ULI" + }, + "signatures": { + "@alice:example.com": { + "ed25519:JLAFKJWSCS": "dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA" + } + }, + "unsigned": { + "device_display_name": "Alice's mobile phone" + } + } + + tags: + - End-to-end encryption + "/keys/claim": + post: + summary: Claim one-time encryption keys. + description: |- + Claims one-time keys for use in pre-key messages. + security: + - accessToken: [] + parameters: + - in: body + name: query + description: |- + Query defining the keys to be claimed + schema: + type: object + properties: + timeout: + type: integer + description: |- + The time (in milliseconds) to wait when downloading keys from + remote servers. 10 seconds is the recommended default. + example: 10000 + one_time_keys: + type: object + description: |- + The keys to be claimed. A map from user ID, to a map from + device ID to algorithm name. + additionalProperties: + type: object + additionalProperties: + type: string + description: algorithm + example: "signed_curve25519" + example: + "@alice:example.com": { "JLAFKJWSCS": "curve25519" } + required: + - one_time_keys + responses: + 200: + description: + The claimed keys + schema: + type: object + properties: + failures: + type: object + description: |- + If any remote homeservers could not be reached, they are + recorded here. The names of the properties are the names of + the unreachable servers. + + If the homeserver could be reached, but the user or device + was unknown, no failure is recorded. Instead, the corresponding + user or device is missing from the ``one_time_keys`` result. + additionalProperties: + type: object + example: {} + one_time_keys: + type: object + description: |- + One-time keys for the queried devices. A map from user ID, to a + map from ``:`` to the key object. + additionalProperties: + type: object + additionalProperties: + type: + - string + - object + example: + "@alice:example.com": + JLAFKJWSCS: + signed_curve25519:AAAAHg: + key: "zKbLg+NrIjpnagy+pIY6uPL4ZwEG2v+8F9lmgsnlZzs" + signatures: + "@alice:example.com": + ed25519:JLAFKJWSCS: "FLWxXqGbwrb8SM3Y795eB6OA8bwBcoMZFXBqnTn58AYWZSqiD45tlBVcDa2L7RwdKXebW/VzDlnfVJ+9jok1Bw" + tags: + - End-to-end encryption + "/keys/changes": + get: + summary: Query users with recent device key updates. + description: |- + Gets a list of users who have updated their device identity keys since a + previous sync token. + + The server should include in the results any users who: + + * currently share a room with the calling user (ie, both users have + membership state ``join``); *and* + * added new device identity keys or removed an existing device with + identity keys, between ``from`` and ``to``. + security: + - accessToken: [] + parameters: + - in: query + name: from + type: string + description: |- + The desired start point of the list. Should be the ``next_batch`` field + from a response to an earlier call to |/sync|. Users who have not + uploaded new device identity keys since this point, nor deleted + existing devices with identity keys since then, will be excluded + from the results. + required: true + x-example: "s72594_4483_1934" + - in: query + name: to + type: string + description: |- + The desired end point of the list. Should be the ``next_batch`` + field from a recent call to |/sync| - typically the most recent + such call. This may be used by the server as a hint to check its + caches are up to date. + required: true + x-example: "s75689_5632_2435" + responses: + 200: + description: + The list of users who updated their devices. + schema: + type: object + properties: + changes: + type: array + items: + type: string + description: |- + The Matrix User IDs of all users who updated their device + identity keys. + example: ["@alice:example.com", "@bob:example.org"] + tags: + - End-to-end encryption diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 66f7d935b..8da06f400 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -242,6 +242,12 @@ paths: description: |- Information on the send-to-device messages for the client device, as defined in |send_to_device_sync|_. + device_lists: + title: DeviceLists + type: object + description: |- + Information on end-to-end device updates, as specified in + |device_lists_sync|_. examples: application/json: |- { diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 952a72e2b..9bc027cd4 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -46,6 +46,8 @@ - Allow guest accounts to use a number of endpoints which are required for end-to-end encryption. (`#751 `_). + - Add key distribution APIs, for use with end-to-end encryption. + (`#894 `_). - Spec clarifications: diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index bbb6982a7..16ce0a7d1 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1436,3 +1436,5 @@ have to wait in milliseconds before they can try again. .. |/user//account_data/| replace:: ``/user//account_data/`` .. _/user//account_data/: #put-matrix-client-%CLIENT_MAJOR_VERSION%-user-userid-account-data-type + +.. _`Unpadded Base64`: ../appendices.html#unpadded-base64 diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 48416da43..1f778bc2c 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -17,6 +17,290 @@ End-to-End Encryption .. _module:e2e: -End to end encryption is being worked on and will be coming soon. +Matrix optionally supports end-to-end encryption, allowing rooms to be created +whose conversation contents is not decryptable or interceptable on any of the +participating homeservers. -You can read about what's underway at http://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#end-to-end-encryption. +.. WARNING:: + + End to end encryption is being worked on and will be coming soon. This + section is incomplete. You can read more about what's underway at + http://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#end-to-end-encryption. + +Key Distribution +---------------- +Encryption and Authentication in Matrix is based around public-key +cryptography. The Matrix protocol provides a basic mechanism for exchange of +public keys, though an out-of-band channel is required to exchange fingerprints +between users to build a web of trust. + +Overview +~~~~~~~~ + +.. code:: + + 1) Bob publishes the public keys and supported algorithms for his + device. This may include long-term identity keys, and/or one-time + keys. + + +----------+ +--------------+ + | Bob's HS | | Bob's Device | + +----------+ +--------------+ + | | + |<=============| + /keys/upload + + 2) Alice requests Bob's public identity keys and supported algorithms. + + +----------------+ +------------+ +----------+ + | Alice's Device | | Alice's HS | | Bob's HS | + +----------------+ +------------+ +----------+ + | | | + |=================>|==============>| + /keys/query + + 3) Alice selects an algorithm and claims any one-time keys needed. + + +----------------+ +------------+ +----------+ + | Alice's Device | | Alice's HS | | Bob's HS | + +----------------+ +------------+ +----------+ + | | | + |=================>|==============>| + /keys/claim + + +Key algorithms +~~~~~~~~~~~~~~ + +The name ``ed25519`` corresponds to the `Ed25519`_ signature algorithm. The key +is a 32-byte Ed25519 public key, encoded using `unpadded Base64`_. Example: + +.. code:: json + + "SogYyrkTldLz0BXP+GYWs0qaYacUI0RleEqNT8J3riQ" + +The name ``curve25519`` corresponds to the `Curve25519`_ ECDH algorithm. The +key is a 32-byte Curve25519 public key, encoded using `unpadded +Base64`_. Example: + +.. code:: json + + "JGLn/yafz74HB2AbPLYJWIVGnKAtqECOBf11yyXac2Y" + +The name ``signed_curve25519`` also corresponds to the Curve25519 algorithm, +but keys using this algorithm are objects with the properties ``key`` (giving +the Base64-encoded 32-byte Curve25519 public key), and ``signatures`` (giving a +signature for the key object, as described in `Signing JSON`_). Example: + +.. code:: json + + { + "key":"06UzBknVHFMwgi7AVloY7ylC+xhOhEX4PkNge14Grl8", + "signatures": { + "@user:example.com": { + "ed25519:EGURVBUNJP": "YbJva03ihSj5mPk+CHMJKUKlCXCPFXjXOK6VqBnN9nA2evksQcTGn6hwQfrgRHIDDXO2le49x7jnWJHMJrJoBQ" + } + } + } + +Device keys +~~~~~~~~~~~ + +Each device should have one Ed25519 signing key. This key should be generated +on the device from a cryptographically secure source, and the private part of +the key should never be exported from the device. This key is used as the +fingerprint for a device by other clients. + +A device will generally need to generate a number of additional keys. Details +of these will vary depending on the messaging algorithm in use. + +Algorithms generally require device identity keys as well as signing keys. Some +algorithms also require one-time keys to improve their secrecy and deniability. +These keys are used once during session establishment, and are then thrown +away. + +For Olm version 1, each device requires a single Curve25519 identity key, and a +number of signed Curve25519 one-time keys. + +Uploading keys +~~~~~~~~~~~~~~ + +A device uploads the public parts of identity keys to their homeserver as a +signed JSON object, using the |/keys/upload|_ API. +The JSON object must include the public part of the device's Ed25519 key, and +must be signed by that key, as described in `Signing JSON`_. + +One-time keys are also uploaded to the homeserver using the |/keys/upload|_ +API. + +Devices must store the private part of each key they upload. They can +discard the private part of a one-time key when they receive a message using +that key. However it's possible that a one-time key given out by a homeserver +will never be used, so the device that generates the key will never know that +it can discard the key. Therefore a device could end up trying to store too +many private keys. A device that is trying to store too many private keys may +discard keys starting with the oldest. + +Tracking the device list for a user +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before Alice can send an encrypted message to Bob, she needs a list of each of +his devices and the associated identity keys, so that she can establish an +encryption session with each device. This list can be obtained by calling +|/keys/query|_, passing Bob's user ID in the ``device_keys`` parameter. + +From time to time, Bob may add new devices, and Alice will need to know this so +that she can include his new devices for later encrypted messages. A naive +solution to this would be to call |/keys/query|_ before sending each message - +however, the number of users and devices may be large and this would be +inefficient. + +It is therefore expected that each client will maintain a list of devices for a +number of users (in practice, typically each user with whom we share an +encrypted room). Furthermore, it is likely that this list will need to be +persisted between invocations of the client application (to preserve device +verification data and to alert Alice if Bob suddently gets a new +device). + +Alice's client can maintain a list of Bob's devices via the following +process: + +#. It first sets a flag to record that it is now tracking Bob's device list, + and a separate flag to indicate that its list of Bob's devices is + outdated. Both flags should be in storage which persists over client + restarts. + +#. It then makes a request to |/keys/query|_, passing Bob's user ID in the + ``device_keys`` parameter. When the request completes, it stores the + resulting list of devices in persistent storage, and clears the 'outdated' + flag. + +#. During its normal processing of responses to |/sync|_, Alice's client + inspects the |device_lists|_ field. If it is tracking the device lists of + any of the listed users, then it marks the device lists for those users + outdated, and initiates another request to |/keys/query|_ for them. + +#. Periodically, Alice's client stores the ``next_batch`` field of the result + from |/sync|_ in persistent storage. If Alice later restarts her client, it + can obtain a list of the users who have updated their device list while it + was offline by calling |/keys/changes|_, passing the recorded ``next_batch`` + field as the ``from`` parameter. If the client is tracking the device list + of any of the users listed in the response, it marks them as outdated. It + combines this list with those already flagged as outdated, and initiates a + |/keys/query|_ requests for all of them. + +.. Warning:: + + Bob may update one of his devices while Alice has a request to + ``/keys/query`` in flight. Alice's client may therefore see Bob's user ID in + the ``device_lists`` field of the ``/sync`` response while the first request + is in flight, and initiate a second request to ``/keys/query``. This may + lead to either of two related problems. + + The first problem is that, when the first request completes, the client will + clear the 'outdated' flag for Bob's devices. If the second request fails, or + the client is shut down before it completes, this could lead to Alice using + an outdated list of Bob's devices. + + The second possibility is that, under certain conditions, the second request + may complete *before* the first one. When the first request completes, the + client could overwrite the later results from the second request with those + from the first request. + + Clients MUST guard against these situations. For example, a client could + ensure that only one request to ``/keys/query`` is in flight at a time for + each user, by queuing additional requests until the first completes. + Alternatively, the client could make a new request immediately, but ensure + that the first request's results are ignored (possibly by cancelling the + request). + +.. |device_lists| replace:: ``device_lists`` +.. _`device_lists`: `device_lists_sync`_ + +Claiming one-time keys +~~~~~~~~~~~~~~~~~~~~~~ + +A client wanting to set up a session with another device can claim a one-time +key for that device. This is done by making a request to the |/keys/claim|_ +API. + +A homeserver should rate-limit the number of one-time keys that a given user or +remote server can claim. A homeserver should discard the public part of a one +time key once it has given that key to another user. + + +Protocol definitions +-------------------- + +{{keys_cs_http_api}} + + +.. anchor for link from /sync api spec +.. |device_lists_sync| replace:: End-to-end encryption +.. _device_lists_sync: + +Extensions to /sync +~~~~~~~~~~~~~~~~~~~ + +This module adds an optional ``device_lists`` property to the |/sync|_ +response, as specified below. The server need only populate this property for +an incremental ``/sync`` (ie, one where the ``since`` parameter was +specified). The client is expected to use |/keys/query|_ or |/keys/changes|_ +for the equivalent functionality after an initial sync, as documented in +`Tracking the device list for a user`_. + +.. todo: generate this from a swagger definition? + +.. device_lists: { changed: ["@user:server", ... ]}, + +============ =========== ===================================================== +Parameter Type Description +============ =========== ===================================================== +device_lists DeviceLists Optional. Information on e2e device updates. Note: + only present on an incremental sync. +============ =========== ===================================================== + +``DeviceLists`` + +========= ========= ============================================= +Parameter Type Description +========= ========= ============================================= +changed [string] List of users who have updated their device identity keys + since the previous sync response. +========= ========= ============================================= + + +Example response: + +.. code:: json + + { + "next_batch": "s72595_4483_1934", + "rooms": {"leave": {}, "join": {}, "invite": {}}, + "device_lists": { + "changed": [ + "@alice:example.com", + ], + }, + } + +.. References + +.. _ed25519: http://ed25519.cr.yp.to/ +.. _curve25519: https://cr.yp.to/ecdh.html + +.. _`Signing JSON`: ../appendices.html#signing-json + +.. |m.olm.v1.curve25519-aes-sha2| replace:: ``m.olm.v1.curve25519-aes-sha2`` + +.. |/keys/upload| replace:: ``/keys/upload`` +.. _/keys/upload: #post-matrix-client-%CLIENT_MAJOR_VERSION%-keys-upload + +.. |/keys/query| replace:: ``/keys/query`` +.. _/keys/query: #post-matrix-client-%CLIENT_MAJOR_VERSION%-keys-query + +.. |/keys/claim| replace:: ``/keys/claim`` +.. _/keys/claim: #post-matrix-client-%CLIENT_MAJOR_VERSION%-keys-claim + +.. |/keys/changes| replace:: ``/keys/changes`` +.. _/keys/changes: #get-matrix-client-%CLIENT_MAJOR_VERSION%-keys-changes diff --git a/specification/modules/send_to_device.rst b/specification/modules/send_to_device.rst index dd85a9929..232becae9 100644 --- a/specification/modules/send_to_device.rst +++ b/specification/modules/send_to_device.rst @@ -12,11 +12,12 @@ .. See the License for the specific language governing permissions and .. limitations under the License. +.. _module:to_device: +.. _`to-device`: + Send-to-Device messaging ======================== -.. _module:to_device: - This module provides a means by which clients can exchange signalling messages without them being stored permanently as part of a shared communication history. A message is delivered exactly once to each client device. @@ -35,10 +36,13 @@ have the same event type. The device ID in the request body can be set to ``*`` to request that the message be sent to all known devices. If there are send-to-device messages waiting for a client, they will be -returned by |/sync|_, as detailed in `Extensions to /sync`_. Clients should +returned by |/sync|_, as detailed in |Extensions|_. Clients should inspect the ``type`` of each returned event, and ignore any they do not understand. +.. |Extensions| replace:: Extensions to /sync +.. _Extensions: `send_to_device_sync`_ + Server behaviour ---------------- Servers should store pending messages for local users until they are diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 6d340b135..9fd016e30 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -123,11 +123,6 @@ def get_json_schema_object_fields(obj, enforce_title=False): logger.debug("Processing object with title '%s'", obj_title) - if enforce_title and not obj_title: - # Force a default titile of "NO_TITLE" to make it obvious in the - # specification output which parts of the schema are missing a title - obj_title = 'NO_TITLE' - additionalProps = obj.get("additionalProperties") props = obj.get("properties") if additionalProps and not props: @@ -151,14 +146,21 @@ def get_json_schema_object_fields(obj, enforce_title=False): props[pretty_key] = props[key_name] del props[key_name] + + # Sometimes you just want to specify that a thing is an object without # doing all the keys. if not props: return { - "type": obj_title, + "type": obj_title if obj_title else 'object', "tables": [], } + if enforce_title and not obj_title: + # Force a default titile of "NO_TITLE" to make it obvious in the + # specification output which parts of the schema are missing a title + obj_title = 'NO_TITLE' + required_keys = set(obj.get("required", [])) first_table_rows = [] From b54fc31e980c3240320c8d130b6e9a419ff754d5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 20 Apr 2017 16:33:21 +0100 Subject: [PATCH 052/801] e2e guide: fix some formatting --- supporting-docs/guides/2016-10-18-e2e_implementation.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst index fdb2c69c1..541349165 100644 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ b/supporting-docs/guides/2016-10-18-e2e_implementation.rst @@ -358,7 +358,6 @@ follows [#]_. the event as verified`_\ . ``recipient_keys`` - an object with a property ``ed25519``. The client should check that the value of this property matches its own fingerprint key. From 11194282b4b95f02c839dc6e47bb3c8235bf4ddc Mon Sep 17 00:00:00 2001 From: Adam Beckmeyer Date: Sat, 22 Apr 2017 11:11:21 -0400 Subject: [PATCH 053/801] Add gyr project --- supporting-docs/projects/2017-04-21-gyr.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 supporting-docs/projects/2017-04-21-gyr.md diff --git a/supporting-docs/projects/2017-04-21-gyr.md b/supporting-docs/projects/2017-04-21-gyr.md new file mode 100644 index 000000000..9ed6e3468 --- /dev/null +++ b/supporting-docs/projects/2017-04-21-gyr.md @@ -0,0 +1,15 @@ +--- +layout: project +title: Gyr +categories: projects as +description: Python framework for application services +author: Adam Beckmeyer +maturity: Alpha +--- + + +# {{ page.title }} + +A framework and library for building Application Services with python3. Find the +[source on Github](https://github.com/non-Jedi/gyr) or install [the library with +pip](https://pypi.python.org/pypi/gyr). From dde3c8e4b854fe8d46f640a8eeb9237b14334310 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 22:58:09 +0100 Subject: [PATCH 054/801] add dendrite --- supporting-docs/projects/2016-01-13-dendron.md | 8 +++----- supporting-docs/projects/2017-05-02-dendrite.md | 12 ++++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 supporting-docs/projects/2017-05-02-dendrite.md diff --git a/supporting-docs/projects/2016-01-13-dendron.md b/supporting-docs/projects/2016-01-13-dendron.md index 6dad51cb2..1fe313603 100644 --- a/supporting-docs/projects/2016-01-13-dendron.md +++ b/supporting-docs/projects/2016-01-13-dendron.md @@ -3,12 +3,10 @@ layout: project title: Dendron categories: projects server author: Matrix.org team -maturity: Beta +maturity: Obsolete --- # {{ page.title }} -Dendron is a Matrix homeserver written in Go. +Dendron was the start of an experimental Matrix homeserver written in Go, built as a 'strangler pattern' implementation on top of Synapse. It was discontinued in favour of Dendrite. -Rather than write a Matrix homeserver from scratch, Dendron acts as a proxy for an existing homeserver Synapse written in python. This means that it can be already be used as a fully-featured homeserver. - -Check it out on [github](https://github.com/matrix-org/dendron)! +The code lives on at [github](https://github.com/matrix-org/dendron)! diff --git a/supporting-docs/projects/2017-05-02-dendrite.md b/supporting-docs/projects/2017-05-02-dendrite.md new file mode 100644 index 000000000..8346ac3b0 --- /dev/null +++ b/supporting-docs/projects/2017-05-02-dendrite.md @@ -0,0 +1,12 @@ +--- +layout: project +title: Dendrite +categories: projects server +author: Matrix.org team +maturity: Alpha +--- + +# {{ page.title }} +Dendrite (aka 'Dendron done Right') is a next-generation homeserver written in Golang, implemented in a highly horizontally scalable manner using modular components connected via append only logs. + +Find the code at [github](https://github.com/matrix-org/dendrite)! From 19aa35c2fd44a25593627668ed1f93d77371de80 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:04:17 +0100 Subject: [PATCH 055/801] add sydent --- supporting-docs/projects/2017-05-02-sydent.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-sydent.md diff --git a/supporting-docs/projects/2017-05-02-sydent.md b/supporting-docs/projects/2017-05-02-sydent.md new file mode 100644 index 000000000..b247acc8e --- /dev/null +++ b/supporting-docs/projects/2017-05-02-sydent.md @@ -0,0 +1,24 @@ +--- +layout: project +title: sydent +categories: projects other +description: The official Matrix Identity Server implementation +author: Matrix.org team +maturity: Stable +--- + +# {{ page.title }} +sydent is an implementation of the Matrix Identity Server API in Python, supporting: + * Validation of 3PIDs (email and MSISDNs) for signup and discovery + * Binding of 3PIDs to MXIDs (for discovery) + * Lookup of 3PIDs to MXIDs + * Storing unresolved 3PID invites. + * Replication of assertions across a closed federation. + +Instances currently run at matrix.org and vector.im; meanwhile others are free to run their own but they will not be able to participate in the global directory lookup table. + +N.B. use of the Identity Server API is stricly optional in Matrix - it's only used to resolve 3PIDs to MXIDs. + +Get the code from [GitHub](https://github.com/matrix-org/sydent) + +Alternatively, [slipeer](https://githcub.com/slipeer) maintains a [fork with LDAP lookup](https://github.com/slipeer/sydent). From 6a8b59adc8ef4d504f6755f09816a053dc5ff086 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:20:36 +0100 Subject: [PATCH 056/801] riotchat -> riotchat-ansible --- .../{2016-12-11-riotchat.md => 2016-12-11-riotchat-ansible.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename supporting-docs/projects/{2016-12-11-riotchat.md => 2016-12-11-riotchat-ansible.md} (94%) diff --git a/supporting-docs/projects/2016-12-11-riotchat.md b/supporting-docs/projects/2016-12-11-riotchat-ansible.md similarity index 94% rename from supporting-docs/projects/2016-12-11-riotchat.md rename to supporting-docs/projects/2016-12-11-riotchat-ansible.md index c34a537a5..765950620 100644 --- a/supporting-docs/projects/2016-12-11-riotchat.md +++ b/supporting-docs/projects/2016-12-11-riotchat-ansible.md @@ -1,6 +1,6 @@ --- layout: project -title: riotchat +title: riotchat-ansible categories: projects other description: Ansible playbook for matrix/riot.im setup author: kultsinuppeli From cd654583e030e5c8893a376ae749884f95b906f2 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:22:26 +0100 Subject: [PATCH 057/801] j->journal --- .../projects/{2016-10-22-j.md => 2016-10-22-journal.md} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename supporting-docs/projects/{2016-10-22-j.md => 2016-10-22-journal.md} (84%) diff --git a/supporting-docs/projects/2016-10-22-j.md b/supporting-docs/projects/2016-10-22-journal.md similarity index 84% rename from supporting-docs/projects/2016-10-22-j.md rename to supporting-docs/projects/2016-10-22-journal.md index 46252d211..ad460926a 100644 --- a/supporting-docs/projects/2016-10-22-j.md +++ b/supporting-docs/projects/2016-10-22-journal.md @@ -1,15 +1,15 @@ --- layout: project -title: j - journalism for [matrix] +title: journal description: A web client for writing news stories, personal blogs and more, built on matrix. -categories: projects other +categories: projects client author: Luke Bernard maturity: Early beta --- # {{ page.title }} -A web client for writing news stories, personal blogs and more, built on matrix. +A web client for writing news stories, personal blogs and more, built on matrix. Formally known as `j`. ![image](https://camo.githubusercontent.com/86738201a4ebcb15f9254e6438524e8cc0b50d9b/68747470733a2f2f6d61747269782e6f72672f5f6d61747269782f6d656469612f76312f646f776e6c6f61642f6d61747269782e6f72672f7a4b42724c74646c5a6e7471766352735864545755446c7a) -Check it out from [Luke's GitHub repo](https://github.com/lukebarnard1/j). +Check it out from [Luke's GitHub repo](https://github.com/lukebarnard1/journal). From 84e19e555953a31f491f618a80a087d2c44fa45f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:25:34 +0100 Subject: [PATCH 058/801] add circle --- supporting-docs/projects/2017-05-02-circle.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-circle.md diff --git a/supporting-docs/projects/2017-05-02-circle.md b/supporting-docs/projects/2017-05-02-circle.md new file mode 100644 index 000000000..5cde4a94c --- /dev/null +++ b/supporting-docs/projects/2017-05-02-circle.md @@ -0,0 +1,18 @@ +--- +layout: project +title: Circle +description: A thin client and server for group chat, supporting IRC & Matrix +categories: projects client +author: LeoNerd +maturity: Beta +--- + +# {{ page.title }} +Circle is an IRC & Matrix client which merges the best attributes of a local client and the common screen+irssi recipe. + + * Keep IRC connects and state on a backend server, allowing disconnections from local UI. + * Interact with a real local GUI for the frontend, instead of incurring SSH roundtrips for every keypress. + +![image](http://www.leonerd.org.uk/code/circle/circle-two-fes.png) + +Get the code from [LeoNerd's Bazaar](http://www.leonerd.org.uk/code/circle/obtain.html). From e6b5088647b3f0070c390dd3729fce24954ff668 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:31:11 +0100 Subject: [PATCH 059/801] ruma-gtk --- supporting-docs/projects/2017-05-02-ruma-gtk.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-ruma-gtk.md diff --git a/supporting-docs/projects/2017-05-02-ruma-gtk.md b/supporting-docs/projects/2017-05-02-ruma-gtk.md new file mode 100644 index 000000000..188b107ca --- /dev/null +++ b/supporting-docs/projects/2017-05-02-ruma-gtk.md @@ -0,0 +1,15 @@ +--- +layout: project +title: ruma-gtk +description: A Gtk/Rust Matrix client using ruma-client-api +categories: projects client +author: jplatte +maturity: Early Alpha +--- + +# {{ page.title }} +A WIP matrix client implemented using gtk and ruma-client-api + +![image](https://matrix.org/_matrix/media/v1/download/matrix.org/LYClTFMAbxWkHKzUSUrusqWU) + +Get the code from https://github.com/jplatte/ruma-gtk From 30299d27db68cdd7b23ce6ceb9bfc3af83f6825c Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:34:32 +0100 Subject: [PATCH 060/801] nheko --- supporting-docs/projects/2017-05-02-nheko.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-nheko.md diff --git a/supporting-docs/projects/2017-05-02-nheko.md b/supporting-docs/projects/2017-05-02-nheko.md new file mode 100644 index 000000000..2e313648d --- /dev/null +++ b/supporting-docs/projects/2017-05-02-nheko.md @@ -0,0 +1,17 @@ +--- +layout: project +title: nheko +description: A Qt/C++11 desktop client for Matrix +categories: projects client +author: mujx +maturity: Late Alpha +--- + +# {{ page.title }} +The motivation behind the project is to provide a native desktop app for Matrix that feels more like a mainstream chat app (Riot, Telegram etc) and less like an IRC client. + +Join the discussion on Matrix [#nheko:matrix.org](https://matrix.to/#/#nheko:matrix.org) + +![image](https://matrix.org/_matrix/media/v1/download/matrix.org/EqTYfFxtEWQMnTsIYmBnqySI) + +Get the code from https://github.com/mujx/nheko From 76dcabbc95677570ecc1528bd77e1cabbaa99f7f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:37:31 +0100 Subject: [PATCH 061/801] add yunohost --- supporting-docs/projects/2014-06-09-riot.md | 2 ++ supporting-docs/projects/2014-08-12-synapse.md | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md index d6e4310bb..f0931b806 100644 --- a/supporting-docs/projects/2014-06-09-riot.md +++ b/supporting-docs/projects/2014-06-09-riot.md @@ -17,3 +17,5 @@ maturity: Released You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/). + +You can also get it on (Yunohost)[https://github.com/Josue-T/riot_ynh]. diff --git a/supporting-docs/projects/2014-08-12-synapse.md b/supporting-docs/projects/2014-08-12-synapse.md index d29b2c365..bc5cdccca 100644 --- a/supporting-docs/projects/2014-08-12-synapse.md +++ b/supporting-docs/projects/2014-08-12-synapse.md @@ -24,6 +24,9 @@ Martin Giess has created an auto-deployment process with vagrant/ansible, tested Synapse is also on the [Open Build Service](https://obs.infoserver.lv/project/show/matrix-synapse). -Finally, a Synapse package is available for the [Nix package manager](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/matrix-synapse.nix). +Synapse is available for the [Nix package manager](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/matrix-synapse.nix). + +You can get Synapse on [Yunohost](https://github.com/YunoHost-Apps/synapse_ynh) There is also a [handy spreadsheet](http://matrix.org/docs/projects/other/hdd-space-calc-for-synapse.html) to calculate HDD space for your Synapse instance. + From 1c5050c61be0837b397a8a37e83050b761cbdbc0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:41:44 +0100 Subject: [PATCH 062/801] synapse-diaspora-auth --- .../projects/2017-05-02-synapse-diaspora-auth.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md diff --git a/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md b/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md new file mode 100644 index 000000000..b9676c0ce --- /dev/null +++ b/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md @@ -0,0 +1,13 @@ +--- +layout: project +title: synapse-diasport-auth +categories: projects other +description: A diaspora authenticator for synapse +author: Shamil K Muhammed +maturity: Stable +--- + +# {{ page.title }} +A diaspora authenticator for matrix synapse. + +https://git.fosscommunity.in/necessary129/synapse-diaspora-auth From 4805b0646a74b6fe65dece92818591b6ea21ff25 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:44:06 +0100 Subject: [PATCH 063/801] matrixcraft --- .../projects/2017-05-02-matrixcraft-bridge.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-matrixcraft-bridge.md diff --git a/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md b/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md new file mode 100644 index 000000000..f9b20d8e3 --- /dev/null +++ b/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md @@ -0,0 +1,12 @@ +--- +layout: project +title: Matrixcraft bridge +categories: projects as +author: paftree +maturity: Alpha +--- + +# {{ page.title }} +Some Python code for plumbing together a Matrix room and a Minecraft server chat + +https://github.com/paftree/matrixcraft-bridge From 698e02f6b2bdff2c460809c0a16640debde5ac2b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:48:58 +0100 Subject: [PATCH 064/801] thunderbird --- supporting-docs/projects/2017-05-02-thunderbird.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-thunderbird.md diff --git a/supporting-docs/projects/2017-05-02-thunderbird.md b/supporting-docs/projects/2017-05-02-thunderbird.md new file mode 100644 index 000000000..16e0dab34 --- /dev/null +++ b/supporting-docs/projects/2017-05-02-thunderbird.md @@ -0,0 +1,13 @@ +--- +layout: project +title: Mozilla Thunderbird +description: A free email & chat app +categories: projects client +author: Frédéric Wang +maturity: Beta +--- + +# {{ page.title }} +Initial support for Matrix in [Mozilla Thunderbird](https://www.mozilla.org/en-US/thunderbird/), available in Nightly since March 2017, and due to land in Instantbird/Thunderbird 54. + +To enable, turn `chat.prpls.prpl-matrix.disable` to `false` in the advanced config editor. From 5e2875db97a01a4803cf687270bb3acac396bfd3 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 2 May 2017 23:51:24 +0100 Subject: [PATCH 065/801] MatrixSDK --- .../projects/2017-05-02-swift-matrix-sdk.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-swift-matrix-sdk.md diff --git a/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md b/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md new file mode 100644 index 000000000..11ba00d5e --- /dev/null +++ b/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md @@ -0,0 +1,13 @@ +--- +layout: project +title: Swift MatrixSDK +categories: projects sdk +author: gperdomor +maturity: Alpha +--- + +# {{ page.title }} + +Unofficial SDK to build apps compatible with Matrix using swift + +https://github.com/gperdomor/matrix-sdk From f06edc299793b96f48ee568ed2e7a3cc10aadd49 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:14:06 +0100 Subject: [PATCH 066/801] glitch in the matrix --- .../projects/2017-05-02-glitch-in-the-matrix.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md diff --git a/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md b/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md new file mode 100644 index 000000000..e70dc67a6 --- /dev/null +++ b/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md @@ -0,0 +1,12 @@ +--- +layout: project +title: Glitch in the Matrix +categories: projects sdk +author: eta +maturity: Alpha +--- + +# {{ page.title }} +Glitch in the Matrix is a set of (minimal) Matrix bindings for Rust. + +https://github.com/eeeeeta/glitch-in-the-matrix From f4174eb01a81b05a51cf08fbcf46ea5bb6d364d6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:17:30 +0100 Subject: [PATCH 067/801] neo --- supporting-docs/projects/2017-05-02-neo.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-neo.md diff --git a/supporting-docs/projects/2017-05-02-neo.md b/supporting-docs/projects/2017-05-02-neo.md new file mode 100644 index 000000000..0315fde5e --- /dev/null +++ b/supporting-docs/projects/2017-05-02-neo.md @@ -0,0 +1,17 @@ +--- +layout: project +title: Neo +categories: projects client +author: f0x52 +description: A thin Matrix client/daemon in Go +maturity: Alpha +--- + +# {{ page.title }} + +Neo-daemon is a Matrix client, written in Go. +It uses a socket to communicate with frontends, such as neo-cli. + +![screenshot](https://f.0x52.eu/neo-cli.png) + +Get it from https://gitla.in/neo From 749e7da96d0b7ea3baae12179d769c984dcee1c9 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:21:08 +0100 Subject: [PATCH 068/801] Add https://copr.fedorainfracloud.org/coprs/taw/Riot/ --- supporting-docs/projects/2014-06-09-riot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md index f0931b806..8d396b950 100644 --- a/supporting-docs/projects/2014-06-09-riot.md +++ b/supporting-docs/projects/2014-06-09-riot.md @@ -16,6 +16,6 @@ maturity: Released You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! -There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/). +There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/) and https://copr.fedorainfracloud.org/coprs/taw/Riot/. You can also get it on (Yunohost)[https://github.com/Josue-T/riot_ynh]. From ba16b44d47a315cd4ac4997d03dcb9ac63a1c19c Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:26:09 +0100 Subject: [PATCH 069/801] matrix-relay --- supporting-docs/projects/2017-05-02-matrix-relay.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-matrix-relay.md diff --git a/supporting-docs/projects/2017-05-02-matrix-relay.md b/supporting-docs/projects/2017-05-02-matrix-relay.md new file mode 100644 index 000000000..b94146998 --- /dev/null +++ b/supporting-docs/projects/2017-05-02-matrix-relay.md @@ -0,0 +1,13 @@ +--- +layout: project +title: matrix-relay +categories: projects as +description: Relays messages between rooms using AS API +author: Adam Beckmeyer +maturity: Alpha +--- + + +# {{ page.title }} +Relays messages between matrix rooms via the AS API. +Built on https://github.com/non-Jedi/gyr. From fa2bfb7bd492a3999e6d2f31eb2546d8b6538141 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:39:50 +0100 Subject: [PATCH 070/801] matrix-knowledge-base --- .../projects/2017-05-02-matrix-knowledge-base.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 supporting-docs/projects/2017-05-02-matrix-knowledge-base.md diff --git a/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md b/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md new file mode 100644 index 000000000..8eaeda04e --- /dev/null +++ b/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md @@ -0,0 +1,12 @@ +--- +layout: project +title: Matrix Knowledge Base +categories: projects other +author: Coffee +maturity: Beta +--- + +# {{ page.title }} +A community-organised FAQ for all things Matrix, instigated by [Coffee](https://github.com/Matrixcoffee) :) + +https://github.com/Matrixcoffee/matrix-knowledge-base From 7f2ed4efb7acf04c4bf7fec21f780fbab6d0dd88 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:51:08 +0100 Subject: [PATCH 071/801] typo --- supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md b/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md index b9676c0ce..cadacda09 100644 --- a/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md +++ b/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md @@ -1,6 +1,6 @@ --- layout: project -title: synapse-diasport-auth +title: synapse-diaspora-auth categories: projects other description: A diaspora authenticator for synapse author: Shamil K Muhammed From 6a048acd3023b96b2fbadabda7e98ef4e39080c0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 3 May 2017 00:53:56 +0100 Subject: [PATCH 072/801] move gomatrix to the right place --- supporting-docs/projects/2016-11-29-gomatrix.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/supporting-docs/projects/2016-11-29-gomatrix.md b/supporting-docs/projects/2016-11-29-gomatrix.md index 26913a99c..f50e42401 100644 --- a/supporting-docs/projects/2016-11-29-gomatrix.md +++ b/supporting-docs/projects/2016-11-29-gomatrix.md @@ -1,13 +1,13 @@ --- layout: project title: gomatrix -categories: projects client -description: A Golang Matrix client -author: Kegsay -maturity: Alpha +categories: projects sdk +description: Official Golang Matrix client SDK +author: Matrix.org +maturity: Stable --- # {{ page.title }} -A Golang Matrix client in early development. +Official Golang Matrix client SDK, as used by [go-neb](https://github.com/matrix-org/go-neb) and others Find it on [GitHub](https://github.com/matrix-org/gomatrix). From 2a8d64fef7a40717ef9f5748ee0551b2117be037 Mon Sep 17 00:00:00 2001 From: Shawn Anastasio Date: Thu, 18 May 2017 05:05:07 -0500 Subject: [PATCH 073/801] supporting-docs/projects: Add matrix-pollbot matrix-pollbot is a bot that allows you to create polls to be voted on by members of a Matrix room. --- .../projects/2017-05-18-matrix-pollbot.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-05-18-matrix-pollbot.md diff --git a/supporting-docs/projects/2017-05-18-matrix-pollbot.md b/supporting-docs/projects/2017-05-18-matrix-pollbot.md new file mode 100644 index 000000000..acc6f804d --- /dev/null +++ b/supporting-docs/projects/2017-05-18-matrix-pollbot.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-pollbot +categories: projects other +description: A bot for creating polls +author: Shawn Anastasio +maturity: Early Beta +--- + +# {{ page.title }} + +Pollbot is a Matrix bot written using [python-matrix-bot-api](https://github.com/shawnanastasio/python-matrix-bot-api/) that allows you to create polls that can be voted on by members of a room. + +The project lives on [GitHub](https://github.com/shawnanastasio/matrix-pollbot). From fc4bef93da52aafbe6208b8e150dea9859fe2775 Mon Sep 17 00:00:00 2001 From: Matrixcoffee Date: Tue, 23 May 2017 22:13:07 +0000 Subject: [PATCH 074/801] Update 2017-05-02-matrix-knowledge-base.md --- .../projects/2017-05-02-matrix-knowledge-base.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md b/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md index 8eaeda04e..e96610447 100644 --- a/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md +++ b/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md @@ -3,10 +3,10 @@ layout: project title: Matrix Knowledge Base categories: projects other author: Coffee -maturity: Beta +description: FAQs and more. Bot-friendly collection of Matrix knowledge. Also suitable for humans. +maturity: Alpha --- - # {{ page.title }} -A community-organised FAQ for all things Matrix, instigated by [Coffee](https://github.com/Matrixcoffee) :) +A community-supported collection of FAQs and more on all things [Matrix](https://matrix.org). Its primary use is to serve as botfood for a yet-to-be-written FAQbot, but it is also suitable for human consumption. https://github.com/Matrixcoffee/matrix-knowledge-base From 06719c9b956d26f4067dcd0b12880358683a9406 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Tue, 23 May 2017 19:13:07 +0900 Subject: [PATCH 075/801] Update Quaternion and libqmatrixclient records --- supporting-docs/projects/2015-06-27-quaternion.md | 10 +++++----- .../projects/2016-04-05-libqmatrixclient.md | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/supporting-docs/projects/2015-06-27-quaternion.md b/supporting-docs/projects/2015-06-27-quaternion.md index 4b4b0048f..9e9899d67 100644 --- a/supporting-docs/projects/2015-06-27-quaternion.md +++ b/supporting-docs/projects/2015-06-27-quaternion.md @@ -2,13 +2,13 @@ layout: project title: Quaternion categories: projects client -thumbnail: https://raw.githubusercontent.com/Fxrh/Quaternion/master/quaternion.png -author: Fxrh +thumbnail: https://raw.githubusercontent.com/QMatrixClient/Quaternion/master/quaternion.png +author: Felix Rohrbach, Kitsune Ral description: Quaternion is an IM client for the Matrix protocol -maturity: Alpha +maturity: Late alpha --- -![screenshot](https://raw.githubusercontent.com/Fxrh/Quaternion/master/quaternion.png "{{ page.title }}") +![screenshot](https://raw.githubusercontent.com/QMatrixClient/Quaternion/master/quaternion.png "{{ page.title }}") # {{ page.title }} -Quaternion is an IM client for the Matrix protocol in development. ([github](https://github.com/Fxrh/Quaternion)) +Quaternion is a Qt/QML-based IM client for the Matrix protocol in development. ([github](https://github.com/QMatrixClient/Quaternion)) diff --git a/supporting-docs/projects/2016-04-05-libqmatrixclient.md b/supporting-docs/projects/2016-04-05-libqmatrixclient.md index bc3b852d2..9476c07d9 100644 --- a/supporting-docs/projects/2016-04-05-libqmatrixclient.md +++ b/supporting-docs/projects/2016-04-05-libqmatrixclient.md @@ -2,11 +2,11 @@ layout: project title: libqmatrixclient categories: projects sdk -author: Felix Rohrbach -maturity: Alpha +authors: Kitsune Ral, Felix Rohrbach +maturity: Late alpha --- # {{ page.title }} -libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by the [Quaternion client](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the Quaternion project. +libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by the [Quaternion client](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the Quaternion project. Recent builds of [Tensor](https://matrix.org/docs/projects/client/tensor.html) are also made on top of libqmatrixclient. -The project lives in Felix Rohrbach's [github space](https://github.com/Fxrh/libqmatrixclient). +The project lives in QMatrixClient [github space](https://github.com/QMatrixClient/libqmatrixclient). From 1b3e1a0a885afb5da9600ac0cd3f0b05a3dce48c Mon Sep 17 00:00:00 2001 From: Max Dor Date: Wed, 24 May 2017 17:16:15 +0200 Subject: [PATCH 076/801] Create matrix-appservice-email project page --- .../2017-05-24-matrix-appservice-email.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 supporting-docs/projects/2017-05-24-matrix-appservice-email.md diff --git a/supporting-docs/projects/2017-05-24-matrix-appservice-email.md b/supporting-docs/projects/2017-05-24-matrix-appservice-email.md new file mode 100644 index 000000000..0c45ad657 --- /dev/null +++ b/supporting-docs/projects/2017-05-24-matrix-appservice-email.md @@ -0,0 +1,19 @@ +--- +layout: project +title: Matrix E-mail Bridge +categories: projects as +description: Two ways from/to E-mail bridge +author: Kamax.io, sponsored by Open-Xchange +maturity: Alpha +--- + +# {{ page.title }} +An application service gateway for bridging between E-mail and Matrix, written using Spring Boot (Java) using [matrix-java-sdk](https://github.com/kamax-io/matrix-java-sdk). +You can get the [code on github](https://github.com/kamax-io/matrix-appservice-email). + +Features: +- Matrix to E-mail forwarding +- E-mail to Matrix forwarding +- E-mail <-> Matrix <-> E-mail forwarding, if several bridge users are present within a room +- Fully configuration notification templates, per event +- Subscription portal where E-mail users can manage their notifications From 37be6feb7256047b5dbf6b88d4f757f3048fb712 Mon Sep 17 00:00:00 2001 From: Max Dor Date: Wed, 24 May 2017 17:41:28 +0200 Subject: [PATCH 077/801] Update mxisd project description --- supporting-docs/projects/2017-01-23-mxisd.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md index d3a012c68..c0a06719a 100644 --- a/supporting-docs/projects/2017-01-23-mxisd.md +++ b/supporting-docs/projects/2017-01-23-mxisd.md @@ -8,16 +8,9 @@ maturity: Alpha --- # {{ page.title }} -mxisd is an implementation of the Matrix Identity Server which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) and an external validation implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html). +mxisd is a federated Matrix Identity Server following a cascading lookup model, using LDAP (optional) then other identity servers, including the central Matrix servers. +It is targeted to people/organisation that run their own Homeserver for a specific domain and want to publish 3PID mapping without having to rely on central servers. -mxisd is currently in read-only mode and use a priority lookup strategy with several providers. - -Given the 3PID ```john.doe@example.org```, the following would be performed in priority order until a mapping is found: - -LDAP: lookup the Matrix ID from an configurable attribute. -DNS: lookup another Identity Server using the domain part of an e-mail and: -Look for a SRV record under ```_identity._matrix._tcp.example.org``` -Lookup using the base domain name ```example.org``` -Forwarder: Proxy the request to other identity servers (```matrix.org``` and ```vector.im``` currently hardcoded). +Is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent). Follow the progress and grab the code from [GitHub](https://github.com/kamax-io/mxisd). From 4e64720be59b0ce29fc935024253baa0c3f18015 Mon Sep 17 00:00:00 2001 From: "Paul \"LeoNerd\" Evans" Date: Mon, 5 Jun 2017 11:46:05 +0100 Subject: [PATCH 078/801] Remove the NaMatrix client entry as it's now dead --- .../projects/2014-08-23-net-async-matrix-client.md | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 supporting-docs/projects/2014-08-23-net-async-matrix-client.md diff --git a/supporting-docs/projects/2014-08-23-net-async-matrix-client.md b/supporting-docs/projects/2014-08-23-net-async-matrix-client.md deleted file mode 100644 index cf52dd08f..000000000 --- a/supporting-docs/projects/2014-08-23-net-async-matrix-client.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Net::Async::Matrix Client -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/net-async-matrix-400x284.png -description: A Perl CLI client from Net::Async::Matrix and Tickit -author: LeoNerd -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/net-async-matrix.png "{{ page.title }}") - -# {{ page.title }} -LeoNerd’s example Perl CLI client from Net::Async::Matrix and Tickit: [https://metacpan.org/source/PEVANS/Net-Async-Matrix-0.16/client.pl](https://metacpan.org/source/PEVANS/Net-Async-Matrix-0.16/client.pl) From d755d979163bbd06c24fb988c517a3f622a7e57c Mon Sep 17 00:00:00 2001 From: "Paul \"LeoNerd\" Evans" Date: Mon, 5 Jun 2017 11:59:24 +0100 Subject: [PATCH 079/801] Add a screenshot for Circle+Matrix; expand on the instructions making them more matrix-specific --- supporting-docs/projects/2017-05-02-circle.md | 45 +++++++++++++++++- .../images/circle-fe-term+matrix-small.png | Bin 0 -> 21579 bytes .../projects/images/circle-fe-term+matrix.png | Bin 0 -> 86769 bytes 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 supporting-docs/projects/images/circle-fe-term+matrix-small.png create mode 100644 supporting-docs/projects/images/circle-fe-term+matrix.png diff --git a/supporting-docs/projects/2017-05-02-circle.md b/supporting-docs/projects/2017-05-02-circle.md index 5cde4a94c..601a9a630 100644 --- a/supporting-docs/projects/2017-05-02-circle.md +++ b/supporting-docs/projects/2017-05-02-circle.md @@ -3,6 +3,7 @@ layout: project title: Circle description: A thin client and server for group chat, supporting IRC & Matrix categories: projects client +thumbnail: /docs/projects/images/circle-fe-term+matrix-small.png author: LeoNerd maturity: Beta --- @@ -12,7 +13,49 @@ Circle is an IRC & Matrix client which merges the best attributes of a local cli * Keep IRC connects and state on a backend server, allowing disconnections from local UI. * Interact with a real local GUI for the frontend, instead of incurring SSH roundtrips for every keypress. + * Supports IRC, Matrix, ![image](http://www.leonerd.org.uk/code/circle/circle-two-fes.png) +![image](/docs/projects/images/circle-fe-term+matrix.png) -Get the code from [LeoNerd's Bazaar](http://www.leonerd.org.uk/code/circle/obtain.html). +First, get the code from CPAN: + +``` +$ cpan Circle +$ cpan Circle::Net::Matrix + +$ cpan Circle::FE::Term +``` + +Now you can run the backend. Personally I keep UNIX sockets in `$HOME/var/run` but of course feel free to use whatever path you like. + +``` +$ mkdir -p ~/var/run +$ cd circle-be +$ ./circle-be --socket ~/var/run/circle.sock +``` + +Now you can run the frontend, which connects to the backend server via ssh and connects to that UNIX socket. + +``` +$ cd circle-fe-term +$ ./circle-fe-term sshunix://server/var/run/circle.sock +``` + +Then in the Global tab, create a new Matrix network: + +``` +/networks add -type matrix Matrix +``` + +Then in the new MyNet tab for that network, configure it and connect: + +``` +/set homeserver example.org +/set user_id @me:example.org +/set access_token MDAxABCDE... + +/connect +``` + +(for now, you'll have to steal the access token from another Matrix client, such as Riot or [App::MatrixTool](https://metacpan.org/pod/App::MatrixTool)) diff --git a/supporting-docs/projects/images/circle-fe-term+matrix-small.png b/supporting-docs/projects/images/circle-fe-term+matrix-small.png new file mode 100644 index 0000000000000000000000000000000000000000..dc88b736d69645a92dd19a351edef6148502e9b7 GIT binary patch literal 21579 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 literal 0 HcmV?d00001 diff --git a/supporting-docs/projects/images/circle-fe-term+matrix.png b/supporting-docs/projects/images/circle-fe-term+matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..c09095a8b22e407f801d0c3e5f6b3d58dcb33346 GIT binary patch literal 86769 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

    IcBR~J*l6R~p#yEDEY*1VtiP+9b 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 nK@bE%5ClOG1VIo4VPN Date: Thu, 15 Jun 2017 02:09:50 -0700 Subject: [PATCH 080/801] Tox.im -> Tox.chat https://tox.chat is the Tox project's official homepage, while Tox.im is their old page, that seems to have been taken over by a squatter linking to an old blog post. Don't want to mislead people :) --- supporting-docs/guides/2015-08-19-faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index 9dd309cee..0cdd387a3 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -289,11 +289,11 @@ PSYC's views on Matrix. ##### What is the difference between Matrix and Tox? -Tox.im looks to be a very cool clone of Skype - a fully decentralised +Tox.chat looks to be a very cool clone of Skype - a fully decentralised peer-to-peer network.  Matrix is deliberately not a 'pure' peer-to-peer system; instead each user has a well-defined homeserver which stores his data and that he can depend upon.  Matrix provides HTTP APIs; -Tox.im provides C APIs. As of October 2015 Tox doesn't seem to have an +Tox.chat provides C APIs. As of October 2015 Tox doesn't seem to have an answer yet for decentralised conversation history storage. ##### How does Matrix compare with something like Trillian or Pidgin? From 39d516ae1e439bd36f9cd24d759dd7cf8b44bf48 Mon Sep 17 00:00:00 2001 From: Max Dor Date: Wed, 21 Jun 2017 03:13:26 +0200 Subject: [PATCH 081/801] "Try Matrix!" page for Matrix Java SDK --- .../projects/2017-04-27-matrix-sync-java-sdk.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md diff --git a/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md b/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md new file mode 100644 index 000000000..e747cc292 --- /dev/null +++ b/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md @@ -0,0 +1,14 @@ +--- +layout: project +title: Matrix Java SDK +categories: projects sdk +author: Kamax.io +maturity: Alpha +--- +# {{ page.title }} + +The Java SDK provides a low level (I/O synchronous) object oriented library to interact with Matrix. It is aimed to regular clients, bots, bridges and generic Application Services. + +It is currently work in progress, is incomplete and is early alpha. + +[Github](https://github.com/kamax-io/matrix-java-sdk) From 9538bf55a85acc87a0ca4f08d6f5012f3641bea1 Mon Sep 17 00:00:00 2001 From: DYM Date: Tue, 27 Jun 2017 13:11:17 +0200 Subject: [PATCH 082/801] markdown --- supporting-docs/projects/2014-06-09-riot.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md index 8d396b950..785ca3a63 100644 --- a/supporting-docs/projects/2014-06-09-riot.md +++ b/supporting-docs/projects/2014-06-09-riot.md @@ -16,6 +16,6 @@ maturity: Released You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! -There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/) and https://copr.fedorainfracloud.org/coprs/taw/Riot/. +There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/) and [taw's FedoraCorp](https://copr.fedorainfracloud.org/coprs/taw/Riot/). -You can also get it on (Yunohost)[https://github.com/Josue-T/riot_ynh]. +You can also get it on [Yunohost](https://github.com/Josue-T/riot_ynh). From 81ea7058a5601d9c8caefbf18358ed8d10be9e6f Mon Sep 17 00:00:00 2001 From: krombel Date: Fri, 30 Jun 2017 13:32:12 +0200 Subject: [PATCH 083/801] Add link to draft for WebSocketAPI on Google-Docs --- drafts/websockets.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drafts/websockets.rst b/drafts/websockets.rst index bd0ff081d..0fe8d968d 100644 --- a/drafts/websockets.rst +++ b/drafts/websockets.rst @@ -14,6 +14,9 @@ will reduce the latency between server and client by allowing the server to send events as soon as they arrive, rather than having to wait for a poll from the client. +Note: This proposal got continued in a google document you can find here: +https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g + Handshake --------- 1. Instead of calling ``/sync``, the client makes a websocket request to From 1f12d9114c708cb0a6adc5e8e49ec865a89bb0c7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 3 Jul 2017 12:20:12 +0100 Subject: [PATCH 084/801] Riot project: improve readability --- supporting-docs/projects/2014-06-09-riot.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md index 785ca3a63..d6289e45d 100644 --- a/supporting-docs/projects/2014-06-09-riot.md +++ b/supporting-docs/projects/2014-06-09-riot.md @@ -10,12 +10,11 @@ maturity: Released ![screenshot](/docs/projects/images/riot-web-large.png "{{ page.title }}") - # {{ page.title }} [Riot](https://riot.im) is a glossy Matrix client built on top of [matrix-react-sdk](http://matrix.org/blog/project/matrix-react-sdk/) with an emphasis on performance and usability. You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! -There are also desktop versions builds at [riot.im](https://riot.im/desktop.html) and native RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux at [taw00's GitHub space](https://github.com/taw00/riot-rpm/) and [taw's FedoraCorp](https://copr.fedorainfracloud.org/coprs/taw/Riot/). +There is also a desktop version, which is available at [riot.im](https://riot.im/desktop.html). Taw has created RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux which are available via [GitHub](https://github.com/taw00/riot-rpm/) and [FedoraCorp](https://copr.fedorainfracloud.org/coprs/taw/Riot/). -You can also get it on [Yunohost](https://github.com/Josue-T/riot_ynh). +Josué Tille has contributed a [Yunohost app](https://github.com/Josue-T/riot_ynh). From 9d396242d3cd64f6b010b1c400cd0cb582ba7c5a Mon Sep 17 00:00:00 2001 From: turt2live Date: Mon, 3 Jul 2017 15:57:41 -0600 Subject: [PATCH 085/801] Add matrix-topic-bot --- .../projects/2017-06-27-matrix-topic-bot.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-06-27-matrix-topic-bot.md diff --git a/supporting-docs/projects/2017-06-27-matrix-topic-bot.md b/supporting-docs/projects/2017-06-27-matrix-topic-bot.md new file mode 100644 index 000000000..7baea0bf2 --- /dev/null +++ b/supporting-docs/projects/2017-06-27-matrix-topic-bot.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-topic-bot +categories: projects other +description: A simple bot that provides dynamic topics +author: Travis Ralston +maturity: Release +--- + +# {{ page.title }} + +[@topic:t2bot.io](https://matrix.to/#/@topic:t2bot.io) is a simple bot that updates your room topic based on some conditions. Useful for rooms that have membership counts or dynamic topics. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-topic-bot). From 847730109f4d82ac8e6150dce1cf61e37894cf09 Mon Sep 17 00:00:00 2001 From: turt2live Date: Mon, 3 Jul 2017 16:02:01 -0600 Subject: [PATCH 086/801] Add matrix-embedded-federation --- .../2017-03-18-matrix-embedded-federation.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-03-18-matrix-embedded-federation.md diff --git a/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md b/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md new file mode 100644 index 000000000..34d62ae89 --- /dev/null +++ b/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-embedded-federation +categories: projects other +description: A lightweight homeserver SDK intended for enhanced bridging +author: Travis Ralston +maturity: Alpha +--- + +# {{ page.title }} + +matrix-embedded-federation is a work in progress Java library that will provide in-code interfaces for clients to reach out to the greater matrix ecosystem. Currently being baked into [matrix-minecraft-plugin](https://github.com/turt2live/matrix-minecraft-plugin) for a better player experience. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-embedded-federation). From 54760ad0ddc47e58cde94f40ba3c459d5da69817 Mon Sep 17 00:00:00 2001 From: turt2live Date: Mon, 3 Jul 2017 16:08:22 -0600 Subject: [PATCH 087/801] Add rocket-sheep --- .../projects/2017-01-29-rocket-sheep.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 supporting-docs/projects/2017-01-29-rocket-sheep.md diff --git a/supporting-docs/projects/2017-01-29-rocket-sheep.md b/supporting-docs/projects/2017-01-29-rocket-sheep.md new file mode 100644 index 000000000..6ce4bc356 --- /dev/null +++ b/supporting-docs/projects/2017-01-29-rocket-sheep.md @@ -0,0 +1,16 @@ +--- +layout: project +title: rocket-sheep +categories: projects other +description: A bot to connect makerspaces with their members +author: Travis Ralston +maturity: Released +--- + +# {{ page.title }} + +Rocket Sheep is a matrix bot intended for makerspaces/hackerspaces. Through use of a message queue, Rocket Sheep can announce when people enter the building. In combination with Blue Iris, Rocket Sheep can provide snapshots of your cameras for members to see what is going on at the space. + +More functionality is planned, and recommendations are welcome. + +The source (and more information) can be found on [GitHub](https://github.com/ENTS-Source/rocket-sheep). Pop by [#ents:tang.ents.ca](https://matrix.to/#/#ents:tang.ents.ca) with any questions. From 6423901ce3b3316030a3f8e47da058e34ec1675c Mon Sep 17 00:00:00 2001 From: turt2live Date: Mon, 3 Jul 2017 16:08:55 -0600 Subject: [PATCH 088/801] Use consistent labels for project statuses --- supporting-docs/projects/2017-06-27-matrix-topic-bot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2017-06-27-matrix-topic-bot.md b/supporting-docs/projects/2017-06-27-matrix-topic-bot.md index 7baea0bf2..255745f22 100644 --- a/supporting-docs/projects/2017-06-27-matrix-topic-bot.md +++ b/supporting-docs/projects/2017-06-27-matrix-topic-bot.md @@ -4,7 +4,7 @@ title: matrix-topic-bot categories: projects other description: A simple bot that provides dynamic topics author: Travis Ralston -maturity: Release +maturity: Released --- # {{ page.title }} From 852f4edeadb05d664a1aad3a3f929ec384e92f2c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@googlemail.com> Date: Wed, 5 Jul 2017 16:18:49 +0100 Subject: [PATCH 089/801] redacts is an eventID not a roomID (! -> $) --- event-schemas/examples/m.room.redaction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event-schemas/examples/m.room.redaction b/event-schemas/examples/m.room.redaction index 46df2ab4c..e24a8cdbe 100644 --- a/event-schemas/examples/m.room.redaction +++ b/event-schemas/examples/m.room.redaction @@ -9,6 +9,6 @@ "event_id": "$WLGTSEFSEF:localhost", "type": "m.room.redaction", "room_id": "!Cuyf34gef24t:localhost", - "redacts": "!fukweghifu23:localhost", + "redacts": "$fukweghifu23:localhost", "sender": "@example:localhost" } From 750d980bc063a556775da789822dc22e3ba040f7 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Fri, 14 Jul 2017 15:30:56 +0100 Subject: [PATCH 090/801] Room member (#950) * Fixed an incorrect membership on example * Added precision on membership upon profile update * Changed first example into a join * Changed the state/{eventType}/{stateKey} example with an actual state key --- api/client-server/room_state.yaml | 8 +++++--- changelogs/client_server.rst | 3 +++ event-schemas/examples/m.room.member | 16 ---------------- .../examples/m.room.member#invite_room_state | 2 +- specification/client_server_api.rst | 4 ++-- 5 files changed, 11 insertions(+), 22 deletions(-) diff --git a/api/client-server/room_state.yaml b/api/client-server/room_state.yaml index d9064f0a6..f6a452f27 100644 --- a/api/client-server/room_state.yaml +++ b/api/client-server/room_state.yaml @@ -56,20 +56,22 @@ paths: name: eventType description: The type of event to send. required: true - x-example: "m.room.name" + x-example: "m.room.member" - in: path type: string name: stateKey description: The state_key for the state to send. Defaults to the empty string. required: true - x-example: "" + x-example: "@alice:example.com" - in: body name: body schema: type: object example: |- { - "name": "New name for the room" + "membership": "join", + "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", + "displayname": "Alice Margatroid" } responses: 200: diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 9bc027cd4..dfa776740 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -51,6 +51,9 @@ - Spec clarifications: + - Fixed examples of ``m.room.member`` event and room state change, + and added a clarification on the membership event sent upon profile update + (`#950 `_). - Spell out the way that state is handled by ``POST /createRoom`` (`#362 `_). - Clarify the fields which are applicable to different types of push rule diff --git a/event-schemas/examples/m.room.member b/event-schemas/examples/m.room.member index 133cad96b..2495145ba 100644 --- a/event-schemas/examples/m.room.member +++ b/event-schemas/examples/m.room.member @@ -5,22 +5,6 @@ "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", "displayname": "Alice Margatroid" }, - "invite_room_state": [ - { - "type": "m.room.name", - "state_key": "", - "content": { - "name": "Forest of Magic" - } - }, - { - "type": "m.room.join_rules", - "state_key": "", - "content": { - "join_rules": "invite" - } - } - ], "state_key": "@alice:localhost", "origin_server_ts": 1431961217939, "event_id": "$WLGTSEFSEF:localhost", diff --git a/event-schemas/examples/m.room.member#invite_room_state b/event-schemas/examples/m.room.member#invite_room_state index 133cad96b..130be9741 100644 --- a/event-schemas/examples/m.room.member#invite_room_state +++ b/event-schemas/examples/m.room.member#invite_room_state @@ -1,7 +1,7 @@ { "age": 242352, "content": { - "membership": "join", + "membership": "invite", "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", "displayname": "Alice Margatroid" }, diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 16ce0a7d1..2973d1d8d 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1341,8 +1341,8 @@ many places of a client's display, changes to these fields cause an automatic propagation event to occur, informing likely-interested parties of the new values. This change is conveyed using two separate mechanisms: -- a ``m.room.member`` event is sent to every room the user is a member of, - to update the ``displayname`` and ``avatar_url``. +- a ``m.room.member`` event (with a ``join`` membership) is sent to every room + the user is a member of, to update the ``displayname`` and ``avatar_url``. - a ``m.presence`` presence status update is sent, again containing the new values of the ``displayname`` and ``avatar_url`` keys, in addition to the required ``presence`` key containing the current presence state of the user. From 94ded5fff7fe96fc00fa80eb2f2d246666ef798b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20T=C3=B6tterman?= Date: Wed, 19 Jul 2017 11:19:09 +0300 Subject: [PATCH 091/801] Don't give false hope about up-to-date docs --- supporting-docs/guides/2016-01-01-index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2016-01-01-index.md b/supporting-docs/guides/2016-01-01-index.md index 32fdebac8..01cf5e022 100644 --- a/supporting-docs/guides/2016-01-01-index.md +++ b/supporting-docs/guides/2016-01-01-index.md @@ -8,7 +8,7 @@ categories: guides

    Here is a collection of guides that might help you get involved with Matrix.

    First, there is the Getting Involved guide, which explains various ways of getting started with Matrix, and the FAQ, which tries to answer all your questions relating to Matrix.

    -

    The (updated) Client-Server API guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".

    +

    The Client-Server API guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".

    If you were using the old v1 CS API, there is also the v1 migration guide which justs lists the changes from v1 to r0.

    Let's Encrypt Matrix explains how to use Let's Encrypt's certificates with your Synapse installation. This guide was written by William A Stevens.

    The Application services guide introduces and explains Application services, and what they can be used for.

    From 112ba5566ebd892ffa1736c32aadd6aa2db683b4 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Mon, 24 Jul 2017 11:51:04 +0900 Subject: [PATCH 092/801] Fixed typo and other polishing --- supporting-docs/projects/2016-04-05-libqmatrixclient.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/projects/2016-04-05-libqmatrixclient.md b/supporting-docs/projects/2016-04-05-libqmatrixclient.md index 9476c07d9..93fb41001 100644 --- a/supporting-docs/projects/2016-04-05-libqmatrixclient.md +++ b/supporting-docs/projects/2016-04-05-libqmatrixclient.md @@ -2,11 +2,11 @@ layout: project title: libqmatrixclient categories: projects sdk -authors: Kitsune Ral, Felix Rohrbach +author: Kitsune Ral, Felix Rohrbach maturity: Late alpha --- # {{ page.title }} -libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by the [Quaternion client](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the Quaternion project. Recent builds of [Tensor](https://matrix.org/docs/projects/client/tensor.html) are also made on top of libqmatrixclient. +libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by [Quaternion](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the QMatrixClient project. Recent builds of [Tensor](https://matrix.org/docs/projects/client/tensor.html) are also made on top of libqmatrixclient. The project lives in QMatrixClient [github space](https://github.com/QMatrixClient/libqmatrixclient). From fee65dbacb45817873d2e37cad23e5b422c6e0b5 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 27 Jul 2017 17:43:49 +0100 Subject: [PATCH 093/801] Fix response format and 404 example for room alias lookup --- api/client-server/directory.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/client-server/directory.yaml b/api/client-server/directory.yaml index 7a2a23785..0a69a8ec4 100644 --- a/api/client-server/directory.yaml +++ b/api/client-server/directory.yaml @@ -98,10 +98,10 @@ paths: description: The room ID for this room alias. servers: type: array - description: A list of servers that are aware of this room ID. + description: A list of servers that are aware of this room alias. items: type: string - description: A server which is aware of this room ID. + description: A server which is aware of this room alias. examples: application/json: |- { @@ -118,7 +118,7 @@ paths: application/json: |- { "errcode": "M_NOT_FOUND", - "error": "Room ID !abnjk1jdasj98:capuchins.com not found." + "error": "Room alias #monkeys:matrix.org not found." } tags: - Room directory From 25f23873d47b4fd2d09fd6f0ddc0df093c78333f Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 27 Jul 2017 17:45:14 +0100 Subject: [PATCH 094/801] Update changelog --- changelogs/client_server.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index dfa776740..b5f31209d 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -51,7 +51,9 @@ - Spec clarifications: - - Fixed examples of ``m.room.member`` event and room state change, + - Fix response format and 404 example for room alias lookup + (`#960 `) + - Fix examples of ``m.room.member`` event and room state change, and added a clarification on the membership event sent upon profile update (`#950 `_). - Spell out the way that state is handled by ``POST /createRoom`` From f8ce497bd64c9ddda79cf3036665756c50a89eea Mon Sep 17 00:00:00 2001 From: krombel Date: Mon, 31 Jul 2017 12:04:24 +0200 Subject: [PATCH 095/801] Fix inconsistency: `join_rules` => `join_rule` All other docs do not have `join_rules` but `join_rule` This PR fix this inconsistency. Mentioned by @digital:sorunome.de in [#matrix-dev:matrix.org](https://matrix.to/#/!XqBunHwQIXUiqCaoxq:matrix.org/$150142347531959wjGGm:sorunome.de) --- event-schemas/examples/m.room.member#invite_room_state | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event-schemas/examples/m.room.member#invite_room_state b/event-schemas/examples/m.room.member#invite_room_state index 130be9741..1a93b395b 100644 --- a/event-schemas/examples/m.room.member#invite_room_state +++ b/event-schemas/examples/m.room.member#invite_room_state @@ -17,7 +17,7 @@ "type": "m.room.join_rules", "state_key": "", "content": { - "join_rules": "invite" + "join_rule": "invite" } } ], From a9d9f5822946df67f19a2e7cdf88d6ca7c879a1d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@googlemail.com> Date: Wed, 2 Aug 2017 14:12:33 +0100 Subject: [PATCH 096/801] fix react-sdk link --- supporting-docs/projects/2014-06-09-riot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md index d6289e45d..3083b5ea0 100644 --- a/supporting-docs/projects/2014-06-09-riot.md +++ b/supporting-docs/projects/2014-06-09-riot.md @@ -11,7 +11,7 @@ maturity: Released ![screenshot](/docs/projects/images/riot-web-large.png "{{ page.title }}") # {{ page.title }} -[Riot](https://riot.im) is a glossy Matrix client built on top of [matrix-react-sdk](http://matrix.org/blog/project/matrix-react-sdk/) with an emphasis on performance and usability. +[Riot](https://riot.im) is a glossy Matrix client built on top of [matrix-react-sdk](http://matrix.org/docs/projects/sdk/matrix.org-react-sdk.html) with an emphasis on performance and usability. You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! From 9d2a93ad7bca9fa12c630a450b0f7ec19c18a50d Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 2 Aug 2017 16:18:20 +0100 Subject: [PATCH 097/801] Run jekyll as part of the matrix-doc build - this saves us having to run it manually on the web server. --- .gitignore | 14 +- jekyll/_config.yml | 21 ++ jekyll/_includes/footer.html | 7 + jekyll/_includes/head.html | 28 +++ jekyll/_includes/nav.html | 32 +++ jekyll/_includes/title.html | 4 + jekyll/_layouts/default.html | 27 ++ jekyll/_layouts/page.html | 14 ++ jekyll/_layouts/post.html | 6 + jekyll/_layouts/project.html | 64 +++++ jekyll/_plugins/jekyll-rst-master/.gitignore | 1 + jekyll/_plugins/jekyll-rst-master/LICENSE.txt | 20 ++ jekyll/_plugins/jekyll-rst-master/README.rst | 97 +++++++ .../_plugins/jekyll-rst-master/converter.rb | 30 +++ .../_plugins/jekyll-rst-master/directives.py | 97 +++++++ jekyll/_plugins/jekyll-rst-master/rst2html.py | 42 ++++ .../_plugins/jekyll-rst-master/transform.py | 42 ++++ jekyll/_plugins/post_images.rb | 40 +++ jekyll/_plugins/project_version_tag.rb | 51 ++++ jekyll/_posts | 1 + jekyll/_sass/_base.scss | 204 +++++++++++++++ jekyll/_sass/_layout.scss | 236 ++++++++++++++++++ jekyll/_sass/_syntax-highlighting.scss | 67 +++++ jekyll/about.md | 11 + jekyll/examples/application-services.rst | 129 ++++++++++ jekyll/feed.xml | 30 +++ jekyll/index.html | 15 ++ jenkins.sh | 6 + scripts/add_anchors.py | 23 ++ scripts/generate-jekyll.sh | 20 ++ 30 files changed, 1372 insertions(+), 7 deletions(-) create mode 100644 jekyll/_config.yml create mode 100644 jekyll/_includes/footer.html create mode 100644 jekyll/_includes/head.html create mode 100644 jekyll/_includes/nav.html create mode 100644 jekyll/_includes/title.html create mode 100644 jekyll/_layouts/default.html create mode 100644 jekyll/_layouts/page.html create mode 100644 jekyll/_layouts/post.html create mode 100644 jekyll/_layouts/project.html create mode 100644 jekyll/_plugins/jekyll-rst-master/.gitignore create mode 100644 jekyll/_plugins/jekyll-rst-master/LICENSE.txt create mode 100644 jekyll/_plugins/jekyll-rst-master/README.rst create mode 100644 jekyll/_plugins/jekyll-rst-master/converter.rb create mode 100644 jekyll/_plugins/jekyll-rst-master/directives.py create mode 100644 jekyll/_plugins/jekyll-rst-master/rst2html.py create mode 100644 jekyll/_plugins/jekyll-rst-master/transform.py create mode 100644 jekyll/_plugins/post_images.rb create mode 100644 jekyll/_plugins/project_version_tag.rb create mode 120000 jekyll/_posts create mode 100644 jekyll/_sass/_base.scss create mode 100644 jekyll/_sass/_layout.scss create mode 100644 jekyll/_sass/_syntax-highlighting.scss create mode 100644 jekyll/about.md create mode 100644 jekyll/examples/application-services.rst create mode 100644 jekyll/feed.xml create mode 100644 jekyll/index.html create mode 100755 scripts/add_anchors.py create mode 100755 scripts/generate-jekyll.sh diff --git a/.gitignore b/.gitignore index 716485009..8088d7dac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ -scripts/gen -scripts/continuserv/continuserv -scripts/speculator/speculator +/scripts/gen +/scripts/continuserv/continuserv +/scripts/speculator/speculator /scripts/swagger -templating/out +/templating/out *.pyc *.swp -supporting-docs/_site -supporting-docs/.sass-cache -api/node_modules +/api/node_modules +/site.tar.gz +/_site diff --git a/jekyll/_config.yml b/jekyll/_config.yml new file mode 100644 index 000000000..a0b138787 --- /dev/null +++ b/jekyll/_config.yml @@ -0,0 +1,21 @@ +# Site settings +title: Matrix +email: webmaster@matrix.org +description: > # this means to ignore newlines until "baseurl:" + Matrix.org documentation +baseurl: "/docs" # the subpath of your site, e.g. /blog/ +url: "http://matrix.org" # the base hostname & protocol for your site +twitter_username: matrixdotorg +github_username: matrix-org + +exclude: + - "*.png" + - "*.jpg" + - "*.gif" + +# Build settings +markdown: kramdown + +#defaults: +permalink: /:categories/:title.html # can use this when/if we use jekyll for all docs +#permalink: /:title.html diff --git a/jekyll/_includes/footer.html b/jekyll/_includes/footer.html new file mode 100644 index 000000000..05a97fcb7 --- /dev/null +++ b/jekyll/_includes/footer.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/jekyll/_includes/head.html b/jekyll/_includes/head.html new file mode 100644 index 000000000..628d42d60 --- /dev/null +++ b/jekyll/_includes/head.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/jekyll/_includes/nav.html b/jekyll/_includes/nav.html new file mode 100644 index 000000000..9227ace8e --- /dev/null +++ b/jekyll/_includes/nav.html @@ -0,0 +1,32 @@ +
    + +
    diff --git a/jekyll/_includes/title.html b/jekyll/_includes/title.html new file mode 100644 index 000000000..e4cc61369 --- /dev/null +++ b/jekyll/_includes/title.html @@ -0,0 +1,4 @@ + {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} | Matrix.org + + + diff --git a/jekyll/_layouts/default.html b/jekyll/_layouts/default.html new file mode 100644 index 000000000..00b00da32 --- /dev/null +++ b/jekyll/_layouts/default.html @@ -0,0 +1,27 @@ + + + + {% include title.html %} + {% include head.html %} + + + +
    +
    + {% include nav.html %} +
    + +
    +
    + {{ content }} +
    +
    +
    +
    +
    + {% include footer.html %} +
    + + + + diff --git a/jekyll/_layouts/page.html b/jekyll/_layouts/page.html new file mode 100644 index 000000000..74c1a1184 --- /dev/null +++ b/jekyll/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: default +--- +
    + +
    +

    {{ page.title }}

    +
    + +
    + {{ content }} +
    + +
    diff --git a/jekyll/_layouts/post.html b/jekyll/_layouts/post.html new file mode 100644 index 000000000..64fafcbcb --- /dev/null +++ b/jekyll/_layouts/post.html @@ -0,0 +1,6 @@ +--- +layout: default +--- + + {{ content }} + diff --git a/jekyll/_layouts/project.html b/jekyll/_layouts/project.html new file mode 100644 index 000000000..8db21040c --- /dev/null +++ b/jekyll/_layouts/project.html @@ -0,0 +1,64 @@ +--- +layout: default +--- + + {{ content }} + diff --git a/jekyll/_plugins/jekyll-rst-master/.gitignore b/jekyll/_plugins/jekyll-rst-master/.gitignore new file mode 100644 index 000000000..7e99e367f --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/LICENSE.txt b/jekyll/_plugins/jekyll-rst-master/LICENSE.txt new file mode 100644 index 000000000..988ac9ebf --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/LICENSE.txt @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2011 Greg Thornton, http://xdissent.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/README.rst b/jekyll/_plugins/jekyll-rst-master/README.rst new file mode 100644 index 000000000..48c21f426 --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/README.rst @@ -0,0 +1,97 @@ +Overview +======== + +This plugin adds `ReStructuredText`_ support to `Jekyll`_ and `Octopress`_. +It renders ReST in posts and pages, and provides a custom directive to +support Octopress-compatible syntax highlighting. + +Requirements +============ + +* Jekyll *or* Octopress >= 2.0 +* Docutils +* Pygments +* `RbST`_ + +Installation +============ + +1. Install Docutils and Pygments. + + The most convenient way is to use virtualenv_burrito: + + :: + + $ curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash + $ source /Users/xdissent/.venvburrito/startup.sh + $ mkvirtualenv jekyll-rst + $ pip install docutils pygments + +2. Install RbST. + + If you use `bundler`_ with Octopress, add ``gem 'RbST'`` to + your ``Gemfile`` in the ``development`` group, then run + ``bundle install``. Otherwise, ``gem install RbST``. + +3. Install the plugin. + + For Jekyll: + + :: + + $ cd + $ git submodule add https://github.com/xdissent/jekyll-rst.git _plugins/jekyll-rst + + For Octopress: + + :: + + $ cd + $ git submodule add https://github.com/xdissent/jekyll-rst.git plugins/jekyll-rst + +4. Start blogging in ReStructuredText. Any file with the ``.rst`` extension + will be parsed as ReST and rendered into HTML. + + .. note:: Be sure to activate the ``jekyll-rst`` virtualenv before generating + the site by issuing a ``workon jekyll-rst``. I suggest you follow `Harry + Marr's advice`_ and create a ``.venv`` file that will automatically + activate the ``jekyll-rst`` virtualenv when you ``cd`` into your project. + +Source Code Highlighting +======================== + +A ``code-block`` ReST directive is registered and aliased as ``sourcecode``. +It adds syntax highlighting to code blocks in your documents:: + + .. code-block:: ruby + + # Output "I love ReST" + say = "I love ReST" + puts say + +Optional arguments exist to supply a caption, link, and link title:: + + .. code-block:: console + :caption: Read Hacker News on a budget + :url: http://news.ycombinator.com + :title: Hacker News + + $ curl http://news.ycombinator.com | less + +Octopress already includes style sheets for syntax highlighting, but you'll +need to generate one yourself if using Jekyll:: + + $ pygmentize -S default -f html > css/pygments.css + +Octopress Tips +============== + +* Use ``.. more`` in your ReST documents to indicate where Octopress's + ``excerpt`` tag should split your content for summary views. + +.. _ReStructuredText: http://docutils.sourceforge.net/rst.html +.. _Jekyll: http://jekyllrb.com/ +.. _Octopress: http://octopress.com/ +.. _RbST: http://rubygems.org/gems/RbST +.. _bundler: http://gembundler.com/ +.. _Harry Marr's advice: http://hmarr.com/2010/jan/19/making-virtualenv-play-nice-with-git/ \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/converter.rb b/jekyll/_plugins/jekyll-rst-master/converter.rb new file mode 100644 index 000000000..64b639cc0 --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/converter.rb @@ -0,0 +1,30 @@ +require 'rbst' + +module Jekyll + class RestConverter < Converter + safe true + + priority :low + + def matches(ext) + ext =~ /rst/i + end + + def output_ext(ext) + ".html" + end + + def convert(content) + RbST.executables = {:html => "#{File.expand_path(File.dirname(__FILE__))}/rst2html.py"} + RbST.new(content).to_html(:part => :fragment, :initial_header_level => 2) + end + end + + module Filters + def restify(input) + site = @context.registers[:site] + converter = site.getConverterImpl(Jekyll::RestConverter) + converter.convert(input) + end + end +end \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/directives.py b/jekyll/_plugins/jekyll-rst-master/directives.py new file mode 100644 index 000000000..bfd2b78b5 --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/directives.py @@ -0,0 +1,97 @@ +# Define a new directive `code-block` (aliased as `sourcecode`) that uses the +# `pygments` source highlighter to render code in color. +# +# Incorporates code from the `Pygments`_ documentation for `Using Pygments in +# ReST documents`_ and `Octopress`_. +# +# .. _Pygments: http://pygments.org/ +# .. _Using Pygments in ReST documents: http://pygments.org/docs/rstdirective/ +# .. _Octopress: http://octopress.org/ + +import re +import os +import md5 +import __main__ + +# Absolute path to pygments cache dir +PYGMENTS_CACHE_DIR = os.path.abspath(os.path.join(os.path.dirname(__main__.__file__), '../../.pygments-cache')) + +# Ensure cache dir exists +if not os.path.exists(PYGMENTS_CACHE_DIR): + os.makedirs(PYGMENTS_CACHE_DIR) + +from pygments.formatters import HtmlFormatter + +from docutils import nodes +from docutils.parsers.rst import directives, Directive + +from pygments import highlight +from pygments.lexers import get_lexer_by_name, TextLexer + +class Pygments(Directive): + """ Source code syntax hightlighting. + """ + required_arguments = 1 + optional_arguments = 0 + final_argument_whitespace = True + string_opts = ['title', 'url', 'caption'] + option_spec = dict([(key, directives.unchanged) for key in string_opts]) + has_content = True + + def run(self): + self.assert_has_content() + try: + lexer_name = self.arguments[0] + lexer = get_lexer_by_name(lexer_name) + except ValueError: + # no lexer found - use the text one instead of an exception + lexer_name = 'text' + lexer = TextLexer() + formatter = HtmlFormatter() + + # Construct cache filename + cache_file = None + content_text = u'\n'.join(self.content) + cache_file_name = '%s-%s.html' % (lexer_name, md5.new(content_text).hexdigest()) + cached_path = os.path.join(PYGMENTS_CACHE_DIR, cache_file_name) + + # Look for cached version, otherwise parse + if os.path.exists(cached_path): + cache_file = open(cached_path, 'r') + parsed = cache_file.read() + else: + parsed = highlight(content_text, lexer, formatter) + + # Strip pre tag and everything outside it + pres = re.compile("
    (.+)<\/pre>", re.S)
    +        stripped = pres.search(parsed).group(1)
    +
    +        # Create tabular code with line numbers
    +        table = '
    '
    +        lined = ''
    +        for idx, line in enumerate(stripped.splitlines(True)):
    +            table += '%d\n' % (idx + 1)
    +            lined  += '%s' % line
    +        table += '
    %s
    ' % (lexer_name, lined) + + # Add wrapper with optional caption and link + code = '
    ' + if self.options: + caption = ('%s' % self.options['caption']) if 'caption' in self.options else '' + title = self.options['title'] if 'title' in self.options else 'link' + link = ('%s' % (self.options['url'], title)) if 'url' in self.options else '' + + if caption or link: + code += '
    %s %s
    ' % (caption, link) + code += '%s
    ' % table + + # Write cache + if cache_file is None: + cache_file = open(cached_path, 'w') + cache_file.write(parsed) + cache_file.close() + + return [nodes.raw('', code, format='html')] + +directives.register_directive('code-block', Pygments) +directives.register_directive('sourcecode', Pygments) \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/rst2html.py b/jekyll/_plugins/jekyll-rst-master/rst2html.py new file mode 100644 index 000000000..67ac1e64f --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/rst2html.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +# :Author: David Goodger, the Pygments team, Guenter Milde +# :Date: $Date: $ +# :Copyright: This module has been placed in the public domain. + +# This is a merge of the `Docutils`_ `rst2html` front end with an extension +# suggestion taken from the `Pygments`_ documentation, reworked specifically +# for `Octopress`_. +# +# .. _Pygments: http://pygments.org/ +# .. _Docutils: http://docutils.sourceforge.net/ +# .. _Octopress: http://octopress.org/ + +""" +A front end to docutils, producing HTML with syntax colouring using pygments +""" + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + +from transform import transform +from docutils.writers.html4css1 import Writer +from docutils.core import default_description +from directives import Pygments + +description = ('Generates (X)HTML documents from standalone reStructuredText ' + 'sources. Uses `pygments` to colorize the content of' + '"code-block" directives. Needs an adapted stylesheet' + + default_description) + +def main(): + return transform(writer=Writer(), part='html_body') + +if __name__ == '__main__': + # rav 2016/10/18: encode the output as UTF-8, otherwise python will grumble + # when writing to a pipe, because it doesn't know how to encode unicode + # strings. + print(main().encode('utf-8')) diff --git a/jekyll/_plugins/jekyll-rst-master/transform.py b/jekyll/_plugins/jekyll-rst-master/transform.py new file mode 100644 index 000000000..51ad4ef62 --- /dev/null +++ b/jekyll/_plugins/jekyll-rst-master/transform.py @@ -0,0 +1,42 @@ +import sys +from docutils.core import publish_parts +from optparse import OptionParser +from docutils.frontend import OptionParser as DocutilsOptionParser +from docutils.parsers.rst import Parser + +def transform(writer=None, part=None): + p = OptionParser(add_help_option=False) + + # Collect all the command line options + docutils_parser = DocutilsOptionParser(components=(writer, Parser())) + for group in docutils_parser.option_groups: + p.add_option_group(group.title, None).add_options(group.option_list) + + p.add_option('--part', default=part) + + opts, args = p.parse_args() + + settings = dict({ + 'file_insertion_enabled': False, + 'raw_enabled': False, + 'doctitle_xform': False, + }) + + if len(args) == 1: + try: + content = open(args[0], 'r').read() + except IOError: + content = args[0] + else: + content = sys.stdin.read() + + parts = publish_parts( + source=content, + writer=writer, + settings_overrides=settings + ) + if 'html_body' in parts: + return parts['html_body'] + if opts.part in parts: + return parts[opts.part] + return '' diff --git a/jekyll/_plugins/post_images.rb b/jekyll/_plugins/post_images.rb new file mode 100644 index 000000000..b82ae128e --- /dev/null +++ b/jekyll/_plugins/post_images.rb @@ -0,0 +1,40 @@ +# _plugins/post_images.rb +module Jekyll + POST_IMAGES_DIR = '_posts/projects/images' + DEST_IMAGES_DIR = 'projects/images' + + class PostImageFile < StaticFile + def destination(dest) + name_bits = @name.split('-', 4) + date_dir = '' + date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 + date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 + date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 + File.join(dest, date_dir + DEST_IMAGES_DIR, name_bits.join('-')) + end + end + + class PostImagesGenerator < Generator + def generate(site) + # Check for the images directory inside the posts directory. + return unless File.exists?(POST_IMAGES_DIR) + + post_images = [] + + # Process each image. + Dir.foreach(POST_IMAGES_DIR) do |entry| + if entry != '.' && entry != '..' + site.static_files << PostImageFile.new(site, site.source, POST_IMAGES_DIR, entry) + post_images << entry.gsub(File.extname(entry), '') + end + end + + # Remove images considered to be "actual" posts from the posts array. + site.posts.each do |post| + if post_images.include?(post.id[1..-1].gsub('/', '-')) + site.posts.delete(post) + end + end + end + end +end diff --git a/jekyll/_plugins/project_version_tag.rb b/jekyll/_plugins/project_version_tag.rb new file mode 100644 index 000000000..c647eef83 --- /dev/null +++ b/jekyll/_plugins/project_version_tag.rb @@ -0,0 +1,51 @@ +module Jekyll + class ProjectVersionTag < Liquid::Tag + NO_GIT_MESSAGE = 'Oops, are you sure this is a git project?' + UNABLE_TO_PARSE_MESSAGE = 'Sorry, could not read project version at the moment' + + def render(context) + if git_repo? + current_version.chomp + else + NO_GIT_MESSAGE + end + end + + private + + def current_version + @_current_version ||= begin + # attempt to find the latest tag, falling back to last commit + version = git_describe || parse_head + + version || UNABLE_TO_PARSE_MESSAGE + end + end + + def git_describe + tagged_version = %x{ git describe --tags --always } + + if command_succeeded? + tagged_version + end + end + + def parse_head + head_commitish = %x{ git rev-parse --short HEAD } + + if command_succeeded? + head_commitish + end + end + + def command_succeeded? + !$?.nil? && $?.success? + end + + def git_repo? + system('git rev-parse') + end + end +end + +Liquid::Template.register_tag('project_version', Jekyll::ProjectVersionTag) diff --git a/jekyll/_posts b/jekyll/_posts new file mode 120000 index 000000000..4c2ac9a43 --- /dev/null +++ b/jekyll/_posts @@ -0,0 +1 @@ +../supporting-docs \ No newline at end of file diff --git a/jekyll/_sass/_base.scss b/jekyll/_sass/_base.scss new file mode 100644 index 000000000..e5fd0fd8c --- /dev/null +++ b/jekyll/_sass/_base.scss @@ -0,0 +1,204 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + + + +/** + * Basic styling + */ +body { + font-family: $base-font-family; + font-size: $base-font-size; + line-height: $base-line-height; + font-weight: 300; + color: $text-color; + background-color: $background-color; + -webkit-text-size-adjust: 100%; +} + + + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +%vertical-rhythm { + margin-bottom: $spacing-unit / 2; +} + + + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + + + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: $small-font-size; +} + + + +/** + * Lists + */ +ul, ol { + margin-left: $spacing-unit; +} + +li { + > ul, + > ol { + margin-bottom: 0; + } +} + + + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 300; +} + + + +/** + * Links + */ +a { + color: $brand-color; + text-decoration: none; + + &:visited { + color: darken($brand-color, 15%); + } + + &:hover { + color: $text-color; + text-decoration: underline; + } +} + + + +/** + * Blockquotes + */ +blockquote { + color: $grey-color; + border-left: 4px solid $grey-color-light; + padding-left: $spacing-unit / 2; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; + + > :last-child { + margin-bottom: 0; + } +} + + + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid $grey-color-light; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: scroll; + + > code { + border: 0; + padding-right: 0; + padding-left: 0; + } +} + + + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); + max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); + margin-right: auto; + margin-left: auto; + padding-right: $spacing-unit; + padding-left: $spacing-unit; + @extend %clearfix; + + @include media-query($on-laptop) { + max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); + max-width: calc(#{$content-width} - (#{$spacing-unit})); + padding-right: $spacing-unit / 2; + padding-left: $spacing-unit / 2; + } +} + + + +/** + * Clearfix + */ +%clearfix { + + &:after { + content: ""; + display: table; + clear: both; + } +} + + + +/** + * Icons + */ +.icon { + + > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; + + path { + fill: $grey-color; + } + } +} diff --git a/jekyll/_sass/_layout.scss b/jekyll/_sass/_layout.scss new file mode 100644 index 000000000..def56f896 --- /dev/null +++ b/jekyll/_sass/_layout.scss @@ -0,0 +1,236 @@ +/** + * Site header + */ +.site-header { + border-top: 5px solid $grey-color-dark; + border-bottom: 1px solid $grey-color-light; + min-height: 56px; + + // Positioning context for the mobile navigation icon + position: relative; +} + +.site-title { + font-size: 26px; + line-height: 56px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; + + &, + &:visited { + color: $grey-color-dark; + } +} + +.site-nav { + float: right; + line-height: 56px; + + .menu-icon { + display: none; + } + + .page-link { + color: $text-color; + line-height: $base-line-height; + + // Gaps between nav items, but not on the first one + &:not(:first-child) { + margin-left: 20px; + } + } + + @include media-query($on-palm) { + position: absolute; + top: 9px; + right: 30px; + background-color: $background-color; + border: 1px solid $grey-color-light; + border-radius: 5px; + text-align: right; + + .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + + > svg { + width: 18px; + height: 15px; + + path { + fill: $grey-color-dark; + } + } + } + + .trigger { + clear: both; + display: none; + } + + &:hover .trigger { + display: block; + padding-bottom: 5px; + } + + .page-link { + display: block; + padding: 5px 10px; + } + } +} + + + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid $grey-color-light; + padding: $spacing-unit 0; +} + +.footer-heading { + font-size: 18px; + margin-bottom: $spacing-unit / 2; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + font-size: 15px; + color: $grey-color; + margin-left: -$spacing-unit / 2; + @extend %clearfix; +} + +.footer-col { + float: left; + margin-bottom: $spacing-unit / 2; + padding-left: $spacing-unit / 2; +} + +.footer-col-1 { + width: -webkit-calc(35% - (#{$spacing-unit} / 2)); + width: calc(35% - (#{$spacing-unit} / 2)); +} + +.footer-col-2 { + width: -webkit-calc(20% - (#{$spacing-unit} / 2)); + width: calc(20% - (#{$spacing-unit} / 2)); +} + +.footer-col-3 { + width: -webkit-calc(45% - (#{$spacing-unit} / 2)); + width: calc(45% - (#{$spacing-unit} / 2)); +} + +@include media-query($on-laptop) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (#{$spacing-unit} / 2)); + width: calc(50% - (#{$spacing-unit} / 2)); + } + + .footer-col-3 { + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + +@include media-query($on-palm) { + .footer-col { + float: none; + width: -webkit-calc(100% - (#{$spacing-unit} / 2)); + width: calc(100% - (#{$spacing-unit} / 2)); + } +} + + + +/** + * Page content + */ +.page-content { + padding: $spacing-unit 0; +} + +.page-heading { + font-size: 20px; +} + +.post-list { + margin-left: 0; + list-style: none; + + > li { + margin-bottom: $spacing-unit; + } +} + +.post-meta { + font-size: $small-font-size; + color: $grey-color; +} + +.post-link { + display: block; + font-size: 24px; +} + + + +/** + * Posts + */ +.post-header { + margin-bottom: $spacing-unit; +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; + + @include media-query($on-laptop) { + font-size: 36px; + } +} + +.post-content { + margin-bottom: $spacing-unit; + + h2 { + font-size: 32px; + + @include media-query($on-laptop) { + font-size: 28px; + } + } + + h3 { + font-size: 26px; + + @include media-query($on-laptop) { + font-size: 22px; + } + } + + h4 { + font-size: 20px; + + @include media-query($on-laptop) { + font-size: 18px; + } + } +} diff --git a/jekyll/_sass/_syntax-highlighting.scss b/jekyll/_sass/_syntax-highlighting.scss new file mode 100644 index 000000000..e36627da7 --- /dev/null +++ b/jekyll/_sass/_syntax-highlighting.scss @@ -0,0 +1,67 @@ +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; + @extend %vertical-rhythm; + + .c { color: #998; font-style: italic } // Comment + .err { color: #a61717; background-color: #e3d2d2 } // Error + .k { font-weight: bold } // Keyword + .o { font-weight: bold } // Operator + .cm { color: #998; font-style: italic } // Comment.Multiline + .cp { color: #999; font-weight: bold } // Comment.Preproc + .c1 { color: #998; font-style: italic } // Comment.Single + .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special + .gd { color: #000; background-color: #fdd } // Generic.Deleted + .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific + .ge { font-style: italic } // Generic.Emph + .gr { color: #a00 } // Generic.Error + .gh { color: #999 } // Generic.Heading + .gi { color: #000; background-color: #dfd } // Generic.Inserted + .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific + .go { color: #888 } // Generic.Output + .gp { color: #555 } // Generic.Prompt + .gs { font-weight: bold } // Generic.Strong + .gu { color: #aaa } // Generic.Subheading + .gt { color: #a00 } // Generic.Traceback + .kc { font-weight: bold } // Keyword.Constant + .kd { font-weight: bold } // Keyword.Declaration + .kp { font-weight: bold } // Keyword.Pseudo + .kr { font-weight: bold } // Keyword.Reserved + .kt { color: #458; font-weight: bold } // Keyword.Type + .m { color: #099 } // Literal.Number + .s { color: #d14 } // Literal.String + .na { color: #008080 } // Name.Attribute + .nb { color: #0086B3 } // Name.Builtin + .nc { color: #458; font-weight: bold } // Name.Class + .no { color: #008080 } // Name.Constant + .ni { color: #800080 } // Name.Entity + .ne { color: #900; font-weight: bold } // Name.Exception + .nf { color: #900; font-weight: bold } // Name.Function + .nn { color: #555 } // Name.Namespace + .nt { color: #000080 } // Name.Tag + .nv { color: #008080 } // Name.Variable + .ow { font-weight: bold } // Operator.Word + .w { color: #bbb } // Text.Whitespace + .mf { color: #099 } // Literal.Number.Float + .mh { color: #099 } // Literal.Number.Hex + .mi { color: #099 } // Literal.Number.Integer + .mo { color: #099 } // Literal.Number.Oct + .sb { color: #d14 } // Literal.String.Backtick + .sc { color: #d14 } // Literal.String.Char + .sd { color: #d14 } // Literal.String.Doc + .s2 { color: #d14 } // Literal.String.Double + .se { color: #d14 } // Literal.String.Escape + .sh { color: #d14 } // Literal.String.Heredoc + .si { color: #d14 } // Literal.String.Interpol + .sx { color: #d14 } // Literal.String.Other + .sr { color: #009926 } // Literal.String.Regex + .s1 { color: #d14 } // Literal.String.Single + .ss { color: #990073 } // Literal.String.Symbol + .bp { color: #999 } // Name.Builtin.Pseudo + .vc { color: #008080 } // Name.Variable.Class + .vg { color: #008080 } // Name.Variable.Global + .vi { color: #008080 } // Name.Variable.Instance + .il { color: #099 } // Literal.Number.Integer.Long +} diff --git a/jekyll/about.md b/jekyll/about.md new file mode 100644 index 000000000..3ed64bb62 --- /dev/null +++ b/jekyll/about.md @@ -0,0 +1,11 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) + +You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new) + +You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) diff --git a/jekyll/examples/application-services.rst b/jekyll/examples/application-services.rst new file mode 100644 index 000000000..bde4531bf --- /dev/null +++ b/jekyll/examples/application-services.rst @@ -0,0 +1,129 @@ +Application Services +==================== + +This file contains examples of some application service + +IRC Bridge +---------- +Pre-conditions: + - Server admin stores the AS token "T_a" on the home server. + - Home server has a token "T_h". + - Home server has the domain "hsdomain.com" + +1. Application service registration + +:: + + AS -> HS: Registers itself with the home server + POST /register + { + url: "https://someapp.com/matrix", + as_token: "T_a", + namespaces: { + users: [ + { + "exclusive": true, + "regex": "@irc\.freenode\.net/.*" + } + ], + aliases: [ + { + "exclusive": true, + "regex": "#irc\.freenode\.net/.*" + } + ] + } + } + + Returns 200 OK: + { + hs_token: "T_h" + } + +2. IRC user "Bob" says "hello?" on "#matrix" at timestamp 1421416883133: + +:: + + - AS stores message as potential scrollback. + - Nothing happens as no Matrix users are in the room. + +3. Matrix user "@alice:hsdomain.com" wants to join "#matrix": + +:: + + User -> HS: Request to join "#irc.freenode.net/#matrix:hsdomain.com" + + HS -> AS: Room Query "#irc.freenode.net/#matrix:hsdomain.com" + GET /rooms/%23irc.freenode.net%2F%23matrix%3Ahsdomain.com?access_token=T_h + [Starts blocking] + AS -> HS: Creates room. Gets room ID "!aasaasasa:hsdomain.com". + AS -> HS: Sets room name to "#matrix". + AS -> HS: Sends message as ""@irc.freenode.net/Bob:hsdomain.com" + PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message + ?access_token=T_a + &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com + &ts=1421416883133 + { + body: "hello?" + msgtype: "m.text" + } + HS -> AS: User Query "@irc.freenode.net/Bob:hsdomain.com" + GET /users/%40irc.freenode.net%2FBob%3Ahsdomain.com?access_token=T_h + [Starts blocking] + AS -> HS: Creates user using CS API extension. + POST /register?access_token=T_a + { + type: "m.login.application_service", + user: "irc.freenode.net/Bob" + } + AS -> HS: Set user display name to "Bob". + [Finishes blocking] + [Finished blocking] + + - HS sends room information back to client. + +4. @alice:hsdomain.com says "hi!" in this room: + +:: + + User -> HS: Send message "hi!" in room !aasaasasa:hsdomain.com + + - HS sends message. + - HS sees the room ID is in the AS namespace and pushes it to the AS. + + HS -> AS: Push event + PUT /transactions/1?access_token=T_h + { + events: [ + { + content: { + body: "hi!", + msgtype: "m.text" + }, + origin_server_ts: , + user_id: "@alice:hsdomain.com", + room_id: "!aasaasasa:hsdomain.com", + type: "m.room.message" + } + ] + } + + - AS passes this through to IRC. + + +5. IRC user "Bob" says "what's up?" on "#matrix" at timestamp 1421418084816: + +:: + + IRC -> AS: "what's up?" + AS -> HS: Send message via CS API extension + PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message + ?access_token=T_a + &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com + &ts=1421418084816 + { + body: "what's up?" + msgtype: "m.text" + } + + - HS modifies the user_id and origin_server_ts on the event and sends it. diff --git a/jekyll/feed.xml b/jekyll/feed.xml new file mode 100644 index 000000000..a6628bd84 --- /dev/null +++ b/jekyll/feed.xml @@ -0,0 +1,30 @@ +--- +layout: null +--- + + + + {{ site.title | xml_escape }} + {{ site.description | xml_escape }} + {{ site.url }}{{ site.baseurl }}/ + + {{ site.time | date_to_rfc822 }} + {{ site.time | date_to_rfc822 }} + Jekyll v{{ jekyll.version }} + {% for post in site.posts limit:10 %} + + {{ post.title | xml_escape }} + {{ post.content | xml_escape }} + {{ post.date | date_to_rfc822 }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} + {{ post.url | prepend: site.baseurl | prepend: site.url }} + {% for tag in post.tags %} + {{ tag | xml_escape }} + {% endfor %} + {% for cat in post.categories %} + {{ cat | xml_escape }} + {% endfor %} + + {% endfor %} + + diff --git a/jekyll/index.html b/jekyll/index.html new file mode 100644 index 000000000..03b978585 --- /dev/null +++ b/jekyll/index.html @@ -0,0 +1,15 @@ +--- +layout: default +categories: guides +--- +
    + +

    Guides

    + +

    Here is a collection of guides that might help you get involved with Matrix.

    +

    First, there is the Getting Involved guide, which explains various ways of getting started with Matrix.

    +

    The Client-Server API guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".

    +

    The Application services guide introduces and explains Application services, and what they can be used for. +

    Finally there is the FAQ, which tries to answer all your questions relating to Matrix!

    + +
    diff --git a/jenkins.sh b/jenkins.sh index 717e86445..469ff22be 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -13,6 +13,12 @@ export GOPATH go get github.com/hashicorp/golang-lru go get gopkg.in/fsnotify.v1 +# make sure that the scripts build (cd scripts/continuserv && go build) (cd scripts/speculator && go build) +# update the jekyll site +./scripts/generate-jekyll.sh + +# create a tarball of the generated site +tar -czf site.tar.gz _site diff --git a/scripts/add_anchors.py b/scripts/add_anchors.py new file mode 100755 index 000000000..f3238952d --- /dev/null +++ b/scripts/add_anchors.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# +# adds anchors before any

    tags with an id="..." - this is used +# for things like the FAQ where we want to have anchored links to every +# question (and this way you don't have to manually maintain it in the source +# doc). + +from sys import argv +import re + +script, filename = argv + +textfile = open(filename, "r") +regex = r'()' +regex2 = r'(
    )' + +replacement = r'

    \n\1' + +# check for tmp && mv tmp _site/guides/faq.html +./scripts/add_anchors.py _site/projects/try-matrix-now.html >tmp && mv tmp _site/projects/try-matrix-now.html + From 35ae69f2e1a7e4f6ee884b2294c8f3654578311d Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 2 Aug 2017 16:30:49 +0100 Subject: [PATCH 098/801] Use a virtualenv --- jenkins.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jenkins.sh b/jenkins.sh index 469ff22be..6062f28af 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -2,6 +2,14 @@ set -ex +virtualenv env +. env/bin/activate +pip install \ + docutils \ + pygments \ + Jinja2 \ + jsonschema + (cd event-schemas/ && ./check_examples.py) (cd api && ./check_examples.py) (cd scripts && ./gendoc.py -v) From 2519b78814de93ed46a5b469ad2088cf0890d479 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 2 Aug 2017 16:32:19 +0100 Subject: [PATCH 099/801] install PyYAML --- jenkins.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jenkins.sh b/jenkins.sh index 6062f28af..3f2b0afd3 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -8,7 +8,8 @@ pip install \ docutils \ pygments \ Jinja2 \ - jsonschema + jsonschema \ + PyYAML (cd event-schemas/ && ./check_examples.py) (cd api && ./check_examples.py) From 986e51cf352a7d2527d7df445da216803d11d4e2 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 2 Aug 2017 18:19:51 +0100 Subject: [PATCH 100/801] Gendoc: allow overriding the dest dir --- scripts/gendoc.py | 93 +++++++++++++++++++++++++++-------------------- 1 file changed, 53 insertions(+), 40 deletions(-) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 2d06d7c45..217c6789c 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -27,11 +27,10 @@ import subprocess import sys import yaml -os.chdir(os.path.dirname(os.path.abspath(__file__))) - -stylesheets = { - "stylesheet_path": glob.glob("css/*.css"), -} +script_dir = os.path.dirname(os.path.abspath(__file__)) +docs_dir = os.path.dirname(script_dir) +spec_dir = os.path.join(docs_dir, "specification") +tmp_dir = os.path.join(script_dir, "tmp") VERBOSE = False @@ -173,7 +172,7 @@ def build_spec(target, out_filename): file_info=file_info, title_level=0, title_styles=target["title_styles"], - spec_dir="../specification/", + spec_dir=spec_dir, adjust_titles=True ) outfile.write(section) @@ -242,7 +241,7 @@ def fix_relative_titles(target, filename, out_filename): -def rst2html(i, o): +def rst2html(i, o, stylesheets): log("rst2html %s -> %s" % (i, o)) with open(i, "r") as in_file: with open(o, "w") as out_file: @@ -252,7 +251,9 @@ def rst2html(i, o): reader_name="standalone", parser_name="restructuredtext", writer_name="html", - settings_overrides=stylesheets + settings_overrides={ + "stylesheet_path": stylesheets, + }, ) @@ -273,7 +274,7 @@ def addAnchors(path): def run_through_template(input_files, set_verbose, substitutions): args = [ 'python', 'build.py', - "-o", "../scripts/tmp", + "-o", tmp_dir, "-i", "matrix_templates", ] @@ -283,13 +284,13 @@ def run_through_template(input_files, set_verbose, substitutions): if set_verbose: args.insert(2, "-v") - args.extend("../scripts/"+f for f in input_files) + args.extend(input_files) log("EXEC: %s" % " ".join(args)) log(" ==== build.py output ==== ") subprocess.check_call( args, - cwd="../templating" + cwd=os.path.join(docs_dir, "templating"), ) """ @@ -385,44 +386,50 @@ def logv(line): print "gendoc:V: %s" % line -def prepare_env(): - try: - os.makedirs("./gen") - except OSError: - pass - try: - os.makedirs("./tmp") - except OSError: - pass +def cleanup_env(): + shutil.rmtree(tmp_dir) -def cleanup_env(): - shutil.rmtree("./tmp") +def mkdirp(d) : + if not os.path.exists(d): + os.makedirs(d) -def main(targets, keep_intermediates, substitutions): - prepare_env() +def main(targets, dest_dir, keep_intermediates, substitutions): + try: + mkdirp(dest_dir) + except Exception as e: + log("Error creating destination directory '%s': %s" % (dest_dir, str(e))) + return 1 + try: + mkdirp(tmp_dir) + except Exception as e: + log("Error creating temporary directory '%s': %s" % (tmp_dir, str(e))) + return 1 - with open("../specification/targets.yaml", "r") as targ_file: + with open(os.path.join(spec_dir, "targets.yaml"), "r") as targ_file: target_defs = yaml.load(targ_file.read()) if targets == ["all"]: targets = target_defs["targets"].keys() - log("Building spec [target=%s]" % targets) + log("Building spec [targets=%s]" % targets) + + templated_files = {} # map from target name to templated file - templated_files = [] for target_name in targets: - templated_file = "tmp/templated_%s.rst" % (target_name,) + templated_file = os.path.join(tmp_dir, "templated_%s.rst" % (target_name,)) target = get_build_target(target_defs, target_name) build_spec(target=target, out_filename=templated_file) - templated_files.append(templated_file) + templated_files[target_name] = templated_file # we do all the templating at once, because it's slow - run_through_template(templated_files, VERBOSE, substitutions) + run_through_template(templated_files.values(), VERBOSE, substitutions) - for target_name in targets: + stylesheets = glob.glob(os.path.join(script_dir, "css", "*.css")) + + for target_name, templated_file in templated_files.iteritems(): target = target_defs["targets"].get(target_name) version_label = None if target: @@ -431,29 +438,30 @@ def main(targets, keep_intermediates, substitutions): for old, new in substitutions.items(): version_label = version_label.replace(old, new) - templated_file = "tmp/templated_%s.rst" % (target_name,) - rst_file = "tmp/spec_%s.rst" % (target_name,) + rst_file = os.path.join(tmp_dir, "spec_%s.rst" % (target_name,)) if version_label: - d = os.path.join("gen", target_name) + d = os.path.join(dest_dir, target_name) if not os.path.exists(d): os.mkdir(d) html_file = os.path.join(d, "%s.html" % version_label) else: - html_file = "gen/%s.html" % (target_name, ) + html_file = os.path.join(dest_dir, "%s.html" % (target_name, )) fix_relative_titles( target=target_defs, filename=templated_file, out_filename=rst_file, ) - rst2html(rst_file, html_file) + rst2html(rst_file, html_file, stylesheets=stylesheets) addAnchors(html_file) if not keep_intermediates: cleanup_env() + return 0 + def list_targets(): - with open("../specification/targets.yaml", "r") as targ_file: + with open(os.path.join(spec_dir, "targets.yaml"), "r") as targ_file: target_defs = yaml.load(targ_file.read()) targets = target_defs["targets"].keys() print "\n".join(targets) @@ -469,11 +477,11 @@ def extract_major(s): if __name__ == '__main__': parser = ArgumentParser( - "gendoc.py - Generate the Matrix specification as HTML to the gen/ folder." + "gendoc.py - Generate the Matrix specification as HTML." ) parser.add_argument( "--nodelete", "-n", action="store_true", - help="Do not delete intermediate files. They will be found in tmp/" + help="Do not delete intermediate files. They will be found in scripts/tmp/" ) parser.add_argument( "--target", "-t", action="append", @@ -496,6 +504,10 @@ if __name__ == '__main__': "--list_targets", action="store_true", help="Do not update the specification. Instead print a list of targets.", ) + parser.add_argument( + "--dest", "-d", default=os.path.join(script_dir, "gen"), + help="Set destination directory (default: scripts/gen)", + ) args = parser.parse_args() VERBOSE = args.verbose @@ -510,4 +522,5 @@ if __name__ == '__main__': "%SERVER_RELEASE_LABEL%": args.server_release, "%SERVER_MAJOR_VERSION%": extract_major(args.server_release), } - main(args.target or ["all"], args.nodelete, substitutions) + + exit (main(args.target or ["all"], args.dest, args.nodelete, substitutions)) From 0af06291feda22fae890b90bf69a95f76161ac26 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 2 Aug 2017 21:55:30 +0100 Subject: [PATCH 101/801] Hardcode client major version r0 --- scripts/gendoc.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 217c6789c..2077fcbe5 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -518,7 +518,10 @@ if __name__ == '__main__': substitutions = { "%CLIENT_RELEASE_LABEL%": args.client_release, - "%CLIENT_MAJOR_VERSION%": extract_major(args.client_release), + # we hardcode a major version of r0. This ends up in the + # example API URLs. When we have released a new major version, + # we'll have to bump it. + "%CLIENT_MAJOR_VERSION%": "r0", "%SERVER_RELEASE_LABEL%": args.server_release, "%SERVER_MAJOR_VERSION%": extract_major(args.server_release), } From 8a66b1a68bcaf55581b5cf0686321f722519d603 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 3 Aug 2017 00:18:07 +0100 Subject: [PATCH 102/801] Build the spec as part of the build --- jenkins.sh | 6 +++--- scripts/add_anchors.py | 15 ++++++++++----- scripts/generate-jekyll.sh | 20 -------------------- scripts/generate-site | 30 ++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 28 deletions(-) delete mode 100755 scripts/generate-jekyll.sh create mode 100755 scripts/generate-site diff --git a/jenkins.sh b/jenkins.sh index 3f2b0afd3..44b9cb893 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -11,9 +11,9 @@ pip install \ jsonschema \ PyYAML +# do sanity checks on the examples and swagger (cd event-schemas/ && ./check_examples.py) (cd api && ./check_examples.py) -(cd scripts && ./gendoc.py -v) (cd api && npm install && node validator.js -s "client-server") : ${GOPATH:=${WORKSPACE}/.gopath} @@ -26,8 +26,8 @@ go get gopkg.in/fsnotify.v1 (cd scripts/continuserv && go build) (cd scripts/speculator && go build) -# update the jekyll site -./scripts/generate-jekyll.sh +# generate bits of the site +./scripts/generate-site # create a tarball of the generated site tar -czf site.tar.gz _site diff --git a/scripts/add_anchors.py b/scripts/add_anchors.py index f3238952d..2aafe8563 100755 --- a/scripts/add_anchors.py +++ b/scripts/add_anchors.py @@ -8,16 +8,21 @@ from sys import argv import re -script, filename = argv +filename = argv[1] -textfile = open(filename, "r") regex = r'()' regex2 = r'(
    )' replacement = r'

    \n\1' +with open(filename, "r") as f: + lines = list(f) + # check for tmp && mv tmp _site/guides/faq.html -./scripts/add_anchors.py _site/projects/try-matrix-now.html >tmp && mv tmp _site/projects/try-matrix-now.html - diff --git a/scripts/generate-site b/scripts/generate-site new file mode 100755 index 000000000..9e1090e5a --- /dev/null +++ b/scripts/generate-site @@ -0,0 +1,30 @@ +#!/bin/bash +# +# This script builds part of the matrix.org site, under '_site'. +# +# jekyll requires the `docutils` and `pygments` python packages, so install +# them or run from a virtualenv which includes them. + +set -ex + +# tell jekyll to parse things as utf-8 +export LANG="en_GB.UTF-8" + +cd `dirname $0`/.. + +mkdir -p _site + +# generate the jekyll bits +jekyll build -s jekyll + +# add some anchors to some generated jekyll bits +./scripts/add_anchors.py _site/guides/faq.html +./scripts/add_anchors.py _site/projects/try-matrix-now.html + +# generate the latest spec +./scripts/gendoc.py -d _site/spec + +# apply the matrix.org styling to the spec +find _site/spec -name '*.html' | + xargs ./scripts/add-matrix-org-stylings.pl jekyll/_includes + From b0ea6038c6d4a2c22ae56a2d116b1f3aa513cbac Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 3 Aug 2017 15:49:17 +0100 Subject: [PATCH 103/801] Move jekyll back out of matrix-doc again Having the jekyll assets here is a mistake, because they need to be versioned separately to the spec: we keep old versions of the spec, but they sometimes need to be restyled to match the latest website. --- .gitignore | 6 +- jekyll/_config.yml | 21 -- jekyll/_includes/footer.html | 7 - jekyll/_includes/head.html | 28 --- jekyll/_includes/nav.html | 32 --- jekyll/_includes/title.html | 4 - jekyll/_layouts/default.html | 27 -- jekyll/_layouts/page.html | 14 -- jekyll/_layouts/post.html | 6 - jekyll/_layouts/project.html | 64 ----- jekyll/_plugins/jekyll-rst-master/.gitignore | 1 - jekyll/_plugins/jekyll-rst-master/LICENSE.txt | 20 -- jekyll/_plugins/jekyll-rst-master/README.rst | 97 ------- .../_plugins/jekyll-rst-master/converter.rb | 30 --- .../_plugins/jekyll-rst-master/directives.py | 97 ------- jekyll/_plugins/jekyll-rst-master/rst2html.py | 42 ---- .../_plugins/jekyll-rst-master/transform.py | 42 ---- jekyll/_plugins/post_images.rb | 40 --- jekyll/_plugins/project_version_tag.rb | 51 ---- jekyll/_posts | 1 - jekyll/_sass/_base.scss | 204 --------------- jekyll/_sass/_layout.scss | 236 ------------------ jekyll/_sass/_syntax-highlighting.scss | 67 ----- jekyll/about.md | 11 - jekyll/examples/application-services.rst | 129 ---------- jekyll/feed.xml | 30 --- jekyll/index.html | 15 -- jenkins.sh | 7 +- scripts/add-matrix-org-stylings.pl | 71 ------ scripts/add_anchors.py | 28 --- scripts/generate-matrix-org-assets | 18 ++ scripts/generate-site | 30 --- 32 files changed, 23 insertions(+), 1453 deletions(-) delete mode 100644 jekyll/_config.yml delete mode 100644 jekyll/_includes/footer.html delete mode 100644 jekyll/_includes/head.html delete mode 100644 jekyll/_includes/nav.html delete mode 100644 jekyll/_includes/title.html delete mode 100644 jekyll/_layouts/default.html delete mode 100644 jekyll/_layouts/page.html delete mode 100644 jekyll/_layouts/post.html delete mode 100644 jekyll/_layouts/project.html delete mode 100644 jekyll/_plugins/jekyll-rst-master/.gitignore delete mode 100644 jekyll/_plugins/jekyll-rst-master/LICENSE.txt delete mode 100644 jekyll/_plugins/jekyll-rst-master/README.rst delete mode 100644 jekyll/_plugins/jekyll-rst-master/converter.rb delete mode 100644 jekyll/_plugins/jekyll-rst-master/directives.py delete mode 100644 jekyll/_plugins/jekyll-rst-master/rst2html.py delete mode 100644 jekyll/_plugins/jekyll-rst-master/transform.py delete mode 100644 jekyll/_plugins/post_images.rb delete mode 100644 jekyll/_plugins/project_version_tag.rb delete mode 120000 jekyll/_posts delete mode 100644 jekyll/_sass/_base.scss delete mode 100644 jekyll/_sass/_layout.scss delete mode 100644 jekyll/_sass/_syntax-highlighting.scss delete mode 100644 jekyll/about.md delete mode 100644 jekyll/examples/application-services.rst delete mode 100644 jekyll/feed.xml delete mode 100644 jekyll/index.html delete mode 100755 scripts/add-matrix-org-stylings.pl delete mode 100755 scripts/add_anchors.py create mode 100755 scripts/generate-matrix-org-assets delete mode 100755 scripts/generate-site diff --git a/.gitignore b/.gitignore index 8088d7dac..daef51d72 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +/api/node_modules +/assets +/assets.tar.gz /scripts/gen /scripts/continuserv/continuserv /scripts/speculator/speculator @@ -5,6 +8,3 @@ /templating/out *.pyc *.swp -/api/node_modules -/site.tar.gz -/_site diff --git a/jekyll/_config.yml b/jekyll/_config.yml deleted file mode 100644 index a0b138787..000000000 --- a/jekyll/_config.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Site settings -title: Matrix -email: webmaster@matrix.org -description: > # this means to ignore newlines until "baseurl:" - Matrix.org documentation -baseurl: "/docs" # the subpath of your site, e.g. /blog/ -url: "http://matrix.org" # the base hostname & protocol for your site -twitter_username: matrixdotorg -github_username: matrix-org - -exclude: - - "*.png" - - "*.jpg" - - "*.gif" - -# Build settings -markdown: kramdown - -#defaults: -permalink: /:categories/:title.html # can use this when/if we use jekyll for all docs -#permalink: /:title.html diff --git a/jekyll/_includes/footer.html b/jekyll/_includes/footer.html deleted file mode 100644 index 05a97fcb7..000000000 --- a/jekyll/_includes/footer.html +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/jekyll/_includes/head.html b/jekyll/_includes/head.html deleted file mode 100644 index 628d42d60..000000000 --- a/jekyll/_includes/head.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/jekyll/_includes/nav.html b/jekyll/_includes/nav.html deleted file mode 100644 index 9227ace8e..000000000 --- a/jekyll/_includes/nav.html +++ /dev/null @@ -1,32 +0,0 @@ -
    - -
    diff --git a/jekyll/_includes/title.html b/jekyll/_includes/title.html deleted file mode 100644 index e4cc61369..000000000 --- a/jekyll/_includes/title.html +++ /dev/null @@ -1,4 +0,0 @@ - {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} | Matrix.org - - - diff --git a/jekyll/_layouts/default.html b/jekyll/_layouts/default.html deleted file mode 100644 index 00b00da32..000000000 --- a/jekyll/_layouts/default.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - {% include title.html %} - {% include head.html %} - - - -
    -
    - {% include nav.html %} -
    - -
    -
    - {{ content }} -
    -
    -
    -
    -
    - {% include footer.html %} -
    -
    - - - diff --git a/jekyll/_layouts/page.html b/jekyll/_layouts/page.html deleted file mode 100644 index 74c1a1184..000000000 --- a/jekyll/_layouts/page.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: default ---- -
    - -
    -

    {{ page.title }}

    -
    - -
    - {{ content }} -
    - -
    diff --git a/jekyll/_layouts/post.html b/jekyll/_layouts/post.html deleted file mode 100644 index 64fafcbcb..000000000 --- a/jekyll/_layouts/post.html +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: default ---- - - {{ content }} - diff --git a/jekyll/_layouts/project.html b/jekyll/_layouts/project.html deleted file mode 100644 index 8db21040c..000000000 --- a/jekyll/_layouts/project.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: default ---- - - {{ content }} - diff --git a/jekyll/_plugins/jekyll-rst-master/.gitignore b/jekyll/_plugins/jekyll-rst-master/.gitignore deleted file mode 100644 index 7e99e367f..000000000 --- a/jekyll/_plugins/jekyll-rst-master/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pyc \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/LICENSE.txt b/jekyll/_plugins/jekyll-rst-master/LICENSE.txt deleted file mode 100644 index 988ac9ebf..000000000 --- a/jekyll/_plugins/jekyll-rst-master/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2011 Greg Thornton, http://xdissent.com - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/README.rst b/jekyll/_plugins/jekyll-rst-master/README.rst deleted file mode 100644 index 48c21f426..000000000 --- a/jekyll/_plugins/jekyll-rst-master/README.rst +++ /dev/null @@ -1,97 +0,0 @@ -Overview -======== - -This plugin adds `ReStructuredText`_ support to `Jekyll`_ and `Octopress`_. -It renders ReST in posts and pages, and provides a custom directive to -support Octopress-compatible syntax highlighting. - -Requirements -============ - -* Jekyll *or* Octopress >= 2.0 -* Docutils -* Pygments -* `RbST`_ - -Installation -============ - -1. Install Docutils and Pygments. - - The most convenient way is to use virtualenv_burrito: - - :: - - $ curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash - $ source /Users/xdissent/.venvburrito/startup.sh - $ mkvirtualenv jekyll-rst - $ pip install docutils pygments - -2. Install RbST. - - If you use `bundler`_ with Octopress, add ``gem 'RbST'`` to - your ``Gemfile`` in the ``development`` group, then run - ``bundle install``. Otherwise, ``gem install RbST``. - -3. Install the plugin. - - For Jekyll: - - :: - - $ cd - $ git submodule add https://github.com/xdissent/jekyll-rst.git _plugins/jekyll-rst - - For Octopress: - - :: - - $ cd - $ git submodule add https://github.com/xdissent/jekyll-rst.git plugins/jekyll-rst - -4. Start blogging in ReStructuredText. Any file with the ``.rst`` extension - will be parsed as ReST and rendered into HTML. - - .. note:: Be sure to activate the ``jekyll-rst`` virtualenv before generating - the site by issuing a ``workon jekyll-rst``. I suggest you follow `Harry - Marr's advice`_ and create a ``.venv`` file that will automatically - activate the ``jekyll-rst`` virtualenv when you ``cd`` into your project. - -Source Code Highlighting -======================== - -A ``code-block`` ReST directive is registered and aliased as ``sourcecode``. -It adds syntax highlighting to code blocks in your documents:: - - .. code-block:: ruby - - # Output "I love ReST" - say = "I love ReST" - puts say - -Optional arguments exist to supply a caption, link, and link title:: - - .. code-block:: console - :caption: Read Hacker News on a budget - :url: http://news.ycombinator.com - :title: Hacker News - - $ curl http://news.ycombinator.com | less - -Octopress already includes style sheets for syntax highlighting, but you'll -need to generate one yourself if using Jekyll:: - - $ pygmentize -S default -f html > css/pygments.css - -Octopress Tips -============== - -* Use ``.. more`` in your ReST documents to indicate where Octopress's - ``excerpt`` tag should split your content for summary views. - -.. _ReStructuredText: http://docutils.sourceforge.net/rst.html -.. _Jekyll: http://jekyllrb.com/ -.. _Octopress: http://octopress.com/ -.. _RbST: http://rubygems.org/gems/RbST -.. _bundler: http://gembundler.com/ -.. _Harry Marr's advice: http://hmarr.com/2010/jan/19/making-virtualenv-play-nice-with-git/ \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/converter.rb b/jekyll/_plugins/jekyll-rst-master/converter.rb deleted file mode 100644 index 64b639cc0..000000000 --- a/jekyll/_plugins/jekyll-rst-master/converter.rb +++ /dev/null @@ -1,30 +0,0 @@ -require 'rbst' - -module Jekyll - class RestConverter < Converter - safe true - - priority :low - - def matches(ext) - ext =~ /rst/i - end - - def output_ext(ext) - ".html" - end - - def convert(content) - RbST.executables = {:html => "#{File.expand_path(File.dirname(__FILE__))}/rst2html.py"} - RbST.new(content).to_html(:part => :fragment, :initial_header_level => 2) - end - end - - module Filters - def restify(input) - site = @context.registers[:site] - converter = site.getConverterImpl(Jekyll::RestConverter) - converter.convert(input) - end - end -end \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/directives.py b/jekyll/_plugins/jekyll-rst-master/directives.py deleted file mode 100644 index bfd2b78b5..000000000 --- a/jekyll/_plugins/jekyll-rst-master/directives.py +++ /dev/null @@ -1,97 +0,0 @@ -# Define a new directive `code-block` (aliased as `sourcecode`) that uses the -# `pygments` source highlighter to render code in color. -# -# Incorporates code from the `Pygments`_ documentation for `Using Pygments in -# ReST documents`_ and `Octopress`_. -# -# .. _Pygments: http://pygments.org/ -# .. _Using Pygments in ReST documents: http://pygments.org/docs/rstdirective/ -# .. _Octopress: http://octopress.org/ - -import re -import os -import md5 -import __main__ - -# Absolute path to pygments cache dir -PYGMENTS_CACHE_DIR = os.path.abspath(os.path.join(os.path.dirname(__main__.__file__), '../../.pygments-cache')) - -# Ensure cache dir exists -if not os.path.exists(PYGMENTS_CACHE_DIR): - os.makedirs(PYGMENTS_CACHE_DIR) - -from pygments.formatters import HtmlFormatter - -from docutils import nodes -from docutils.parsers.rst import directives, Directive - -from pygments import highlight -from pygments.lexers import get_lexer_by_name, TextLexer - -class Pygments(Directive): - """ Source code syntax hightlighting. - """ - required_arguments = 1 - optional_arguments = 0 - final_argument_whitespace = True - string_opts = ['title', 'url', 'caption'] - option_spec = dict([(key, directives.unchanged) for key in string_opts]) - has_content = True - - def run(self): - self.assert_has_content() - try: - lexer_name = self.arguments[0] - lexer = get_lexer_by_name(lexer_name) - except ValueError: - # no lexer found - use the text one instead of an exception - lexer_name = 'text' - lexer = TextLexer() - formatter = HtmlFormatter() - - # Construct cache filename - cache_file = None - content_text = u'\n'.join(self.content) - cache_file_name = '%s-%s.html' % (lexer_name, md5.new(content_text).hexdigest()) - cached_path = os.path.join(PYGMENTS_CACHE_DIR, cache_file_name) - - # Look for cached version, otherwise parse - if os.path.exists(cached_path): - cache_file = open(cached_path, 'r') - parsed = cache_file.read() - else: - parsed = highlight(content_text, lexer, formatter) - - # Strip pre tag and everything outside it - pres = re.compile("
    (.+)<\/pre>", re.S)
    -        stripped = pres.search(parsed).group(1)
    -
    -        # Create tabular code with line numbers
    -        table = '
    '
    -        lined = ''
    -        for idx, line in enumerate(stripped.splitlines(True)):
    -            table += '%d\n' % (idx + 1)
    -            lined  += '%s' % line
    -        table += '
    %s
    ' % (lexer_name, lined) - - # Add wrapper with optional caption and link - code = '
    ' - if self.options: - caption = ('%s' % self.options['caption']) if 'caption' in self.options else '' - title = self.options['title'] if 'title' in self.options else 'link' - link = ('%s' % (self.options['url'], title)) if 'url' in self.options else '' - - if caption or link: - code += '
    %s %s
    ' % (caption, link) - code += '%s
    ' % table - - # Write cache - if cache_file is None: - cache_file = open(cached_path, 'w') - cache_file.write(parsed) - cache_file.close() - - return [nodes.raw('', code, format='html')] - -directives.register_directive('code-block', Pygments) -directives.register_directive('sourcecode', Pygments) \ No newline at end of file diff --git a/jekyll/_plugins/jekyll-rst-master/rst2html.py b/jekyll/_plugins/jekyll-rst-master/rst2html.py deleted file mode 100644 index 67ac1e64f..000000000 --- a/jekyll/_plugins/jekyll-rst-master/rst2html.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python - -# :Author: David Goodger, the Pygments team, Guenter Milde -# :Date: $Date: $ -# :Copyright: This module has been placed in the public domain. - -# This is a merge of the `Docutils`_ `rst2html` front end with an extension -# suggestion taken from the `Pygments`_ documentation, reworked specifically -# for `Octopress`_. -# -# .. _Pygments: http://pygments.org/ -# .. _Docutils: http://docutils.sourceforge.net/ -# .. _Octopress: http://octopress.org/ - -""" -A front end to docutils, producing HTML with syntax colouring using pygments -""" - -try: - import locale - locale.setlocale(locale.LC_ALL, '') -except: - pass - -from transform import transform -from docutils.writers.html4css1 import Writer -from docutils.core import default_description -from directives import Pygments - -description = ('Generates (X)HTML documents from standalone reStructuredText ' - 'sources. Uses `pygments` to colorize the content of' - '"code-block" directives. Needs an adapted stylesheet' - + default_description) - -def main(): - return transform(writer=Writer(), part='html_body') - -if __name__ == '__main__': - # rav 2016/10/18: encode the output as UTF-8, otherwise python will grumble - # when writing to a pipe, because it doesn't know how to encode unicode - # strings. - print(main().encode('utf-8')) diff --git a/jekyll/_plugins/jekyll-rst-master/transform.py b/jekyll/_plugins/jekyll-rst-master/transform.py deleted file mode 100644 index 51ad4ef62..000000000 --- a/jekyll/_plugins/jekyll-rst-master/transform.py +++ /dev/null @@ -1,42 +0,0 @@ -import sys -from docutils.core import publish_parts -from optparse import OptionParser -from docutils.frontend import OptionParser as DocutilsOptionParser -from docutils.parsers.rst import Parser - -def transform(writer=None, part=None): - p = OptionParser(add_help_option=False) - - # Collect all the command line options - docutils_parser = DocutilsOptionParser(components=(writer, Parser())) - for group in docutils_parser.option_groups: - p.add_option_group(group.title, None).add_options(group.option_list) - - p.add_option('--part', default=part) - - opts, args = p.parse_args() - - settings = dict({ - 'file_insertion_enabled': False, - 'raw_enabled': False, - 'doctitle_xform': False, - }) - - if len(args) == 1: - try: - content = open(args[0], 'r').read() - except IOError: - content = args[0] - else: - content = sys.stdin.read() - - parts = publish_parts( - source=content, - writer=writer, - settings_overrides=settings - ) - if 'html_body' in parts: - return parts['html_body'] - if opts.part in parts: - return parts[opts.part] - return '' diff --git a/jekyll/_plugins/post_images.rb b/jekyll/_plugins/post_images.rb deleted file mode 100644 index b82ae128e..000000000 --- a/jekyll/_plugins/post_images.rb +++ /dev/null @@ -1,40 +0,0 @@ -# _plugins/post_images.rb -module Jekyll - POST_IMAGES_DIR = '_posts/projects/images' - DEST_IMAGES_DIR = 'projects/images' - - class PostImageFile < StaticFile - def destination(dest) - name_bits = @name.split('-', 4) - date_dir = '' - date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 - date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 - date_dir += "#{name_bits.shift}/" if name_bits.first.to_i > 0 - File.join(dest, date_dir + DEST_IMAGES_DIR, name_bits.join('-')) - end - end - - class PostImagesGenerator < Generator - def generate(site) - # Check for the images directory inside the posts directory. - return unless File.exists?(POST_IMAGES_DIR) - - post_images = [] - - # Process each image. - Dir.foreach(POST_IMAGES_DIR) do |entry| - if entry != '.' && entry != '..' - site.static_files << PostImageFile.new(site, site.source, POST_IMAGES_DIR, entry) - post_images << entry.gsub(File.extname(entry), '') - end - end - - # Remove images considered to be "actual" posts from the posts array. - site.posts.each do |post| - if post_images.include?(post.id[1..-1].gsub('/', '-')) - site.posts.delete(post) - end - end - end - end -end diff --git a/jekyll/_plugins/project_version_tag.rb b/jekyll/_plugins/project_version_tag.rb deleted file mode 100644 index c647eef83..000000000 --- a/jekyll/_plugins/project_version_tag.rb +++ /dev/null @@ -1,51 +0,0 @@ -module Jekyll - class ProjectVersionTag < Liquid::Tag - NO_GIT_MESSAGE = 'Oops, are you sure this is a git project?' - UNABLE_TO_PARSE_MESSAGE = 'Sorry, could not read project version at the moment' - - def render(context) - if git_repo? - current_version.chomp - else - NO_GIT_MESSAGE - end - end - - private - - def current_version - @_current_version ||= begin - # attempt to find the latest tag, falling back to last commit - version = git_describe || parse_head - - version || UNABLE_TO_PARSE_MESSAGE - end - end - - def git_describe - tagged_version = %x{ git describe --tags --always } - - if command_succeeded? - tagged_version - end - end - - def parse_head - head_commitish = %x{ git rev-parse --short HEAD } - - if command_succeeded? - head_commitish - end - end - - def command_succeeded? - !$?.nil? && $?.success? - end - - def git_repo? - system('git rev-parse') - end - end -end - -Liquid::Template.register_tag('project_version', Jekyll::ProjectVersionTag) diff --git a/jekyll/_posts b/jekyll/_posts deleted file mode 120000 index 4c2ac9a43..000000000 --- a/jekyll/_posts +++ /dev/null @@ -1 +0,0 @@ -../supporting-docs \ No newline at end of file diff --git a/jekyll/_sass/_base.scss b/jekyll/_sass/_base.scss deleted file mode 100644 index e5fd0fd8c..000000000 --- a/jekyll/_sass/_base.scss +++ /dev/null @@ -1,204 +0,0 @@ -/** - * Reset some basic elements - */ -body, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, hr, -dl, dd, ol, ul, figure { - margin: 0; - padding: 0; -} - - - -/** - * Basic styling - */ -body { - font-family: $base-font-family; - font-size: $base-font-size; - line-height: $base-line-height; - font-weight: 300; - color: $text-color; - background-color: $background-color; - -webkit-text-size-adjust: 100%; -} - - - -/** - * Set `margin-bottom` to maintain vertical rhythm - */ -h1, h2, h3, h4, h5, h6, -p, blockquote, pre, -ul, ol, dl, figure, -%vertical-rhythm { - margin-bottom: $spacing-unit / 2; -} - - - -/** - * Images - */ -img { - max-width: 100%; - vertical-align: middle; -} - - - -/** - * Figures - */ -figure > img { - display: block; -} - -figcaption { - font-size: $small-font-size; -} - - - -/** - * Lists - */ -ul, ol { - margin-left: $spacing-unit; -} - -li { - > ul, - > ol { - margin-bottom: 0; - } -} - - - -/** - * Headings - */ -h1, h2, h3, h4, h5, h6 { - font-weight: 300; -} - - - -/** - * Links - */ -a { - color: $brand-color; - text-decoration: none; - - &:visited { - color: darken($brand-color, 15%); - } - - &:hover { - color: $text-color; - text-decoration: underline; - } -} - - - -/** - * Blockquotes - */ -blockquote { - color: $grey-color; - border-left: 4px solid $grey-color-light; - padding-left: $spacing-unit / 2; - font-size: 18px; - letter-spacing: -1px; - font-style: italic; - - > :last-child { - margin-bottom: 0; - } -} - - - -/** - * Code formatting - */ -pre, -code { - font-size: 15px; - border: 1px solid $grey-color-light; - border-radius: 3px; - background-color: #eef; -} - -code { - padding: 1px 5px; -} - -pre { - padding: 8px 12px; - overflow-x: scroll; - - > code { - border: 0; - padding-right: 0; - padding-left: 0; - } -} - - - -/** - * Wrapper - */ -.wrapper { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2)); - max-width: calc(#{$content-width} - (#{$spacing-unit} * 2)); - margin-right: auto; - margin-left: auto; - padding-right: $spacing-unit; - padding-left: $spacing-unit; - @extend %clearfix; - - @include media-query($on-laptop) { - max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit})); - max-width: calc(#{$content-width} - (#{$spacing-unit})); - padding-right: $spacing-unit / 2; - padding-left: $spacing-unit / 2; - } -} - - - -/** - * Clearfix - */ -%clearfix { - - &:after { - content: ""; - display: table; - clear: both; - } -} - - - -/** - * Icons - */ -.icon { - - > svg { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - - path { - fill: $grey-color; - } - } -} diff --git a/jekyll/_sass/_layout.scss b/jekyll/_sass/_layout.scss deleted file mode 100644 index def56f896..000000000 --- a/jekyll/_sass/_layout.scss +++ /dev/null @@ -1,236 +0,0 @@ -/** - * Site header - */ -.site-header { - border-top: 5px solid $grey-color-dark; - border-bottom: 1px solid $grey-color-light; - min-height: 56px; - - // Positioning context for the mobile navigation icon - position: relative; -} - -.site-title { - font-size: 26px; - line-height: 56px; - letter-spacing: -1px; - margin-bottom: 0; - float: left; - - &, - &:visited { - color: $grey-color-dark; - } -} - -.site-nav { - float: right; - line-height: 56px; - - .menu-icon { - display: none; - } - - .page-link { - color: $text-color; - line-height: $base-line-height; - - // Gaps between nav items, but not on the first one - &:not(:first-child) { - margin-left: 20px; - } - } - - @include media-query($on-palm) { - position: absolute; - top: 9px; - right: 30px; - background-color: $background-color; - border: 1px solid $grey-color-light; - border-radius: 5px; - text-align: right; - - .menu-icon { - display: block; - float: right; - width: 36px; - height: 26px; - line-height: 0; - padding-top: 10px; - text-align: center; - - > svg { - width: 18px; - height: 15px; - - path { - fill: $grey-color-dark; - } - } - } - - .trigger { - clear: both; - display: none; - } - - &:hover .trigger { - display: block; - padding-bottom: 5px; - } - - .page-link { - display: block; - padding: 5px 10px; - } - } -} - - - -/** - * Site footer - */ -.site-footer { - border-top: 1px solid $grey-color-light; - padding: $spacing-unit 0; -} - -.footer-heading { - font-size: 18px; - margin-bottom: $spacing-unit / 2; -} - -.contact-list, -.social-media-list { - list-style: none; - margin-left: 0; -} - -.footer-col-wrapper { - font-size: 15px; - color: $grey-color; - margin-left: -$spacing-unit / 2; - @extend %clearfix; -} - -.footer-col { - float: left; - margin-bottom: $spacing-unit / 2; - padding-left: $spacing-unit / 2; -} - -.footer-col-1 { - width: -webkit-calc(35% - (#{$spacing-unit} / 2)); - width: calc(35% - (#{$spacing-unit} / 2)); -} - -.footer-col-2 { - width: -webkit-calc(20% - (#{$spacing-unit} / 2)); - width: calc(20% - (#{$spacing-unit} / 2)); -} - -.footer-col-3 { - width: -webkit-calc(45% - (#{$spacing-unit} / 2)); - width: calc(45% - (#{$spacing-unit} / 2)); -} - -@include media-query($on-laptop) { - .footer-col-1, - .footer-col-2 { - width: -webkit-calc(50% - (#{$spacing-unit} / 2)); - width: calc(50% - (#{$spacing-unit} / 2)); - } - - .footer-col-3 { - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - -@include media-query($on-palm) { - .footer-col { - float: none; - width: -webkit-calc(100% - (#{$spacing-unit} / 2)); - width: calc(100% - (#{$spacing-unit} / 2)); - } -} - - - -/** - * Page content - */ -.page-content { - padding: $spacing-unit 0; -} - -.page-heading { - font-size: 20px; -} - -.post-list { - margin-left: 0; - list-style: none; - - > li { - margin-bottom: $spacing-unit; - } -} - -.post-meta { - font-size: $small-font-size; - color: $grey-color; -} - -.post-link { - display: block; - font-size: 24px; -} - - - -/** - * Posts - */ -.post-header { - margin-bottom: $spacing-unit; -} - -.post-title { - font-size: 42px; - letter-spacing: -1px; - line-height: 1; - - @include media-query($on-laptop) { - font-size: 36px; - } -} - -.post-content { - margin-bottom: $spacing-unit; - - h2 { - font-size: 32px; - - @include media-query($on-laptop) { - font-size: 28px; - } - } - - h3 { - font-size: 26px; - - @include media-query($on-laptop) { - font-size: 22px; - } - } - - h4 { - font-size: 20px; - - @include media-query($on-laptop) { - font-size: 18px; - } - } -} diff --git a/jekyll/_sass/_syntax-highlighting.scss b/jekyll/_sass/_syntax-highlighting.scss deleted file mode 100644 index e36627da7..000000000 --- a/jekyll/_sass/_syntax-highlighting.scss +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Syntax highlighting styles - */ -.highlight { - background: #fff; - @extend %vertical-rhythm; - - .c { color: #998; font-style: italic } // Comment - .err { color: #a61717; background-color: #e3d2d2 } // Error - .k { font-weight: bold } // Keyword - .o { font-weight: bold } // Operator - .cm { color: #998; font-style: italic } // Comment.Multiline - .cp { color: #999; font-weight: bold } // Comment.Preproc - .c1 { color: #998; font-style: italic } // Comment.Single - .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special - .gd { color: #000; background-color: #fdd } // Generic.Deleted - .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific - .ge { font-style: italic } // Generic.Emph - .gr { color: #a00 } // Generic.Error - .gh { color: #999 } // Generic.Heading - .gi { color: #000; background-color: #dfd } // Generic.Inserted - .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific - .go { color: #888 } // Generic.Output - .gp { color: #555 } // Generic.Prompt - .gs { font-weight: bold } // Generic.Strong - .gu { color: #aaa } // Generic.Subheading - .gt { color: #a00 } // Generic.Traceback - .kc { font-weight: bold } // Keyword.Constant - .kd { font-weight: bold } // Keyword.Declaration - .kp { font-weight: bold } // Keyword.Pseudo - .kr { font-weight: bold } // Keyword.Reserved - .kt { color: #458; font-weight: bold } // Keyword.Type - .m { color: #099 } // Literal.Number - .s { color: #d14 } // Literal.String - .na { color: #008080 } // Name.Attribute - .nb { color: #0086B3 } // Name.Builtin - .nc { color: #458; font-weight: bold } // Name.Class - .no { color: #008080 } // Name.Constant - .ni { color: #800080 } // Name.Entity - .ne { color: #900; font-weight: bold } // Name.Exception - .nf { color: #900; font-weight: bold } // Name.Function - .nn { color: #555 } // Name.Namespace - .nt { color: #000080 } // Name.Tag - .nv { color: #008080 } // Name.Variable - .ow { font-weight: bold } // Operator.Word - .w { color: #bbb } // Text.Whitespace - .mf { color: #099 } // Literal.Number.Float - .mh { color: #099 } // Literal.Number.Hex - .mi { color: #099 } // Literal.Number.Integer - .mo { color: #099 } // Literal.Number.Oct - .sb { color: #d14 } // Literal.String.Backtick - .sc { color: #d14 } // Literal.String.Char - .sd { color: #d14 } // Literal.String.Doc - .s2 { color: #d14 } // Literal.String.Double - .se { color: #d14 } // Literal.String.Escape - .sh { color: #d14 } // Literal.String.Heredoc - .si { color: #d14 } // Literal.String.Interpol - .sx { color: #d14 } // Literal.String.Other - .sr { color: #009926 } // Literal.String.Regex - .s1 { color: #d14 } // Literal.String.Single - .ss { color: #990073 } // Literal.String.Symbol - .bp { color: #999 } // Name.Builtin.Pseudo - .vc { color: #008080 } // Name.Variable.Class - .vg { color: #008080 } // Name.Variable.Global - .vi { color: #008080 } // Name.Variable.Instance - .il { color: #099 } // Literal.Number.Integer.Long -} diff --git a/jekyll/about.md b/jekyll/about.md deleted file mode 100644 index 3ed64bb62..000000000 --- a/jekyll/about.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: page -title: About -permalink: /about/ ---- - -This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) - -You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new) - -You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) diff --git a/jekyll/examples/application-services.rst b/jekyll/examples/application-services.rst deleted file mode 100644 index bde4531bf..000000000 --- a/jekyll/examples/application-services.rst +++ /dev/null @@ -1,129 +0,0 @@ -Application Services -==================== - -This file contains examples of some application service - -IRC Bridge ----------- -Pre-conditions: - - Server admin stores the AS token "T_a" on the home server. - - Home server has a token "T_h". - - Home server has the domain "hsdomain.com" - -1. Application service registration - -:: - - AS -> HS: Registers itself with the home server - POST /register - { - url: "https://someapp.com/matrix", - as_token: "T_a", - namespaces: { - users: [ - { - "exclusive": true, - "regex": "@irc\.freenode\.net/.*" - } - ], - aliases: [ - { - "exclusive": true, - "regex": "#irc\.freenode\.net/.*" - } - ] - } - } - - Returns 200 OK: - { - hs_token: "T_h" - } - -2. IRC user "Bob" says "hello?" on "#matrix" at timestamp 1421416883133: - -:: - - - AS stores message as potential scrollback. - - Nothing happens as no Matrix users are in the room. - -3. Matrix user "@alice:hsdomain.com" wants to join "#matrix": - -:: - - User -> HS: Request to join "#irc.freenode.net/#matrix:hsdomain.com" - - HS -> AS: Room Query "#irc.freenode.net/#matrix:hsdomain.com" - GET /rooms/%23irc.freenode.net%2F%23matrix%3Ahsdomain.com?access_token=T_h - [Starts blocking] - AS -> HS: Creates room. Gets room ID "!aasaasasa:hsdomain.com". - AS -> HS: Sets room name to "#matrix". - AS -> HS: Sends message as ""@irc.freenode.net/Bob:hsdomain.com" - PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message - ?access_token=T_a - &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com - &ts=1421416883133 - { - body: "hello?" - msgtype: "m.text" - } - HS -> AS: User Query "@irc.freenode.net/Bob:hsdomain.com" - GET /users/%40irc.freenode.net%2FBob%3Ahsdomain.com?access_token=T_h - [Starts blocking] - AS -> HS: Creates user using CS API extension. - POST /register?access_token=T_a - { - type: "m.login.application_service", - user: "irc.freenode.net/Bob" - } - AS -> HS: Set user display name to "Bob". - [Finishes blocking] - [Finished blocking] - - - HS sends room information back to client. - -4. @alice:hsdomain.com says "hi!" in this room: - -:: - - User -> HS: Send message "hi!" in room !aasaasasa:hsdomain.com - - - HS sends message. - - HS sees the room ID is in the AS namespace and pushes it to the AS. - - HS -> AS: Push event - PUT /transactions/1?access_token=T_h - { - events: [ - { - content: { - body: "hi!", - msgtype: "m.text" - }, - origin_server_ts: , - user_id: "@alice:hsdomain.com", - room_id: "!aasaasasa:hsdomain.com", - type: "m.room.message" - } - ] - } - - - AS passes this through to IRC. - - -5. IRC user "Bob" says "what's up?" on "#matrix" at timestamp 1421418084816: - -:: - - IRC -> AS: "what's up?" - AS -> HS: Send message via CS API extension - PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message - ?access_token=T_a - &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com - &ts=1421418084816 - { - body: "what's up?" - msgtype: "m.text" - } - - - HS modifies the user_id and origin_server_ts on the event and sends it. diff --git a/jekyll/feed.xml b/jekyll/feed.xml deleted file mode 100644 index a6628bd84..000000000 --- a/jekyll/feed.xml +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: null ---- - - - - {{ site.title | xml_escape }} - {{ site.description | xml_escape }} - {{ site.url }}{{ site.baseurl }}/ - - {{ site.time | date_to_rfc822 }} - {{ site.time | date_to_rfc822 }} - Jekyll v{{ jekyll.version }} - {% for post in site.posts limit:10 %} - - {{ post.title | xml_escape }} - {{ post.content | xml_escape }} - {{ post.date | date_to_rfc822 }} - {{ post.url | prepend: site.baseurl | prepend: site.url }} - {{ post.url | prepend: site.baseurl | prepend: site.url }} - {% for tag in post.tags %} - {{ tag | xml_escape }} - {% endfor %} - {% for cat in post.categories %} - {{ cat | xml_escape }} - {% endfor %} - - {% endfor %} - - diff --git a/jekyll/index.html b/jekyll/index.html deleted file mode 100644 index 03b978585..000000000 --- a/jekyll/index.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: default -categories: guides ---- -
    - -

    Guides

    - -

    Here is a collection of guides that might help you get involved with Matrix.

    -

    First, there is the Getting Involved guide, which explains various ways of getting started with Matrix.

    -

    The Client-Server API guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".

    -

    The Application services guide introduces and explains Application services, and what they can be used for. -

    Finally there is the FAQ, which tries to answer all your questions relating to Matrix!

    - -
    diff --git a/jenkins.sh b/jenkins.sh index 44b9cb893..7cc0badd8 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -26,8 +26,5 @@ go get gopkg.in/fsnotify.v1 (cd scripts/continuserv && go build) (cd scripts/speculator && go build) -# generate bits of the site -./scripts/generate-site - -# create a tarball of the generated site -tar -czf site.tar.gz _site +# build the spec and collect the supporting docs for matrix.org +./scripts/generate-matrix-org-assets diff --git a/scripts/add-matrix-org-stylings.pl b/scripts/add-matrix-org-stylings.pl deleted file mode 100755 index af6ac8ded..000000000 --- a/scripts/add-matrix-org-stylings.pl +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -use File::Slurp qw/read_file/; - -if (scalar(@ARGV) < 1) { - die "Usage: $0 include_dir file_to_replace..."; -} - -my $include_dir = $ARGV[0]; -if (! -d $include_dir) { - die "'$include_dir' is not a directory"; -} - -my $header = read_file("${include_dir}/head.html"); -my $nav = read_file("${include_dir}/nav.html"); -my $footer = read_file("${include_dir}/footer.html"); - -$header .= "\n"; - -$nav = < -
    - $nav -
    -
    -
    -EOT - -$footer = < -
    -
    -
    -
    -
    - $footer -
    -
    -EOT - -my $oldargv; -while(<>) { - if (!$oldargv || $ARGV ne $oldargv) { - # new file: open output file - unlink($ARGV); - open(ARGVOUT, ">", $ARGV); - select(ARGVOUT); - $oldargv = $ARGV; - } - - s//$&$header/; - - if (//) { - my $match = $&; - my $classes = "blog et_fixed_nav et_cover_background et_right_sidebar"; - if ($match =~ / class=/) { - $match =~ s/ class="([^"]*)"/ class="$1 $classes"/; - } else { - $match =~ s/>/ class=\"$classes\">/; - } - - s//$match$nav/; - } - - s##$footer$&#; - - print; -} diff --git a/scripts/add_anchors.py b/scripts/add_anchors.py deleted file mode 100755 index 2aafe8563..000000000 --- a/scripts/add_anchors.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# -# adds anchors before any

    tags with an id="..." - this is used -# for things like the FAQ where we want to have anchored links to every -# question (and this way you don't have to manually maintain it in the source -# doc). - -from sys import argv -import re - -filename = argv[1] - -regex = r'()' -regex2 = r'(
    )' - -replacement = r'

    \n\1' - -with open(filename, "r") as f: - lines = list(f) - -# check for Date: Sat, 5 Aug 2017 10:53:51 +0000 Subject: [PATCH 104/801] use symlinks instead of copy Let's Encrypt creates symlink to the current keys+certs in /etc/letsencrypt/live/ It isn't very useful to copy the link targets, because they rotate with every renewal (max every 90 days, optimally every 60 days). Per default the files (key+cert) have owner root:root and 0644, which should be sufficient for synapse to read. --- supporting-docs/guides/2016-03-15-lets-encrypt.rst | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst index 6c6b0ae2d..9d0781374 100644 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -23,10 +23,7 @@ Also, the certificates will be in a folder under /etc/letsencrypt (see below) an :: -# cd (path to synapse) -# ./letsencrypt-auto certonly --standalone -# sudo cp /etc/letsencrypt/live/(your domain name)/* . -# sudo chown (user synapse runs as) *.pem +# letsencrypt-auto certonly --standalone A note about renewal -------------------- @@ -34,7 +31,7 @@ These certificates will expire in 3 months. To renew certificates, just repeat t 2: Install Certificates ======================= -At the top of your homeserver.yaml there should be two keys, ```tls_certificate_path``` and ```tls_private_key_path```. These should be changed so that instead of pointing to the default keys, they now point to the Let's Encrypt keys. ```tls_certificate_path``` should point to the ```fullchain.pem``` in the synapse install directory. ```tls_private_key_path``` should point to the ```privkey.pem``` in the synapse install directory. ```tls_dh_params_path``` can stay the same as before. +At the top of your homeserver.yaml there should be two keys, ```tls_certificate_path``` and ```tls_private_key_path```. These should be changed so that instead of pointing to the default keys, they now point to the Let's Encrypt keys. ```tls_certificate_path``` should point to ```/etc/letsencrypt/live/(your domain name)/fullchain.pem```. ```tls_private_key_path``` should point to ```/etc/letsencrypt/live/(your domain name)/privkey.pem```. ```tls_dh_params_path``` can stay the same as before. .. _Synapse: https://github.com/matrix-org/synapse/blob/master/README.rst#synapse-installation .. _Let's Encrypt: https://letsencrypt.readthedocs.org/en/latest/using.html#installation From 464f5cdff30506ef948cdd45a9d38cb0a2517544 Mon Sep 17 00:00:00 2001 From: lub Date: Sat, 5 Aug 2017 11:45:10 +0000 Subject: [PATCH 105/801] recommend ```renew``` for renewal settings for renewal are stored in /etc/letsencrypt/renewal/.conf - it is not necessary to specify them every time --- supporting-docs/guides/2016-03-15-lets-encrypt.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst index 9d0781374..5c6390c41 100644 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -27,7 +27,7 @@ Also, the certificates will be in a folder under /etc/letsencrypt (see below) an A note about renewal -------------------- -These certificates will expire in 3 months. To renew certificates, just repeat this step. +These certificates will expire in 3 months. To renew certificates, run ```letsencrypt-auto renew```. It is recommended to create a cronjob, which attempts renewal twice a day. Depending on your distribution, that could be already configured. 2: Install Certificates ======================= From ae8c6179f54adc16fc012f6a102579b78a41a736 Mon Sep 17 00:00:00 2001 From: lub Date: Sat, 5 Aug 2017 11:47:56 +0000 Subject: [PATCH 106/801] change binary to certbot out of the certbot/certbot README.rst: > Until May 2016, Certbot was named simply letsencrypt or letsencrypt-auto, depending on install method. Instructions on the Internet, and some pieces of the software, may still refer to this older name. --- supporting-docs/guides/2016-03-15-lets-encrypt.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst index 5c6390c41..0a04f47d3 100644 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -13,7 +13,7 @@ Let's Encrypt is a free Certificate Authority that makes it easy to secure your 0: Prerequisites ================ * Install Synapse_. -* Install (or Download) `Let's Encrypt`_ +* Install (or Download) `certbot`_ 1: Get certificates =================== @@ -23,11 +23,11 @@ Also, the certificates will be in a folder under /etc/letsencrypt (see below) an :: -# letsencrypt-auto certonly --standalone +# certbot certonly --standalone A note about renewal -------------------- -These certificates will expire in 3 months. To renew certificates, run ```letsencrypt-auto renew```. It is recommended to create a cronjob, which attempts renewal twice a day. Depending on your distribution, that could be already configured. +These certificates will expire in 3 months. To renew certificates, run ```certbot renew```. It is recommended to create a cronjob, which attempts renewal twice a day. Depending on your distribution, that could be already configured. 2: Install Certificates ======================= From 9933aee091c6552636a125e99b9aa73a916a69b4 Mon Sep 17 00:00:00 2001 From: lub Date: Tue, 8 Aug 2017 11:39:53 +0200 Subject: [PATCH 107/801] remove note to copy cert+key see feb4ae84bab475964d62fe3cceeb7ce391b5145d for explanation --- supporting-docs/guides/2016-03-15-lets-encrypt.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst index 0a04f47d3..82506b8d8 100644 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -19,7 +19,7 @@ Let's Encrypt is a free Certificate Authority that makes it easy to secure your =================== When executing the Let's Encrypt client, it will ask for the domain name of your server, and your email address. The domain list can include multiple names and should include any domain you want to access the server from. -Also, the certificates will be in a folder under /etc/letsencrypt (see below) and owned by root. These files should be copied to the same directory as the synapse install and owned by the user synapse is run as. +Also, the certificates will be in a folder under /etc/letsencrypt (see below) and owned by root. :: From 93271a8f3e9b9918e31703555605b706f3a2ba1f Mon Sep 17 00:00:00 2001 From: lub Date: Tue, 8 Aug 2017 15:21:08 +0200 Subject: [PATCH 108/801] fix link for certbot --- supporting-docs/guides/2016-03-15-lets-encrypt.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst index 82506b8d8..824e2ed20 100644 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ b/supporting-docs/guides/2016-03-15-lets-encrypt.rst @@ -13,7 +13,7 @@ Let's Encrypt is a free Certificate Authority that makes it easy to secure your 0: Prerequisites ================ * Install Synapse_. -* Install (or Download) `certbot`_ +* Install (or Download) certbot_ 1: Get certificates =================== @@ -34,4 +34,4 @@ These certificates will expire in 3 months. To renew certificates, run ```certbo At the top of your homeserver.yaml there should be two keys, ```tls_certificate_path``` and ```tls_private_key_path```. These should be changed so that instead of pointing to the default keys, they now point to the Let's Encrypt keys. ```tls_certificate_path``` should point to ```/etc/letsencrypt/live/(your domain name)/fullchain.pem```. ```tls_private_key_path``` should point to ```/etc/letsencrypt/live/(your domain name)/privkey.pem```. ```tls_dh_params_path``` can stay the same as before. .. _Synapse: https://github.com/matrix-org/synapse/blob/master/README.rst#synapse-installation -.. _Let's Encrypt: https://letsencrypt.readthedocs.org/en/latest/using.html#installation +.. _certbot: https://certbot.eff.org/ From c501f03065beff0608222b988431cb1d82f16996 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@googlemail.com> Date: Wed, 9 Aug 2017 18:21:19 +0100 Subject: [PATCH 109/801] add matrix-static to Try-Matrix-Now --- .../projects/2017-08-09-matrix-static.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-08-09-matrix-static.md diff --git a/supporting-docs/projects/2017-08-09-matrix-static.md b/supporting-docs/projects/2017-08-09-matrix-static.md new file mode 100644 index 000000000..28a4586ee --- /dev/null +++ b/supporting-docs/projects/2017-08-09-matrix-static.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-static +categories: projects client +description: A static golang generated preview of public world readable Matrix rooms +author: Michael Telatynski +maturity: Released +--- + +# {{ page.title }} + +[matrix-static](https://view.matrix.org) is a static read-only Matrix Client, useful for peeking into Public Rooms and designed to be spidered/indexed. + +The source (and more information) can be found on [GitHub](https://github.com/t3chguy/matrix-static). From 6570a5c6a362b167c13f0244b2ccb6fa5ee90e37 Mon Sep 17 00:00:00 2001 From: 14mRh4X0r <14mRh4X0r@gmail.com> Date: Fri, 11 Aug 2017 14:22:13 +0000 Subject: [PATCH 110/801] Update link to WHATWG's Living Standard FAQ entry --- specification/intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/intro.rst b/specification/intro.rst index 5d0587f29..1d3dfafe3 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -29,7 +29,7 @@ Introduction We're publishing it at this point because it's complete enough to be more than useful and provide a canonical reference to how Matrix is evolving. Our end goal is to mirror WHATWG's `Living Standard - `_. + `_. Matrix is a set of open APIs for open-federated Instant Messaging (IM), Voice over IP (VoIP) and Internet of Things (IoT) communication, designed to create From c934e3207a02f35a792889a30d3aab52a0f9c69d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 20 Aug 2017 10:51:40 +0100 Subject: [PATCH 111/801] fix archlinux url --- supporting-docs/projects/2014-08-12-synapse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2014-08-12-synapse.md b/supporting-docs/projects/2014-08-12-synapse.md index bc5cdccca..5e5e6f264 100644 --- a/supporting-docs/projects/2014-08-12-synapse.md +++ b/supporting-docs/projects/2014-08-12-synapse.md @@ -16,7 +16,7 @@ Apt repo: [https://matrix.org/packages/debian/](https://matrix.org/packages/debi Dockerfile from Silvio Fricke: [https://registry.hub.docker.com/u/silviof/docker-matrix/](https://registry.hub.docker.com/u/silviof/docker-matrix/) – also hosted on [https://github.com/matrix-org/docker-matrix](https://github.com/matrix-org/docker-matrix) -ArchLinux package from Ivan Shapovalov: [https://aur.archlinux.org/packages/matrix-synapse](https://aur.archlinux.org/packages/matrix-synapse) +ArchLinux package from Ivan Shapovalov: [https://www.archlinux.org/packages/community/any/matrix-synapse/](https://www.archlinux.org/packages/community/any/matrix-synapse/) There is a FreeBSD package on [freshports.org](http://www.freshports.org/net/py-matrix-synapse/). From 19288b775976d5ef1a6cd42b8208fafd963ec17e Mon Sep 17 00:00:00 2001 From: Alexey Murz Korepov Date: Tue, 22 Aug 2017 09:00:13 +0300 Subject: [PATCH 112/801] Add matterbridge to list of Matrix bridges (#974) --- supporting-docs/projects/2017-08-21-matterbridge.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-08-21-matterbridge.md diff --git a/supporting-docs/projects/2017-08-21-matterbridge.md b/supporting-docs/projects/2017-08-21-matterbridge.md new file mode 100644 index 000000000..ff898d52b --- /dev/null +++ b/supporting-docs/projects/2017-08-21-matterbridge.md @@ -0,0 +1,13 @@ +--- +layout: project +title: matterbridge +categories: projects other +description: Bot for bridging Matrix and Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Steam. +author: 42wim +maturity: Stable +--- + +# {{ page.title }} +This project implements bridges between Matrix rooms and Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Steam. + +Get it and report issues at [github](https://github.com/42wim/matterbridge) From 5e8e8bfcf72eedf0ec36bcbc3676677747bfddbd Mon Sep 17 00:00:00 2001 From: strixaluco Date: Thu, 31 Aug 2017 16:59:03 +0800 Subject: [PATCH 113/801] Add Guillotine project --- .../projects/2017-08-31-guillotine.md | 16 ++++++++++++++++ .../projects/images/guillotine-large.png | Bin 0 -> 146629 bytes .../projects/images/guillotine-small.png | Bin 0 -> 14075 bytes 3 files changed, 16 insertions(+) create mode 100644 supporting-docs/projects/2017-08-31-guillotine.md create mode 100644 supporting-docs/projects/images/guillotine-large.png create mode 100644 supporting-docs/projects/images/guillotine-small.png diff --git a/supporting-docs/projects/2017-08-31-guillotine.md b/supporting-docs/projects/2017-08-31-guillotine.md new file mode 100644 index 000000000..34912c53e --- /dev/null +++ b/supporting-docs/projects/2017-08-31-guillotine.md @@ -0,0 +1,16 @@ +--- +layout: project +title: Guillotine +categories: projects client +thumbnail: /docs/projects/images/guillotine-small.png +author: danigm +description: Guillotine is based on [ruma-gtk](https://github.com/jplatte/ruma-gtk), but derives in a new one using directly the matrix.org API. +maturity: Early alpha +--- + +![screenshot](/docs/projects/images/guillotine-large.png "{{ page.title }}") + +# {{ page.title }} +Guillotine is based on [ruma-gtk](https://github.com/jplatte/ruma-gtk), but derives in a new one using directly the matrix.org API. + +Get the code from [github](https://github.com/danigm/guillotine) diff --git a/supporting-docs/projects/images/guillotine-large.png b/supporting-docs/projects/images/guillotine-large.png new file mode 100644 index 0000000000000000000000000000000000000000..776481a22ea990e050f7b487a6aa55e989061a36 GIT binary patch literal 146629 zcmZ^K1yq$?*DZ*2Nh1;x0+Q0*0wUchT_W8L64EW*Aky94-QC^YU3c@o-}m2p$GF!q zJa7)@slE4FYpyxx4v>)&MMl6wfPjEN7W?v94g%seA_T;%OgI?uiA&Zm6z~H^S6uWn z_zC{q3e|gnAMlo6RBa$25HViEtYc?qPoqQ#%y{qfMi7n|y!hXT<>lq%eH9RZthYZD%%7Ai)fKkoB={;Q=;eH| zBWp65=UZLPh8+Z*KN&b_65Rv;a@5PA*9;*d-XfU-`IC`JNfM@}G-zmOl+Dji^>}aJ z2E@kVh-Au=eE9EWxV15b1&XJmA|u;M^}0tOA}RlKeK=x5?Yul)W;`=xe9GC`**uZV zh@OA$?B(SZxTr|+v^d#+&jSbPDU~hcP#A!uIQdmq_Z1FZQmi=U5re(G{mpGODJ3PY zaD*(epg)(8Vj&qBS$L8wWM=7?S0q08T;O~)7Gd`azZVuXE=}mk$vPsUqJ%0sEaM--Og~;B6bC3`dr&Ls6y1KfK?%JY<-^*w$z^hf8Q~wOtg9SI| z^@H&6Ta9JPTxBLD4b6K#K4}s=)KOz*g(CdkCO4NqtvG@U4B!Uam-+b7p|5KzDiq+o z{<)7g(^A;DAtE%`h|_fv0t-B`RRJ1=BtA7!!6KPt2tNOw9@V)FqD8m#i_ej4nHhNg z1(dwJuWvSH1i*vv8`hxxJAZJ*pW&woRNounfUo$&230)1eD3*<4AESFA=TZOIc?fg zO15O&D;edWl8Q4q&|9fhDnD&9&)7C?@~2W}#yAyjg?2XOPNjA>q+;fqEDj3w&o4v& za+;dhC}=j$`ZU9is3>cg<8Zhn9@mm-Ja>zLnUrw|j$ymn!a!NJ{?1df&(tRCE`>wPcTvsaDaz%QQeP*%@ zduHcCFK?;VG})1T{%mM(DS_St;oZ4GhAqz zSulrrisaO6i3IaFk*Cul8GE#?tx~PB%B}%kn)#So?rHKPCRny}YiQ8U$dq`{g|F1U zda&vl4j3hIIiyrSU;i={0Jm0sFpHy^VHdPzd$_RsGt4)b=4Ajnkiqlo4oZ?fb)X?t zwmJQgvio&u8fNnuDs<+%<(M3|)=!bf8<~;af}P6FOeAJJXr44#I$oKNhsbUh&h?Cq z)7722tFznPV^R&mnPhYb|ayn=eA z4+Ww!T)%a4;pD&z>s5is!B8s6V(ZsN6RcCqY3tSu>@e&RlaY^9oCG_VSch2=FkeqM zVb!235GW}r17Xf3QwAyX%ZUOrM$+7Q+609*g9E{|8M&*TQ=engWC)j&U+hm}NK2y* zr8c*O@;PLT{$3>Tad;?=azeyDyWD1Y-gR8uwU^1B#voAi!|4u&e9y!b1qF-B=rOAM zG*cVJM$r@+RDMoimS1f;--@H0krdGTt8I-=|aY zeK9ayny-B=tKZRjWZj{naBA0%GLVGg&C9yA!K*YD8^oJ*ayUz@sjr6$k4_%^fw8Q8 z-1KNVU-C2rVyr`|((+CL-E5v$;}5np$f? zPMRk+a-MbWy2quRN}&=qjb__lTJ_$cp}%UARG8RUI@#0neGesj6jKH2qSn?3S1?d^ zCeykdBgE_+9FQj){zf|^MaX_AM5{BU>na7<39RNFClr2Zli1mGcf7p*L&=(AuD)wI>$5~mL4Jv`T~P90sG7}G3>xOuo$N*v)u z!-(2DXMMZxud`I6y2^|Yi8}~bJx--ZdUI^~N1^4L<1n-?b_T&9U*OGQkMxncP2UEkRJ5_hh#+XHy>(N3R3TM74 zsPfLXjN_Oxr+wBjCPp}9l¥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�C`%8$V#Jys8d7KA_;ZizXNE}Y`QzRTHJ2~*hbmwG zUf^Z>KyGNifD{`h+jC#C_sJTMFZi!$Tr@2Un$DKKdU|?VwK&Q)OK$3*bI650`*5KK zdxPu;jrFlUjI%}34wAJx??1j$6?$nf*YiTUvy6M>OK^RT^&De3yy_{(K~sr2QLJ=F~j4bK}P zi}y=C_S&!>3_*m{g#VKq^l=UgFdewu$jIm?oQD_5IUFHr&&kMlN_ft)_@hg+&DB6R z!2y-|Q5R#ksWV1yQ!NfVJTTr7XpPp9ryj^fDPUyfv*)3*My%r>n}8Nt94J7t|H|pw z(+m_R6&WqFUstIbDmBp_a-5b%i6T57yq0RML|?AX78z4Xv4`wsVi0>L=rnNF{`u+= zph!2w>byt4agwEBuUYlD6`t>K&(t<}d2ET-DA}X>#9?&w97bh@cou}J9c2od;?34c zzs#S&32V$;%GREmnI4}!ma6U8|I0ba_fPETc#3zba>ZCMpU8Z4l;l;KZQGu3E;Xi} zsra_z#*G`BH>YW&pL#~~js8OI^Ej975_S~XKkH*}v{5G|c_<+|mA$t;Ffp#eCH%OX zuk&qLgyYXa_V%e64rdW0@Vew5??1*G#O*b{c534q@3&QditIORlg?7oyC=DrPMD%1ce* zET6was`MX+zW<`mWJdjtL!%R7hi1iHct%7X`51~GPtpp|O!QJd7w_g_u<(W=`cpsO z+16n?X8kDtmv(cDO^US)%SO^N$!jE_%@p4JY9#_A!8fLVEvnR(w6(2>eI;tJ#l_X` z>9m`KXEh-%UdOT9^7T&X++V+%d#(3we<0@#UFn%*m#%>>^`0v?XMa>$Z~p?htjmn?dOe%xBL8ud5GJ1xh(1#0(tcW%vVZ| zZs0ih*)&S|u@M91h6~LBXOi0(S`%ZKqODq`PyB zOy_FO2s>Xt9k{KcbRk(IX`t;5>xJUkAi*;oNjeGpmGW#I#~R~JgV%*2(R#01S{U<) zN{0qm`Yo|wQ6QVpG#>TFp8}h-VyebOcW7h`n>!-ew zjI3;@zfki$$K~P|$@`JtxFRO!uguR3s@fG5NFI_3bY0kg==wdl$d^^?G7(Q+sHJBAvaXBiG#Y zrRn#-e}-m?{pju0GId7svMk<1ucO1NNawNY!$?H$s^(X(s>~(U%5?fGrK|m{wcS5@ z@vB{Z)C23-%5g5%8^ho`oq?BjfDOy;X#&{tuG-&gn%n-KapR8A?0F_gs zO3fwM5b6cFonD|tiJa4?L{lFs9zbS5;8e7M-~ROYy)C9eqW6sw4}%dP#X z`VQR7Fl=!t`@$_8lJe`KOt*;!kF;ES7$3sroo$&PQaiz>zgVPj7Z%ezReo zDE_)Lf3!vA%RY{*{-y@qH_Ix2z8Cq0hx2t`(%qXI9_ePkcRg*WccYuG&-t&r z&o3WIGg9Fef5(w=^7#wxWEi5vUI;(6!R4(-pygZzkKx30T0P%xq4*U!G){C!j(nc| zW{KAN=$E1el#M5w-k;lY|Gh@7S*_aFe5XMP3b(ZzGiNWBu||O=zhnDgYvCae_6uzu zCElu?r^_mRl7fx0oer;D`F+suSRh5weBU}*qbK4I{}l7_erU4#Ty&m8lb7X^wayoJ zeQeaNW2NfAW%P3UJvxe>+`D0M0MjSvzPg!Ro`qaZ4VnJ9l2{x1GhgNF`)_ZO;*E5? z=H})b(`OuACyUjrTjSOT8$UVRoV6lxY2L#QV**!eSsJh3(Ch4sUlNseeSpIRs~qdi zEH!>*-X}^@?xi#wpR$|Vd#U4d&mjp=s|zztySGdZTygo6(8Q+iT`NnS`l5z~#}qAj7p6J7K94bKA6U;~u?s73$JV>g;i=%6 z&Fg8Xa2{DK#>7NvWj(@e0gfWt3+v3V3ZLTkEVa{Gfy$&jpmC5!-mBP zsUI&L`dnk5sS^~E#+WM-@-@@!xWa!AyLg+2=NpsPPHK-c8C~hk1(rNUHfOzlnr%LI ziB=oadb`(O-`BVTCr6{6LMZVRc!PI^*PiBQYK+oO?gOf_{os|mU}NluTSX9l*WO;0 z-F{yqsT^bHWT+-bUj$$yR9!J`!)R#X+(HNTef#$90kwUoXhUiiRa!6ZhfZK_AlCnw z*ZRL-SlaW_S9jqFBQ=KQ4{bggOt*K2h)79AU>e5YUXtu#XauPQW4;~2V2jTj; zmSFtNJ8-1Ls7AKU3TETWT}@?oM?F%j) zh8b{VY!@Y6q5_7l6@G4fc9?$O!P~w<*K=KGhj+YxH4*K6Gq&QDqQ|udz3W^~PaN^} zly2tkXc<*bRXIHPsUIy-j5@!%U?{pfOwd#VK7Jps5)L~UypvTYMAl%4luS-qHz#gF z|EY0dRj9Jpkr>QpLy`jjH;ME0PrJVt-N4kB^;^#{Dhi2+`^-YxcWD^^?o21j=N7ki zhPb9%>@e_ix48;i30#-E_n-KRUhK3w-&@q4GcPkqU$4HvrWN7d3+ z2PEwAeasrU1^9`fDBpnt;bh$Oaz_=`SD1Z(wqQq9pF>AS2gF17nzNv`R{qAQCCH5F znEW?yegF%xvlB0d#wbB8>eYbz&TzlNII?X<&qHfs4vNUI&?yjFD)c1QUtfuUVGlN< zmi|?8dtKqu^jB0YMmK)%!>pW$Y}@b@L0GVT8dLQ4SkFV2FgIF8pL8af1w*Z=AI$^{ z>Hngmq8S(3L^1KDfDen1cFw9;#H5(A@9;u{$MWs;blbo|i`1FZHLN@FT`<+;IMghF zj`ujwK{BC;;W^=J%UMIm814j}vC8N&dUfkY``W$pi|Z!it~?9rV%Rx%>+K28GTR?b z?M{<#Cq29jwTJd^zu1>}sdu|lU3bm5#jEj8Yi*^X4?O;~weHb}fLLbv)iI`?RB)6C z=2IJQQj@b^n7(w9H+a&{c=YurtMZbPRnTT)(_^-sW-oDhvVN=_U;6(2T8v;pzj8uZ z84eMeHg4(+H=Q2eUW-Y$p9xX!J)qprL*&wPj6~Yyu#MX#Z=U2e!=xzm2=;w7%tUT; zUy%!tsqnbnVg;))2;nM_vwmkg;nO0%^}$}NkMB(9(fmO|)s0~;X{S*NR@QKuLoZ4f zO!jU?+ix5v8Z0Fx6-H01%meA5NLD0Pj1e>-WDtJePU#Jc*v_#?x-UXI`+5VL1m*SX z*8#=8e|aYP(QdP~?(Xh=X^ip=%FeAxRiSUb2#sAk(>-``&CP^ty6mU znZU(E6F2|R89r+H=2yN~WWxObnti^Qf~8m!H;UVuY$&EjLQIH%fJjF zd*%g7hz;a-^H#Na7WJ0TpL^FeGtp3CgZHBGZVSlvk;xuM!_` zx`34KE6-uP$^>Z>|2wJq@U7~L?@c7k(godg(mPtRezh?f%@<#oEl9R9ZX1kQcktMS zH8Dq^>Au{NFAwJj%WSrYlioOp1?-5@2wKYVn?ctY8L`uNtqxV@xyqM+V@4FCk-xsZ z3CCdL!zhnsbp7>#5fQ%Fb^uzj&y{a^d46J59;(#|!pmq%H8_Brl#!bokBv9^t34Rf z9^JYF5C>t>YoIZn77LxIB?!Uo2N)r5!O=uuf3WR}AZr^xVYuSGKZn}4f~$UKk1H*x8v(s(hCLs?h_=%lOO84J z$>bIXR0ojhjZRJqYfQH``=Z)7m(f-2YJK>~y|6!YXA{qyQOyY7;Z|yBzbrFyYr{b6 zJF3o_S6bJ!8b4OD=W3jCIpw~0pW6A-dc{*_a_d&V{M=(A6jZieZTh%~fPgRHx4{p^ z+R35Isp|Z39jkGUbM+qpFueNISOJ$hRY9ZYVd^N6OTa_jK@zRno0R z6nz-}^(iVU+N+8NwWoajk)uaf!HDAh`}Z#l&u+pqVLhd1Ivn>}H&R0BfMMEpQ;$5q zuRh~7I8WuijLeNMqwVH^Ap$}>19;Wg{5xW?gza}}sBgHwX@=yTO1TQhhZm=wDFe_A z71DVD$_jz{CZ1=!cx5TQ$}MCcxE4@juCv`f9)6B1NS1~LSCqDY?fmtb9dkw*!L`>r z&Y4!)6n<^+$+;-AZgZAYaLBrwMX65}Wv4e-4S8o5c}{NU+V=4K`OZFJiif=YcDw@q z5#I{)pT(Hzp-@Qhfm@MoLgb61sYyY3^1 z%p{(SWa6B|ZE_PZQVU3ynp5=1&$XNAR~0pWds0h_34r*yx$!;-U%w7r6=I^n@Uwbc zXibyNkM|FVY7hL)U9*L4JHB>u>IMWQC49}2d%iEiS&{R4Yt!UYbiudHn*_Y6m6pTy|KYbdR_2XTp^=x)U1I6eU4*XO9Kdg4e88fk+H9&`YiDj#Y~7gLpU zofU`X$_!sqp5gcv;r?-)BE7X=oR@>rEXQx zz$?I$^NNb5HJ5vA=h zSNudJ5{uG=BpxbSmXGPia;9cxBIBwdioC&@u5;ray;GbIe@7k7sb;-XxmarF;1J{< z$BaCSLVI<;%5dm zH8q&t**iEq$D_|KEU3``qDrNy*(RKi(E-d9NJAD3v*zv}Kgw`eYupO`kEXXZ<=Gk| z-;}K5a6OEmB~vxVAlF+O48`_sR_8o0K?ECqzL%~+n(m?;IC{j#t?hhP7r z1yB(yqU`lQtp4WOB|Jd91yr(pYLVt2qvc&EKOJxEgn`a!!BCBzF*|hv6*U+A?qf%q zT)3bDd_D=1DcKMmQ&Z0B>S{P?%&Q3)UtsQa2&(PVZd1|=6V@w525*Oz4OVjl8yg#0 zM|^X_LpHsj!#8>==Mf2|=_e44yr-V>^F+6z5Ra5*v$eH_Z^FcISvRG<8-=_3=(`fV$>kAUwwT&oJe$gT`&+$oN|sGJJto!qq;f+3`Mf3 z+2MvdhB5$;M2~!F=jdpLP~2FX;<@xp=Ena22z=NVI3gWTfVh%E6i`)E^bWConKF@@ zZ-%au1A!j1d7T)W8gd!npz8d(5ZO+|-s4zYCfE)UUi&Wv=5?eCg~NSBd?#T#ObUAuM( z8|Hs}E~@+`ZQsuj-~^?b$8c`sXe1&wAV@-O3FUOG`_eqNPr&@tF#H$AWURJrSPO$8 zWV?6`-=ZQJ7}SwgX=vyko&tLhsgK~m-Q8Fzra^c0@1GbDf+}&Ewn*CTgfO!oUJG$h z&iCmbmmj_Zfx3a~pxzU?b6C$`U-SG=$13iIDT@7S(x0pCOVw7na%C?T9_{}+n9FG= zD?k&q|4Dr3Sg8jEejeh4sRY=b9!mIwunfyy9b#I0JEqDu6VHZ2LRf5#adTudsDTx* zk&vAMnFoc2cJ{RbI!8pvw5Vly$RT$Mz$Si^o0nI4SlF6_=8p=^!=z}HzOoe$UFXf) z^s~Qb)wEsQpAAv-+ofp(>!MD#nH>u=BYZqOUa0m+t~~&v1U?HH+1c4IPu1YDbh9n# z@IpCv?xa9%0FKHRj5ZoOBs^bVMm`5Xw~OlpUq6M;*>U=pUYcRGS}(qV7BSpGFqT^! zC6mE9iNQgOXcmdMdTC*1;#YRVI8-2i-H!Y@8kUz9$mWFRkZ<3^hWbaSeRXhk^Yf&kE2b9)Iu3U?Xhp%v;lq z8{ia$m;*naXOokYoX(snpJ16mN;5Q_@f7bosc0WzYoq$>Lz)skTMz>3UTLNk?5u)f zHoq;Km$!G8%aqOL&6__LTonSeV~Y743JZ1v`-Q~}9L#PgXAmH`a|?a%-RoId9$C5f z8x|oqMu_DUPAuv8oQG5MX1i|FLvL;qVKJ5Xv-yYmy{J|4PFHMl^=m#Fe55NWD_i4r zL>^j8baEPd7SLq{q0EH@2W{xKZQBNY)J4NpZuvl3fJ^~g1Nsc*1Dmh^>B!u2HKwq{ zQ#n)+4pXHSeyl)_kTdk3)x{&=Q4&KCoNcqtw{GZ>9DjY@eYsQg#y}Imj0}7&3c$%K zFb9fjaGCi-Wa;JWc>ttIpTY1w*SGs>k<#rw*>G@4{@!T()-?h;6TfrxwCtm(G<3|X zsDoy5W?)jXnTkS2*Mi-Jj!}v^5fhnJ{LOg zDPA1+tH|-}X7Sm;cErgkf6~OGw<>V6kGN~dRM?rfXznm4)790rQ#D;Lo0q^CFw=s_ zTM8ZaC!i1o*M85J4=v$Ml8O;BL5exIFa8{I^$0#mXWzWiI!-S%AZx!ge-%vu*&aw# z7VmDZI_!R+4OjpQ?Np7tZ^#fh+-u(%*cMgPgbL~9SOtcZnPLIT%gayDPg2dChPFSD z{XQcjqu#5FY;dFU&iRhCp)zAcA`mhyoJ=I3g+|c=#CX^K{n{@_phRKVu|pO2vS3?> z8@ayD&p$DYAp+sedojWCVv@HogLqkCfBTtqASS{X%@hqS1s3S&ydiJ!7>aJ0Yi!IR zjAT?A4MT9y-Gh>nOg9i89nbCGzn>Vv-0|{)u)Bh^`(TR+&>)d+lz#qup)>IrVl{T% zRK?N17qB-hhfbt2-TR7N{f8?`lK`R~n}B%XoKJp)2SpjA3DzH@S787T-4VLv_^y(v z;Wm3ayLYv5<1+L?l?Po4nqnAKtr={!+vIzN}nCIiv=cy zNW%u*7}7U2J-yhpNWn~q3ZnIxD+|dU+5hrd}ocBM}_!rXD zx`Tco{6;xDY9-nE0WQCFFA2H*jfM99jzh1?uOga%G~I!krtZ=1*z!3G2{xFO9aB_P zZX!-pD4dnQt-Fb+uSYqmawu(lvgMU!QESM^6Wh1eV=L(AkeAt$Pt`a~Sh~N>M)4t# z@dGy`P|@7e9G(7(f)^@zpny8u(dtH2!_C7}jX9nNg_8`F<#(EOmwFLTjG-a@o&ws| zz<>aZvj|SF%G)_+X^%Z7tp8+nJa4G5G-W>y2wbY-G1kPauLwsj@>Vd`7l6tf^XPG{ zv=#!FKi8MyAXVb^Ka#MZ!DiA(_9{&?e0>CvWMFSRW;;sI_IH<3StmA>es$CMm*dRt z`TJM4^L>8lj4}!xN|+}VDt;WW2OtPEfIpxQf|19-m4nvYYcL{jY5Af#^__|MiLzZR zDX>T)mS#51iMJGEyHU_K&eL9|sri}}jp2Qk53|Z}5Il-~>Kmo@cyCgjC}lTaEXbf*WGzYl`0ImdED}F-;VxyC4tXr zxk~)Bt7)L5bP|mzTqZRf zUwDe?p-=>lk(rwdX%i^)qZpV4LPK!%PgZ1*0eWBLJ3w<})^NjG{14O%C6;zY7POEI6cImV#H-qb_h5)Vv)1UX!rkL-JQbgg0mnhU97}W40&k2INAN+z<2&vPt&}I(3RySh$Y!^pD^;?d1Pguok}XS5J=@AZ%3l2-R^n>Ux}ZXUw#bNhZW@bQGjd zTfJrt5mAP07_%4F&7i>7Boj}_LrF$O2k}NjJ*o0+J4LT)t-7!e_Gc(dScG-oVUrBN zWt4ma6giF3{*D*Xb#%c;?y1ZT7HHuxGBt~Kg5a8f%AEq2qTo1+f}Fs7DCc2SS%qEW zjPd!Jj@BsWQ%Vg7k;isl|NZ5xD;KpVlknXHRQngdPIFPjpXDH$J`~IVNitA}0*A3` z&*CA?8;#eIAwl(kcNJjV0H|R++xsL`l-SqAiZ!{VIn{s_mE6wahNmSaCMZ3y`#$AZ zYvP(Wc?23Ho!lx1p?@rkWK~i+hx8AV+2zc<0|*arN!%NPekIcl)G+Cu`BYN1v#$ zkkCri55?I*Et{yF`Z%Po*<2zJ_8D}tSQ|Wi2=ZNn>E-B&<$I3GV7e75(bs{BZhnQeBX}RV?zFf3t`QK4WXWg-#raqtQr z9cM0%!c#f^2wMFgyMFfdk)3l@o@91pY3vK43DQoE$J@rAMuh;P;n^v^s}>ny7|_74 zF3uFMxN%xcc9pCVJzKziiskRm#*Z&qEzfX|mIbKVF5Dx>PP?zGaT zFE0U2Eg;!&yh`N>;@^z02qRj*vp#@uF#)3RV&rq?ZIsO2;D`W&ASPopRNG}huy8ps zG10Uwifr`j*HQj*)-o^O(6Bx4 z9HH?YRv&ijYw|(!L;S4o-lfKGLRx2vLf&+X>c2hHJ;E$Zs8+ZbKX;iLDuk;w>Leee zCTs~5q?wP}T3f?V^w^K}C?vPaVCdsHHH1i=H^y80|AgCZk;I18a^-7f3;2wgD55pmH+x}!e_$FT2J~$t#UbP1vhq*JNNIN<6P|-w3>?Yfvjdgf1WPm4Bo_ z8E%q_E6Ypm@F^lj9vtqoyHGu+PR_wX_H&Lkfxt>;$xs_5KyCWyFqH>!xO z0(!jWKlqpU;$q|ma0A1(Z9;DTs78EXg$^7Y?$=I9Uz@G=lE&HU6Q}jBzK&IRn`3~o5#VCc9 zcCtxL<=J&$90&%@oa*ZDIy<8P{srfKcd31DopvOq3q`L5vKPx)y6-N-A~w06Ec2 zpucFMG_Ipml1Ci?^h&_-2_O^VjteA@My#@t_}XGJ!Q*0=^55PeLIU!{Ib`N`xaJJ=vq4-3NS(qxH7*bX>_Eh#0!gxR65=QN2Ab5Gt7J> z8eHu(^X)n;-DwY9|I>?CyHi3Ut2z2T%Bm#zQde{W(yoZ$S}YP>^zuzMmbsehvS4l-CMb z!L+4vyL3OsDKWyt3tv?f#WZrNQuQ2w`(*7@PHE}wkXHO>hJ~_)0@lo^#Xcaw!QLPJ zSNe(N)u^~o-RkDrFe3?aLb`%Z0_C1n%l?||wBz&Rnt~CC+z<#red2{}9EjE!cpYMh zsN)kPTCf!N{u?O6n!UFFu@GmAcx`n27fjU}KExjDtSSHm#r`Se3m7Ex`^n zP0^5}X&r^h^RmeF0dU-e7r;!}DMC6XXq=sclY=(HONk>Kmlp`o!!{bC86AN7Lt%Hjm(+$6BaVI47d z;_n)vU@nBFn@ob5S8vA4BzvLU>u;CC+!b!@E)S#=Y=G>isjVBbAD+C<3p&cg5*jV=H!9j~D7 z>;=eQH*F#X2aum}l*Ubn7EtHGte!w*8hgG45tt0^=P0rWvy$v*5Q9XmfMSMl?bM6nK*p*taT$b7JY9ls@#DNm@Lw^bwQJ==sjxIX;s=_n($=9-RvzgfLO|NZMHf zoIANsLCyRdYBD%st_W0;)W>sVBOM(8HBzY{oP)T~%2DTZR!DP2fFd_VAPN)W6fd(D zoQoBrT!d`{g^^P?6}i2j#Dssm9fjT8pEo0t&g0zJopDHB1aJVnlj%HRiLySjYBy7O zmpIy_U1s1gvpcNU%3y2ch35xWwT6)_a{AmGudvFdFdxF83jug$X!$Spy(XP=;1W+81VrX$kM@LNn)Dx{<701B>ySB9vCl!I`rRuYrfDHr3 zyA{e=ys<&pwP7DK@pWh>mR5clBG;^xZC_1p6!<)dr3G9cl5YqGHjwgepWaFtQ0aT- z*NpQnKRZ)PQ`&S9@2+sR$B%qZ)C|6>i8_o@KBH8}*i8XDnCNY=fRk|X!Y%>}CH7$t zCJ(hi!I9$)o}HV^wEVD@ zq)#v>@qg%1K3Rf^5!TPS3x0DCBovX({cOn&QfwR60wC7QGG7loNigVX!C}Y*0HVA{ zWQmL8MhRR2MvY`z^qk%m;^P2+qmTQule+3SQB#(FaFbrkO= zl*9paOUuW1sG*8fIhn|}Si}_W^RF-DQ;YpH3c=+Bdh|7OVgfBT`-t)i4;S9=`|u(0 zL~AT_!Ly)O5FCFZgD7PEx`zl|kb`i&Lr8}c1U{&u00|1E7Gqyv;pnS8+F!fQIY1Yo zZ<7&i=QoUn8N(=VxTFVGCeGuAi%TOEWfWA=%>SbW5LlIOC>rj$0W{so$9sJdO&f7Q zlfxRIj^yL>sj4~w#VCcar&wu|g6O^fm7#ajqvGVlt=uRI9RcX0MOA8gp(;|q3Az@U zOBHxfts%Osvq@2W+}!AOVX7S4oMRlLjsgM+|GKhaeS7=s@;{VRpnB`U*AU?$It-!@ z0CXQJxq?@Ri(tf|&q6jNoaL2+X9MRf>!12+B=w^B&2(`Fj6u#Q3N`X4@f`&l3k;lG z?uPv**hlK3pF_}DRh!pK1$iO4odtun?}C*$e-91O^d1-%lRi@VgLjv!WXUG*Th3OesSl)vm$%m{6#pF3KQa$C2q~rhh1a}hJ;9_)F zJ6R-Xq8bGO!oes&Au#o5Fik+qk*b`i5JN(kAY>}74(6*ZQjOQB#(@H(#|uh~59&IU z6B$T#0Ja1toxXK+NV-h&1GIeqzhmJQ*yA|XV(71mDi&?u&hesoBbVNw034*}cXWoY z52`m59vkp>e|5aZZ1Hwr))l@pE5C}IbWc_QZ%LtzcVnKjaVAFd+evPh{Q0YsW4V6W z<&ix9a9Z2Mub;Pa+uTPW480Il^nF1_`VRF0%3IM)0RIxN1(e|%qgPjs*O(U56bv1I zp^-#{^?$)8T#JkQ$_O5T4iQG5$I{y{;11U!5=ns-0k1=O20q%M>)k3Kd9AIjz+~n+ zl;eX?KiHR1uD*46Cj<3R0A#TYn>Ty<_#BULLjojtGY&V(wG&WJfW0XkEv3~pFld7O z2!~X`($exl!y&Mzh{(D*R-4dPkc*(;PbH3?1mM>2Zx>d8!L|hss)W6eKCAAud=!FDIA(-s>uA;h`2{i+#0}^RCIaMeV)YPu2nmG>8mq>w zbRjB*B@l3GuN99P7 z)p84dH;7Z7o~xCWm90SDq7PtUq3U;RQ4rtp_gzq~F1f84Y5ex^==J0Lw3MC))i-yH zI1m={+MkYUNQ3av(Q$E|pI|VNXr3jd?1D88?BH%%0729G1 zO!xEW&mf}ux(;F^$)=OH{@=^DxOI4xL5K$0M%3565ZCmg+lL*Ne)(>Ij!w?bo0yo6 zLDq;bkTnd}Qa)bew4vdBd=Y#+E|e#FSzsq#$+zbUkLdlM&%Kj%c;{?z;$^#|hmGFB zfRN}$_S=33Rp{*{QS$2=o(5x@W!R_}E?mG*SByP4lq|ZfVio32Vo-ZSNkI?jec(i*B z2S=1d-CCQd|ta5RJ|pw{K3mw$Y*t~IM~MH`8qKPZU=fe{xj zI4t8TDzQHw7GO_@*Nu%9qa`RHD*7se38<_?1XLz9H8g0bNCAMBv8uKu(JjZqh0cd2{@_vH2c9u9@NG{INwODBH5D5sA&P8f+vYL zbVdh=TZ0=hMdde+W7>^Tb*NMTt#3pKpSq?R{}oIY0gWIB#evAtPwg|6Pvzz1eR2OO zYNUWik4}J=tCdkZ<8a|iF`4F3g7GFO<9FY_Jwwd_Xj1_#2++gyF_}%&l%XkCkFioy z(!UTU@^PRG5Gf zRJa&4dwNX$ zIP{>iLqO@fat|N{3(Xow%Qe}h@9=IZKt-T3B645D%9Q&~kC@kHW@a)mF=4DwU@h4+ z)XS$KL<^f!PHV9tmS3265T%MH9_+#ST{o%M{5 z#LumUJ%z*En~}G*jB3*IsKfxOA{$rTTZ^2H523)fcL}|eD1eDFvT^yMT(gW8bb`29 z#EkAk-6vMO=-{>VI4a6NHrDLH2%ag?G?l9W|0RP@0tA_rogK)nv{BmXnhatZhynf7 z_f~tKHw~&MX#tjRe?|y#EVn1H$+ruC4!O_uv7&H-V;(y`0OFvozCIoymO6p07q)iU zp<g%gig*o&UWJnMV zbf{>?l#APIQEF6c-~l&*g+fW(*V!~gW;I9*hnF=W`jHq!bQBe^ZrI5Hi`PPG;WA>J z&2!WmTn`jg0Ni_i|33R-B-v37q1!k`7}hr?v!mU>SvNuii7icZUHHX-VKf`j>imxm z*c!c-K!<|c3Pm*Eo^N2sJzvn2&?8fW9?Jw=DPe5*VLUcAwl>sQUHvd*U6^4+5)YF~ zo9rJMG47rUlYI}E5AQGt2U*|sk~;%lF%B@%#G6vKt=YGGC79b6jmc?UU4D-_43CX> z_FuWzzhG%*W)>*A8<86r8@>UqW4T@O4p?IQt4rH_=sEg}Cc2!|^rk{7?I=nF*8 zprFn770n)`31NyALm=dGNBFos#K;TEW`YE;JwZo^d#kpgz&&{F7fC;0AnBXaQG%Wa z#xza@z7)8LbfB}ic#9K>VNL^54!zXK(b7QI9rU2QL%B76$i!lVwSVT^9>lJv2e014 z23o_wz;H7(^vr|r3itf{fGwIsDK9-<#RY2fBN`1!sdYR*8T(1=%c}){pd;P5Z$MZt>kfyMNIX0;b0Jv&SV zK-NUOlit343w8{rl~_=dQB&mm`j_fYD15LSKibbng`QmlT#gzl61+}SM{^1lb)>09 zGv2YhjxI6(V!OoL2%t40Lxz)1JD}k;4eQBqq8@sJdSU_^3v$og+*u6-Bxn_YIe@h~ z?o|mT+Nmg6vfpcjZQ!d5M6CxKih`iZ$UVR@G*Yki_4cZ3XdFR*EtINrdYerR$|XcY zfr;nK+8>D@)gbDkZ!9JzR;xxC00p%Rj|#M^ z4#U7cUYMsUbAxR?6y(PEAdH+VT#muKuA(y{jDtA93csfB%k&77D~Y@E7?= z#1KQU&}2NesTrARt8Hi?*XSV`;x}s^sJj+xq=@bj14O?ENDBToE=Wvj);Lb;EKi?X z*sK}o>(gp`ZSzxjFA(x& ze7UsOV4wCeM7Z@Rf*w86wKgd$_|-X7=!jB^O(}>_6*yavw451^#E&di*AoYLgDXDO z6;G>gg8vfmjiz`NR!EL(LB$EC9D?&XuO z;<)*BdZe=f!=LbVChkqx1I>eLRy@|DFbEC~UgSba4-9|{j{g|4S?K#tf4cxffe!yV!Oc~ar(CLcdm6MA?3L+~R=`tkX=Z0=r5~7=2{-)unV+snpA)SGs z^X3gUY6yjJfBkL4^!$9%q)h;b1e7ftjvAZ5zXYFva;R5V0srcI)$p&tCSU;^*u2_K z8{x=7wuo_;UUZxbn)7)DkIbY5LThX~8BuZVo7$WW$$%Z?{uVWz}pX=zO<@{e&ywAHi@F$nAct_Ub^~ z^L;qIB%u)9o;dNhz1Uugz6BbaT{vMt;fd-5H!^v75m`6RuoRF6l$wd+1+D6-TP=~JlQHu)V-FF_BO;$*t9E|_UM5})0LeITz*h!7 z-U7P+2|zHkZ@s%M|8{4P;i8g(Xb4#iNf}ipZf|77;lx=(79x{XfP%y9^I*Vgg!5AYdopL-mQCC3Y%(CVLIjQvffHq^%p$e)4 zTcKuezZ*&wu)^F*<0DRkbbnrd);BPKL8&Ch51>2E3~=kO1K4*oqSF*b1bGFB#(iDY zAdAW?D;+W3j2HU(wPV7sBNr?z6cGQ2JRS`k_dkKD-^{yvUrgM^b{hw`$B!?sj3n^h zqD$t=d$}CS?TZ@;?!b#cJ8S_gqdkxTG7*Xwg^?!Q=@1Cr)ix62dcvS#&Q1IzQ+#R*Vdo$qOPY|bGvH5)^9sPhZdxnQqKm&o23K8K3Tu_G1 zO0M9+bOr0vdCwB=8h1! zUC#X}R?n|}bVW0mDhDmX_L#O`-l)BOF}{bQ5Y29lwlGnaVey_n=S)dS$;iqI@}Le? zj!$udk^&e@tadW+l@McY%=KLkyc+YOW;LpPGTH>(59w>yp+g4RhG)V-+>k4!`|F?8 zVi&*wmkX#AK2XqqY4(S|UXjZ_3g8(bmAl?KHpo;$v{>FnAcm5o6)4aJ#R?KmMwn)b z9Xwc|Z#*c5(J^`XTMA!}=Ku8kh;Jw%utI^#s~&~l5h!las9FFf2BiHEy4@c1Droks zzZK*fdO&3lpn}i}WWoSm{lY92%(<(&5K7O3glDnnzv73370{^(>wgsE$>Lt;F7;}+ z6r({!{l^Nb@O2@kVo}sRfs$ZVsR&B&8;jE> zY384syD!RpK520U0RrN^C%;}K)D&S`#@;6(hQ~MHoU?hkkv_fy;&wGcPep zK@t^mU^yMbVm$w_$|yGK944rwki$|R`a>#+zyZiOr2PO`P*MqDYP#kZg!<-W7$i~# zI^8pAMBw6x^1y+sp_LWoCLu`IGx7qsI*fRUCFK+lfT=yJ--i_8n>WH3h>!rR6&jZ? zFrJ}-zkmM3@U;vYQPX29)#$m2B$A)WA)u7BK{!%S239QX6{-V13A-3XOBAQLTkhGZ zAj3$Zgcfv#HHluU}||&=jE%A%a{q%UdnV&?Ve#Usln|Bb5L4U~&n50m&RfTtVBI%|09!q5^|*0_Hj= z(TF0Em_t1REn5aCGl*t=;d_Bv8TSa)w6e{hA3loGg7|o1AV_+7_D5WNJZvmJ38qR? z(tAs7^Td|U&)0RI4G#$kc=ALA%Yn)`CO>}*iaxH*u`TFNBbUMWtxtw&`Lpd- zAe<)r8nW!gFFC%rZX&k+`>tBYVc?`lYlh~6jEmW!R1`!+g#<~4p|Dkm!OE9BTQz@n z8Ca>igjQnEtCkR-hQcKyGR2*~sqF%t#&q(m=>Ep$u$6sfH`1}CWxENNWdZq zaQr3@_+FO*ALSPmBvY&o{j`p~M*kodRdmg>2r1RIwTuT;NX4~!6}qaHjne#yvN#Q`bzYP||Ul(Gc^<;B_i0pxag3yY1 zxY|`4F(G*hrweAMWWX3ok*)hL>MH7G*mlZ7o*<&1LyQA9Y~6czbkq(yJI-2bU=tYR zD*;oDOpFF`7C$h#?&5yTGGJNXRZ7+RFOe#8-X>w-m+!2vpe-dn1?tD zgz%;lG(+^LG_kuI(A5Gyhl^I#z16V8Mu-C*NKW9*7^$`LsIU?G{%OHcC-p&^1h;*d z6x@fmP(y>-wM(SbhBQ+tDF5nk*nsQboJ{HI5)B>)6_318qK~&X7P$=H*MfEsWg+4A zL5=iPxS-4;1R(_DEaMP==wl|`&Mspy4>&3rMZgBnNYwngcL0a!9Qgh56`)}d5F;@N zg2@p@F@dlo{aKoSp+#>=A!Sc}_q6MzG zEDj%~($XVR`%IOT)+6?y;{=)mX*8%UL?aUA&CR2m1`!|(;Vp#{9li*B>&h_-0R$0o z-M`v=^8te8U=KvI6VqeRdn|t{G2}qJvd5pVpx_2HJ&OAnv;-PjTVK^2EMA)4h6cM2 zI{-NZe9|E5>G(>m19bCy8l*9=w!u#9kRoVjIP8XpQsFBnfBdGmGla^sSPEKndjz>DY7@u;eV^LwhEkbQ^1qyx$hZIE zX9`{S-v@#pKfYI7EQkIp`jjlrN$*D-5Au9C%TPn?#Em^*k(;ZhuKfNIins;T5lXMM zf2fq?Ae_m&{H?UQTIt$tX6idxT^!zc=U&!kRev9423Z+GJ*t$UqC=U_7f=yP%_qhxWDV~ zdjec4j*po`0Xc^*0@Lcx4c&j%@4%U>!mc0_)YxG-_W*ECz~X~_;3-ainYqL!MnBnG{N$^<#S#9RU>BT9-BLEPsLq6I3g zsi`S-dG{*_Sa219DQrT_6`&$}eRY@x*e!P0CSV^WCgjlIgpjX_g2ddgWQ83MJG~30QM#B}*a-M16vw1>_TyGU=G;SW4nv!VA+JiHXGB{7Y9nn-3IZ9=Qwe4e zGC_hwFh>SfR=&&LhY2ZKECda!QTdzv{Hm}uI1z|{h&tNZ+Gu*P%qZ}|wf#KWI(UWj zcFK3KxUgIRvGxOPJL16N(h?F=*6QcT?AI(3*Z-rux7>u#V>1JTdV-rhRu=*cb-t|s z1FTQE(+|J==3)6{MYK7`mT~juEwZk-N+mZ~(`zG}#2qXp!LgLFLuzF9@7cqMoCWBV zz2JuKGxx+~$K%J2Rf(#@_W;-e;S0};J-sT`Ky}qatlaU$&P3?GJ|D)!5ahjmvgaG3 z?KFgimWb%BgMMH$UKJ)V08c6fnO7XavBQF)nAZD*KLJSrJU!r8r^$Q$vXYYT z_G6j*2d3r^HoVAyIE+jKVr|%U!<6Hn{}bxI`aW{*Z0O%U?!O8*~g z?*Y$s-~Ro7BTbdFftFI*NJH9*v%Qy)q&lgH1{zAz&`t|!4=OuER6;66Dl#%EB~;o) zoBMgxb=|+;{rms!`||62@AvOG z4}av{<3pRK^9D?AuPllI8eVf>>Y&wj-Hja*ZmpgHua@KHl;Hc?Q@6NEn z_A#wEU8uW3LBtM^Rke8^-3kx%^br|(N<=iHVt82eKnYirpN{3G=*I4S;k%09_ zsMj*x6LE8z$FN_YAM_tID4Ghh_sg>qAIKJ<;Qv1BamuB^7yls5el;GiBU6Pv0;q2i zs;joOe2;PauE#I!?g^2l`bQEH_$l9Ppyz?H`K3u$if1ww!*)Gyc3RqYc0j)S393?l zZod{98tGAV1FvJ-k7>%?F1eQ^-lVl`fgr?q*CVyJ5}0+Rs=(o64fW0fd?kayOpqaG zhR+@(%??#Sz54Z&abr`YM^Q2@FKvV-1SR{jFK=h(|I827TLM;#hNC>t&sqXU0N6f| zjgN|Cp0*Iqam(g2T-BlY*qmxE6up8tqFpFLwqmEJc0^%WYh!ZzJRm2LeWGF5#7Yr} z+r-qghgJI-xlUluNK+*=jM5PQ-7)fQ%#TF$Escpk^XpZ4d8%|5Xd-XiPyz7;aGA9z zpp^3##nl+foMkR90YLv4F1~seOlj-y^T<2xdu(3>3w9)hw78^skaB4*T7PwY2p8ZeRp}bK))MT7t7PU+by2#L9PNlaP*Q!@r;GH~;FTb2;{Se-?lHEN$$7 zivt>uG%-<{H26bp;rB0Jen9gaZk=Fx+9Bxf&!CLT92ec09|Y5+WXzDgMYLk?J?r4?K3 z#wmk=z@z_Dp%guCgU%S7WsqS zG4oeKrqLN0pqmtBJiBYx_e=eLxzW{0Nks0UKa-$nENsXwXmM;l0en)S8am|e*|*OG zB{7zLG={mC+UD%F$p3ZDe*8gV5~N>7u{k4T7}}CCW5-6B2RL!yP&FP~_kB@(D20qz zXy89(yc(Jh2Ekq2GsDfwca-b%>=DDVSKOKDr85SRiP#sTaKKQiPb&qmJ%-DKnvcN((~uuz|j zN50vZEc=*!&{5P_4pYie?fQV)yKA z7iU7j>hF>Kxp-Y9#Y)dJu-ZLdV4$fZUQGJ>yXx$+ z@Ady7z@e+KnV}~MCOW0m%H5AIsNsxapNeyG6CW8+gJon#UPo^b@=ax6TAc0AKzOL zMs;;brlRrxM5jM1duGsd5gm)sbp6hqs$`lb0gvkbPURDqHZ-~@?h@Q$UVogH8K>+0 z>Q>N>b>}h;Mr;L@L#lX(y^N}=gf}=WdtUiEl#4Bgts9KZfPdbsUAsB+dz`83Kg{sW z<=~skCmc77iLcK3{itG{!-pO-^{|^It>OEn9S`t?ihIswzeD|zyD(tg*Qa$UtwS8Q zTWghRe6L&o=faz>J*)XJZgT1 zzB%}&vtRj?gXKG z2Bd3eyJ6N7OYA`d*ztj>t{6Z#2A8rDB{zyPGuU0PNg;Pl^qHuNh{fx2SKP^7aW^M5 zF4%j)cIo!2k8RD~=HZM6L(m&gvQvF(dvxPwrPVt>KeaK>eGwNraEy;uA1F0oweg7S zVCmPK_*D4tp<2t9w*gEfE<~6~T3^8N3q=tRX2cA_%1!mI0iq|POD7)bpG?-vZSs67 zjbDBXP5}fLiygE#FjUXqx5M|BXFsk3>XO(jKoI^4iu1$WLGL6Ejf0(9OQg4y8x~zP zgMX!*Fw5I^=hg0Quq*Iue}jn7Yw>8bxNP_1d*tGhcd3#@7M7D-KB&%O#s|mo*)+pq zLXsFQMy2xh(rPJAPSi7wTHZ$+O8u86Sz{oL*D=H$f%hkWZv@3tXv zSf!K2o;`b#$Pp6=gsc!e3WtOP#^s&2ZR=Jl^jj}Cjx9m+NCW8q5sb2UGsGCrAf(C(24#I8;{^MZIjS8enD_E&v73pxgMUUpHGz&+ zx5}0Cl{%vA-tkF%6+|gL_`L9C?XrE26x`W$DS-0?tgb1`l!{h(HYy>?fL_>8QO5jZ zw3{m{3b7US<)X|}DwH2AIkEJ&nw>spfQQy|i)lHPGYyBe`{z!!%iWyv|JXU}{*BwM zcl%50_aNV$KX2ShP2Ga#oFnxf^_70j*O7n!EuE6im}ig!w(D*^di2QOXvwh=)?eiz zQoFvt*?P%+;v(TzMf$Wuqvsiqnrh5%x2qHAKiA?llnx%U>+!!AKTVL#w~er?1`#Q-}b= z7H>;wTJKi7#9@b1XBlNpv9)~wdnqm14?bbh+^oVYtDQwoLJ-}ikdTnq4fe6&(P4Vh zLx?;XlMp{^^`!CJ2`=8+CFS^a(IC+S68bg#=&kg-cRO>2%2OZdP#hd{RL#W|9$M|&&T9h_9PZT>gqd0J{?O@sA_3V>i!!5jZOfyW-( z2DM$2`S!3&8#nh{H+%3JHti}hVGyk_8}N?!_2ECaHP)ziJ$j^z*Y7o9c*43!je<+G z)LR=FfT`?IY~+5l!rO5t5)khno(@v(&ENoM?o@N=(LXK3vbnk3=y01kWGG6BSK46n zh9*P5ih@8?q<=7%)2!PTb=nfpy~MxoBnh;6Qd7Nhb9v8q2e*@W>|4WiQ|7wX+%k8}*Dka4wMO^6XMDGk|173}+W_?gc?8Kr&CV^u#z+b`sbY z6$+ewD#sqMXTS26n1z`pchrX;rS36-)H#~=xvC15)6k=0-I#IXnr$>~ziRYx!+Glj z#V_{Q<`$_-N>D1T`mpM+rusW}?$lub1sMC|bwA!T_%{(>Q~f0o-{xtnd~P81IXA~S z|K{Mg{VyCm!uE6b1D?o~^F2DZ=Y@=)GC8x?KAjI}xO{?s@Lz^7P9zj(DV7}838D~X z35^H#3%PJ#hAqN&f^*EOy=DCWtbhmX-#9j~gOO35$&~qkKHB&2+oHH`##e&D=OpnM zvu^1hn2?uq+=R453#g(e!5N7))q|wg70UC>IfKS@tszlBy0W#cb8jKg@O1`R;M;K3#KTz2fElX?v6e zK2z#RQnPB2D|KY>>V43%w|->w(l{{I)@OeO`-W5E80YvT{gtk+D#aMMXpk)zbJK-S z$2qBs*H6Z?3c1alBm7&h`F}R9lmOiz41ri0=7cBGNKr(WdhZB)aNTdB;Sxv32@uUZ zx*i>SAQXWt5p@^Gh9vf}QU!6Us7S{!{}n&OjS1g*<;BMaCG(x`LTo#@uKnZBDJ}cw zSf2%rsb@>sVzyPbc6O4gZFlb&ewgkvSMXE^tbBW9^Q`N0lK*S9N!;lEFBcc*gAY!7 z>-rd%;-_|khY$VsyxGv7?@bZ8d#-t_2`WGW$_OvtLT79$hw~@1dad0yf2DtUqhn zVZx_Wf=8-}*xzg36#JrM>7v^;mMd%W=t&Lo*s}ldQyT`juBc ztxMkA#%8OAwc2&YBxLg;@xVhva)-|2q!xe(3_7(9wqsjXkJLASl=so>!TZIN+D7pi z)h0S{By{8|tk$B-Ct?S*2y?HDcgHmsd(T+eRj z?_*9HvSCR)L|iyF@hxAxJ?j$uEmdpHP9B|r#)$o4oNR<6MjU^w`$^#8x%(5pc)2e};=e(9w);ygv`#;tjS zt{#hnIL>+Yz9BZ}^h#BFEam~WR55XU!N?G%nv0SFLhOE`hX?OM24z9%K>E2ZAgNO!Ju$abRrVm7wX}0d8?_C0I{_qlX9+n*%&MrxRBW-8+Xr z{0=7kc4+>9A?e!*k|0=jYfMbc<`^dN=#U*+RQu0iv|%6~7%yqE5ZkeuUZM}7%%xsa ziCYjf7&#_-mm8d9kWJEt27hGbt_N90;40e*IP*M|Wm4!Jw!W+FOZY~c`$b<%??R)@I|W2HM9Q)aUW+Ao>Jt-Csb2MB{BLO%(Tx?PB!S!vEO*hOFu<601CTc^p)eb!4 zbCga*eOs0ol@w|qPPpma@x_JY?4t@pz5o~Wl-B|`HW{ba?SC-T@oXVWLBfHXnU{oq zN^Iq5!Vt1VMHz=(J^Q4O|9Id^)=Vd-1Ai9o@V1E+^!iQyM5)ECc+*O{F!~PxxzZ#d zf*NA9jZJ%?SoWf%3d)HU5z!NkXD>O-plgKTm9E5Vl-BA^)JP&66^R|%`(53AR1oME zqiXL2*%$lu5kdsMg^2o~mSz?>g_)(xQOS!bHU7-OQhLb=Y^^QdnMC1LA8&Ul{YdM? z$`Hj_`p=$YnzC@D6#rQWpFk1KWZ3EA0tu%y9xwP1h|Vcn~|HPkMe* zL*BJqG5%lI;P6LNE!>>@n0l%1)ku<3LbM26AW%$-FZ1G{_*m$+}F?TD_H(E!)dd_(}%yTl1G>>s_XEujumyuSijoX}veDMog=fhd!b?89M z2z9Oi^LZq{Qun|wYVzgn>^jqtiw2xs-*9H#Ppda$j{HNxzwLF_$b&+c8UVa{mxpfnfp7dbik96I@xbCISC4YqLm|jS z3JH4=J!ar9zK1Z=sL&-ah*Hb^bdbHQF3rt4h{}9jCIA7hl^waZB$c`yqavMPw6g-_UGeczLn(Tdi zmxRn*yz}fUJqa^xQL-IaUdr3k7^^T$hF+R?+d*C=cW|aXr!krFegCj}|Mz^Mb>I5` zGC~Xspp^H_yho1^`^qUZUS_o0#FM^H7%d8yucSVp_$$RpwEs!#cK;QDJ4ox+u%+yT z56^C(K#7J1Y86wMoa~9-gX~>TFlC^Lo-3~yLL`FuEd`>}TJt)xRYL2C{}tV%&NGi& zs?A)Tf1m+*EE?PeQo>R}np1$HR~8?*Zb&o%jg3Wr4}zy|vGG<{_| zV1MKtln!vW(3wEN=^yIeY5CWkVZnA2BI57xklF3&`7Q4B?3iOX-r!{&V-jsO5TJ$ncP2zdM#M(>|_=zrs7wcYR{$1t!ESu%}&COkZ^E6mNj{6|3Wia`Sg zd?4k@EToAzPcS)|FhYu=NKwq6#-5w@-J_3`)}UDGwjv|s;thSj7Rw>^+*8lgvnSpP z8S?0Le2vtBa`L?!*ATwFDK z4jj1d5Ru?za?*xwRXr6s3JFi-`_-}mRv;SAmnJ^V73p8kFOyz6qE(w`@W(qfYM%~A z^#}lay)^I?F9yM;V|?%K z_PkeI2>czH2RUnM4(YWVdpfUzxP|up`l)kD?6}&K@{ZaC7~0z7m#etXcxP*REjsJX zXeIJecyl81KFR$HQ30j>{p^)#Juwy5cqa_<-Vyx0rf&76=xeG!y5G9mwLy3Lw<8ZV z{JVSU)bK^NO~wuDG&a!A@{C=n$=-_8@1HY=9y&B@@3^wYZ%xkG=x<8fy(vU ziScu`xYkKN@%Ucqe61!xmPKpsCako3yXNkIcU+rk8}4tPd{4yv31x;QZKABrrb zfW=7%CjPZb^IL3WWUq04=2Z2F2=zOf%$U&v0%->f(@826n)e<$P3yz=3uWmT-7Q}Y zv6l=V1AEg(=Lt3|(>dvO_wL`Xym$2VuvwOt+Xb-irseGHjKTAxxuYR|eLjC#%~_(O zxK056PrkL=q-Ii(J)z+A?90(nQIg6>3W3qr{3GDqe9qws{m(vlxo7WQPn7dYtGl_^%753*=p87 zwYuVHg}y~p?b6ax8_hGhUzogZ#HKufr+yXI3ETpkIPf;uT97aooN;^$WyUqGdA$Aw z&k8NM9FR?@_>8T5m|)n7hG=(GRPX3x2AejhY`U;$#*7&ZVk~xRdeE!+`)_OcaOzKl zJhF`~7|k}BXrsZT!smMUyTe~RI~)sJ`1dY&DKQt=Xx0e~42)a(P79-3a><9d&;}Fy ziJbCiQikyp0atESgr!u#9U$SspmE$c?>+P>z**opK zLb1QpUxx{9OL8A1rKZ+h9^Z!25FgJ!hbIo3ZDFyEC;W`K)Kwh{TQjx?S-rP!fZR9w5g@-c+BJ^LpzmI46MqO5r2Z>X`#15Ij@_(yrhn!qhow%oq3T5(|6mX zt;J8G%#p+oeRFSIz3P6xPI?rf){aZ(rIamxa+8Yk z1R#u!g*t1CR_NTy-Xn-pr_0t<^|E{PrAr1wJI4lo+~yP=zvb}HoI>s9y6ppQK+{B;IBFnb3OF5$Jr?w*Acqn3RAT znqE&YH9h3k!koEWL?((mg1X=|HP#r%PjP!!ah4N<$naMU$oQ?>ww-LYTg_y2NM{m{ z4;XJ0mhHG%St&6$ZhvyBp(+&XM7_fHzmf4{k>h&l%oQAL`fkSL4qBM!xxM&qL z{TVz@3QwpPif$+K)0Sc3&NVnHwbgg*J$kee5rA$LQ}TwISJ1l9HC?9`{q}c3-qbVk zM_PSf#)OB~;JA(hCmYvOX;^QODf`DLT`$Fe*CqKPgVdwj`z6PuZ+r91719xYyOQDViJ*;*P!2Mou=FdEhy}+L%B8anp^zt zoi~lMj9x>t&E@9F@>d{_AZb9A9fVtLB>cA|!2=qhG_J3B^{DQHFHIkm$1NHiIP&!B zRj1$ABpyF#-Y4>8r_z48R~1+->PXlGr*ItwA;L{ikaFaD{@r0X0(~)MLEMCg`~)87 zh}%xBEBOH&nIftXv0N8JS$@xNpO1`uI`rW96p0^BD*uGKnh{;MU8C=%r<=OE8d3{z zzVYEVbZ=_OGS9j`V^#de*YPw~@LBGA$%^Qge#yr1ybx;WoW+kXO+EJmw~NJ$k?=+` zk{6SGbDr&<(K^hd#F#YYbj0k7PHl0lt12YzU1PCgy^PMm0&uF?c3GPYBL8B?qMrI?439Ys|I#ovpu@rxf_YC%uD0h1z! z>27>yODnuJdnvJI*q$S}{D9HgtM6$2sIKB6sxCnrqHWKNDWjCyMBbGC(&e;XZqqdT z1s2^bzyx>XX3gZu3ng5|^@Ar~%QD|x4qa$mlo5rfx= zB5lmyZGkkt27U=_188Swp%&Vzh^51sgTl3 zU0p{Ir{oYgCN!PWCoa*W`rCr&axJ3=O4=;&roiw{t~a$J&38(DRPzKID9wDZPvh{D z;XlEJ`}9aDENo4uAF}t?Hlc;klIgh$vip}~xc1aE|8=?AXCFT>qGl5*qTuiDG9uX#4;RdRL+viwF zq7`ykbBAw~1qLX^DGDVq3cL`%vqRV%s|lrfhO1Q-jNgzwpqf$)^cQ12^Hb*i!;_{} zm=ts#db|l>rM`KRfhzh)l6X{bHqmXHcHTc6W52&D>pD0jWXg;gDuGjp{UQLM79XtX zN`1Kw5diTSu#Ak7&rnjytx+&AotGEQwR zq_>>Ua@fI>E+ygjyl#4iwbjg)#7$cb%2_Ky6_?(Bnbi9>Yy0lqHzln0`o&qZXJ^>9 z{vJ~0sb-SA!7YRH7eTNo^!^8+jA9}|(0>^s`(T64iw!r|6{Uc%(mT?uQAEKs64mD6pW>62+^vx;|At7tM$Z_EOTzo)QAJV zz9yabBc?X)uy^VFYE3T?&Gpl}Z#LI;%2idN1gy8{G7|yteea-xAlAR*kRfd;DkGd9 z*3#Z&9(=<~TOOv&3IopB2$$wRgrOU^EGwFDKC%%62wqD5K%L9xX9EI?0Y;N4j^dV0 zSG-3oJdcs2vK8qjHgU@P5Amb?0&A95sLWTRMT@z(2_)26o@91`@5YU$r)MA4I;$Vx z*vHnCp0FrjFlPhm?-nguFabcy3$u{Tle^-jTF)=0cUMW5>2JK~qS~V+myX&Xx%?Bh z+&X9oFc#3D%E&m>eSpd)78Wg8I4>2vZtdDMQdCLAcMRu`QHUALy;eIUF{P==t<#pT z&)&vcT@S^SS(x!~_pfV*avsVQS%IP(gy5LRrol~*OOCd-F%a`8u2AyQniM|`SVBEuG|PjYs`%5lRqu;y zT|{c-Oliv5pqw6M&SA`9DcMEX;vR(VFiMa5%EX3UoNP(>Mj^Q+6C}fJ9*CX|vJOdZ zk^x3k@$;#!`mcQ3hN}JPix*qrMgDX-^l~wm`fwPOt^&SydHb5|HQuN)xLO-?q%Rl^8`bHHh z33lWv2>npE+3W=w!ugc`Hq3DR)6BzIU7O#{Bx2Z`$cO)qZB$!AM!eqK#v|lhj>Jk#0b?3b9 z4w90T6pMuA@SSqtYZ5Xl3PVCx8cHFHWJSI;;+m5TILLH6h}Kn!yF>~BSh&VO)|}|l z>cOocy1Ir;Jnr!GSVov%s@W)8|L&01Y&>1>6TY3o@z8k#*hS)ap zesBV|R<)Pk;acpy2B_Gh-HG%o`QE)I!ZNYf$P?Z0SI3dYr!$vE z->E^BD;(hjvsN|{r`quLJcTN}V>GgOB> zax{evs6~t_!i4cdgQ7yJ$5XdO7$}v{7)Tg6hDW|Earik4hiDC{iv>#ruQEF8TyQW= zgE6`S5Ij$C3&cJdx;c|(6|9*^yH7X8)tKeOy}u?9vh>Rj7aAu^taHW{x}n#vR&KNJo$qbhZgBzbVpDZf8oH<^0b z8+Nq>ES3b0xOKk&1NB(}Eq02FpN#=2PpWqP}_xt;Aqarx;$W*O?`ue$=XtO&)d(0{WBP$(I zSykoqzLGmX1@h{B?yMz*O&xq^;7z*mtvb$^+Oe?F?Q*{afBHt1lnfn}hHpY~SDAv5GV^VPBR@9mEMEBd7 za)-w824VNgKOLSvYTT5(}ts{YJwcbbF_{ie?+^>*+5f-L#uzqebifEJ4*uJ~Al|4?gP_0x10u2ta^CrwHP z%gZF^a&+KS!CN3LO=tyVL=A~pKQSDh-tW0VrA!V~KqB?Tn(8(CtrKDTrq7&N!rK{M zSp?X<6Nf=#c64y16+bn_trs`*xyOf}$XIAzKE2(#4!f-8%%;bXYmW{S-<1E5@h_{u zjW%hP3auDrT1X44zjoYs z!9v>qYQdNxtzbEu$c6EhU9gwM0|JSTW05Nf)YEiZZDc&C59sxXqE)8Fz<~;SEkgm_ z>UR8n8V6!!*u}!Q80?;wk#Pg|Z4M1aL~`Z$mnGmg+aVrGkcyPK*&Y5pIS_3(`iKum zKA+J5$e>;DBL#IgVtKiuP|uxc7vI&~M!$3CI`Xd6RR4;Et(D1B>_O3oM}kz14$P`E z=N*(Qnv3?mdi_PwX?G7gMim7O<5{m!-G~rP?j|lmnR14kX%`3AWs6r+@@j8^RX6jQ zGG{i{e?-FGq7(wyrEWEbekJ-!nP#>4X+)JoYtl;^Fyw(YK>2q>{!iu}@S~LU9)MlG z1C=`nbPA=Dzy%;ab#x4rp7IO( z7>@NlxBuaTd)15glp~sgQuJlqpWLEcr+mQP8mNA{9<5EG(0AbCvw>H>l^urgUwF9a zOBsIF^^lyIXU%%#9{BWn*}XTuNm07UQxu$fAb`(EN}P1q-TPa}D}fO)j<^FD+!`5e zdoU|?<;yG;iA-ex^m+pDgp^TeH7-1g)C>XBHu}W5D2iVcUhGNY+D>X1=O^Vv=!!#K z@&vNKHrGAp-WxQd9fkoJ)P$~QCro<-7+QmIAv2H9v|g=QQ&6zDXrsN*MDv+;PkD_xKk&OE3iuX&q znn0;oul+E>$%3na3r2+3(eW*Pd(PQS6*Q0LLZrV`q(Wc3{YDL_{Fgt?Y47QjO)`6 zt5)IhYW=#tBsZ6kgq+QN0iQ3D^ydcXMyK7+FHC{HJG=D z+K5d=Yp$XWbPvE~qg(zU9zd5?k!y+1 z6H%f_ZyvAxG=WB_n40w(cZfvdk(RV9@&56_tDEx17I|;kTgTRBDU4 zZkbmn8Z|9%fdO}oOi`&fK3M}SkdL70)SV5Gn0Lfmy5=aeYqd7@t?M-xfcfu6!yOwG z&-HDsq2ZS}!uaF6=^6u#>aUJMMS1<#o6^$Fl=4^2ZieFM_HEs`&0l|ciks@{+LkcL*|c$v%*_77&9#!tM%D^U+lUP>Vov6UH~e{B(arbg>epMn zv*Fg%60bG~oxZBD^829PF-EeL|JV3W&DqvY{><%6o2Tj3I+nwA?6`5_m^;G!Q=kMT z&-I7nqT?Uj@0^oH34Wu zO=Q6PN$GKP&EtLHt6e2|1nWXE10m?1Y4f(Et7Sc0N3GTv16;oz@4yx5=FzRioO|qD z_}Du)85kL8MmfWuBQMj+9 zvj6M>t%IXqre~cFT2Y>HxGoH|rNvC$0XK8Cq7OM1JdA(zu%Fi1aSo<=uTP7p6ZGLJ zXLM0NfQKiGOO2-29Tz^$Aw1gm+&H{|6m*`v&FYl0FPI<8Ufqa}O?%+LRx}+Hx7Vl$ zwSFA5blYV(eWZKkxz$enRx~IHVf$6(mn=Tl7{QOW?ihDK} zF+y{>zl&DJey3B)&Hwaeif=$~GRY4za^=eagrbr3eO; zhh=;*KCS74{~Ds0+7UG1ay+`g@t>`Qr*^l0rtr8>D>)ZFS}?GsyD$ zuX^7eznmwmiP6_XQYk`Akm7iq-Cs*VRsRq{<5fcSz?J5**_ldO=Jc>t;a#Y;t!xcl zt2i~ZzsBRo@60dKp#K!y8G`e=UP!(n-a}hkGR)e@ci>We#`%4nx=t^+hOuYMK-Hri z-#&~KlgkL2ZN1=?&KFjan?tL#kshhNwstM<#9lu(pFi2#uvH@g7S+|gNDQ{RNjy$u1)QZr*JIpm&{Lm)z zs?qe=PN^Z`mns>8c9f{xFEyMPlA|9|*h^-E?6~oo3o;)hk$N-U^=f$J{GtO6&oleQ zJTHpssK|;7-SRA) z^8(A_Ev>BXDA_b2}B&hM{2yog_P+wdHEJ{p)6h)L`! zt{`As?Ba4^#E;RVXMGR96t9i8)(vkTu}lB70fkGV!W$dods8Wi=8 zvCJqaD9HUj_$y04b^DEZvBAOHXTiSRUPlfx{Fv?!itD~XJ4cn4l|?BY!mb#7Z5vru zLu^u8i1R_HzQgrpV9x5nT0elX`xV?poxPaj@8u?kjd^t|A&$Kcm1I_TJCyb4F6!6U zHPmpFo#^;pLPCa|eWPR#`O>&Jqp&^L5D! z$D7(3Rj#tg@_Ddt1&DGVIpDF(G-lJGd9n9%z+Or!}ZZi zY9KA|Ewq>I=_di@Ybi){YbW&=MK!32w}i6Ov|z>4fKpmeb#*N^xH?aUjjoW&Xmqse z#Xhb}29d9x*EaX_R&VbmE`zA&6?blS%?mskzFKcajQ|x~&lD0V++{M?6@A0wQ*IZh zuQ}W~{vV6nQ@z1bwsMM@K+6z0C;+tmu16jheoc7PQZI9Ieun#%P{&aZKJDmS``OR}=tG zfeqDt^8XE^U`v(pM!+b!moh;rH;mS~#&K)!K48&kcUz;p54|;2?fP_^m9-m$R7A^u zZ|z}NB%-cDH&LE^-qud#v4(}KF0=(unhVCqgYpkd8H6zK`n(VG&)#y__R%3XxoNKT zf=R*p8I_Oi$E@k=@~dCq1icnbn<@oOFL<#gI#5a#70R3&FfJADSHmw98>YS=#F%BO z_L$sg9iIUT>Q@lCC!sSvV{Ef=fappxk60%##VMUw@#@R>&O58&y6h*cC<3(M8H7B3 z<4C{>BnHgR+5N$dP91}4+i|Hdo-i`rf4gQ$IXY_f3;-{rUf^MxVvs?BBtz$J{S!6v zVn?5`y%0T$HUA+wE_m!DS-^^*w%piP6^HVsRxZ%2!;ODUhzCKqSgh)Km%9~)q_g8b z;Ncdm@5#C!dXTkSX{PU=>TThBg9}fS+S#$&TgfAX^{XDS)1zny|EFVt4HL9=9C zzRqH5Rf$#v-uixK3sBX{{mi)~f@C$RCcIi)|fMLbUm$xtB z2H`<3D8F}nNx!}KfD&(h|M4T56y4Cwg`v*#+C9+eFGn=WTL)b7Zfn*=W086dSiLB7 z1vZ*Nfa7NE)z0Hw+J&2mz~`wBP2&hIl0O7&S#;s8>x3iy$lX~%QLLVK+}5Is6G&IF zf~LVNudtvh+~HIdKzI~VF`{1e3K0oap{9w9yF=f#g7-$Q2MZh?-x(~3WWcUb9n+)D zj=gjlxI%_S(j8d<+xEkV_A4*3dPezGL$ek0Q`7g2LEaGjkkf%{#CO-$tu~yXISY@< zH4pR}i*4ZWg{9yF8v>k7VFqQlz3DRn{@&3vLJ2MN5`p7f{ zIK;W(Q1x-#*s&yv=Rd1lHMLM%&)NO{5tU7Q%z`3&{nX1e^uEw$ptbMu!c7-ikXJ>X zW1v_202OfK;X%`5&A&~0Rp*$Jieu{x3*&l=_6vKB09!QMtv2q~&<@z_$L4@a;w>iyb5FrUb3CguW!a! zMFyqFHtgG&)Ds2XrVEYr9vOPy|IlI6!A~DQUPF9r+Guz^?V9#|RXz8#LXmdvuRkQ6 zcFjUmLIMyAKeV+a{m`FZ*3-VOiel?GlgEGNd3Elu^ITE}Jm+cxuo$SO{Bm>?t>mh~ z0+4}$l`a>lfS+GSRA|J~ac!dbqu2#JAx>KP_&p&Ph*tN6v=rV~SAFBXa_7Rb537W~ zYg_wY-&bT}i>N9WXH|?(RswJ4<2SA$oEL`b4$!i6!6TsCF$Tdnnft2z*3@i4l)wir zTgZn@OlJ^O>yb27_-{~wrB_Y4pN!&5zRTqE>-Xf|Y2Fo*4Z)3^!t}D<6looY4Qr>G zV*DFL!g(Q#Tykj|j@=u790mJM|yg$fTt%}U?>N}YRDuHdHhklgrGiomXFQjCoGzy;7Rpg z`_+K_w(ZD4MO8#lzA^6RI9C!(Hz2IZb91C{r>3rs`n2s{`Fuj;pl+JYw)(9R9zoTp zK56;FG#7D>io+BDfcmE>BjM%hjmf}cX%ox=95dV+upgZKVZsoYAW;*tm%9>h*g2ue z_*z?Y+w|4!HLtdiwbH$#M+n?6g1Eyjc;Qho3gWhd6nY%8! zy&4Qmq}c!nToIL_xt~+MqE(N)f-1vrupKxZdvS~5)zwD7Lvm#jc zA^1J)k#yj%i1WmTcM)NO z>*M0FI!&WR%`IWUSec!N?a9tIkI#*bxV^rXvOu$pytta5b}NLE zRh9CCx?>y~YYJ&EAer@=H--bpu%~~9!FA<+_pu@&l#)PVq3FUY)*iKvNM*g*S6W{| zK#U0xQEMiJI52Gf>(vxz8lfaO^i+^Gshts#Z@<*U2`1PlE57srR0!Gu;tR-Hzd`S8l>K3IyDA#7xx zoD$`i(X0i8?QPw;^Ezu@D%FsS=t;Iv?Yx!oCEP4BN=v`5XeM)N)EednfeSCJ z*pR~OEJ1Iw1*h5ddA*2L6ObJp@}aOVOk3nAQl`igW@WUF2~U$@_G0E~rkWybuw4Yn z9;n=rXecX4_Etrhat(4Y-j&Yk)y`vmR5ywj?)KmHv;%VHTZlL}=H?NA+=gt`QP8EW zuO#O#?CaWixLgScdr7Q^1dh8mZJbOM>5odE3ULd}mYAMgeWyGbYTkpImoK{M?AZl7 zE=B}(F`d9Y%N-+EC~ELK1=e9^D3p|>NgVX<3Nu>1Drn}-0*`8;=SJDz1TT;D9;>Rq zl{-{^7gH1bvM1aI0yRgzxx`(<^P;%9K#7EAgJD&8-( z0x}oIC3$u`+Tp#yM@J&}ef3E#*Cfc?YUHNi;O>HybHJJ)ACr}a?u%&?;!73aJhH%^0epOZNj0}! zDpmw({^(R5{CUEcsiUA#doe7@$pQcoI}3dDvpT~LKgi0uAMdGq`jJm9#1yh z^}94lI~2Yeeuw7xf3c)2KJq^;DMkUv=0uRG(^Q+91^o(((3G#u4Wa5aS6C0WoHn=q zU@h7CQeYmo(Y+);X@hjon&wtTG;BY1nX;`~g&Oj8_h;kE5;ySa4 zW<4(&i$IYWy`_v@ivFhiyEb+__+X}Lo6t_-v~B~hCa=J5 z*|NwPvkO~S%##KA2T$+UKXR^f?2`Go+wTJiQ4_)5qb$lEy4=;!@D*=b?H(;@Vk8w_uYkbN0ys;W907wPz6meW#rHRl&I7g;x2#; z5k)3PO_7z1OS4L2%E+z2X?<-+(D)#B5bX~i+^`&@C?N8D?q`Q271$(0VVy@8B47bG z#)R;9B^1P>3um*EY`zt5{J?G8To>$n`^$80luUJxxmQ_4mxDCS3>kHb40s9={4J^| zs+3pt{~QiV1B+9V`@lX%CXa(`uEz$xEFF~$8qXm@EmGYTdl?4jyc+oB-lIotDZL?P z-hcWOa#73m&Bho4Id&jt5J|$+Zk~`J$>`Wamt<)%ukfz)Ii4gh(N9c zkK`RTYNab)HDOg5!B?NN7rbB;HAg~(1*irn7lCEU@m6>BJdTw7J=*zX{l@iIt8$#B zk434DGxaY7hLD8>uc)BCH)S`p-#a?4wIjMTUt6Rj7+m-R^6P8E0!m@ccI9X18^Jk( zorpfn@MluN;(8R%*O0w#<-(Z{evf{oUFfk!`PqY>!W0(u_O;FE-M{ZYP#|Q4C36{q zeopG5M$vCJ0mBq${Zh2EJZt<6kY91%wv9htV%ScBZvtx%jF=#Nn;nmxr0~i@spTb5%C@-?_kbof~y5ZcH2%VO+FEYkKDy0KH zKH4Nq+;x>{mS_@S16otyZl-8K^K`hcMF(v?PrC1qnqc{HO*%g?kl+m(D(HCQpy|sW zy{4<4JbQMd7|TY8n%M~MY9Ch()_;#nsr~-j)Sl?J;(Im)6|l3=2yLW}BWL z5ZViqjCd_1O&}^MoB%B)_=e|8{C?N&-R(ceVBAh&SJqM>k1y}+tn}ZwXWpJ!!^5(> z7iOJMaB7YRle8MeTkXac6kSRv`$%pB{4+z`qA!vC!EKvD&?(@sm|G>6h{YvkncPySEBODiu ziQg3yF}*vs8=w698^CEv5N%F0dNTqm>2Vq6x|DD1dHdmqlS!Y-XHC!T%SM&xGlJP`4}6xfe*_t(Y{d& zac)q;<4{H)#V`K9+Dil``=~iSUyW7(L}>k%ghmK{P=~emOP9Mk%&Z}Mlop*|;7veW zIlViuOI-au=-Ib{C~de`PNJ$RvG8KvOG^_k3=op|ZIB4_gtBV=M##XLP_~kzzkxpn zToSp*t`&K}KcHq=8Q9|!WSRa|2?&3Ckp>_;!vmK$I|%zaY)1h4X#!*W-jGtAJ_qmCk3g9Wtci27?rs>O%Z&yZ{DDm z0+|M{8I2@u48K6Mre0oOI&tn}c~u`ZxFv`ksSRX^w(%+ARNy!^6_5g{Q9K9H1uL08 zXj7Xn&W#Ct#kZg$xPfX#gzy;3QCCTRVIik>eC09_C<}0e`-GRy>*CvTLvX5zYec8%Q@{}!vck&zBjCjmwi$HD z7~2w43;w)+{{sGG7`7N>SR_~?$>D1VY_8v)19iiX~2N>lZ z;wgbh^4p{o>$+!-A$;FAE0KPO3jmE0!fb%^KU&_6lvIDTyiZF@N7P;a=bg#w&~?fn zZA02ziz{!5{*ZPVhqKs5fTUOjoCkQV{Tow|Y%)1%@vhc`J+(Oj(8~TPR{sO3y}0Cw z7vF=Xo&Cti)S%kG4PjBi)<`dY&uUN@P5U9PAY4}2OaHt`PGdD^)s&@19}pf}-K%vv zvmUz(8zei81;TInH9-QUre;CYf!?gthGWdr_dAV^n`VWQT3X)GI?t5U7=h3_?S2t* zM!6Gr_+4zyrOHl%4tR8`w33iFK^4hm`sSCj`9jgR`$t|4oN4)>Iwt$7QR%PW4@3}b zb2ZTdlEml9*`C*My{!eSBzyt;O&%dT&@!yw8tbzUmeo?>L2w%IUr-OS{{g*yitzL_)b&6;VC zo5*hYc+dFvQTYE#TX#dH;cw*Hebtl(wfVW(yM)ynBW#!XyLp_4Z$GSzL5he&DFxp< z4`Qxn9g1U@Q`HmhZ7KWQzdUXK!(jvO2|D~SV2Wfzlq)^^5T{-DOzU-QPTqk(yOcMC zw6sR;M0UKeZ&7c4<8y=RJe?;5nDPu(q(5}G-xSY#<;uqUy|fWg*J0+1ltb7wDQ8nE zCkrPbLB}VMIix?|!&HfP%Zs1(uMy8R>TlM7j1>Wg%y1hb{!cuUo6z;~?{TDhUAZC@ zf!HJvOB)rA!eb6?){-LL(ItN3*%ZEGaY@NWwlH(!8uPs=i=O794^O6&Z5=v)Hc>h_ z;2LvyQ-$G}Yw6?T;~IOG{sxVEBNP~Af=xG}RM76wK?$W`Q2s#ZJ&6aBc0=6#aJVAPqTSqrUM8P~F@~A_XQ$6wi%{LtX@OH*Up%Mgy9N?H?p)@SjDwpFo)96#*xSUKb$q@*qB91EoL8wPl~7PAD&%O_3Nx$? z8MHDVDl11IRA2(|;lqb#i=|~Wf^iz9OZIN4ypb~f1O302Z%9AHu*T2!7i;Vbm&e16 zB5N6r2ZO4+BXLj&!3#@oGfLaDt`?9vU8<%`qA6+ixFB~WAn#y+T!}!XZvRNbDZbN( zSLY!3WbqFE@jCin<4;7ui>C8++BbN;mLRc^^b$cVW01}sbK5Rap7fR6N2y3~s63P; zZ8_9B;Slj4$5~oP#>SAe1Q2v?`5OCK-nfe-3LTyB;-jW9jyr;@);Ly8m{AeB1KmVn zFP>St1dCXP*&**SdL0)UyxYjW(0AU7cPAE^38`9CBITcR%DssmfZ&=D3~{!D`Mby5Aqy+tcRcL z{tM*_z3zRo$lVqlrepiP8pwQv&_YdhKB4#22eHQox^Acc9{XhWB=??ACeen=z&NH# z<(JB22)k(i?Cfm&^m7Z-8?<=$(9hRbMn31*2Qq0awhJ~1FYtWciXJ{Q{oJMxetFJe z*7TKwv+bT(#ow(EI)GxH9y6`c5dDzgl3fL{4g=Ozl+-A*iYqZ4e%An@0J}`Mxt0^- z0@F8WY#(406ZDmtM3NBN*y_;0wIt}S1?(14|KRsY%HTHJINU{kOUqJA?1KRFawued zy;$p|u9`{FC_|DVA{nww zk&+>5A%%>o43$(Og;Io~mIg95n39mGC@EzuQA$xEMW`qZDl{M|LqzZA&U)Ux-(&Cn z-+LU-+Q+k=P5pk~?|omxd7amJGNHmmNP`M8I>Ho>)0t;7q2|H#_GW5C(n70aKjWb1 z?nTixU2htHiP_U0otgJ7V@;R+s7o3YF~ibr%NB{tD6uEL{su3JeAcup|7^UYah_*N zzQ@Lxc%0@)rD7Km4YZ2|6`%DTi%u8o>veD*8Kv@du48$jnQAW~@nL4x8?=*!<)a9w zK2ONGmC>b*ke(GwLgA$qh2;GB(&%6-cj4al@^-RO@fSVzIE5(cn}G*&+9==qu;tpa zylf|zYE#%jSAX4Kyc(NRfE(fFD)jO$THL()(3X&8K*zw`JK5fy9up&1B3$2F0qd(R zoiN-zG-R$Id$aYzv&yqCLM#p%d~9R!m*?L$P(@O#!+uy9oQyVQqx-M%hNlY<4n_g- zW#VRazJaTkY02Pa>n7V5^;-Pln?v!0o*L5uS{;gqGGi4Ay22xmNM)W^=l-=J&S|Mf z(8Aybs}9OejETg?S_-IGOFCvoOxWwrjwB^vlqYmSfeCpjVp$v!khjkabz;VJ zctS)Jrd{I1!Zd|)H5OR3D1KS8M}c|i$m%cd!e|*9py0TnaVBs+fxZa)p@K;sr=iut z7ZeKDjCF*^4C51FB*0o*A`RykIU7wgkL z;0wn}laOIqYW*}VEzMm^?b52En&=b9bN*4@k&yQV(_QK(q@WGCJ2zRoTwAcmKCUo7 z^dr1*2KwBeP?qoRgctl|)_zpSYYP6cz%3#h3K>}Yg5cAq4Iv;3G5`hnFm&E|QuLC7 zW*ucgMLIS<$1j@NGr&>N37AwU$+B~x&vO&{wn!?0RGY^cu-}r>@;hRRo%!govXAw_KR{2+3zbKcKB(T}9Y~ z#UJYr#Jz3q-P;>CY#1Ty6|L6K8cr7lq%bQWyoyVtf42U3yfd3rcwp`0foueUhtmEC zXbTvr3)|VYf^$`TD=$`+Vzs~L_vNe$&E|ITaN-<)1{H0N`4aO`2xI&)etN^R<5Q0& zFapDEvi#`pWwD45zh0MIduv@=MxIE?`LZXDpFGv3b zm@dj-chDD#^2ltU{1?XB66kNee2Tj!r+q?mLQ;ui^!^R@+I2g-mYZxwN1Qr~@#o)^ zC}EM2_w)O#zZq3t$gpmqnb|BLT8G=oSvKu0FGRi2mC(}CimyEwT@CQXN}os~=!f_B zYIYViTv6Q#t`u+OpO~5&0E`DK!7s{=4_L4#rQR8XrsBT&(H9P1Wgur zr~?pw=FB(-)JE+I-sJZFOyb8|(I#Im9t~yWcy@jYqYwYr!d8bGVkL(V#sH^MkXN<< z`&YB99*}h!e?0cBEH)b1)_+shkfGFD3LGFfbbO;AQk2Oht8C(4tl|UHnvssmMZi2^ z+Hre-Em&yL7qUNF%xmi%AVNLn!fUNB^S100oH_TF`TH|9HGMcRy#5;3wvi^+@Dvd# zinG*tD$wl`r1dDVS5UbMSraJ9*FcvMYF_?r#61pvtz(V7^TvY*rSvR>3c}M4UOlJ` z_&m&D=eoOV12+y;Q`;xmRvON3>4SJW+JvE|e!n)vC1^@Oa}@U(-dtEgtuR_5$GDE| zYtcvjLc|N*;KySYqaEUmSK(#$a7LWhik*!x6zwBj=`MbvFj+vZeHKYi$Z25g@RouP zEJK`0)~F@Hj9#Pna5cNLvXf&JyDTHVmHcgFuD53-6u`|A_nRm-{?u<`&ze!5)ul_p zp92E}*OVqthBAAOzw)KTj+GuEW7v$KN>JIZ8>vmomy`u2z+as{85k()#=bTQ;|9f( zn8d{COY*2*emfx&2#wUaGgBS)w0U3r;T>Je*V(h%!i4Y$XTsg`F^fIKv{p|N{S<>) zt56SW{lU!!F6dDbE?121UE?xY@Mys4nHEh`{H3XUl83FVrL{y6&L2Ox*^%wI;sv$c zCbZ|0?a?_#5q4(uX+|f|*woZwd!IaEd|}bkiGP0do{;UEdUdEDcK`lF?0Y@a_kGx_ zG4Bj@P2Z2xv7 zIX&5N>FV-2zuhL&zLi-&d}Q))d?&krUbjOIR;)5S;9Ao=WvHWa-OW`A>pqQM5s{Pj z_|m~~VgG(Xo=8GZ*o5_85A9t0`}aum3HEoqzdEjW9<#v2YG3-ww3pdF7n9m-oizDL z&Gk*4JG|YWq@+1`SfIlL+ln7`8bPPdFKgLdrL(@BecTR(f8{U4J!;w^4*RrMnRtAb44L3q9<&qg)tHAl|NS>ixOr1+l6H+}r;RzeQO;epRlmEr zZn|k_)ggx75TshF# zpl_Glta?e!Kizu$A^qPnw|{*t5}r5Mc8Njg8U}d@>2Kb>yT(?Z&^KfEoboIJ!UXa@ z*B;)v$CP6wNePJOGYh=1z?{B$0K3wl0x508w4(4Sx8fl@hU|WuUx@|Y+fL7dT&Rc` zfY1$SvBO3;U_}|FdDwI>@b^rK{WDAZgO~ih0tK zB_9*2COwH9_x+!r z*VvSyb=LVO-Ysb?d|G>ad?=m8TI7m%z=AmCKC@mjZ%im%ODsX+8PHMsT>v~-`Kcc#1!G#kr z4Fg%3J*&Ss)AW}4O&7<~P83RK6B3Tn2UZ~E%$3J^Sc^FS7YwfRaorx{v!OHEE^D)O>uALjpBmSA zpUsu>36!y4r6AvavTwd*+`6_&=J8?6v+_?&N(yOcYFcf)JpQ<`R^)y45!MYE1E>{S zMsKM6tH82=xoAb@BDcfaDf#;~DF}H6#w4IlLW)}?6w1ws5dOi@o=(;4P_KZWMoRHJ zD#wki$`Zmx6h9g|Y}iJuQH6dEP0JEnH%hQ@I$z+m!l#ey#`5h&RfV>WQ05UW^17l; zw*Bb-#JE-h>?_ErX7Px{;SSO>j0HSLXRIF`^TV~={!MWZsnc5qTsO0ksiWW&JH)B};{+0>%8nZ<)enx;OYRvgI<$R^w`!L*Qk^=jFI^9cJQ zHvwoB)Nk;PuEChx203kIA}v7o-fY^S_qteZm1YRZSfb^7rq27P3l}cbI5v;nnM22q zKV+}xy|&CnlaY8LiBS~)bK%ofkB$n3QDJLBih(vlBhz^*&Wd)|`rL87YqhXn%?LDU z7|pr&$@g;mIl?y$#UfgjcL!(ozYuRJ)2R~}`jv2&OoWKg%e9y@gbnY6^5d3&vYtQJ zd%kmrnL>G|o;ufE>RO0}@cXnL({A>UaiiH>M1sX|M{l@HIqXpPdWx0hA$9u427dg@p=Pku`I!# z^^|*!3WAGFz7WLT!7}A-lMgPFv#j9J39HH?sfCtB(rl`3gB|(wkFx|5&J`%xx;$(E z$$W~RD~bTBEh>=cTZa3l{r>e6bHbgLKUhau{XDW82ROD~x@hH?#Z8@rGZr2qgYZwF zJSqG&B`&CPR@O_`Q^||7x zblW#4{%&bMLqYw_6^Tw}aoX~?B^}(F!uPe22vQ7>>>6}a$>_DhiyeO}j*oa{u`lqf zWIuCxKj~{7lfQ2oGGoThg2nHIjSF2u(XZPSLP4H8bbeI*#rR*0GX+1DRv_t1{!-Bn z0MRh@q$nM4IQh$S*(G0T=%}{jSdn@LJjH=#)*eo&1WV&(Oa%lf+T4oD%IVa*m(62D zoIvX=@8)Et^#%lwB{)_3hCSg03TKDwYn}&j4kDfiHgn}+sX7lCL*x{HpXU+<~v9K)zqICaKV_Ul=*}Pv(6u20F zz91`d`^X|w&Ky#EK;V1kxKTi7CAl>SYC16Hm7h7*qme3k2uQo7?)Eo<)btr|f4I2H z$3erh`MdqH{WN5QDK4E)Y7X<N3zyPM2mix==c*EMxfQT&AtN550YT*mq8dCfzQw73VT8l{yGP@8y` zZsmK2t-brwU}z5jI3eIC3~qws%v9m&d$;d@x#h$B*|Sl{lZW(BG%FEuITHf|kahdT zm*_<31lEws1Dc|ur&)er*JkF-%sD9!zT_s47pyKgZ!ng(t0#Zo&H(VG-65gW3DI4s zAYlWuV#Od(4mGMA;X6MeTfl$G#7k5IRDAm33y9)pM~j_!6pm$ve$YYNgh#vb>>f7Vhon;-ofF ztE^~{lAPQ!i_U75J>`w;#-CMrw!mq8=*DMP9qRIHYgA!9UR?YLqQ|>CHW32( zfV>1WP9_tegjid3ud9|uMqZeQnU|CxdH_tY?r@zER1t4I%;;bJbI@p1-)m5Wzg-qU+yLQPV8L&z~0v>G%4Imcw6T zvJ7tEG!bJ`R9H(icXfkyApr+;LiQDQ{PzR|1O?7}b-l9Np{}M0pJ%23`bt%vyuByh zOg8;VR*bTG{D(VdjUCt2yh%Ni|9V`*my8tSfuSeebK^3L8&eYH+G@K-cm#hOx31sb z)2XxE=6BJ}Ub^Cw)18-L3x3~!H2uQI?g^TUh6luG9? zUwa_3tlQ*3g|6(Mc{&h3J zn__|Uo{ky00KVgUFw zMi5qQ_=gXW^)(8fLL01M5bcjM5d$;9Sq2VfJ8Tt&5LTV{)E+Yz5JlVSapkqObJ1C_ z95w?v3*lQrxA^_Xk8<{I5$k#%`Fml z+aI!u^Nj7JS6@H8@>E4p+nMVZY8l(B-SzD=(nM|Lkrhv(RMbZ%zE$?#Kk4(Vpws|z z$*lTP<;-Zs3>!FD zXj+)Z*^8Y<@h*Rsw!B4m{DN!0f@^Dc(iRpCn*8p~o0la^`)RD$;rQcXVSKg#tSK_* z@w)22e&y)-FfWEZ2ND$NBC42RtMSnZ)u+bT`W9~nMvKi`_=C+U09&)_pd_N|6I6;u zcx`54dXN7$5&0pIxVNx~?MU|mr9$rpp~rO4f#q2`>&vE6%rEo!(vv|cYaE5QyO>$_ zlVFM#GN;~iM8r~9pW{I5Zxp{^B$rsI()m*OtLV5(*uo)+#vavNISeYH6%y{m$}MR1 zO>pNA>*G_Olyh z7KQPWTbooM*tj+&|N6QV5sdpO_@7fw_rYwIjc0Ov2z=*jydXZzG`^dI|9NFmN*fz0 zjWahN_xbF(>;7To3zR(imN{Kn|NC3uxJ?@}Qg!#=e6(YQ#=;|kdrML~Hfj%lIP<}S z@Ul(X`(i)Jw|tvuw^?CR?8hy)62d+^&D!lf)nw~6>GX?b@5}t7qh<7qXLOpoq5f&4 zadhnMlEqRJ+l`p4`~4cI%09q+A=oBFw*UyL(H=vV=GXY3f@`Y`!58#kt8*gmW@RA< z5jkgJ8@^#M7-cxogFd!xuHkN$hs0eXzZ@7Pt!G&n z0r>=e^#-bE;jdI*FNBJa9QG5lm3P2h&ebj7i81+W`arNvtV?$IdE(Tm`MbOH8!?N(?hu(|L^^OFOlIEyA}G-IXg@Kku}adlB1%T$j%A$2=@_ z)MznU+Pi=MFhmJVoTGLeU_$CN`mCQ!zd^^1t<3d}XLtNL#_(y*Scz4e)i=!jZ2a8( z$#LV0y^NL^JxX6crC)kfs)fCB!;MArPiIXJH|@6mhkTb)CGDCt@1)i#9hcs=sY{~I zqvq~UqMV=Btgl}?>sa};Ga0@FAuex6dJ`nJxnSiG<5+pglitgylK1|E_Ei3&3mbDsk`(r zFRocs>RX_uzCUPDuEwI`TdfbH=GgpoQ$JL7emhD2WZRpHGHaR?G!&Iol2;F!prbHs zSX=v(ZQXtT(jGSKp`YLIM_Dt@JD<_@8@;Kd|G4#=)8D_{rZG@H=EC7u*L@O(m+k2} zZ06)H=CbZ5+r~P5JRGW5_jcEuuzVRJ*Y>%(ZO{>#%A2ONV3y<0c>5DR^s_50+6F#o z_gpDS3vM_{P{KO^w<&QtaX?p^wB>_tfrD6~8+ex7k3(X;>WR3+`} z`$x4m-0*en(0*+cyI0o+_?&I)RcUpnsN6RsUotR#drp;qes>alsVT&Fn(?QZxU=r=?__(cYe z=*yDuHCT!OM*RF_nw+IeLUN=zlRadZXpBbq=%t05wKIthLc{*Widl<$%0Orv%eeI5bDuFg z0M~fhQ2lPc{i3a{4N7dYw9ayK@eG(#jIYBeYOdO}!VH_A4GQ~fL~%;JW93ZOT?3?J zj_6y(o;!ECd{g|fLx)y8&)?97T}z(*lIUr*mAgvH{L9O{!*WA2d>)J`k3HzRYqarbuWe3{%YeKdZ@^%i>GaD$Vhb_?F0k=tN>IP6U>40(o(cIGvW@FC-46Au7PJzXzLjiy z+Fh^NFx{a8iVOWD;Zj+r&GA#w-q{3zd?RbYmoE zwwU;U(OI*?oL_WAoYE~`Y9^?F*?I`;9}UK=oN{a@_9J|z~t z>{D(yOiYnN^HXKjL8Y_W-qpY2T5Ru|l{L}a?2#oSlF43O_D2Nd{wjF5*I#G&2#w`Z zId9)Aurk?xbMSy~O6rZ$fB6Q=49huncC`BLYbk4$vljUp21aZt?Y3{BQ3rcD!}S~5 zpR{s4B+lZ!QLw-L$g>+;etqlFy}QU$f}??BM8LRx;wJx&b^lspXyQ6lrzL6c?ImvQ zZr$vr*mY|D&CY3Uo9j0{UElb~%{SX*gKw7BBJ=xoOHwK-Y6z{~OKR^$OuNvz%R2q3 zDZ1k}Y`W*Gm~O8hUf|;+sdVyODA5uYiShq6kgRCEk9Bjx7ies%8h+XAW!yi1hj{7C zY}jYqPVvP3NpAl7RwW6&H&rSq1THn&5$2t4k(0iCZO%!J`ox@m=OeqUR5)?I?2e`= z4$6vp2l@4_>Rk3-IY3n$UT2vGU|06;gLieEAQd-mTh|FVW}o`GTW8)owaJ$!Dt`a6 zRZ~q?vD@>DL-bdf()VvkOnCCV)W=#!Vf(LFtE(#fUuFmOJD;!_n_~zFsiiWiST@8X$yT0tP z*lci=bZS*n--@Th+oit@X&5?clzIG$7d~?JA2UynUiTxq@#Ej$cWsszd*(P^LdizN zLd?go;x76|SqMKPXm@{ix)?dJU&^$CkFYMeDI@kGNU&HXD@v&-FP9LeN8t+=|EPV2 zX<+Bp3#Hc_AXovvJ1dU*E_L>^Ook+=PrBZju+j6+&Ipff@l5=eb_!`hFtA|&E=LVU zSUty2qQkBPm$n0yVtA3~)^FRkZGxjPg(a_(fFK&1KU!!>x4zHT%sf3{k^PgXmgk|9 zsqC-+Dnk4nBzQl7W#T06(j@YFoQGyewu?D5{|xpay-|%t+?laoXDkdP&w!2jq#CW! zlH1?XcLwU?*fPW{wEA;mL_}APO{EVx#*P$pXq++psNstYw(g8_%DI#W?FzeRsCpyg z$F*4*%`v8DEN>knlQt`2Uf|FI(l`fY*!J;zRKR z=pDmx1))W<{b`}mDU|X(-fP+1|Mv5gYgSYBo5h$=1aCL_r}{eG@~xT;%>F>=*r|vq zSd4xqLgvSy5Yrt5-Oc_)Y8a}>)0s#Zxy;S!5p1uDDfKw^$q z!Z){%I}Q!!(+ivZc&HgLw~BuB5A!n7+<>Rmqu9fsLqS17aolPnTTezHAf~JQbd3UU zRSKT?j)dHd{R6!2p7%-Ks%@|Aq&ep5)ICK)nLd+$Oh0^Mi*RuSay!=`wA%;I#StMf z)Koq^-v!giJlDY%hW|dfdtX|48LuB!xBK@RmAn2$fcSHDm3LhJuYYmwXR>xy-1o5V3}0KL5BGEyL2kZ_ZJ)I?uxyHgy&*5iIJK$H15s-@8GwBeGW zdXw^WEgCw;0@_0&gho<8vQTGlWL>k(>eb()(U?a05nLcQ0jYy?jfgQcmKVJqXX`sW zV@7aN)+jOGyLV6c4KcP%qfOlc8J}NpWvM6g0fuX|3B4$ghW%~ys%!T$qklio@AKEM zA5KV^*h|e~b;xA4&U_g=6-v2&grfhU6bS(_lL}g~tQhD*7-4wxJ-b0wWO_Fudk&)b zs%T#=WT|XLNZ~EU3Sz(yQXoFH1Vbpq_$meKhlYk~vdt%GePbb+y>u(zb?Cn+HLWk~ z#)ZblO$-zWu1$ND0~VX`~5_bGyZ&C<7M-P_K+}%jw_r*eY>gZi6rAVYCWek}R z@ueReNTIt9qX?kbvASoi>4imKC#J&?*r&ht?y35BmS8 zbJx~O*NBo_bp%YOtt>ZQ3QK)cHqzl z^SghUALmqT{-)%g_H*WTsMldWiLQ~T8@qTP&kG=rMT>L+I;$)I8)T58_-|AT>YuekVjNqqG~Z3rrww9yPG*|8&E{|u3e zIYQ65Xv8XJ<%5R|$t6IHDA*Xcp|&u&CrHsu@DeCx8AU}Q3_Y(x^n>0Zj4Rix{C@s_ zl2G>4JaFjnhun8#?W$C6JsgKTgN5gbit;mFL)z6p|18h_CIu6^I06tx0*~YrE>kUGPUV<)JvoI`5iI3RD6 zwEf}h|8M~q$}0m~ikuCLZW;h~coMe)>4_6w%@qUkj@*Fn%LsQb?y{q@*J@tFluInz zq9({6`*O>`G@pG>L6{OXZP9h_;Dr|!!D)Z_i;X-ExlmZiwU74vy5-L^L%dTDCkjZ3 z;ihUW-rpU|fZKlA#9#RTKqeIX%BgR+ig+rg7Dsty%20SX&b z1H>y3oRZ`l<}s6+Dg$xnC{^>|t_$mvghqKU_CM#H)D8lIyt?+~7*g=wfPk3A|C3O{ z6d?yFH#&QrW{3)YDX1VEd0SpCYOOugT>He7!WPh0^H8b z%{}N`kseh+h+DF8Il1 zPot$xIUs$&2q|k$uqC*cC;jqv)DuV@Vj%PL6+48a0Oq9EisMC3yWU-^`HbVPwP$B! zmPd!3S2LOh=q!JbxHcg)uJhcF0Ruc=TwEfoQ*&VS z=^;-fWbPzLz1QEUsHuU7j;GqeVCIfsqQUNkUp!3A;e8y(9Q$5%c0V2;!gU+5o$Rlb zVWgr>?_V4w#)@SI#08?Z7Rp_AC{UC5c&j$np+xQ4%SViKg~XslRMM=U!~=;fAL0t4 zl3pYnvbw}N(jh@mMu{tHr^quQ;@<@QI{hX4uFFB(L7k%u6SUS>kKai|C^SenwX(`# zs?rCJlmsI-L7)x{WaVgCOwA$_6MdE`z=N*;vXhdM5-PTIbLr9fp|SArUZi-XSoVEx z`ZH?Lh*O?Fsz)?XSqHN)&k=)?ANL>r1;;}ai@4v4v9{}3Ih<6vxXX%6&kQ$fkXvYC z-Lmh*oOj#uE9R@-{CoJ%Ux9P_b)Ha&;RNg{m|#|7%ZR6Y_2E`A?&9D|oS5Wx2%6d_ zE;(iS{KSwS$gzzpJvCk$UycX&A;$I(J3_vB!Fj8`g7Uo^fWXX@W zvsh&^5}4k9e@r-=|HkxrHGI$3tDg2XQEW(jzSqO>#ja~1^M+EF^+rQ}%9Okm{nb~@ zCIWrSP5R_*={{#pCm?ki%a{5UQtjJcV;*I`xfe%sp_SEqY8!_~rqGS-ImHaJy7%n4 zxbDN!KFv1l2+9ueCn2xY_gP zCvVg3(o=rMg;$bB^-HdVnPpF~{acLeC~kx&kg%dp%-No`sw21L;%B>}|4v(oJbb=< z4JsE7Cu@7*l9_4^BcWg5gXtU$u{Ii|n)UecevTtQB-DI!??s0%>EFydKkT6}gm2{W(vi%l{5Vp|J*4meM|$$VwebS6s%3;d;Q}1egZ!!Iv|g z5+>24{r?mgUm|(3XMVzHYE(h52cVBq zl6rzfBP)sbvGWlo>z^7MlkA&%x!7#^XjUWE^k-pd=9(5bqse;v(ZJ-9D8S!xo6ayj(Cu;wnBmL!lcbb)cSh`d( z;OzpVHLUemnOZF)`AIxq^L2=_(`Fi@Jw?;gdwA1-6^v*B2w(0uW$R>Tsi=h->J1EI zJhN>lp@jy>vJiR!G};F!yc}M|4Pof}!fu){iG^(#Uk7e0z=QWkSpM<1>_=#Lb&BSL zK#oAASjdCbGWyuOqw|K!&md`=95=ZrJ0usY~svcii^}kw+vL#*}OAgcNqAhec}x(^sUj%;b@5VcDi{euS8Ch7A`ZO7<=vntX&Sn9XMv%6-Hhu>Q*=1cYXw zcJeC)1(|=)o)7-8SonI9aW@+LrMNS}v2MV*jyn=2(;0`EM2l@J!&PAz|&~)0XibvfKx%s;c__wi?vDY;+oGg3C;`ICEUX-LSV=wyB?UcdDg@Me8yk zx_{8ZZMhzBk(s*^<0H`ZhN-}+5^@n@%15otI$rHK`32POG4G&6#}{uhq`>}|2r64p zqw))xDHT=Ki;aaP)CjAo(}HxrX}i>{49PxE%AExBhh4!#LL3pSjIGf3Rxy2XI)Gur zqwz%o0GX2yR(&qUc99T8G0Iw(=l;W9g9J`f|1~%cfkt@F#L+Zl!=?OWILG`wfBmzg zCabFYGo8MQvbk8SYiz9K`BXyUi+j_DuO}K@W}`w*6%G&&sL#apXOy0|GJVVE$SRI2 z17%&sE|!pOm6O{)r|#3=Oz2OXz`s^l=!g}=cc=b|wW@grvw#mu;z0uSBu*v{BcLx_ zj*!4jr$(q*e29s``19 zUhB6fJE==mp8n2*D^ud}&9dkn?K*3tM%8;=4W>2yHE7WLhpS&)Rwn*NYo*pvg#C-ip#dI^nFBtYQW9|=6;lM0Wv65^qHTr!Vmfvxj zo6oQS0P`-rcnX(K$TN(1Q_4^v=#A*RiKvPNZ)$49RwH1VeL$0_I3;jN95T#@pj2y8 zv_#hFdUNyEr6*3MM0L4wmCi^AN0Iovp5@o`*ZdX7`(m+NVE?1a!G!@cV3y&E6=C;S zX_)m$beML~nK`UvdwoyO-^;8{6W@h@5oO;>`ys@3ufE)`t@Okv*g;0e4eRMFTJ)%` zAEq|nrndbT^uBa_GprH9(+llR7|Hd48}Z>M%fB#vKNwyr=+UhkV)A<7SH)i!U`hVP zJ{&rJ?PsQqf>--n=bz2}^Y6vA$Td%%-C^#F?wZD3<-5u+dTt&(Vntqg!L7v(3iqOJ z{BUvT8Gd7Rp4C4+>uib?GPi_5;gGJ87t&dMDW(&p-}!7H^=beiov z_2a$6R_k1P_n_g9>MFbWc84CV%4ve#CkHfOP2O#kHolCs$thWGsSv!NgnmIwCR2Kv z=jNla3&_J*K`3Uc%OayF6vA=*A>?LK7S;3iG+$VpPTGq43oBtepvmMXT42wLp72lU zrHd&1yHYG=qMfxKVS3@{a&+|aHUcqHzvf(_51iZH#Kc5wo(hj4c#mz^Q$}@m^n?kS zoQAG_`YicNWvJWD+)K;#?#u8NmW9&TA01=+P^MI{4XCuEXS^4+@d{P6bz`KC=|h$@EA~?Sfpc#K&uP7(q)T0}hiRl9i*btQ5Y#udCHm(0eI<4N7vkf zV)%5#QTgEBhym;_i8O5&hvo|c28#YyR%tt3y@Fno2DsRIrEh7qsgE9Y77l!!c5YfA zU=FY4z`)=z`gG#fwzfilk5WZZbt5MqZDo1X4B>C$}flF z_U0YeSdo?)jaDJcOL3DXr(#(;2^mtcZc_5Ag~}KCxvHVRlDqGnzEx%$#gaAaozmO3 z7vfvWHJ0FahXw9NHz(;9_+n)DR`lg}8pJ2iKtDqGU!z9JQuQJ5r)Oo=KV=@NoeeoZ zt|`{duknBzv!$jKxPr1=C&crZ=PxIn(jQ&id`g3~ zCW!o;i@qL7{u*pl5e51Q%fa7YZ=`I~*d?Q&W=$WWACya1*$nG<)8{0;$i8iq)u(>B z-7?jqrNhxNr$=zJkvEf4QCFWy!%GbKZr2R-n+ibCRY74lO@O3?__%_fvTYl^jWy5f zD2uM%Gyl@BW?Wx^7WLZ!b5L$U2FL~!Sor2ioPmKT;SHekT1Aanmi=Vy+R>EI^0>0z7ISqnp>)gm6Y zqF!rsS;E9Zbu>;pp64VmY!wpg^77AbS`i+dvF$~#Ug8e73B^=@epBkxr``F<(@>C- z5U-vvJPqUn=m+7%$D5Z&t~;gS>o?$6^5Hq*vTD(W>*1u%Kt@TpYi!Mt#1`Ak-28L# z0L2x!8zMf1im~=y#5Df}0x$LYW$+b|JFG`neCi}C8?$k;hmKc9Z_?Qls5?TG1|c0b zM^f4N?R*49jtu^^_44K0sFB4I%NF9KPlJDP3ox#9aNe+qB>Q2aB>2}~YQK}bR2xhp z?pm+h@q;c%Z@4^%_{r?)Lh60ZQIxfW#7R%F5O^S1h?(Ls0Xw2I#vMMvw8STCaXbPQ zlR0wa2*tfTN-<<{QGc=;oSK#vmZ1&3E0e~EbmTP<8DhrcKE@3-74P47mXL1h=`Xay zSw8E*ldD)dM&N;P0w5$=_|(3`rxsez;o-+yF90`1H^|73ww-WiG~+pX0d3gZ4D%JQ z&T0kvej=2m?Ud=(qlXV^6(o8Ei|o<{?^#*%MaE?yoHF4{LQKE1I(LwSFup{*OVH~e zt_p@Edv49Q{596%pduv6(Yt^ZU0x{i)#SuOB@MR999Ou86bN|o#MhabgGu4Pc zUtSoYoO^(4P{k8C8{TL9uP4@S#-fZ6m19)Wp)vsKntd^Baip zB12d-&AU!*2+0(oibf}O~tA$lk#q5uIBcTkc+ zS9qY$n>h1P6xa*j1s{d+CY;zX;uAL;m064>z4gy()NE$dK!IKWiw0Qz8NJa)bc}IYx|mo11yh%LzKdR+^V6{HZATCGh?0%)yXz zaB!H?_p)bF>8^)T-n5y#^)6KTf|Co7y&JqjQi3Vg9*{4Thfgp2%@cx0QL+2ug>2%m zXl(%MDfi*>zIMg)*`pzljmESis?jw2_1*S;lq*{jw>FKj@xKDFbJg_C z4@BS|rKN3mMDU=>1$Cf@EC$?fNkRU|&c^0h)rQHFCYh0eQ^&EQ(W`&|oZdF5$B#v6 zBOa|?&)?viFZrid^%>-8D&2?H=EU)rjOqNRoEnyeeucHf3ntV}YbaGZOZXw(f-dwt zymxpy4Go-yz&YXXX_9UHHQushDfT}Ux>2Eg?!G0+vo1p&sr35iGe-oq zkr0bEo7119a2h3zCj4<&`CM}*w<|w-H5=>*S_4V7Teq%Gu>n^gDQZd1=AP;Mr}R=) zRkc?=pJ$)iyDgPlki$j(ps-~nunIw8XxpboNGyL}KW^9mn@ju|s64;*h;p+Gw0D>i z-$$>5TeWc(SG~=n>}(jfzKnX{hPOl1Hj~8F3KRaX!CTsvbQ*T`YIiQz4Dc$VKws4x z8sfMMCwEYQ=HBTBwvXz^p_!Qm?OL!yncoh?e1?E;mgqW)S**mQIY(DNTCXoY$RG8` z;CZAFs|OXnd-mKR;ESk{keFD3z|uVi^^y_<^Njy*5XN5gQ0fort7%+&QQ{!(Q^tr@ z_DE504g~|+>HNr3Q9;|UWImJszk)vRT_hLGC+4*tJMmzg@!?q6(x7wq!q5(GX$SvG zX@hUkmMOh$s7BLR3KNw2sMb&ZWZh&vtFkY;lsd|zxOoal@C68sus?O#jspt*A{X^~ z4fLKt-omtEX3(GA|NAofXO+pS31r)5B!z_Z)ZBmnf3sw!5}r;$CT@H3ZOcC@Oeb1IMq94&xN5t5+1?a%t2b*Zs|ZJckYpgX-NCG+^}6p}qVrtT=Ub zN*^0)9c2;W=;(yo4;~-c@s^Zu5MM&6UK@uBmHhM1j#lo1El(1}i+BIwPVL(K9wOff z0qrx-s?lLK!d8YNOdg-GzyI#b#bjjyWxU9X7k7Z7@EH+61xnvT7cMdh8yFE05%dhr z@mK*U*WN*N{2ZP(8$IHP~zAuFaL)NR7t=w3!fIme!MLCDo&<+7i@rIV)(5kly( z)2T4jqPfKiz~1OB;}{K=wSaT=h6XNYrb8~4=s*7MyNO+J-J9^DC9|O`bpd=8Vaehh z6x5Se`@qqoX78>{aBV8AnwhqN!uW?73-$pBeCg62m6Y@s#RnHg@x(jM1FI>yvxTvc zmBr<$rH7EoF2|)#AW)*Bp(}h%h{R6;DO}-Xg$bHeof)#O(ekM(D^G`N38#zx}P`F8M&* z8u3C&;lddhLPSW?e6c!8*oNI$4$6+O*G%Z?sh*$*ov5zvkr1yS+O!qM$BUaA&*x?; z5~?T#&>-!{5fdE{M)1 z5HEKCn%&LKy;9sW501F7Iru{H3Duz&b^U77DF2 z2?;VWJDZYdiD$4qtvD$M<0NofA=1gdzl1lVWNV6jjMAcw^=;TAoI)qRk3t0{B#EiF zGtE(%Mv$DDTPXdSgg0H5qy)vO(Yr}{;+$+b!%Kh7(G-ypEYfK4V%r0m-W3zcfuR)P zEHLh-EaN`$A5s+;A}TtX?|&dTSm2yo?FNI)M$2xEMd8+%o)NMd*p^)s5b^U%?y%~G z(Rt0|sG%gh7hG8TSsU$jq1NThPyobJPc4{%RLSb~%W4YW2L8XjVwqwC4f84YreU># z8sfu)1urj2aubeCNaM)utEic5!hSWfI(@GUj3M6HK&6^> zWzkVlqB-V@;Ovz-@aUc1LW_3lKyUnUh(YrV4CqkN=}vW4f}FuOJhwoFQuZ|-;LDaR zV`{AgOtX7dW7PtWB-_?6c-#~Xk1hkI_@gEe3W)pl>(|y2WrDI8=w#~rmJDC8mmq`I zdx3Sbd5owy2?C$kKWcck4!LXYAuvl9It7P(8}|(ZdfN!tjUSFVPW!hiF|Bxza_rd4h3YMX_f=T0S+kc-k`=JC1t@?CgYv;y zij(pI>YD3Xeya<`ZMxuAb=DLwot0yj+-~SVdF1x7@vnXsx7~Y!t%%|BChg<>D)0S= z3((JNyIQqdi{=17I5V1pYf<+J`N0;BTQ7`Rfa*lTIX>_ZtC^QGpPg! zF_2=_r2U{*>%0955grrZ}>Z8 zOa$gHS0r|>S~E^@bcVzv`vpS- zA6VPlKYTZUTBms{a?nT(KW+=&E+=?mKpU^mPo8pG6bsp_XlJEcQoa^Cu%bAV0~!$W zl3Vi%cQ52!?+_UsMyYFQ^}$eS%$6TfxvPcenrMHJ2h(M|3#$2iZDwQT6x`>;7WSR9 zLn{qSo^Mn#t=JWyu?tZCEb*h+z%n4jU;3fr+Fv!;!&6Y^yWPF`tXf#}2?^GegCC%f zaQBg?y`nEA)7Y`8|FB+uvfV$Ap8)xCxO^w!49-dC1GW(-`St7E$kJ%h@Cq|WvbSFN z0=xkZ8lD;6eeZvaSm}^OzF@KdN+ty1%$6)c{Q5P?kT1LY+O>^7SrZnW{^8U?oS_DP7lgRps3Zw`jXZM};zn z=MRVoPcALf5ilwh6#dZFK@;H=dcK(SOZFd+pHIyA8BEdjS>p_e^Xy||c5}lJu-f|E znFA!ZJimJ9)vKhOFC#~eM3diPQ-H9<5yZD?(Rum3ZKKrUhEz6u{TkbC>gxIbtuQC= z2w~?mk`l%~$Ml1)k=g|gCkQvB(9w2}dQZ_(mcT9ME~uVxf5u~&ARtVjgpk3%;5IY& z?Zh2Q%;?lNeWMKbRS1y;umj=Kq?9>+%SBqqi4Y@?s4v?GM)^tCk5O0N-}^=RsX%TX zL}3Y_W9?tRxBZt<(g?>B(z(%ubg~rnB~B_$AKS_GpCnf9d28s(V|D;Nz6>FKQj>t8 zkmhHla;rl7UsW9foMF9*Dv;YEme&X!xoE-)EDd<4c>}bFOg^z-tzqLUMa&mH>2LN$ z%W;ZLW&9W*7%PtxWF)9Uq<_ff0fT^;c5dIkJ=z+| zQ>G;A_i_0!%|?KSMMZs40?)Qe>D8;3bgIZi!t7|tHEH2xNaLIfF(3&YD{2-{l>00|LxqkwAl5Pn(b}a9^haE-O=opn+;X{XB%2;=u z#+0A^-__Ro(ei0$@dN)0vGQX5Si0!-#MqKIAq!5+_KT)qhpW_gvfP%#hYz-P4t8rd zO#2mVj$1I!xZj7hz}}Nns@lDy|+<1Jp`Cc=jucu7;t}@-T8}UCn_`kQ+kr*icJEST8TVGs6d9CRM*unokCZ1 z3Pz|hK&KKOWJ;N$ei0`F#yd@0XY-!pG*e##WFS2?E7@Txg%0`gU|^sR1A5e1v#py% z!0gba%iC`)YkG{JU^&wA_mCk{>yqlFvFTY48uf4ik?mZ1*29Ns{J%x;{k``#(gOf$ zh{8YE-(y){GP5XTi1^aa@P)&t=XGV}Jvps+A3yFB>93zEJCS&kI9(p#VM+XglRA3r z*y#GiP_3F9nzVB>pawLxFkBZ6rl1!96!W}b9PPj)5QzmYxl+G=qKK1l(L6Y;)v0CG z9J~+E+f&M{|7*a}W5+`2mO#YlM+qLkq_eZLn~Y@%9!Uln$KXp0LLYtwhVYkZ%aZK{!mCq#0~A|o)n&XP039>RZ#Qwb&|-zt7t847wBCHMDlEuT$58xBOK^uH zGBlBfdIEfW_M35O+7&f%=|^V>weWQ-?yg#rl5sUIZl_+TaIvJu1(Si=p~0Ktza2iv~TFwysE75P-M~vLNJ42C({f2mAZ&r>X{$s zS&2?Y6gI@kHKQ-l$Bw_HPQ%91_yBqsAC?!qXIj=J-M+ni&6)@5rraftNjbRCbYx_8 zZewlg)$+5{x#_d5SX-{khtJ_qtV0+)di=O>*JX<#reUIe(e8{}|9n%URYa(@@!f)y zjE9dNO{cQ0?QA_dLokw(PysglwRD%TSJCqyM22WLPAM~$J3~_?Oh4!k7&1};a50+H zhY=U4-EecE);W6gDDERPhM$XjlTIiMDFQ^NPLzN|>+`XFfWi9Su%u|}ZLt0l9aMPu z5TTW@YQE;KWS2CE(M`XD{53pZ6}O`I@ElV~j;kLn<(!N$loS{kD8l&dvV?n)xYewZ_Mk!8moI}AB0#m! z+oDdPZDl<}Qi2{g6%{*iPnn5QE;He1pTNT+%SoQe@p#grmg}{@HgQqZqNte@I<9V$i`y0#ocGUDjhf$=^Y)x5XMSG$n?Q1xudSL z_4|6hppYn`ltE&46fvgntMA+WHi5 zh2{|CCw}DjG^NNP4LG`P%}jGKXgq#*>AKr_Ro(vKnbb4DYiKFO%MK>o#e>^Yk|UZK zO^+XbmWCOPYR{8d8I2ym}#^Ba8@NUj<`LvvzeR93lEA3|RF6ONiqmi+(`rw5;-ll_{ zxzvohNe4U-bkc-W+CHXr7+C<8$xu{L8zgW2wSRj?ys7|-sRtD;)L=reeC3iOCoAiC zSw`2X|Q$WlzO{-FRLPRfv;g{2SsO<$WNchhI9+m!@{>p)`^?ZSeMr ziP&GJQ2|L%33o=7gWyJ;3s^FZ|AZQS(&_{R$Hv07a0HnNS+Ao`<>p?@D$@;PfJwu8WUVZ%b z0T`Q^br920ChG(x2?^Q;EU+M>ZmXEcf7z2>?w;9Qq&WeRiav4s%NH;1VByEmni34* zFK^&hk_umM!G-CZBk?5f7@hVxgBcTF4Ajh7l6hzn-h76Mk{);+%8xNS1tg4$PuO zi;y%BCighxVLg>W@HDov>H^KlZ0S-?m>~CJ2F3?(l>YOT^o~n~FC12>fkPiQ^6=lYD!xXdadFk~v-nJ^9tS(HP}5vC8pH81L3 z-SlD9H8s>|T&*ifI+q5R1FZcTy2t%2wnraS*?Pe!MB{Mj=Qs z!N{T|5jQ16S2JVdZGxME0060n<9|OVM<4PJ=g`{0K?Vqb@5ztv(5?*#Mj8==y@;?s z$Lm}l0l$d`m&51`@7ce%M)}SUez>tx&~R72S;Q;!>C+MCBrHHArZP^~-`_v`v0TTF zl9|rU2ztsBGwfo$>u(7k-pA15GTvfRlL2$#ap8)g`!zxM5|rkErnPL`E2o!I$8p zF1Ucp+jOotfg~p8!^kD)(U`@SDSesefU3!ZFKN4nP4BSg0oyzRON32GLxL&RYrd$_ z@OyCXk(A7|D>eDUaQlY@QIPnG;ehk6A1=U-vf}fK7Do*3fY+MGfRIlI{1RNSH(9|I zOlt+D{rkBxoTde53C8Y)bX9>cep#=SS$eOiun^A!-Bug8P%aH;m#fIEh+|4~!+)B$ z-0!q=`?@t^?!^1#i&L9dkUIr_f?+XzVB4-3G13sJzi;n~=^=Qx`8+Mdg{}*~yOa1{MHrzgOs4lm z=6~39F!=fFt0SxFs4cfmxmWW__b<5xp&$r<)|?RDJ6VBWmZtDgvv;dGLTtZT>gv-sf7@b;PU+@RLB9POBl3i(<;_ znvpCg_Y*}esAY!>i+tG>2WPThM~&aS0X`5uu#6ymi1WhF}Yr0EPqq1@cu ze3`Ac)#Hx4@BamwlFo4nkssV`@AT$(P1~hp1hVAwQ6}!-oN$3PvFJX1n3c?Q2CSdu znZ@j#F5noH4YS)zHje5<>LzxIuFk2WQYHz6i18_v2-!ZPcZ=>wkl%x|;Dc?a^8sgV z{ZhYYSXmrc&9GU0WieBxXMH~@)f}&R+jLZG<4{he@c9$Lm^Ts6X!l9Un6?(rnh(g+c#2`#9cWV}B^t~FGs>NyR)UjC+mR7F5JS3X){ z{fL;{PWaj#J9bpyjW;AB-VzKCj;tp&Y$pwkCNfP)a9mSe<;&o%&ePq{~Bh=guWeODY0aESI4}jutO~L#ar8Z(A2v8G#zHA*jI} z&CL%RGojJn{`Gif(fW_&Tjk~9AW;skDni7I!l006#cI`GFsxoI9 zuzWmTwOBLa!U_IAYT2@LCX4lhogD_VBd^E5sSG}5^(HP-{Ix)@(#>usopd8R>NLjDxGzs46uDD+o^0*)sgpIM- z)A8#(ejlgKI1}d|f24ow9Oi=XHW?+^2K$wHkyem5-AO?pfsx7xG(i7($`Q?aoQ?z` zM$EsVxc-9s(=j;}Lo*SO-wmW9CD@Q}s3v!!8x71po*PAaxO`|;cS{}t`g=K+RNEO7 zx=9r%^Zitx-VB#z194yJuz?#zA(}fXPtt&wZtCB;eCbj=ljvJHf?e26U%5GIFcalw?Ql!^Q*y9)MZVdVEZ#ksH_l^X6hH{T;AN%lBNo2wZpi3R#sM*7}(|S%Q2wetgJo3vFw17f@e_G zwrvMJ_Y#u>j3zXqQpwHVQ1nDaD5mT=Y2m@_WdKQa#<#F%UOnQ%y;RyN5Q|Cp^vG^hL8s&oC?LiRqZKmAgD2s#x7q=afRCUc-ZU_@#P2EI4Cc2fnj7fL~-n zLWUf`rIJ`sKc`)cpN*#VRsw4i-Z)r{0J0RBBM9xxFo-j|@Qa}~lGER8yDDaZ-LH%p z`t>ax%iw1Kmg7pn831jD`G^-Ulv2D!TCG z*SU~(NvfqKCG*)Z%8$7XW&u+iyR8L~sI@x#hH|pY!5?&i;$lU7i7_*x3|a zpO%^4yAa}{*8AGP`~{}35^leYT<29o!=WFNhXLx%nPs|6+X{eYyY0{vcOJPf{K;+NhfJx@}^nC$Y@TmABW8+Z! z*C3^;iuGXI9tC9A{4QF<_OVp38j8Ndhd-ZR$#%_Rf}-$eH3R>PVbb(PkupGwDAKA~ zvxVtD#GQ+x?Xk6{-L$J0i#+Ctw=m209P@>i=)oi2KMuihV2HxBz)+WW_{!smz9B^>(F*74rL`#%=l*CEw$r(lL27?Ab2 zyF!LrxjH}7{b&zT<&?bL)Bm5iX}gwKI5Na#%jRcuyfcM=iZ%d%x%pK_Q={0+ViII}3VvanapoKiTdPpv*#h0XbEh=XvSBQU12PCXawr!qxy!(POG@3tjZ4 z?53eOjSz^vsLR~ky4R>fAhBG2IeCoi!>12h9etVn3D;ZNGy@#3kXY9KeC5io=p0S z*-!cRkXlOYQ8=?_3)nq^la1>!YjVTACN0^f2|dFhuT*~j?Jn&f75AkYnH3D7mO@`ah^m;q$8sb;D_G*qtE>) z>6)Y}FPw~m3SGF^Ya@@YdYEZm1i>!`#=z6?Wz8AJt4n=(>(wYGsf8WQA zMw5CMoh(Y4%uTkMr+>bK@#TrfGXh_=NR@GNX)OJIMmJn01glw|@)^!O0xku*@(&xgE7I_l;9l7wEg zn_yq$VoYh~VQ*x-A2^*?vJ=|INwwF}v}MnYGCSXcd9sf$woAz|`a~1X!WEYdnPvv_ z>e&ahyTpn6T*EEOrHkwx1P_*_uSxm82=*hrZ^hepYi4n2;nw)G!xgDidJwsT9u^lf z|E1=wERrI}?D{qBHni)lRBGGmLG>DWY~K8ok&P95!l5(R-)CBy8{{G|RT#~H!67r3 z@A=TTV@J2cetv^te0`%*E-kWsdeI%S!9bvgCsFpx(VV!&(5{b8^J^J1jaJ^R{n{Z{ zMT=aisu~3&4OrTcKc3>TdP4*kUoq?d`>HH)IC+A5MvJQH2|eZ|3m4ubSxlDm;NckD zXQGK!rn7GR3B9`}%r+k)hL&QZ0fTl$c}Y&+L4z*GU-k|O@+|x@k&_Qw!S+7FQw4TW z$|>HS_d@$*?HiaMKCoV+<;yMF{o1x*{N_#SrN5 zgsBsdnTM`@Yo<`lQ$N-15+w$jQex9$de;SH87C=Tq*(==W9KB)APV2 z^XpD+7{(?8oZjidS)!864{J}&e~sp*)^ICF2KC+HD8fh|zaOcx7vxU~H2kkFg! zCp@0Ic??|VdeRdYrX|`w9yB3MwrX|(xdoJ!=|;-Rt=za$g#fXey0tbxXk^dE1NZ9Uv8O4Wy?!#I@em(fk^$1IUu7Mn|D0vzG$N@$zX!(sjeB zJ_o)6xjMHbjM~mXmT;W60)o)0CCQ0f=|0j8@|t7wzkif?cAtJ!rvZP)e^jl+>K(9( z>5r{o*8)*dF$n5y6r^O;u%^3$lgzEle~6jV&v|;O3&D+&C+?`;ESOz4*0h_U^VefY zGd}$5eD~|!z|n4TqS1ukMqtE}3nnE1u|`tIX4~oLDG3!adv1GZO+wHEY6n`OtL8bj z^FV8p8L{2yedZR_{j5bYJD+LZ~Ej_oz0}i9S9v7{a0eeKt1rxu*egq@ZJy z2qI>4g-RfvQ}_oYO>7y-Z~2J;=$}IxeC^lp>+^2^hN>Uk)a}p{3@u`9UVXvnAz4hH zF{91ff%MaXAKs(dN}WUD^l|>@AqY&mwrsvzx+rVm1gHdtw{(iBVjgwRb z!1xIzMp+@VJshjKfyp8kCxM^2NVD@U)Y%?nk}@0v;`iX{G03EhYPY9nNz?B{^L?yo zjP6(M5*g><{sYH@hhWuYO6rE;a7}npLDhNLL=?dE*CR&tZ3VOOCX{F{8R*xE@I3^5 zq-9&RbF#XIw3{ZB_8u_cHbt;B3qhpiZ(~S0a{m1JA)|f>J721N-XQ@!r>JPT2IX{@ zzI_`qgX-|BEVH6O2&{}s;SXJhifu^Iz!8y+cMYTmPCDEHK*xiI99F2yFa9KsOL^ofEe$Uj^(;_3E;CL_eXstyNiL*TcpkfW46oEn+r(hCH;3ER!DP3 zLAk3wmdO-P*JkwsE?$g^dUpJ@8^0U0J#nEl#p(S3HqurZ2W{ka${^oSnOOr zK?bHo{7A=y^BA+Ao3GC9+$Ibw9G>E-UsbL|HRcLsOVE8a?b{T~($N4>v+4JVvX~uB z>vCuOSJJfjCr?^|TN{AilH~XmAM$@uhtNukPaq=B>)OZ{B}+zi9ZjFZdo2UiJ1DqO z;yCl9SaZ6qRgszTx#{%(8c~!FI#g9|n$HlU3gjVlKb#aOg}h+UNah-ON|*@V=Ywc% zL#FOHbZGh3Ywudr->Qn*0m;wP&KGu)jyR!~3y*YGY%+d!GDM-UYRHxq%3Aj+hZM}D z3WlTrQZ{hcz=F|)+QPL9iOvH7D5tM!QZ@-cF}^oYZTlO~B)g}ipa+lVJ$xHM#xf#A^Q=S&F#EVma8*p6%yEJbau3PTwb zdP$1Eib5=k*O;cPX(y9OwG1TFqZatmc!JG~MVeE8FYf7SOz~b$(km#i(~&77QH2KQ zS11TaqV@!1bBWzWCKF)SU)g3GKw1pc+V5S|-(%_j6-dvm{)B_AB*s#vfWwW0cgpeF zNpi6e2=V7yeqjLoRb5TG*0fEV?I<8+AKUQiMB_908$-v;7+KfGDNDQiEJSmBKtt$l zA!MddNJnqpJQY|S;J}cpV28R3)BNGQ>!ODO92xQwv zfN6XCy=EVF>eelBzK}LoLo`&7jSy_=ka3AB8%Y$Vz@BQ_hlJaMgA1O7s;u0qCzXqL z<%r?BOLFZ<1afQ`Jcwr%r84OQ435ayGm5YmKqe z&FVm#7b#1|xN2GLsve#8`X_%8Qch!ot)syV>t335|8f@KRILMHC$ z)1Sz&$)Q{&1J=8ET>a#wOX{gyn~8uR-Yi1`4K^+^N!hrsR1W%a4Z#g#%2KE&+Y%R2 zF?50F46m~eC~@?L(0GyF;rb&XP`Htv%DfYE9bMygVQ6QmZ+u+_7ke}(Eow#U0x(kT zLHzd*Sst8enOiPkp)u)HKf#*La`M55*JLQ{q-zIe@PN?}u`_3(! z?y0YKYTJ{oK^^r{>(_4D@>I+H;{qn#8n30&v!`AB4xbq&b9+x4J968H?F%N(YS?K} zjfFS&PU#+&^6OXpD%&=f4QKUz|NWO^UfIHrM>lM42UVINw>n(bvnr| zz-nqA&lZAR8wG{MH*Ms*2}o~a!D(N~i5ht+c_qZJy!KLNgJ(1H#}K*jeQ3i2;Kjp& zPj7UT97IeW*iAB|3r=iduWeSx{OCh+Rbwj6dq7uhS6C4qD7h9O8;DAP02&BSHY)p- zX|c&0hm2Ar0Y&|ak{d;|oEf)o$%qeS$#RqNf1K=@o}PZuvCKva8<$eQ*9hB2Z}{}? z`j3yL=fv1pgwc{+N9$`G_Uw3ThRfLlzP_erWOi?|%IFvFY?= zT|O3u&$Pjv88HpRq=A@)1d+_%ixD~;P?W0DS6WQe+5%@oQXMWTq~MrebpywONH>`d zzp}@uez-s1<>aKd@F9bzQa8`I6otsmgvpalEt$s`e^WZD5&YKMh0V}YOn4r8PyQLIky0uLAAl5MXQwV*5`wg{iq|u^ zA+9OcUODzr@a`a^U1YFC!YR0E{@pX>KnPFzO&(}9-ch{0By-J+!IBYJC zcxijos0Vz%!u>V965NyXZqC=3igF!!1^2hz#}|iD?xuIhZY4?G%k4v)$@sIrS+ndC zd^#6EIfeLqR(%!}$`gP7DUb(dgLyNmLS29Lp(304-1SP0mf}WRHGIGTAEe?uIM@WF z4T_JPY2zDZW#JKHpj8uYflQyl;yR?^McQYge(Sk z5E*2u5gKyt7NJW)=aHsorh;x|o&LLZBbq@$iFo-@*{T;efG2pp&GO}#m{zyU%t%#IMk@8gv-Sjmm0^>( z@Y3;~J9P8`Mn*ocnXjpq@u9B&{W{>W2}{C6M+|&yYnt^b)*cYNNvl@xT8=$?I`+Kp z!xNf^rw|TcWKMz7<1yw-|MtsP_ZvKbVsb6%npId9v&kWu)=HFbZw#iJn8dS7Baq;M z+T<7I1ds`R?I3bE5wBXr61!+u#*-NjbNt#9VN`BDhXbE)^_UfIZQ{|`hw|-Pq_=<5 z-QLUoROyG07&n=rvR2H&+nHuEiQKo9dH>dqu^n*eVJes*wk>nIqqq)KvPAt>+uV&q zUtz`>yR0Wne-y03vr1FV+xHuh>Ful^t@$wHv~FH#_dvI$>f|hb&en07H*)BKA7ZSF zCGUy?NXSeva3}9P>pSUErz=;kytj+0wyr-JFTK&>J>UBn1e#O_e%;kmrn;oBxI#+= z24~MctQJf+d8Fat_xbrjXH35?8YfL_UWVKMP)=4j9|JUlF$2EXX; z(h(1iz1h$HO2YMajp~R%IPnT-@03N0MZcGm7s+*Z5c~>FcR_83Jagv_P|3Vqs{bRarK_)434yqP^AAbB zd75BLj>0UmALXQ_N&D-CSfeU?xRXX|9eRmd`(g0M>y?FlLXEcbpjMh{p}lKc(F<0H z)}qdwgw|Z$xhbwygTYbWq6aiOFs%fUF7SRuhfNXcxU`}&X0!M3 z^=SjgoKX+gY;R_EMowb->}mk}`jahGbN|8wb4_+4=dm$$}qHAEQp%k;N2u zZ^8&dU^UcMdgO1~p1VYM15GSI>FFrV&7(DJdzK0z%W(l3PS!MoJ!@#(9`tx^TL>9M5wM$b+3s_ zF(heBM6@63w^U6=DDXRgzC|2PU+@i{8c`0d_Rr+qDJjN=0VMkwyX)*s+=y=U!8V5hiG~%4 zw;Y;+&D?mE7R4(R<#_{K3m!Mol#}lDm6Xa9{O1PMbEC{rT?=MBkfaZIj9f%rmvCD>LJyMX^5m z7!7{0k`7(w%^c%GVIVQub~|q^vP<_#L85~nzS2P59f_%pXsES;h)veYq>Fc*4i0X} z+tVW(YiOt<6_T~)UM#$9Y|fjV@pxBQGJ|ZDo*+}mLUDftP2ywhcZ(sf(kbUS=2lEB zgYn7Fq1%rx+m1Q6Deck=n)}+&1dmV)9PW(Mw`Fe zIiRZENYn3lZs>tu&nITtq~2thAeBShw^aj{1)>Rj069PuwUX=5AA*UHuBz;>f9?4L z@<0yt8}2+F#tZyJOghQc&xM4{7~fNo0rKLdmXBjyZ`sFUh2MCqfP8K*K~~Oj5Y{ze-{?wJ!n= zf42HeCM6q2v^3T2qQRohuqzmVtJHtush+SQwvP!Jd{R*5zw}_m^POjntb73>+D%_dEx;4mbfmFy98JVjU{c<-Jptje74>!d3nq<~y zrc%)3bMH#Z(ycDdI(z=SP@4I+B>ged63y@4*$h;vSMj!aK-CzUK;r^GA=`2#%m1xs z;ZVExd(1UR?p)S7J+N6Fl98T%Hp{chbY=Ous3Yn7wLO3YJR7yYhkVFv7^LF;!zayO`=~KA#1SXP8Th$RzZ&^vLQ)x zVB82&#Ren_|Iu8&THP16+I-@l7O_WQE<+U%$L%9mjkYZhajmXur{`3@!_=hmJR?Ko zNYf3odSdUe&F_2|fqm?QPr;c*^%^z84Z8{Jkzq3~FfDs+)R@V4>tK-Gz#XKQ?NW6FK+1KG-LsSH{AekW3Nk69|o&94*sM>Rk z*OvU{An{uex-rtKFY_;>y%q!knl=(J;K0LEpvKR6FeiI`^ts^RgaW&h88(C(o`B8A zGm*mant0bJKQofqYG-Ya_#2cI+&AxgaCf-@Fgdwyw72!EHy zlMJ`a5w&OLoY}+8kPoH6NuR!xcH+MsVI=q3riXk#FM+jBS`u~+&n({t3a^Aw^XAEF zvQwTHC*`bGv>xBy!JtEWM#i~3W}wC3gyT-evvAO1YN^{ftLJN|lBaebGUNb9@2|}v ztpvH6kI-{LK7vYE@)a2l)j9U8Y4%+^av`tB1*fiFZRPjCGa+ZHX)m2)MpL@)dp4Vl zD&y!CEkAE=H*zPQ>#stTa{*~O`S;%AWRtyaA^FVomGYZSD zFWnErn4NJxP=&3)M6jUBllQ$Z*b{LWz*o6(hx`4mz3ANf*k2#5t@;~n;m5~X7=zu? zz_RJ#wsfrf(mC#F)?-at@IvXc0pBMsG#TE2kKA$6Jf>HfBe^h<3Fd)6@n80GnR$QT z$_<0zE-~_acU)JA8J%vaOpxd_M0?N7V54Crx+O(rj(o;nXN9n|K6>6Uz4>gOtQCcW zSb!&|)2!1?lnGMcGN36KH+UT}f#O;t+(B(~Le6}oJ4HvIdta2%xRDiND6<{g0KhGq z3Jge6u{Rv@e2i65&92?MU*@Vqa6@u=2Fgr_n~H7=Ab>b5GbSOnNrjG(yAY?I;vCC> zJcJEnq9hldxG2k1@bjvJA3t^R(Y;Agu`cur6YgUJ)1bN42)OEd=+GUo`y~G6crrio z65Y?Ynsc5b2mXHg-zJZy?+#BQq&-BaGQG|sLd4AAL{dR-?fF`M>@7~n`CctXbW!1y z)m2fMF}^kbKId!4Nl~4ZgdPl%?Q0XXIq1(&$$?2RunuVn@c>g`#A+HcE1XF95J7Ax zf#XeD05Q!Dw{GfMk!;DIuUI=z%CyJ-2J&hkrMHNc6ptK+^kBc-#J@Ogz5qQy{b;Ou z(}4(MazPB1_+m#^x=#MS0dlYtJ+`BI&U5-z(~Oa11S(U-s#G_Aok{4ODEVw83(K=)ZEE zXglkMwtYk<-lEg3IKB!-RO4pHxg7gq6{$~|O-UV$r0m3b@76}{CsE4d)r6hwxnplY zKq%H1iy17N#3${?*y2gPee-6`_Ur%5X>9R4d``%u`SXus+49BUInA~|C7b7?;r&ik zECy{cORqY(|610HNoefh>vOv2j+31I)1*%KsOjf~r}%&AKzBJ=gVjb=C-oEY0eDXB9SZ9fJy|2AkyK@l2MW@5VrxW>2AwnL| z|5aeT*2FUR#~3+chrfRPs{T^1B||*xquWrlaB2xn(}e-u=Bla_ zmMl4wQdAQd!C_?>FjrKR&c~Qiqkw0s@FIDNHb^#+94w&}Eqq_k@_BYqm0Ck(nGb(m z^-WtrY`hJ7nf_>c%atk8fep^+t&QA%-8K90DC$BXMisLU=XE=~udaXg)3%!W9+FGd z7vDIt`CZ+Ue=((=&u}L^TsLC$XG`Esv7=@Jc~n0!lD3WewVv4vhr9!3!q{@i+1eV) z^Z200RGc>kr|2f|T&pS%S!k=(Tix@P@koxi0)K(C-$&(s`eYe;G`~hdr4#ZKDc?L)1>UfCPf@T+x38bA$AG-scve$t_Cmziqp{w6q!HkLe>?wewgg}O zMl*vC5OT|Yq`E$OpxUC6POmsLiTU>3wbU2*7tC;We!lXWNFIt@FfN!=VF3I#FT&zh z+$82)pzT2MYT!JAw@ixq_1HNkErht``2C|HaT8uQ@5G`azUIK{(tzr>?sYmuoP0>~6S}*JLsdooMg+fN zb?U2e@yFBYyGwh!f9sMVUAr{cQr_#ud&d#5@)j|6&1E{62^SPxQh=flqpi(_@{_`F z2~Kjl)jvy#--94U;l?9=P)E$QyLLSlzf!qYEs-n$nI6TX%Y+W_mJ_8ank7*d8^@W< zy6!aWFE6XjH0JR&prdCPRvZ_ja(#cMwWe<6`#@pHk^gi+o2*rcc;s$V4`Rr|k6QGV zYqc{~j{8p28sauWMI?=Jpmmgvb`Wggq)%ZS0I=bmY$e$Yw6Z?Dh}_3y@cAySa~3M{ z&J?=s92IEkkW(8#Z6c}*9xLw?ahcfRY8;4z#EzXiV>{fp#26Dwr_h_EV@)$eY*c89 zmn5}aWuBS40cmxL?j#=G$%3#>{Xk{ai&5fkQa|IYLBQB#zgKfH%Ev!H`?&6JP(Ej` z!fSN6?)wK1pp^6iTb;x!ZV5iot$%+bd{U-D=f1$V=tWU~Pg*~2u3~1s_t2rUROi}} zwpQ^~x-~ZPwSt&#n+ObHM&fyZfg?@T>=KULJx<73j>k+O4O2ATLV+C3)o=a06md7MC{|oWfECj-AJo>rI;-!b)vGU7#-2H$ z@G?`=to-t6%7fZ}Tzy_VY3kHHm+5|n=7}LyOSTqp@3*K9nE*e%-KLqFf4CA8sqk{! zyMO;FC#HFJoa`x4H&k(tre^Wu^_hRp4&)+8EMA|S=OPfv50I8&dAFV8MyXPn<<4xtqon$36N2Kw+a< zd-1v=?eG*|Cva`NMVEi4=|@t{OLE~?NE7Sf z!|QK!oHERt6wr4;PeHN$1-RpIyN+g&hGx{M7VGO z)d%Xc3M=yc4Zju@y=wEtv@O)m?qFx{tcPzpsVkb`B!9|9Ao*Y#B4xg6lJD z?DuQXdFB5T>3e1gx9+9ws@0aJ)22D~Ul$3|mqs>--11%8pYKWsKC!t1xBMuLu1ho` zi8|wX6+*Noe5hm6R|~C15glRN|0rz5Z5-)GK*b6^NCZvt79PN4`LAzWoA2R_d)M-iH3q@iuHi0X##cDKs9gJNBI8~mNnS4&c3|&;KBPac@w5P;Kwr529Tl& zJ+j7zTo1;Qh)AOnjPlqLVkBcq<3dCSzVPez$yYG2A=wT{Ha8*zQcRe&(ORL3{H!h>EiX3aAL~0Od>iL{8Z8B?Flp{mDJXC$<>~L?yXtB4yUsJfb9ORdU{15uxR4_ikT1^UyzzrCTD- z{0D&JGk9Y1sJNtmdqv(Fk`d?XDp7dk$Q$-Ap`JJob^Lnv$Ym4r;bN;3EKCw8SZG30 zO1N&S`l~d*_T2lyl0d3GOn-pMNcm4(xX_40mALT4)vE_7;pq_boHPtY_zYCFEhvpa zU|OG+yMTy!%(cyaFUc*HURqk;#$Rbq`{qrL{xp3_yjq3k7l`N=Wj%1lqCxPvZ<7Ap zO-acI@B*k=aP9e;=$AcrY$o}qYR@d9Z2;KYge#J23{!=!b3$hJ<3p$)>HiIz{rhx} z{*7oDyesGly$XD*Q3qWqd1RDPgeo-E=uGT5c^qt|K?75diw*|uK^p*VXeK7+tVUFE zJaII0Tg{ZKRQm1g{@%GP`I^A>&CGT3vdP&QZv2DTN?(;Km^O&i#kB0W(F-looA*k2oC)mZx=;vnc=ueQ+sQvR9taq; zcv4_lY{|_AQjpJmWge>l5g^+|l(mtJRLVdsZ2AI8n}0CydK0Vh<`w~Y=- zT>Kjg7`rpPYs85jkK>uFs$igmMu4X6wYkm_-(xiP{=L~G+NVXiBh6Y=WTx*rt8TDaR+M2hAhy1m&VWSQqB46@|#qJmCIr*a1pgM*6)SI=H<2R`5lO ze^DwVP>szNp|@9PZPM@izU+5Has*w`j`aF~sI?-Fy(_F;P9aErlZ)_OH%x-*szJqj zNOC%H%9IrsU%>zh6VgdkQU4D38_H-J`20>Z34reOe4GB>eVGT)H~_g4r?xqB&KtEU zDXFDdi`u#yM9jdnvq|bDi^i5XosBZ@UpB&xt4!V=*rv&RZ}Ww#nH{zW2tre~d4O^ns|^0!oO?l>z-% zc~}q`f&!GYd4#eKg+tWDyrfLWfbvPMo^JC-9oIA{B(ZDc%;F7)FY;~6nszMThjt@EK zr$PT_tc8AW=oe)joE|J0EJG6v(P)6Ws$9so)5#(X$2Q$1yiA(?fD2-k2-lEP68)0V zQE{aT%_C1<0;F&wQN5iQAd$6;b%)H{(}G4*FgXZP1SyGlyTkL1ICJ|+fgQjevn3|O zyH$O6t@fp=F>}@j{d)D@4RoI3C4opG55I@o_`-1C zh^&-&$YVnEan7b?`AJ?4tsSSzf}o#8menVr106YnE=+4`e*o~A#j{FIS+7_YTFyj7 zdEx+6?&%PW}0pTL(BhsJ%4pKAGq z#P_NTekZM6R+pS0J;l`0nI0t09XoLV+d}%VF1g<|%~|8ER$8Bf>5AOP*cB^23>kI- z^pZ?Lyi90~$LzL(9mI=NkmBdA9%}tE>PluM=qxt~vd~4QZ8~jPwFtXuvx?IQI~^rh zm-)K-Jvg(zox`JEHxpm2c6D_PwcGCB!PeMd3vwk;YvVzsxYvU?@_a$^aHKr9M?L6s z*OQwhiMTmx&KxyHBZVf0B^4_qJ!r7d#Xz`OxB(w|bBPWv1iE0InPMl$lNJ_n-Wd=a zg`5h%=WdIi8 zPve?Wp5C3V2SWsO2j9|us*UxnJ0x<%15;PDopW!67L=oW`-T^uRR2t=mMBa^Cv$`F zs!WYXoW71Xslq1T-HTfrX2aaMzn4nx&v6tJP96LaKr^(k@YmUUWAJH_=6+m2s8#CU zs1qnN$jVvM`XG6L+8*&Ef#b>LNd?mQ%0lV2))cbKm$wrk2W^=dJR_{P`9!w_d9Ok+ zYTjJQd{@Z}=wnRaL+%cuA7_y#WuKT~UioF#b}I8(iG^_t1L6HVoIy1!(ogQeds`V# zc;h(}XJCeuQqa6&WVvSls*y4($2J~iXJ;2!MDPN;4}}Lz{@b}-188n+ZEcYa?$=xajV$hD!2!ISPvXu;rhV72t8`QXnvqY?5+^(# zZp_b+w0LH4OZwy|d)oB%p!+{07(9APLrfAagTdXA2jA^T}4{jgFi(>yTNK z69;$qjj(HU`tG8WT<%17)=#aWj$Oe7kL8CqGSIP?RZ;hQkOYhxYtUATDD9Ip?1d4> zy=Dw~Ha!mkU1`XOT58#u_vBh!%8eOsy3hY!n$@>#T203{&B?6KzS6>g(R5W$XH(rS z?b<$`)ppM4-|(wn!xavv@slWk9lhgZ3AcllmS4U4^&#{j5x}LueLzp%U|tnJGq7iU z@MgUOpA(tzPlU5_4-D`&w}DA$KmD#W<&b<3>oH2J18t}MZfhuc8;r5GK3mxdIfMUi z-q6`~A9Tmm8xdH4&a>H)?84Vhrr-~Cxc(}`pz->l?R3AUj^Sj&@7(KXa)zeVwzl3B zpMCo5B!yU)Id8+p*bQ`!GuwJwhh-gtdco^IMUHhN@!SS#+xMP%$8{1D$QEbohqL`2D~iX;a(IIZqiauGh;Rohn)%Gh)qQ zwaOC^CHCRCE_aK876M$4Xs$Aa?O_nO?CP!o&~A{BSOVF+`tyf+urCmd%iMXO)2*`Z zH5zS=s88^JFo|rYZr!@`0hR!j9w7`X=1RQkx(ypn*SFR!Xko9@p3Vxy3J@^zKsxQ4 ziSo2?wft0I&yvX%&=HL-sMGI(r|7as=gOrl*iz)5tB~IgO-$P}BCt6Z@Y(*REfV{9 zj4>6E82f^UfODspnoBPvWl7j222W8?Z~!Bd*5eATA$ou0ulxB$Ujeb_clt_18qZXA zY@r@bw9t89EnP$O2I(O$9$|CzBwc5uzDJ{b3!#ea-Q<|xr+@Q$ekV}p&M_Oi2VT#W zhe^+}D=gk*^+?%&Z?dK3`EKqi&gZ_9&*q`smY6rW>Z{Bxg zDi+}!aU=1B8@bBG%4@{DzpmQV*Q+X*gS!m_kpU0PB`cd*t#;&Q<{n8`K|df+6kKs) zBSN;A{mbe4bbd)=KotJmZg<$k43$_zK?)c`gOeVVNk7pI{CNF`tuPH3zIZ^p;fza= z^?4NqB&fqt#^T@!`MK25dD-o|oE-7nH2zUMIhK17{MHwYU?4UOk`B0h3k%qosLbHj z%;5$KfG7cvdA|(iUbZiqiJ?kSM$XY`;}slCOWai3!IRi;7#^v z7RISj{;(EElwe`emV5}Sk-3nP^U;wy&6+pQy6!xj-hyoLjiv8u?AeR3-Qwi*wZy4+ zeybiaEDP6WqOoy4j)i58)iSIBRS*{2V_u%c#=MsHHh(UiOC-;~5d9HEN=Ajkupa_u znP_03On!)xd3>Mc2L=?oqOcpm`jRRkg|fGYzr)St(P*liAXor0V_cTNEPi3_+!or( z(uZ6;=gabFyo>wxo#Omn+wTGMkb9tkG{=07-({d1mkUZzL`k~#?70m_jJ?iZ74`XJ zDx%gwXI+@UY-J=@M{-_huvyG*GUwUjSfCO~KB+Xov4jjGtUXGf7x_BEMBCeK@+=I^ z<(2)-ekps@RcjH{u)?@%pjC(14Ob4gB4^uHl;gkYj`+SfPEL$oqwDFDRV=DF!|XPmy){Gv;7wrfRH6i#EXzD7u`Ae0T!?C%7us&N<35fGP^-Bk)7Du zQpiv-kkVupl~CNgefwh5AB5U_t6WOkO6P;$q)prK+ROERM@9vb*N7!9oq6aQktFGW zQj35pzXUu~F#zDw$$PcQEBTKmZw3*Dj1@Vu!I2L@{GmU633K3QrosAJz|t z@BqHUsgT3~%-%-f57hQoH@@5L>dM%ih;#_cefp7o|jSHxLZVHSIh2_qyOs zeQ*+DF{966@!!FLcW14*&^lMf9-(@zcQb$3-0xn_>a)qZfhK>>3{ELtb@tU{CA$uK zPKN|Bp#T9b$Mo=)?X~1_>y`E{t2^4fwy{<%dIwcKg0M3f+D^y{1bR^pe`$Lgfd}8@ ztuJkR^z1podm?nCbj1WZIeFYQz<8j6Vo_FLM^D*@72*vM)!d;zK{9(=OVY-g*Pa{l ztU`K&p+kpI+8%G4xTX!_FDp=w3$&P7lgfz!$MgO>`-B8`%Wtb@yi(x#UctZN`KWeE zmQoRbl)L;YvP4QyjmGY5CgbZgYPV^|Q1nR$sN}r|{|^e) zPDoB&dJAv`9Sx=&!&qFvit62G+HnbU6}16epxu7_%ozit-y)8b4Y|TB%^PVxp1EEI zR-v3FV?t{2>DND~zpdt;g#g#*37TBhxByQE11yXUfV__hgQauXfy^<#NFYJF&5myV zJSW_h$t3#b@Cr6txPCTC-#2RP@2oWj4YvS~c2O^Fx#2`{29Xffn*Rf6g?8Y%*guKj zfEFN20HH9w;NsL{=+5?<)wSp6{`|A+(4mLWlmw%!W8SVZ&rXMe9>GZd7T)0yz0Os~ z*B1n5ThY(dQ<;OgT)~vbp#{dAr1(I|*_BxiZc4H;8ITfm5HSzQcF9+Q6L^;jYi_KS)sH+dbfR6QrmDJ>YVqVZa4<3~gRqCFBo4r*Zr-NNL}IT)wtF2Al?8-m7FDF38FA z2D#7w&16%DYh?sX!#X&hL?~_5_6{N_aD7HzZDzkRcn`C*%)#m(63lkNF0SN2BcU5 z)$#9RA23>P|G&Op5?z_1GWOcuJ$sJtt_jQS+VhazeM@R-+rd2znHl=MeIu`DCx{Z1S2vEYR<)M zG`VEaMEJcnOKG1NnC#!FecHmuB9t3SS}sQ8=0+0AB3;Qd^isZ-I5zhn6SA6F52H& zO$p&q4DlC4O*I^yt=YD}`a!@~`7e%Qk)c zMLl?m3{#E~CFR2`+q*6b@vmdzf4>a8;r%3|5zlxXQUt|3gFvbYGBh3_R+7;+^h>$+ zR+_}B94n=7D2I`-9|t%rIlYeYE4q0w2+)3vc@k}Ry^=aYB;4tvbMuN2sz8nJwFbPr zmbCjhNhB1Evzbq*LcT!s8Zv9u!iAlQmP^ymn!vf%p!XZ_Ebc$i5U;*Js%5{j-0^k! z+Ug-2ytVBAbdJ;>kojVu^+(6$7x;Ez2R{bUbE9BbihPG*RrL~0H39;gykfqjwt})1 zb-`dQ|FZwNT3o!KXhzPfIUa;vj%>Pv(vq+?#DSG7L)5ZU2R}k?%9H48Z|4pLI%hTQ z115R6_C|=F%`u~(^}QYLRZ7!ZI4#Sc^d%9!$xGmt{@T0r+49hVj7s=#eAkA+ba?oN z{^Z_^7#p_8`=4CF-IaSi#7ty4I^F#R02#z84|m@WoT zx^w4FHhfP^t^6n)B*O+sr;kKM{nD9PvxtNAVJ z44HTZ6FXVf&h%Y^h{~u>UCHtqA2GDs659SiCL*3m&Xo*Va1wGdJ0C7H&GZcY?mghU z<+{wX1CB&#JCD%6Zn5fm__Y)3p6vaVZmmhcYu2jOlWaXg8o0>p7>9vG)0pn=mO?Q9 zTpdEczv<|o&$+!@j5FB}sMAaT;E#lbmwF=Gbq~3|*n`GLhnkQrUW8Q%xBCE73X6f8 zEf!Z{pV!+l)?ye20K&K=uA&BZBX|mE$pIGYa{S6r^T=r=49hP&!##m#GJ`X93O0uM zB-|vwAbUC+$|bFFvt0&(mk}NKO|N8JEBK(HkR+txK1{ab*@D`+aD88TzmD zN;sjo$3)7r4|)znm{CHud1ak7`FqHv+;^*o?x(jCx_l+sx)4~~j<~?w+&%TG5--Ox z&5SA%j@na&{*#y=9=SZh_eYZNj}+fc$4@LTexx(kag~;R!z0nJoR+N`lmB7Tx6)~% zUsf~yM-jRIWgM|96wOD6-|;Dk_HUAzTeatp+M|EgLf6}rJOa95+kWeQmanjH|vMc{11Be9F9e^Y-PxXw4j#K&IRv4E^4xoX$8m z*lbd0W~t0>#W`eVWLyH$u^&6h3Zl=P@M8pRnee7K5@IM-=d#b+j=sB~V)?PHDuv<0Ro`QR z(yU_+F2Bd+ZcYX<(6Jl_TY&tOBL$;tJB5~ z7NPbxCZ$xw9Qm^ipd?*)FGM#We1!oMS__q#hWdplXK+HtvyP|I9XiF7xL|5Ca^RQu&S&k#t46(7XQFHotO(pa( zxpp-)E~f21e6Za$fEgioLl;Vr#(|a3h$n9z9(nidQyTUs+;XC`Gz?+|K-`6t|F)5{ z9V7P^RZe>TBjAOxB+=o!?2;R-Ib41F)v?4C_+%XPfS!!e69)U(a_FjCrl7e`%fFqHbmKM)& zvp(R?0*3e(CWhkSfczbTE;MwMM2w1g*A62bYvJH`DLJi`II(>GoTKhX-sh2!lTB}5 zgz}%Y3#HuU`=)h$g(}NQ2**GDirJhZ%n6CSHhpVuf7dr7IFjIkRuDC%%L9xn-M=nf zy0}Pj0FU=3Xa7WC;N$bT)l}vS$#Svp5N7I}c}WMqq-Zn*JgmKG)26fM&gD>sJ!VpibtExP*d+Latt&v@#v1vWN2h*#V7j!SA-h}E=R zIAljue;3eP5ovNL*wDkAA^_^lMrHPi^`bfDK+5A5HmBF|UMGl0R@eE&F)bFdlp0W6lq;ghVwo1S@< zA?mZgR_P)mV_;ywVu@8_%9a-F@&B#R|c^7Z8(DGcppHfGp3$kxLK)trbt* zWEQW@U=i7jSYNEB?}ToV2-+@P>cwM+7nVmyMxq|=;wB4YX!v}3(z`E~R5G}Pb!JL& zfaUcqY(sJ>_{r%r+dn?|%yVeI_t1RH$t%MLhX>8OHY6^jUgpKlyCM<{WX&I~nZ<>_ zBx$$(i6b3P{SjBCqogQLf9M0qM2IBEaT>IEkd~Gw2ZRsRJ3Q#YvEi*#0`zYqt(ej2 z^T38mFh*hSxUuPIO{mB0YM5~2)~#CNbb)x0-p->Yw-$9s2FUpmY<-hPtkj4if5D zC72bhzwL^yC`88vOcscN0c@_!k3+#=yt$Kh#JZwaONCh8zBUS@?3k7tchSgCg=|7X zt+~AqR(5<_)PuJ&xdN5U3oWHCG_ct*VuuxL>sH)=G9kDbH{eaSEM}4M z#DFzSsT)V3m;NaUaiZfVPK@#f37g=Xi)jWIko(G;-7A0XL7=+<1s2smp2T$k+Yvh( zA004-*FKI*0}G5N3-pJIdX}^uEaF^VzPZjapiMLYfOEi;feTfYxt&A{5Cp2Wii!$0 zDK+GFb7xMQ4b}lTW)ywh8#$|`1uO3xZVDwMJS7?C8E#)&gERTIi|^5+KPMWkoen!e%2r^1T}hfH(jfLSlTFv<569~CJy=eZ79&a9=-oh zjC+VABB2?xvGmNm;QRcKGQXq#;qEP_Yq0;koVd|WO+65WmK+4#g@t$Y=uy-;c8T)` zWlK%tZcp(%;?-7Hv$bSGl9XcscusnGbz_w=9k)1r9op{U_z{-w907^~4|u!c-~yEi z`=!GD;Q*V_w;U$0C_;z4xussZTfI(Ooa_ijbYXTewJ+vP2o16@HGFR8ezLN*-X^}% z#E7XdX?fK(V&+}e0*1y_1ZqMe2p(<In09MdkMHo)2 zVafWk<2*asli48cPowPnz~HO-TdSX2N;GjOQ*sbKc#k}8>Sb{NqLuVB?^0rM4D`wb z3Is9ZBT%$%m=JDreJjdmVnv=_@_JN4lfR$()E_iW#EHD-a|n66MYWeQ0`f-^U`PXn zhK9ySdUmL(TqL8c+8Zh-2G7ch9I_@6)B|)TOH#V=JV%N9cKJ8o^(Ja5uf)2I5uxg) zPoE4GTQ++920%R31FMPB6gZvnSLYZ36wbdi>u0A%{kBpQD04$MrQzusgEM$Qz!^dW z2?atOwR8q;q2yTA%wj)M0QGg9Q%RUaZB-Pq*>{jcNTxf^oX0-OrP}-1@>E^>f2p8O zXwJyi4Z_Hg6)E@bjbN(hhd2L*>_VvkFKCHz(&|#odnYY*%yY(i)u%)82Xt;?-&F z{>n;6g`saZ+lYy)Y_**G`}S!vepBr5_!ALowl`P3h)8>Tx1Pzq&R1K!BPFb9pV~oX z*@1%xuR1)g`dG^gkntvGTLT0{#3B(jL}z^HhL7!}lesX8z8{MX$aCDl=oo6MuM77K zSJ(WtCqv8bubuFUl%)$%EQcsxQ~M!=+0DClP1)yHu%S)cwqlV*X@wumjXHPZ{QWzS zX8_%7CTH3(;Shv;;fuj<#2xM29S3659H;x1iPf3EhkPqXSe`8N>oW35bqnR zYKX;_!`Jsskr!1cc!6lb++YgycwnFssppB(*6#}oN1K_o7RgdTja&VF;dV$a2SrXy z;n?2d-^hi?9qGkr{6aR5q^Hbqt$}$=(W><9*)xS3T}GnwG^L=2HKiNJR#@go+RV?J z|Esdh;mg~4yLRo${`AR5DuBd`s1)?%a07fvcMY{lUU!LEON9a}JHn)Pz2~rkLOZ@)$+vGw@-Bme8z31-M5`%+kWESA z;lobNb@@K)=!i{6+6;fP)n@Y^1Drw|Dvn2%dU$q{L$Jju>UEipDak+V8d8V%^ELN! zk&$@6A^DUi7(ODFQc;}inZ49Dv@L&F(P>o1$O(^kHm}fyUnCheOpL1Rjr1f(6Bbx0!P+j$+*rJ&>KGHKNH*>l?-tNE9_~#MZSaHTpCDF9^8T2fitQ{m0l+D z!P;y9H=hSS;eq4eJYfW~8lq5&EWs#K)8=xcK-Jh{l=`i*Y`OGFn5~Hij#+?^Nr?-+ zMsf2)%N{^}N8B%tjyPn}o_bjjP{X_QhDJk5ktXWuK9Dlw(NsjSr}fjg$nix4`F?io ze;j;M`&HFtbbW`B{xqf{O?~pjbLY+m%q$HUG-A!oZTqweDk0wubouEZM1|Q^m%5xj zb?Uf%M!xmGxB!S<675e#d_ZT%7=}*9Y||;(*GPebLQ2@USqT#dVroD>_2Y@1nm0rEdA*)6J4{r(b41& zo@Ql@nl`Q6<6ghS1`7K3?yNfXAR*C{zdxEc#k={}VyJt8Lby&Vko#!t3MPG1AMGFW z-FEGs{U2UD9!QH5d-of_9{N#^h3{hqH}n8icYm-1AF|jP3pj=wXhqT$P(m|IcsL5N zpfmi|504`rl;)uZGqo?!{e>aZxP!jSE{eeyyl3&sa;^64(e7**S$tG~Xuq&(|4(ag z0*-b5_J3bQD2f(|Hd-__m5OSl4eisSv=iEqN~yF65lUL8P18clD4|80>?&W%Kqp%_f|7b zL3OS4!ZLL9_1U<-A2CJ3oKt?u*ADQnk{c5f6S!wj3&KZLFQ}=g2wAAet=-Yaz@Q;@ z1byW!AO;e%@EH3~U9}(z#f&6>a+fg1%%V+W(Da&TRV@QjnEC2YBw%ps0BuX|NRQC3 z>wGQ*oDFYw{L+`Jn>St`KWX=;N3qgJQ&|@)_N^m*fE!jxZB)N$K5Cs`qMc+60=96dU+^??C9 z@Ua{DT(r{C&%V6O7%-nD9Duxu3#Y+mce;m|7+3wYwH+akS&CSh~E1s5iuyRe+wv=a|Ii&4KewqUgCNwMzukkW3wv)_yD=$`)0|TZL8My>Y`QBt#1(w~B&uM=DB5z{R%{ z@vO&mvastbG}~BQ%BZ-`Iy`V71mUxi&;1_1khY=lAxq}W^=yctA-f2;oG*Tzwk7|BkH-N@^tBOio9o!+^=h(5>t1xL zIZ|6?1*oJSAvUv7WmX|$+m7{=)lyGUH>}QHBE_YV;jp3g*kqSF4~ZNm|8y8Qu-k@2 z@W5E95$}KF_U$wnVe8!&L3k8YP!Ega^f5Y81+t)Jpj!>WR`;{A(nHN$LqE*0wN+7I z4ZrxbtnaIL@OF<(Gz^b6Tty|+s8v57fdaX2ld~IDf@>qGY{U1^wB-dTdXBU)ow9G= zxpS3GB>@-G6VV`DN8Y6qfV*uj{)=L*v1ZePD#*bbt}5PI@IL1@&DOs!gC8qh1Tset+mT zZS)iehqf$QV%~ume@=b;@U&-``*ISX`3;yhT3ksxY)B$Ub)bGHxm0`1j2{e^Kp46Y z0ND=C)Q{ORo`6$cunAuidQ+KdCew(hR(_TSO-?(lQ+C?(O3oYxZYP z3q^ioHL{~Uc6u3@YduE`)(B$``(Zr!eTx_G&42r%(YEWRrlu<9TGQJz3x^xz8p9nM zFoIWxLlDG%75VG_4}{k0$tE3CQ(CW8t5%1jqjP7~XsvSj)S?SjT*)}H?>QSJ5K_`i zluNYOnK$i*^UKKW;n}U{*!8*CRa**#wKE9_lamu!O)|AvRdysL9JvaFuWwB9fPT{b zZO<4GA*rM>)_Qq)Z7CMttG?ZIEUz>WXx^OqSp0aOD{H+OX8x>ERHTR}3b;$#b&&_x4&;=js%e36v}yI70>4!0udZMWy+o;{ZxtuQq(iN!Nc3)Dr%v= z^U$Fl+lKQkv~2|X%rmE5H6e+G)4=C;5q%{k3xIQe4hvpCyJ|hB8n& z?CraF=FZ{ccm46l64*E-o{cDMd>G3DMueky3*9{5snqtsGVF7KK3M!}e0tw>JGmP5 z03u)Jd4Lw%VQV^C;Z!R|*h5YNfL;M~CgZ-VBWt&!ZCSmA@ zYJre6-0a3ny%D>zQu_7p|M?;X&DOd{`y(tAi;YbWqUN1iv?(Y^`%0Uu8?$n9{;X38 zk64O8{NyC3=@UCKt>nKU_zW*HHcor~TpvSleZ~Ep>NDoA#$L&sFlASY$CUOXMxQH7 z-#)x^?VB-?sez|1R6AD0LVjbaFu<2z{OC;Z0WnJh{|=?&T!-_h`*vgI#>l-UeqzMd zzZhx~x;IDg-EIS;$K}QdjlwNR&6YypV?q?GZzVko$tmdE zE>!L~1ZBYnC<|N^2W$8E@vgc=Iua^?I!J#%b_kck@sV~2!kL`n$J`mXUuk`01TtY+ zCcS#4Qh5+Z;yu27)s6doCs^K?@5;r`^m*qMy{=ZyMf1a8n|DoC0il$;W69E4Q!u3b zC7p?ocf4p}kC8vRW3A+33a%}Lh_3+3ht7ggSPviW{b;U0 zK2ZKwtY@+pA+)Ttf_aeD)(L;3_?G<}_*`sieqmmdn_r*e?fA7@w;6UVVMwRtYwY@e zLG&Bk*&_pwfnW>J(@3dr7O+)C@cf@p%C=$A4oQvp1jNY?recy=wq9NX>VEKmQt#Z+ zgr=1ag2w;_(#^CxSFxP8C~@khdegk_`~hyp)Q_8WdH3&YgNI)g&gIxKRgQk*Aha#o zY)u*mu0cH`T(uM(xw$hJYDYsTlWf=&ES4D#8 z2`3wAIa|$be!kz*PHJ@n?xwsytAFzEx8FS+yaJ+PD6l#z6o1yyOSwWSY2iur z-66T!IDY-FpGUO8B`baxG8BgL&S)JvOdcp>R2C=w&;`?EXiYPz?S0GYa&vQup6D!W z2l&3^@iY4vv8lGcgOihCn}KVCfXg@91D%VBh@{;#3eTRzIGJd+_xPl0!>BOauib-MY1jY11P(vMfA8-(u!~NdpDV8_}XC=Nwkz##CD}d7Y7w+yD6EDwJ4| z4hW%;-#9peK;DPFsvLo1jej`PAh5X1H~omLB^4)x2%lsyHz{PqW_WKncNC-yKHf%8 zv$L%z8aaYNc#$PG)px*cq8RMpkaR6}+(8QsUX1=p@I>~DOrn&4ddMiwm=yShQ%kvl z1U7fn3(#-zAKd)LUoz4j4C`fGU4BZvOP4Q)!FN*5T@@ZSG&Hm_v@!bt%zCrF*``79 z-~ol4?VSO~^%Ei8le5E=y16e|GMM=EMR|!@tOD^<4|?Mh5Kte?tnACXiD$~APMpvn ziJyDh<#&Nz496sVcRC&w_2PIx{p(M0YeJT9YW>M7dTveF+AVW+=g}2QY?-n99TWp{ ztH$lsj{6$hbHMb^2R!`wR8OBi708_sl}l?XyX$thtIGZSU`d)cgI(iSSB%Op`uOq1 z!o4^IbPFjc0#eQEq)%?rj)I= z{ouhZ?52yqyx_)ZKVU#>D3jJRk5j=E(g)94ym%|9@L-s4oB-OcYi5-H_-(;xFRx!$ zxt4@xmmFDS?rLAU`?-hft*?pq8oOuir!6CA%0Ce}Tc%17A5eFsfA_XsqMsZ#%Nsdd zz$B=RGkD2>by6USu}zNo>bh6`^lt?p+Hd*~Ag>HT=ey_BsZ;k&=&@^D$GFm*B=Zpg zhHAo8AT#OGAFL4{j38Wd)+T<2Lw%09Qco>gwhWAWh37sz zJL^F$MMH6#BzAQs8z=f zr|~*VSHZ5Wr{F6yG&OAoEG*N*D1rR&6;pH0LYSy*Wr(NF$<=jqNFe8SwI{-si5-JZ zI1O;5YCO5Q&pMkGK#L%=Q?p0DFD{#SW5$|$XZWOTi_J^V95P0yv;l1efi^j>5)h+N zQbya)J@S6pXKA-sI1-`X#V>XvlR}}%&N!vjr#^j&?upw(`zdBI6&Vb8;J|?!BY#|d z_E*Qm#6)T7;WRmW8ICPBIX272_<;nZ>9YadmQSY|7JLbEa%SRM4aHQ(dPmPp*u-yR z)Xr=!cBsg}3m5u$UmC}^ND|UhiC{PjC2?)0|c`4Yh>8fd~lw(hGgbl|@&g z?4HoS&zBb!K0N&DWg79{U7Sx{3JWuYnkyrY+=^p|@-Gd5(*5)6F-!)u6=!(Xu728V!H-HK3e+RgZZ=VoyJFrYC(yyYi<M+f;eDs|Xzjhc5k&i=vuZ|DC%Yogua_mIiC=<>9CmTKaO^B1; z|6rGO^_sqzU>{pFwZTKrjE^g`&(IHku;TOC#4b;@se7!OsK7^@Uf()#W zgRy^+&7Yp3Gy29K>(lMjqM@y~zAkWizdYvh1;bC(kT=1!b`n_O_+3^pI8Wcc7gyLP z4Z7<7F6h16aIa3WU#bVYChpt~>qw-r#=_AfMri9jKZi~dKqH*PwGIIxsF#dhtNji< zZ%Ok8YLGnZj8J6&8ovDuO442~`5AhWcP}I38UbrPv|odbKIM1TC57$WmWod@U5L(n>Nh;grrC?F=i6;>AP8;yZ_A*TY)|uf?bEL&We>+OOZ19lvo2m9RQ9G0B^iSVxgN3whMG z?IGQ4`_Xe3MJFP+Bo#^t-xz7lX*X}474t zOP^qeQFt%&MhK7;xf6jwhDJu=&*I!yu1rTOr_yHm0IqBX!Z|uQJqXLva4&FP^g?cr z!n0;8Ev9dZ?3R`ATC_^D>mg|qfH-GK+X1Va(UR)*U$HRIA*uiOOCDD%E*u%y^lJ55 zE|i;Z?$GD3pGxMY=CGd@k^x6G^ySg3^w%GrJp}YR0l(h+Pg;u}2g9gcKJ-f3Us9i=ZF5XakGeWy5;su8J2#p9 zXoZtI$6IJM4PR)+ZCnd`sd_G4O2F126Dz5LRKEiEwJCi2w)2Wwo`4>#CqlxFbu+2X z>kZB?Dki)Jw-La3Qn-&RoTcrQmL6@USyRtcDFMxUY))Bo{H1E^FXr!*eIN+3Equv z?3MNXS1fBGB-YJ_qBJ)bo68P<>)Z@(FT;0b5+ADiPIP^ePJ(^Ay20Ubh?3|4^zDk$CtVfE*l#C25)M!TOQ%F2c-~RPfA^|fzY+oXJHfb7<&HXQ7h24Ty-5w8}-}?6J=XN|yV!nnR z??J#Zpm zP}kJhzI%57++%ViXjR7b=474GO^FZ{MN%rUVP%|!rq5!W?0P}7*4*E|EkCcrMx#ah zHau>z=XUcE4tnn8Pfm|ZyYS?Rd>6Z)+ga&{Ki^B^MuWG7daVE+Q%u}kmmCor?HBIaqW|pThB>2$xwlmEArE!hw z@M(JTnC{w5ng9UOh3{Qz>E1gL-Rf)V`C#(ThZzB()Q;1Q z-@aW3QgsQ^Lf?=7C{NDazPxe9Jevx@h{p@3^7%p9p_mIfi``BJZ|S!?iWqT4)22;n z5c*_aXR@n^f+*``p6Zg7D;HNT4?hy!x8Q=a&0N;< zFy7_y$w>l|GLVrqk>b6)Pk>W?ad86&hrAWnV0+2!X&_lQpszLiQir;!PO2%FAU+c!JVf0F1F5|AM&f&V1@Hkis&#>GSUErvLuSnQp5UQt z;azKYYTudtg&#g>BDR)^+#s_BJ$^BES(7#p>qg>wb`aL`rFMx_La&TPu zg?h>Scb-l?NM-q}9O`4*?04(#UDBX&XkpYTxxo{8ob0_ z^W`V+e?y3!EF(Y&vp};W5(0V|^#%=GdPe;$NjC%rragPsk_YU^hDfZdUBh2f|ImJH zuE?8lM>$bI36(|Rz6AM-?)&hB^a+2OU4-Q@!NVl)ijIesRdDh0>rA!WMngTT%R7R^ zs2*JBeDCLe=yqQA15e;}jdo>RmK{%E=CZ8LR1Owi-G*9xIHX4=D*2)x)ptGd8A~uzp3}S5fjX`jcz=D9@@p%Bb0*ag3Fc8>>MPv z-%k~PdeJL*qJvxOtuLmfS9!IT7yISULH@DzqpHWM8y18)srzrMT!aP(8KPU8gR*~7 zWfRe|R=0x5Qz~#TqLF5S305TH;PRf!y7b-^tZg)%lOG$|8I;#2H9=R?|6g!Ue*yD!b-zA)^~>K-@Gz>Bzjia(vL0NVpk-#g1Pl0yy=iCa zql}n0Zyp+@>@_2M&_4?$y>n+h#ic7(8lHMo_~}z4-Qa895Z{LZz zP!Ay7$ByfYzCe}`TYCSCd)zFrn6OnWj{kF2Hc5x?94G!qT&V4iwF=*6{GM2Xo*JQM z07>h6n}(pgfKfy8L} zz1Se~b^S9JE*u~A^Si9RW1qCHHO2P*`}cj0AMYe42r#qS?|{-9;3_FYrC4GtaQwO- zp>>J$+H@H~_>PB+9^DYN6ShY~Pm4C*hv2Md(cBCD%ul_Uu2LppiL|<+guI zr@wr9VL-?Q629R;xaW#w*eWLgz3FuO;pk-`jOr;wJ@>y7LvNN6;O7c>RY*?vW{5Q- zY8%m(vJRHOMAv?Y&#x-l;~>&^68C6xX5+t6cDGAh+fv4QWA+x&U=2x|HD%wRWziFg z5QD^o04^3s!c+jAU6vgb$rL$AtaUYdDdsk+pv&bhX=j=U4`s2oN}JbhdSxaA1fT<3 zDG-78Y_bDc22i%CV9{4MNw~5M)&6_wZj1hft;MzT;mbbnYc}Lb18*+5Y-f%d0vuNO zrvEJ*_V~>vIoxPwM93=x91s;8N`P8@iZIS-fDa{`u;4?=I$bcWV$EnLB z`Ei~t{e#N_d%X-%q%BlcQNhz&pIx|jkaw+G#%*q+Gr(NJ+oh)mHfn?xK#BT6qBzMs z<-@Chg@_~*k+k-=8(-mO#S|#!0W^Rty?x2w@$(CkL?J0d8Ee17&pA@1p}ko7mv?>B zyY5E_RxV7SCp$YkF@0=* zx3TH4KV!26Bmzm+>9+`=6qK$L%@s3ZHX2$51ho#_y;~Q3Ij)QVDg`HukVe_N`;{>n z>0ib5S5aL57pUyKHy^B08d&(;Hr{uY5bRO~mIscHwT9+k%^~R`$ntpbm=;6F>1vnn zTjK7nL_{%#+b<<`mAW(Ey4k>P#Fo zzMO&$5`L3FI1WPV>np(kkOri%${oK$i^Di=!WW>ic~yyK$Y+`F#X^^<+N`k!XOk$e zFS!tz)zIOQ2q~Pd_nXD=3F<mavV6VtTnXiQ3rA9wZLbMfNJb3!Q3*qr3F z-U@vr5zHDqJtWZ&viFbD(3m=7Mj>$0tfKRLNsOL>P4Wm6ZOFhjA#K~XKXe=t7~a3* z=-q=kk3KA+G7uRGgdlv%W*SLMexNXRZ);hK$gX^-Gli)EkieltXh9QXV8a;915^H` zqCz}s0HH7GbUb`8#5ZJ^cWP2?MGuT?LqHG7VZO?UQ_!?_U%sc&j)-AqdzmO;aVKrt zwX0}xVVS2;0w`q^s9DC=waM()m=keooX0OrM)~E-^^pH_3FV>~5X&QoE#z1~aG*69 zAriT~Jlb25oHkW9M%#gc>v!5vsG0&BaCi`@mgR<7d~}@_kqbzB_;Lr;=F+h zAD$tYcTae1K=ndsaf}DUz&s`T-lQ4nZL;A!hRA{s>U?X{guMlsO?!9Jx0*C9ZsNn~ zN$UnMVKkV7w(Mdz{CMIr{qn_s<3oOV>A zB9Llc>;;o2>!N{}ny~tOvgg2jx5X9zA0?to?PmIkG8%C;a<+`S{eHb0xHN5Q0>^Qu zk`h{UVcL85w!*3d1f+W1kZX5Je%TF3Eei7bXkVNs1ag-Sv45)<@zAO(BLOU_r~u`Tub;WEaO$=SfG$PsXpUZlVwq zgI&Vv<{YzPVqinOEGcOWTKC^g3`l404?PxqM5B>L^&Ns|q?wn44FYco08?!b9k2~? zgdkZC!0X|6ZI(vO`k8-=R#Op)LR5_yIdTY+fkio&e3_L&87e*}N=ka6K+Xoiohg1( zV7mZRTF1&g#bg2!p}$IFX(g8x+1iHRECdPhmD|W=Y zGQI)T(uN!T{4)|tKkZ#d6A(78)23T~{Z^4+AvA{dll>;#ve!`%3N;Hs-9%A!yMLbr zHQo$`Ki%oGg%-s;0wtq|T<2|(!JV^OF(PX)#et;+41k*FBY>?rQ^}`DL0rtlXH~IT za6MQWM?GW8u`p~nbXF4hG73zIA(;JdDhnaHaXgEV-nV84!M47t4tIUh&86* zJCn^sTp;Q)^xv;EFHPh2_u7_vR5h37Lbw zXM-fB301;VM~(Y%PF}#w8Var8*4|bJInIV@?UbhkLQ6buJ!->&Nxee}{G(Q6@eSv3 zS_ec$Mq0t!?7aCE%@#&W0}s@s^vIqS#m!;S-LYAm`8SH#=TT)>A^BztR) znY#7+75C92fWZINS~c%ARG#aqUaGOQ%l0&yckY?do3rnp zL>bVE(iuvx^I^>NLW|hR5R*Lj(~c?Y$3`yhvp>V(;HBPa+CxPC%TqT$e?+0+7$}w%N0=yOF!4Q;GSWfm^)OwfX z4k-1E?{q+mQ<>9709)1s(l$*^O)+#~EQQFW6D*s5anJvsvf5e~C1N29)3Yb+eX@IF zjdyD^r@2!`2FA7(D9U+{nd_5wlvzk!gjR*A;S0Ij_V%SkFU(O(wuk)&xHjqAcR1xU zR4({sFuXpZ7Um*}xLW-1kn*Z9c)Wi~u{2EAtT3arKEDt1q=i_qYXEKzs55c1@P&t3 ztUpQCKe|;%8X;Db63BxgoGeHazHv#crmBPz@d0k;{lJzFpy_RB@p_cH;j1)h%E4pBM*x^mPRpkA z#B}8jRKe6eOR(B}js7;P6h2}#Lx!iEt=~rH5TWOE>D8@`@vNqRKwLZ7-@U-BXU`OD znoCftuyrk2anke?-h8_;lSsOl#NwJP*uC+mH)z|~4$%0o>aubV1P)z()U969xRvMH zM{ereu71#i{QCM!l$Ki$3D>FA3cnP;#k^(DDve=dHh0R8TwvF}%d|T;`iJI6ClB5{ zx?Qx%zRsO&T5WE)LuaV=w4+zve^0wVyZvZCTA9(l)){} zv)__Kq={^S-I@=Mz+HW6VoO>UIS0~ka|1S}Fyg9|G_IjtMIbNKj1^N-Og<9%!&YSg3bZkCqwd{5DN!O1CdU}q;iH5#GZzAe~gVVE* z$IYm|vi$w=U6Rs<-FxQT)gyOcZ*2@|p5e+2$on}JlP9(GNpGmXr%vB$OhuQv^BwHp z?uY@0f8FTn$>Q?_?@o7{xZhmIrs8N-l@*|v(`JKxETIhIsKeQx zq&-(GDk6PCf`g_c^uYF@pyGurdt67>(D{Bgs`k+pL7~g)@y!#7KIhU zc53uld}ARq56aqB_vNHp(m+{9=kccLQNvItN)iR)b97>DS=Xn^R(KhO7ng4OBPcWq z_FWr2&dC)$uLhiDr=!%0*Pd%=6uu`I2J&vh#!YnIZSqsKwlxN>0;*qk;=QA*YcQd{ ziQ02}nwnZump1+ti-pl@!zKF4Hmc3NOZIY21O-K0etAIEIwa!oX-)UQbL~bZ|5!g< zQ=QgLM<+qM-_*g6g8mp~R=ab?oxw;TXy_Vlc&PpJ2ZIjgfB3MO`+eZVHkRrPUQqAT zrw_nH3U%t;+7JT}9_X@OzvGB5RU5Nlp{gqL;kuM96t+*Vq%b z1uWBa>Rmn40!O6>!AMJ@ZazM7cIWuH#;0GOJlnML+|eV)AC8MC`(}_G7&LPQM0b11 zAq8GaA#wo)xFsD6o3mHP&+1f#lH0TVr$X?bs4Jc2L;$ z_lp;{HCp`)-#{`);EoQH_K)4sf$2|5w6L1`?x%f%^e4|XHnbn-Xq|ESkT$1L zF7fg>=3HlDXi_Ql?DB*y8C!mk5>MDpM&k)?D823H&$H9C)fxu9tzKQ;!S+%lMP=q&?Bc`#q{KIvN)j(z?Gcc+I0*B@mh0I%o{~@nvF2 zi=Mkq{Ia{bhT&;ce1J^#5*_zy#ne+Hjo=b7l=GnvdRF$vaA5`20oEg!} zHIyi)3FVOnhKB8NeA^~X*7ME;siiX`FF^ryx*g9T-^eUb7kTbB_^RL-s5Dh5WCQs; z)D6-tV?eZxD}hZ|%ij`l5%VZSZiJFCB*e1SukFIWO?swrCoRpYYX&jorNl`U(4dEA zNpMF^&01lH6{mRw2*PLO#;=llfzQ1aIG+FI$q74j5<@tUK=sTV=G{`$r))KS$1A8& ziN`L^69KFky0>HMqb-%BNPxvNlM~aowoR8`$OJ91&BF=ppO-8Gw!fOLT>h?DKQOer z<;lnyoQc4lVUGs_q*!u%F)kuYzsIaDM@Ij8=nLG>Y!w%V0+;p4;??o%du zN1hmGd;Iv{Pu2xhHr{J7$7 z-!u12g7Ew;!?Xc~o5KPq`yf)un>d#VA8TC>iAChww{K86Gl>})HY@*vQI5|QVD`WP1eUFAR73L&lI^0mo59O zKYQvlbNhnvlh)X77N(p?^2nuiKdi%Mj{^;6qMiU8nd7{6#LqoUi)OmiCH%1 z5_|EN#HxaZ2e$0nbY|@YU_KM7Rk@D8c-a?DIO9dJucE+I9I@&nB0*&z!p5fVIzvca zr8T9)^61f!-Pe#`M1C};_r9WNhnD|yPVtmyWmB@&cI{fXv-n7j+4-&A)9oky7_(=f zP1&+j$Eyaetr`zxyb&@v%2Yl#N4UiUowDgMw_Fo$4ctlP)D@n9DNIJ)x{Xmpe6dNi zpPM!Pu~+@w-ih|{o;C_?xlRUMiLm*uR>Gbf^-Hq`$O)!>ZV`vSSm>;uNQmG_m>So* zoLmnU#W4#pyk~mJLqzFM@)?_EIDRivX5M!=cv9qrz;Z(p_2swZVj>Gc%j-S)3qz1oPD7hu&q>l$gd z&%ZKn%nZ}IT%Ka!ki<8C?Rz<&9=G;BfAeC`TMiSyKPtMkCfBRtrW-J)6satdbrDS; zESrn_Pfy9Oa?JNQdU`8}6iqpl5}c!aB4XOc7X6!5gBb0jQ*lmRt%No=+I zUi;`vgTsISS~dIF+3aGEp2(L)6y9Z519GX-LHSL;|2}f03{Yg0#p1(Mq1a`IQeHYD zM?i&L!(eMkpEEEWR?%F|zF1dJFNo7c$Qi+S!RELn}!UE?$&l8(_g~VuM?4 ziOeuNc<$DqLtR8&f+Ptz$>jc33cA%jmw$ZT95!t@U>y@yHbM$!?9srI!xDT+kuyD8 zd~y=9L;=!n=S^}H13769R8}+ZO!zeX9BIf&WGFeThy>sWs?Q-E$RVigX)$G5)Z{`E zl!xHS&nM1f_UuA)?`NkzUA3Pi+pvyag^fX%r;;1T|g6(*7KU2$lsb7p>v3h8hO?`pleZ#)T{CROkr= z!yyi4x9?v81Map|HadA%25fML@vhX+-ad|B}f%vUrK!8te2@9 zLTBuxSJ{XoKa5+VGuj)l;q$sDBX0n-5>O*}SpCLrHlxN@c*bw~#(WAts3&@HB?U#4 z2r{V7969p^lI0;`-gTLjZagjrbf2~ed}_npcODz9+}=&-J938!B$ROHe7aD58NqZCQqL~ ze@$k|iv$;-)hjxEgSO-z_(Fz>Vw$Q;m~h@q#pI+n`xejs!(mV1*sR*G78a{g-0+#O zMB0PPqC6eSnOLnf&iY;l$~I~zsh^pdqeL7LvFxgZ+Kf9e|2EQ3Ksp2ZYDuX2JNl;N zuS_o{T4C}W&ijQtMlo2QWnBM&zHWrw*Q!|`0rXN<{A753 z&=G6)Y;0!qv~$ByU8?g=1(2gBl>T+bN96^a&9gwkLf^nkq-JN&VAsg+bmxp4b$im! z6`s9er^ku?+LjDp>7neix1am0V;|39vyh-8uub_^HjofE8)_V2BR@sFsm$p5X3 zSELjkZkg(&7`&{ct))6$T|U*AWVn0!j6bq$#R`DA-sC0TbsT>Hz)OqU|H-$JlZ{-~ z&Ai|`fYurpj113QXyLN0HpQ%AP{ec+@=_4jOI}cYzo1Zm_5}i%-rCk*Qsb7rX#_jY z6QSOi5+g7$HcpOw_KKlyMun2_J+wbV2!Q0=Q@Q|}D9p5U7GhVWNb zZ%1>~TiyGgY>s+Edi=rtR^Qh%WsJ48?Y&F$L>wf4oL_RM{QbxIrKw7|{vUOx8vXq5 zHp@~{l*3&vU9On(vnLIW`10kmrm{`*epruznXWlS>Ld_cK{_I|LbhhjM@BGI} zf~mEWA2FMa(nU61JsUOLn`kKdA`g4Nd=NmtHLh?33D*y2HU0NR&6KFh(g7L_&dZoy z3A91Ex~*Q~z=Yy=^Tx z{#uc7;KQxj_f~BTT4G^NAa5QYHz1M-)uF;r1#VF0m0_%uUY2%K;e$wE7Ct;wja|SA zq!Wd85{8X#k%LbNE5P+K3O%dtdp;}j9hGbfe=85xA5<5uGHxr9t4BHNik834ReUL( zY`jq^>@QK0b4vyyIynChg#bFdldC=v8AsJVi_(S;7Xm}#xV8euL|tiuRuwuRV%0#p z1X1SxqklH=0ZIsYGv{^TdPCZDgiGTomwg{^`?oM-N?Iz-0;W~NY#$Sh3x6T4_K+96&>piAVF zq<*iGjY*}yfSH-J6akc^;zDOZQ5dctJ2&DE+f0&>GHP8buGxn9j5?;Q5DW#mN~V72 zh|O@U!d1{0EjfL-&5{h|@CICvC)bwbT6O$1z;@|jf>DD)58QPNS#ojwvxUcJ;jx&7 zUq=eL$uToSILDokafen~Sz4Z+f3FQetrCZU_{4|8mD|9~S*)&NB`32JN};}@9ap$u zqmm8-q$MI(+P#O*SK60vp$q`0m6#z8Nmv_>utuR@5EjXVCjj%FD2OF^0lko%Ua-h0 zrX9$vX$}_q;IihpTSyTkS+l6<*s{$Vv_XrLF}zD;4x;}d>c0QrLFPsLjSZk*r~Q_K zzsR46+7JK{zQEzU8;%=It_o=xC56z3dY`UJ2cHX6NHWtR+U>cG4fp8H*{o!`7AsKB z`;4YUWAeXl)I!~gLoY($BclYN`P+{ZX10~|hX-hQEs?F4!US7IO>WQ4hvrIRB?L=^ z{sLxwYZqYrf&?r@et!P=*$XA^Y~&6KJ_wF20@+DjDs{yE{lV0KG~+Y>TCtQj%2sQq zV%%WazaP5zaX}>uryGYub-7Tn(lkju3q(5>ja$j^O;`m zw{5lRq1KlbyR?0@wUxEKYx+F)`SekzPgzL)9y^K0;J6SM8->vO_yg!^xmJW z{Nv&maT~Cmm;TlCx2c0|>*(2As_=KhTlh>kcKt%yAg60}n(H@)DcM@CpP&^%T*y)D zS8p^zdQCk%zOy73QwXKe{)|HF92X^)1-;?HT6ZyLTJWDiCNKc=!8`n{y<=LrjuPh>$@WqO=rV zQ-txr(Nw@vVe+k)F-ye}@M6Kk<64S*AjijJ-?#hcF0yI5ZP(7NU!yYG?fg;Mqwsa7 zfPQ6#%Pl61?mS8PSQibyxa=c6vtrQ}NGyXe-GG&XgWAV=kPR{Tyu;f;48f$8Xiw$I zdn9XNO|kB`xYr*+^+{F~=PKRjQ)2cJeHt8Hx1)p9zLGhEI3Vh4QE~AmP%lZ61+<}w zxDG7%0QsPt$ta*CXPRQ2$cewExrRZU!Z=k`6>fdzUhLbft@jAV!ED~%?qoZ|mnJzm zt6dWMxJ^+~+B{vbxE^}AJarNq(qu?kHO$g7b+p%7 z$WZaaS22n7KHcl;JO?Jri0K!IH0t{DCJ|rrHdMK)vqRV;5&nu59p>eK_HWpE)t9_$ zb#r#87^*x{9)D74m;U&Z9U~qk|EM{B?wc3iQq=3}qzKm9O9D2aAy?<^8Ffrj3+SHv zjUPV_oc-rZh8(|SyRkB9#I<7v)t-HC4F5hxLtF8vpiGg{zIkcBlg8B}YMw976pfyi zCvFbRj#PU?;9@2203|cC4@@_HrM2rR^Q+P4tbQ>LpFU+;8Cl@F4n!RM_aeD;!;rhk zrrss5i`v11Mh`Kbzee+`r&j&dTc^ZU&Zr8R99Mm)m5SmjZZ(7x=iot(Pd7gjkqov0()AZM+?&EJLHrTCCY-MtPXWC#xzwN$leh<-ti+E9E z6k+QUHB{R{mu5-i=$US=vu8g%`ZevJR}HVPy|SR!*L8BC*8A3!EmJe-+WA$J=$uP_E24gFH?oP}$baA5>Ssf*9!xpk zzvJGjCyHjfPr82`+jDb8#}U0+9v$?lnP>c1U!PH0H##UCQ@LU5i}Cex64yYpptVQ13iPdD!YEniU=Nif@|M zwQy0op|Gkq;8l*7Ld_t0{Wx0(SyRoIxLe7~eEXb|ozU}eq}Gbo7L5jUe(C78IdxX^ zMY-LE@LHqVoCvdhxiQdZLdU}sG$J0ky!~a4N#CBSbsc{+%zg2p<@oT`sr~;sWQUB= z|DykA_P*H_(Iq`2Vhm=UbKTJPT)9caeywIp2OI7@T$!HK;IhgF&26`R!kctFyXcKm z*2NZ%3)`ia=HAupr1S4#eZsTQY{uGNE8FE}*ADoUyV5$ZP51E)^XsBQB25!IDDCd1 z`QS;M>abM_n+8U^wX`<+_W+tWJL{zCh4}t@w^#m|8dg%?bLsuUcZWAdUhmb_ z&EV=J`wt;H=Hcx> zC^v7*b-cyx_ptF6ZPdqi{z9Q)wz9cJb?3I$5sm-u5sG>jiMOBqZSJ;z*RBm*UPox@ zW@bzJ@>})?G`Z*aCjWk|Woiv+mK|r!TF(I^kTO(vXyEyZLT^D!SE0lu1ilFuJlFPy zg9m5s3>gQJ34TC=uZjYK#+oTRuYVwhAF<=;DvTwE!5RQ;yt>4E`QjmVdae% z>^r%hCIto?$dk00Jq<}Ekw%S(A9i_&VmRgT<4K=$;HptRU8Ojc^O8R9&Y?kVNtBwt zvZE(Rrisb;&ughS#M32#qBwc`D4d}+c}ZSW6}c9zg&&5%=@%Am#A`zNR?jnj@R1H9 zpC)-HJ?Yat%e?bFxy6Apc#%_O#_a%gHxti1Vu$VfUR|3th_LOVNS5Gj@PH`a^|yd9 z!!g82=##;Le@|=M186`t!+L=_q#>|612HSfLz7pbS#qR;lw#bHhz07XS+E(8k0%lN zfhgW1H&9y{IimOq=ofn8i&r<4>@rw3yT2^>8`5m|G5^`_PCwmiRnFXAXM@XD|EKTS z{9)GA{awbVwY|Q7Gl}z#RCo#>z)#^4#N-cbaAa8AENlJNZ#c0hO1YqhcPRP^rMyUhm`9~kF@J9h7$ zT(o9!VkbXWgM@j#!^g5Dxvtr}ZDHmwR(>3dec) zYx9NoKeYc3c)NbO8zLWN!oPs+Cx1&M`9p!B*nois=5P8hFScD?-u#&s4t4%Z7KgpEb)! z@=?*}gH^RdjRVFL*~@`hJoJ?>g&-|0jhM8GF>33f_Z(S&(zUY+B)eazTGY}EHE4|7 z*B!7|rt3XL?Z^z7dJ5tkP3e1|oj&Si*Hh(Z*$SDVN=`o@0WgEbu1|8;MY2( Y+`982Kf3mRq2SNRp<}J1EgjeYU!s(78UO$Q literal 0 HcmV?d00001 diff --git a/supporting-docs/projects/images/guillotine-small.png b/supporting-docs/projects/images/guillotine-small.png new file mode 100644 index 0000000000000000000000000000000000000000..93a4f1aab7bf604da3a2299d197c3672a7780b5c GIT binary patch literal 14075 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 literal 0 HcmV?d00001 From 06f996c5d17d6a606a3c02ce50426f0770d4d724 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 31 Aug 2017 03:06:49 -0600 Subject: [PATCH 114/801] Document one-way bridging (#921) --- supporting-docs/guides/2017-03-11-types-of-bridging.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md index 91565bc0f..d9ddbd07a 100644 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ b/supporting-docs/guides/2017-03-11-types-of-bridging.md @@ -62,6 +62,10 @@ Some remote protocols (IRC, XMPP, SIP, SMTP, NNTP, GnuSocial etc) support federa We’re not aware of anyone who’s done this yet. +### One-way bridging + +One-way bridging is rare, but can be used to represent a bridge that is bridging from the remote system into matrix. This is common when the remote system does not permit message posting, or is simply not capable of handling posting outside their system. The users bridged from the remote system often appear as virtual users in matrix, as is the case with [matrix-appservice-instagram](https://github.com/turt2live/matrix-appservice-instagram). + ### Sidecar bridge Finally: the types of bridging described above assume that you are synchronising the conversation history of the remote system into Matrix, so it may be decentralised and exposed to multiple users within the wider Matrix network. From 1e3f5683c8603acababbdbf87b9e6c041307c666 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 31 Aug 2017 16:56:50 +0100 Subject: [PATCH 115/801] Make clear that the /sync timeout is zero by default --- api/client-server/sync.yaml | 8 ++++++-- specification/client_server_api.rst | 10 +++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 8da06f400..be2a82174 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -88,8 +88,12 @@ paths: name: timeout type: integer description: |- - The maximum time to poll in milliseconds before returning this - request. + The maximum time to wait, in milliseconds, before returning this + request. If no events (or other data) become available before this + time elapses, the server will return a response with empty fields. + + By default, this is ``0``, so the server will return immediately + even if the response is empty. x-example: 30000 responses: 200: diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 2973d1d8d..ab140641d 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -949,11 +949,11 @@ You can visualise the range of events being returned as:: Clients then receive new events by "long-polling" the homeserver via the ``/sync`` API, passing the value of the ``next_batch`` field from the response -to the previous call as the ``since`` parameter. This involves specifying a -timeout in the request which will hold open the HTTP connection for a short -period of time waiting for new events, returning early if an event occurs. Only -the ``/sync`` API (and the deprecated ``/events`` API) support long-polling in -this way. +to the previous call as the ``since`` parameter. The client should also pass a +``timeout`` parameter. The server will then hold open the HTTP connection for a +short period of time waiting for new events, returning early if an event +occurs. Only the ``/sync`` API (and the deprecated ``/events`` API) support +long-polling in this way. The response for such an incremental sync can be visualised as:: From f89eabdb39a6564ef98b314777ac285495f6aece Mon Sep 17 00:00:00 2001 From: komatr <31025290+komatr@users.noreply.github.com> Date: Wed, 6 Sep 2017 09:43:09 +0000 Subject: [PATCH 116/801] add new client Koma to the projects page --- supporting-docs/projects/2017-06-20-koma-im.md | 16 ++++++++++++++++ .../projects/images/koma-preview-thumbnail.png | Bin 0 -> 16274 bytes .../projects/images/koma-preview.png | Bin 0 -> 54047 bytes 3 files changed, 16 insertions(+) create mode 100644 supporting-docs/projects/2017-06-20-koma-im.md create mode 100644 supporting-docs/projects/images/koma-preview-thumbnail.png create mode 100644 supporting-docs/projects/images/koma-preview.png diff --git a/supporting-docs/projects/2017-06-20-koma-im.md b/supporting-docs/projects/2017-06-20-koma-im.md new file mode 100644 index 000000000..ab47c751b --- /dev/null +++ b/supporting-docs/projects/2017-06-20-koma-im.md @@ -0,0 +1,16 @@ +--- +layout: project +title: Koma +categories: projects client +thumbnail: /docs/projects/images/koma-preview-thumbnail.png +description: A modern client designed to launch fast and help you find information in large amounts of messages +author: wilpeters +maturity: Alpha +--- + +![screenshot](/docs/projects/images/koma-preview.png "{{ page.title }}") + +# {{ page.title }} +An instant messaging application written specifically for the matrix protocol to take advantage of its modern features. Designed to be lightweight but not dependent on fast Internet: the state is stored locally so you don't have to wait every time you open it. Highly versatile notification options keep you informed without getting distracted. +While it's still in early stages and far from feature-complete, the chat window has taken shape, feel free to try it out and give us feedback and feature requests. +The project is hosted on [github](https://github.com/koma-im/koma). diff --git a/supporting-docs/projects/images/koma-preview-thumbnail.png b/supporting-docs/projects/images/koma-preview-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..96717544bcd80b2f2f415bb909290e2bb8092a0e GIT binary patch literal 16274 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 Date: Sun, 10 Sep 2017 20:26:40 +0100 Subject: [PATCH 117/801] update corp details & XMPP FAQ --- supporting-docs/guides/2015-08-19-faq.md | 64 +++++++++++++++--------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index 0cdd387a3..78600ab16 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -92,24 +92,40 @@ number to discover people to talk to. ##### What kind of company is Matrix.org? -Matrix is an open initiative which acts as a neutral custodian of the -Matrix standard. It's not actually incorporated anywhere at the moment -but we are looking at the best legal structure for the future (and as -of October 2015 we have hopefully found one). Whatever the legal -structure, we are committed to keeping the Matrix project open. +Matrix.org is an open initiative which acts as a neutral and independent custodian +of the Matrix standard. As of Sept 2017 we are finally in the process of incorporating +it as a dedicated non-profit entity (most likely a limited by guarantee UK private company +called the Matrix.org Foundation). ##### Who is funding Matrix.org? -Most of the current core contributors to Matrix work at -[Amdocs](http://amdocs.com), who have kindly given us permission to work -on Matrix as an independent non-profit initiative. Other contributors +Matrix.org is currently (Sept 2017) funded by the community, through a +combination of community support (via +[Patreon](https://patreon.com/matrixdotorg), +[Liberapay](https://liberapay.org/matrixdotorg), Bitcoin and Ethereum), +corporate sponsorship, and grant funding. Current Elliptic-level supporters on +Patreon and corporate sponsors can be found on our [supporters +page](https://matrix.org/blog/supporters). If you would like to support the core +Matrix team as a member of the community, please visit our +[Patreon](https://patreon.com/matrixdotorg) or +[Liberapay](https://liberapay.org/matrixdotorg) pages, or you can send us +Bitcoin at 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE or Ethereum at ETH +0xA5f9a4f9E024F6D727f7afdA9257e22329A97485. If you would like to sponsor the +team as a corporation, or are interested in paying for prioritised or custom +development, please [get in touch](mailto:matthew@matrix.org). + +For the first three years of Matrix's development (2014-2017), most of the core +contributors worked for [Amdocs](https://www.amdocs.com), who paid for them to +work fulltime on Matrix. In July 2017, Amdocs considered the project to be +sufficiently successful that it could now self-support and so stopped funding. +The majority of the core team is now employed by New Vector, an independent company +set up to hire the team and support Matrix's development. Other contributors are funded by their own employers or donate their own time to the project. ##### Who is building Matrix? -The core team is ~10 people with extensive experience in building custom -VoIP and Messaging apps for mobile network operators. Most of us have -day jobs at [Amdocs](http://amdocs.com) or [OpenMarket](http://openmarket.com), +The core team is ~12 people with extensive experience in building custom +VoIP and Messaging apps for mobile network operators. Most of us work for New Vector, but there are an increasing number of contributors from other companies and folks all over the internet. @@ -217,24 +233,24 @@ bridges as the project progresses. The Matrix team used XMPP (Openfire, ejabberd, spectrum, asmack, XMPPFramework) for IM before starting to experiment with open HTTP APIs as an alternative in around 2012. The main issues with XMPP that -drove us in this direction were: +drove us in this direction **as of 2012** were: - Not particularly web-friendly - you can't easily speak XMPP from a - web browser. (N.B. Nowadays you have options like XMPP-FTW and - Stanza.io that help loads with letting browsers talk XMPP). + web browser. *N.B. Nowadays you have options like XMPP-FTW and + Stanza.io that help loads with letting browsers talk XMPP* - Single logical server per MUC is a single point of control and - availability. (MUCs can be distributed over multiple physical + availability. *MUCs can be distributed over multiple physical servers, but they still sit behind a single logical JID and domain. FMUC improves this with a similar approach to Matrix, but as of Oct - 2015 there are no open source implementations.) + 2015 there are no open source implementations. The MIX XMPP extension + also aims to address this limitation*. - History synchronisation is very much a second class citizen feature - Bridging to other protocols and defragmenting existing communication apps and networks is very much a second class citizen feature -- Stanzas aren't framed or reliably delivered without extensions. (See +- Stanzas aren't framed or reliably delivered without extensions. *See [wiki.xmpp.org](http://wiki.xmpp.org/web/Myths#Myth_Four:_XMPP_is_unreliable_without_a_bunch_of_extensions.) - for an XMPP take on this) -- Multiple device support is limited. (Apparently Carbons and MAM help - with this) + for an XMPP take on this* +- Multiple device support is limited. *Carbons and MAM aim to resolve this* - Baseline feature set is so minimal that fragmentation of features between clients and servers is common, especially as interoperability profiles for features have fallen behind (as of July 2015) @@ -242,13 +258,13 @@ drove us in this direction were: count X.509 certs, which [are questionable](http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/)) - Not particularly well designed for mobile use cases: push; - bandwidth-efficient transports. (Since the time of writing a [Push + bandwidth-efficient transports. *Since the time of writing a [Push XEP has appeared](http://xmpp.org/extensions/xep-0357.html), and [wiki.xmpp.org](http://wiki.xmpp.org/web/Myths#Myth_Three:_It.27s_too_bandwidth-inefficient_for_mobile.) - claims that XMPP runs "fine" over a 9600bps + 30s latency link.) + states that XMPP is usable over a 9600bps + 30s latency link.* -The whole subject of XMPP vs Matrix seems to bring out the worst in -people. Rather than fighting over which open interoperable communication +This said, the whole area of XMPP vs Matrix is quite subjective. +Rather than fighting over which open interoperable communication standard works the best, we should just collaborate and bridge everything together. The more federation and interoperability the better. From 43a880be50e820fc328267f70c119512ab43bd04 Mon Sep 17 00:00:00 2001 From: Max Sandholm Date: Wed, 13 Sep 2017 17:19:23 +0300 Subject: [PATCH 118/801] Add godot-matrix to the list of SDKs --- supporting-docs/projects/2017-09-13-godot-matrix.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-09-13-godot-matrix.md diff --git a/supporting-docs/projects/2017-09-13-godot-matrix.md b/supporting-docs/projects/2017-09-13-godot-matrix.md new file mode 100644 index 000000000..86edfb5df --- /dev/null +++ b/supporting-docs/projects/2017-09-13-godot-matrix.md @@ -0,0 +1,13 @@ +--- +layout: project +title: godot-matrix +categories: projects sdk +# valid categories are client, server, as (application service), sdk (client sdk), and other +description: Godot Engine module for Matrix client +author: vurpo +maturity: Alpha +--- + +# {{ page.title }} +Module for [Godot Engine](https://godotengine.org) that lets you easily integrate a Matrix client into a game developed using Godot (for example for in-game chat, matchmaking, lobbies, or something else entirely). [Source](https://gitlab.com/vurpo/godot-matrix) + From 997e76fcf7a5fa984dd70e78a580b38f2654d4ef Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Wed, 13 Sep 2017 19:27:36 +0100 Subject: [PATCH 119/801] Update JSON body for 3PID onbind requests --- specification/identity_service_api.rst | 34 ++++++++++++++++---------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index 36f4c3d44..fa03e162c 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -239,19 +239,27 @@ At a later point, if the owner of that particular 3pid binds it with a Matrix us Content-Type: application/json { - "invites": [{ - "mxid": "@foo:bar.com", - "token": "abc123", - "signatures": { - "my.id.server": { - "ed25519:0": "def987" - } - } - }], - - "medium": "email", - "address": "foo@bar.com", - "mxid": "@foo:bar.com" + "medium": "email", + "address": "foo@bar.baz", + "mxid": "@alice:example.tld", + "invites": [ + { + "medium": "email", + "address": "foo@bar.baz", + "mxid": "@alice:example.tld", + "room_id": "!something:example.tld", + "sender": "@bob:example.tld", + "signed": { + "mxid": "@alice:example.tld", + "signatures": { + "vector.im": { + "ed25519:0": "somesignature" + } + }, + "token": "sometoken" + } + } + ] } Where the signature is produced using a long-term private key. From af961321e9577efa8fe6eecebe96a5a5c6831e56 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 14 Sep 2017 19:13:36 +0100 Subject: [PATCH 120/801] Specify remote invite --- specification/server_server_api.rst | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index cb76c3d55..3f8a2c608 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -749,6 +749,64 @@ that requested by the requestor in the ``v`` parameter). Specify (or remark that it is unspecified) how the server handles divergent history. DFS? BFS? Anything weirder? +Inviting to a room +------------------ + +When a user wishes to invite an other user to a local room and this other user +is on a different server, the inviting server will send a request to the invited +server:: + + PUT .../invite/{roomId}/{eventId} + +The required fields in the JSON body are: + +==================== ======== ============ + Key Type Description +==================== ======== ============ +``room_id`` String The room ID of the room. Must be the same as the + room ID specified in the path. +``event_id`` String The ID of the event. Must be the same as the event + ID specified in the path. +``type`` String The value ``m.room.member``. +``auth_events`` List An event-reference list containing the IDs of the + authorization events that would allow this member + to be invited in the room. +``content`` Object The content of the event. +``depth`` Integer The depth of the event. +``origin`` String The name of the inviting homeserver. +``origin_server_ts`` Integer A timestamp added by the inviting homeserver. +``prev_events`` List An event-reference list containing the IDs of the + immediate predecessor events. +``sender`` String The Matrix ID of the user who sent the original + `m.room.third_party_invite`. +``state_key`` String The Matrix ID of the invited user. +``signatures`` Object The signature of the event from the origin server. +``unsigned`` Object An object containing the properties that aren't + part of the signature's computation. +==================== ======== ============ + +Where the ``content`` key contains the content for the ``m.room.member`` event +specified in the `Client-Server API`_. Note that the ``membership`` property of +the content must be ``invite``. + +Upon receiving this request, the invited homeserver will append its signature to +the event and respond to the request with the following JSON body:: + + [ + 200, + "event": {...} + ] + +Where ``event`` contains the event signed by both homeservers, using the same +JSON keys as the initial request on ``/invite/{roomId}/{eventId}``. Note that, +except for the ``signatures`` object (which now contains an additional signature), +all of the event's keys remain the same as in the event initially provided. + +This response format is due to a typo in Synapse, the first implementation of +Matrix's APIs, and is preserved to maintain compatibility. + +Now that the event has been signed by both the inviting homeserver and the +invited homeserver, it can be sent to all of the users in the room. Authentication -------------- @@ -1143,5 +1201,8 @@ that are too long. [[TODO(markjh) We might want to allow the server to omit the output of well known hash functions like SHA-256 when none of the keys have been redacted]] + +.. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage +.. _`Client-Server API`: ../client_server/unstable.html#m-room-member .. _`Canonical JSON`: ../appendices.html#canonical-json .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 From 9d90fa2caea6201e834da4d9c6a7b557d3179987 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 14 Sep 2017 19:44:40 +0100 Subject: [PATCH 121/801] Specify third-party invites --- specification/server_server_api.rst | 102 ++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 3f8a2c608..65186e0ba 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -808,6 +808,107 @@ Matrix's APIs, and is preserved to maintain compatibility. Now that the event has been signed by both the inviting homeserver and the invited homeserver, it can be sent to all of the users in the room. +Third-party invites +------------------- + +When an user wants to invite another user in a room but doesn't know the Matrix +ID to invite, they can do so using a third-party identifier (e.g. an e-mail or a +phone number). + +This identifier and its bindings to Matrix IDs are verified by an identity server +implementing the `Identity Service API`_. + +.. _`Identity Service API`: ../identity_service/unstable.html + +Cases where an association exists for a third-party identifier +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If the third-party identifier is already bound to a Matrix ID, a lookup request +on the identity server will return it. The invite is then processed by the inviting +homeserver as a standard ``m.room.member`` invite event. This is the simplest case. + +Cases where an association doesn't exist for a third-party identifier +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If the third-party identifier isn't bound to any Matrix ID, the inviting +homeserver will request the identity server to store an invite for this identifier +and to deliver it to whoever binds it to its Matrix ID. It will also send a +``m.room.third_party_invite`` event in the room to specify a display name, a token +and public keys the identity server provided as a response to the invite storage +request. + +When a third-party identifier with pending invites gets bound to a Matrix ID, +the identity server will send a ``POST`` request to the ID's homeserver as described +in the `Invitation Storage`_ section of the Identity Service API. + +The following process applies for each invite sent by the identity server: + +The invited homeserver will create a ``m.room.member`` invite event containing +a special ``third_party_invite`` section containing the token and a signed object, +both provided by the identity server. + +If the invited homeserver is in the room the invite came from, it can auth the +event and send it. + +However, if the invited homeserver isn't in the room the invite came from, it +will need to request the room's homeserver to auth the event:: + + PUT .../exchange_third_party_invite/{roomId} + +Where ``roomId`` is the ID of the room the invite is for. + +The required fields in the JSON body are: + +==================== ======= ================================================== + Key Type Description +==================== ======= ================================================== +``type`` String The event type. Must be `m.room.member`. +``room_id`` String The ID of the room the event is for. Must be the + same as the ID specified in the path. +``sender`` String The Matrix ID of the user who sent the original + `m.room.third_party_invite`. +``state_key`` String The Matrix ID of the invited user. +``content`` Object The content of the event. +==================== ======= ================================================== + +Where the ``content`` key contains the content for the ``m.room.member`` event +as described in the `Client-Server API`_. Its ``membership`` key must be +``invite`` and its content must include the ``third_party_invite`` object. + +The inviting homeserver will then be able to authenticate the event. It will send +a fully authenticated event to the invited homeserver as described in the `Inviting +to a room`_ section above. + +Once the invited homeserver responded with the event to which it appended its +signature, the inviting homeserver will respond with ``200 OK`` and an empty body +(``{}``) to the initial request on ``/exchange_third_party_invite/{roomId}`` and +send the now verified ``m.room.member`` invite event to the room's members. + +Verifying the invite +++++++++++++++++++++ + +When a homeserver receives a ``m.room.member`` invite event for a room it's in +with a ``third_party_invite`` object, it must verify that the association between +the third-party identifier initially invited to the room and the Matrix ID that +claim to be bound to it has been verified without having to rely on a third-party +server. + +To do so, it will fetch from the room's state events the ``m.room.third_party_invite`` +event for which the state key matches with the value for the ``token`` key in the +``third_party_invite`` object from the ``m.room.member`` event's content to fetch the +public keys initially delivered by the identity server that stored the invite. + +It will then use these keys to verify that the ``signed`` object (in the +``third_party_invite`` object from the ``m.room.member`` event's content) was +signed by the same identity server. + +Since this ``signed`` object can only be delivered once in the ``POST`` request +emitted by the identity server upon binding between the third-party identifier +and the Matrix ID, and contains the invited user's Matrix ID and the token +delivered when the invite was stored, this verification will prove that the +``m.room.member`` invite event comes from the user owning the invited third-party +identifier. + Authentication -------------- @@ -1204,5 +1305,6 @@ that are too long. .. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage .. _`Client-Server API`: ../client_server/unstable.html#m-room-member +.. _`Inviting to a room`: #inviting-to-a-room .. _`Canonical JSON`: ../appendices.html#canonical-json .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 From 4a9969110827266963e713740ab623d664861c2e Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 14 Sep 2017 19:48:43 +0100 Subject: [PATCH 122/801] Move link to the bottom of the file --- specification/server_server_api.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 65186e0ba..3f7957d6b 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -818,8 +818,6 @@ phone number). This identifier and its bindings to Matrix IDs are verified by an identity server implementing the `Identity Service API`_. -.. _`Identity Service API`: ../identity_service/unstable.html - Cases where an association exists for a third-party identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1304,6 +1302,7 @@ that are too long. .. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage +.. _`Identity Service API`: ../identity_service/unstable.html .. _`Client-Server API`: ../client_server/unstable.html#m-room-member .. _`Inviting to a room`: #inviting-to-a-room .. _`Canonical JSON`: ../appendices.html#canonical-json From 94374c696bc8c03244ee3c490d01c75040b009dd Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 14 Sep 2017 19:51:23 +0100 Subject: [PATCH 123/801] Update changelog --- changelogs/client_server.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index b5f31209d..7fe0b0309 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -51,6 +51,10 @@ - Spec clarifications: + - Add endpoints and logic for invites and third-party invites to the federation + spec and update the JSON of the request sent by the identity server upon 3PID + binding + (`#997 `) - Fix response format and 404 example for room alias lookup (`#960 `) - Fix examples of ``m.room.member`` event and room state change, From c71575c94d38650b8e30817ea5c40a1be3779a70 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 14 Sep 2017 19:53:11 +0100 Subject: [PATCH 124/801] Remove useless blank line --- specification/server_server_api.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 3f7957d6b..4bcb8cbcd 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1300,7 +1300,6 @@ that are too long. [[TODO(markjh) We might want to allow the server to omit the output of well known hash functions like SHA-256 when none of the keys have been redacted]] - .. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage .. _`Identity Service API`: ../identity_service/unstable.html .. _`Client-Server API`: ../client_server/unstable.html#m-room-member From 8de93147b14ade39666a869f5dbd1fdd6592921c Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Fri, 15 Sep 2017 16:57:05 +0100 Subject: [PATCH 125/801] Typo --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 4bcb8cbcd..23d684a1a 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -888,7 +888,7 @@ Verifying the invite When a homeserver receives a ``m.room.member`` invite event for a room it's in with a ``third_party_invite`` object, it must verify that the association between the third-party identifier initially invited to the room and the Matrix ID that -claim to be bound to it has been verified without having to rely on a third-party +claims to be bound to it has been verified without having to rely on a third-party server. To do so, it will fetch from the room's state events the ``m.room.third_party_invite`` From 6b6a941e3614a0e0c0408ee0096363a68e2c596b Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Fri, 15 Sep 2017 16:58:34 +0100 Subject: [PATCH 126/801] Phrasing --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 23d684a1a..eb863e743 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -752,7 +752,7 @@ that requested by the requestor in the ``v`` parameter). Inviting to a room ------------------ -When a user wishes to invite an other user to a local room and this other user +When a user wishes to invite an other user to a local room and the other user is on a different server, the inviting server will send a request to the invited server:: From e978384d4b2862b3f9219dd25f5e4420fdb3b982 Mon Sep 17 00:00:00 2001 From: Max Dor Date: Sat, 16 Sep 2017 14:09:03 +0200 Subject: [PATCH 127/801] Update mxisd project description --- supporting-docs/projects/2017-01-23-mxisd.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md index c0a06719a..1ccacf3e8 100644 --- a/supporting-docs/projects/2017-01-23-mxisd.md +++ b/supporting-docs/projects/2017-01-23-mxisd.md @@ -4,13 +4,22 @@ title: mxisd categories: projects other description: A Matrix Identity Server implementation author: Kamax.io -maturity: Alpha +maturity: Beta --- # {{ page.title }} -mxisd is a federated Matrix Identity Server following a cascading lookup model, using LDAP (optional) then other identity servers, including the central Matrix servers. -It is targeted to people/organisation that run their own Homeserver for a specific domain and want to publish 3PID mapping without having to rely on central servers. +mxisd is a federated Matrix Identity Server for self-hosted Matrix servers. -Is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent). +It provides the following features for your Matrix Homeserver: +- Link to an already existing Identity store - No more duplication of data that would already be in your AD/LDAP, forums, CRM, etc. +- Link to the central Matrix Identity servers (vector.im & matrix.org) to provide native experience +- Search people by name (or anything else!), looking in your Identity store and your homeserver (integration with Directory API) +- Invite people by e-mail, phone number, etc. instead of Matrix IDs +- Show who's using Matrix and their ID on your smartphone when looking to invite people to a Direct chat or Group chat +- Allow people to link identifiers (e-mail, phone number) to their Matrix account to be locally or globally searchable +- Provide an all-in-one authentication backend for synapse using the [REST auth module](https://github.com/kamax-io/matrix-synapse-rest-auth) +mxisd is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) with much added values and features. + +Come talk to us on Matrix at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io) or have a [peek view](https://view.matrix.org/room/!NPRUEisLjcaMtHIzDr:kamax.io/) Follow the progress and grab the code from [GitHub](https://github.com/kamax-io/mxisd). From 6ee9a8c96417dc9a3dc0e37ac4fb9f2c8145f9f8 Mon Sep 17 00:00:00 2001 From: Max Dor Date: Sun, 17 Sep 2017 01:37:56 +0200 Subject: [PATCH 128/801] Update matrix-appservice-email info --- .../2017-05-24-matrix-appservice-email.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/supporting-docs/projects/2017-05-24-matrix-appservice-email.md b/supporting-docs/projects/2017-05-24-matrix-appservice-email.md index 0c45ad657..dee6d6dfc 100644 --- a/supporting-docs/projects/2017-05-24-matrix-appservice-email.md +++ b/supporting-docs/projects/2017-05-24-matrix-appservice-email.md @@ -1,19 +1,19 @@ --- layout: project -title: Matrix E-mail Bridge +title: Matrix Email Bridge categories: projects as -description: Two ways from/to E-mail bridge -author: Kamax.io, sponsored by Open-Xchange +description: Two ways Email<->Matrix bridge +author: Kamax.io and Open-Xchange maturity: Alpha --- # {{ page.title }} -An application service gateway for bridging between E-mail and Matrix, written using Spring Boot (Java) using [matrix-java-sdk](https://github.com/kamax-io/matrix-java-sdk). +An application service gateway for bridging between Email and Matrix, written using Spring Boot (Java) using [matrix-java-sdk](https://github.com/kamax-io/matrix-java-sdk). You can get the [code on github](https://github.com/kamax-io/matrix-appservice-email). Features: -- Matrix to E-mail forwarding -- E-mail to Matrix forwarding -- E-mail <-> Matrix <-> E-mail forwarding, if several bridge users are present within a room -- Fully configuration notification templates, per event -- Subscription portal where E-mail users can manage their notifications + - Matrix to Email forwarding + - Email to Matrix forwarding + - Email <-> Matrix <-> Email forwarding, if several bridge users are present within a room + - Fully configuration notification templates, per event + - Subscription portal where E-mail users can manage their notifications From a42d3011b78911975dac8d925825ba25553d52b0 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sun, 17 Sep 2017 17:29:40 +0100 Subject: [PATCH 129/801] Hopefully, fix some bullet lists in projects pages ... because why would markdown be consistent? --- supporting-docs/projects/2017-01-23-mxisd.md | 1 + supporting-docs/projects/2017-05-02-sydent.md | 1 + 2 files changed, 2 insertions(+) diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md index 1ccacf3e8..9f9e21470 100644 --- a/supporting-docs/projects/2017-01-23-mxisd.md +++ b/supporting-docs/projects/2017-01-23-mxisd.md @@ -11,6 +11,7 @@ maturity: Beta mxisd is a federated Matrix Identity Server for self-hosted Matrix servers. It provides the following features for your Matrix Homeserver: + - Link to an already existing Identity store - No more duplication of data that would already be in your AD/LDAP, forums, CRM, etc. - Link to the central Matrix Identity servers (vector.im & matrix.org) to provide native experience - Search people by name (or anything else!), looking in your Identity store and your homeserver (integration with Directory API) diff --git a/supporting-docs/projects/2017-05-02-sydent.md b/supporting-docs/projects/2017-05-02-sydent.md index b247acc8e..e2939249c 100644 --- a/supporting-docs/projects/2017-05-02-sydent.md +++ b/supporting-docs/projects/2017-05-02-sydent.md @@ -9,6 +9,7 @@ maturity: Stable # {{ page.title }} sydent is an implementation of the Matrix Identity Server API in Python, supporting: + * Validation of 3PIDs (email and MSISDNs) for signup and discovery * Binding of 3PIDs to MXIDs (for discovery) * Lookup of 3PIDs to MXIDs From 13d3293378b3e49fdcf1637e471f91e3d2b485e1 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 18 Sep 2017 13:48:35 +0100 Subject: [PATCH 130/801] Fix version-extraction regexp Fixes https://github.com/matrix-org/matrix-doc/issues/982 --- scripts/dump-swagger.py | 2 +- scripts/gendoc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 3b40bdb5d..58ec2b844 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -49,7 +49,7 @@ else: release_label = sys.argv[2] if len(sys.argv) > 2 else "unstable" major_version = release_label -match = re.match("^(r\d)+(\.\d+)*$", major_version) +match = re.match("^(r\d+)(\.\d+)*$", major_version) if match: major_version = match.group(1) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 2077fcbe5..05d7908ee 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -469,7 +469,7 @@ def list_targets(): def extract_major(s): major_version = s - match = re.match("^(r\d)+(\.\d+)*$", s) + match = re.match("^(r\d+)(\.\d+)*$", s) if match: major_version = match.group(1) return major_version From a4a3ad29d4e1d13dbf13b4b3f4bb5b654b0e466f Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:39:38 -0600 Subject: [PATCH 131/801] Update instagram bridge Signed-off-by: Travis Ralston --- .../projects/2017-02-23-matrix-appservice-instagram.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md b/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md index ae9319806..1f61c0c4c 100644 --- a/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md +++ b/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md @@ -9,6 +9,6 @@ maturity: Alpha # {{ page.title }} -This is a Node.js application that bridges Instagram to Matrix. The project is still in early development and is not intended for production use (yet). +matrix-appservice-instagram bridges Instagram media to Matrix rooms. Due to limitations with Instagram, it cannot handle direct messages and requires authorization in order to post media to a room. Useful for brands looking to populate their rooms with their Instagram posts. The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-instagram). From c102f7921a46a86dae42f57872b591259150731c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:39:45 -0600 Subject: [PATCH 132/801] Add matrix-dimension Signed-off-by: Travis Ralston --- .../projects/2017-05-25-matrix-dimension.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-05-25-matrix-dimension.md diff --git a/supporting-docs/projects/2017-05-25-matrix-dimension.md b/supporting-docs/projects/2017-05-25-matrix-dimension.md new file mode 100644 index 000000000..8f09268c5 --- /dev/null +++ b/supporting-docs/projects/2017-05-25-matrix-dimension.md @@ -0,0 +1,13 @@ +--- +layout: project +title: Dimension +categories: projects other +author: Travis Ralston +description: An alternative integrations manager for Riot +maturity: Alpha +--- +# {{ page.title }} + +The integrations manager in Riot is the piece that provides an easy way to add bots, bridges, widgets, and more to your room. Dimension replaces Riot's default manager, Modular, and offers the option of self-hosting your own integrations. Dimension offers a generic interface for custom solutions to be added and acts as the UI for configuring the various integrations you host. + +Learn more about Dimension on [Github](https://github.com/turt2live/matrix-dimension). From 13b2799f76cbf112ca8aa02d07d7a9054af4dea0 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:39:51 -0600 Subject: [PATCH 133/801] Add matrix-wishlist Signed-off-by: Travis Ralston --- .../projects/2017-07-03-matrix-wishlist.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 supporting-docs/projects/2017-07-03-matrix-wishlist.md diff --git a/supporting-docs/projects/2017-07-03-matrix-wishlist.md b/supporting-docs/projects/2017-07-03-matrix-wishlist.md new file mode 100644 index 000000000..69e2c17e3 --- /dev/null +++ b/supporting-docs/projects/2017-07-03-matrix-wishlist.md @@ -0,0 +1,11 @@ +--- +layout: project +title: Matrix Wishlist +categories: projects other +author: Travis Ralston +description: A github repository tracking community requests for bridges, bots, and more. +maturity: Stable +--- +# {{ page.title }} + +Check out the [Github issue list](https://github.com/turt2live/matrix-wishlist/issues) for a list of currently-requested bridges, bots, tools, sdks, and other ecosystem components. If you're looking to jump into developing something for matrix, this is a good place to get ideas. From f7c1574c91b3eba53786be29b09d9f921fa58f1d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:39:58 -0600 Subject: [PATCH 134/801] Add matrix-appservice-webhooks Signed-off-by: Travis Ralston --- .../2017-07-08-matrix-appservice-webhooks.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md diff --git a/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md b/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md new file mode 100644 index 000000000..1ce2b04e9 --- /dev/null +++ b/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-appservice-webhooks +categories: projects as +description: Slack-compatible webhooks for Matrix +author: Travis Ralston +maturity: Beta +--- + +# {{ page.title }} + +Through exposing a small web server, the webhooks bridge is able to interpret Slack webhooks and post them to designated rooms in Matrix. Additional fields are present for a more matrix-feeling message, if desired. Future plans include outgoing webhooks to notify external services of particular events in rooms. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-webhooks). From 98294cab0d8631cc0ac44861486107627f72b60c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:40:04 -0600 Subject: [PATCH 135/801] Add matrix-alias-bot Signed-off-by: Travis Ralston --- .../projects/2017-07-31-matrix-alias-bot.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-07-31-matrix-alias-bot.md diff --git a/supporting-docs/projects/2017-07-31-matrix-alias-bot.md b/supporting-docs/projects/2017-07-31-matrix-alias-bot.md new file mode 100644 index 000000000..847096003 --- /dev/null +++ b/supporting-docs/projects/2017-07-31-matrix-alias-bot.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-alias-bot +categories: projects other +description: A simple bot that provides dynamic topics +author: Travis Ralston +maturity: Released +--- + +# {{ page.title }} + +[@alias:t2bot.io](https://matrix.to/#/@alias:t2bot.io) is a simple bot that provides a way to add aliases to a room on another homeserver. Because matrix allows you to only add aliases against your server, Alias Bot needs to be running on the desired homeserver to be able to add the alias. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-alias-bot). From 12bb8d62f85ca49bf5b97adc61babecdad37cbe2 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:40:11 -0600 Subject: [PATCH 136/801] Add matrix-appservice-twilio Signed-off-by: Travis Ralston --- .../2017-08-18-matrix-appservice-twilio.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md diff --git a/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md b/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md new file mode 100644 index 000000000..77a084149 --- /dev/null +++ b/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-appservice-twilio +categories: projects as +description: Bridges Twilio (SMS) to Matrix +author: Travis Ralston +maturity: Alpha +--- + +# {{ page.title }} + +The Twilio bridge is a work in progress that allows you to bridge SMS/MMS messages to Matrix. Eventual plans include briding phone calls and other media types. + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-twilio). From 0884b53118fb7697d2ebd850b288ccbd2dc7a9d0 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 18 Sep 2017 14:40:19 -0600 Subject: [PATCH 137/801] Add matrix-welcome-back-bot Signed-off-by: Travis Ralston --- .../projects/2017-09-15-matrix-welcome-back-bot.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md diff --git a/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md b/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md new file mode 100644 index 000000000..56b468908 --- /dev/null +++ b/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md @@ -0,0 +1,14 @@ +--- +layout: project +title: matrix-welcome-back-bot +categories: projects other +description: A silly bot that welcomes people back to the conversation +author: Travis Ralston +maturity: Released +--- + +# {{ page.title }} + +[@welcomeback:t2bot.io](https://matrix.to/#/@welcomeback:t2bot.io) is a silly bot that welcomes people back to the conversation after they've been inactive for a period of time. Welcome Back Bot also demonstrates basic functionality of the js-sdk, spawned from [#offtopic:matrix.org](https://matrix.to/#/#offtopic:matrix.org). + +The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-welcome-back-bot). From 04d9da273b8eee9aff95df20f9bc9272be91dcc1 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 24 Sep 2017 23:30:02 -0600 Subject: [PATCH 138/801] Delete 2017-07-31-matrix-alias-bot.md Signed-off-by: Travis Ralston --- .../projects/2017-07-31-matrix-alias-bot.md | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 supporting-docs/projects/2017-07-31-matrix-alias-bot.md diff --git a/supporting-docs/projects/2017-07-31-matrix-alias-bot.md b/supporting-docs/projects/2017-07-31-matrix-alias-bot.md deleted file mode 100644 index 847096003..000000000 --- a/supporting-docs/projects/2017-07-31-matrix-alias-bot.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-alias-bot -categories: projects other -description: A simple bot that provides dynamic topics -author: Travis Ralston -maturity: Released ---- - -# {{ page.title }} - -[@alias:t2bot.io](https://matrix.to/#/@alias:t2bot.io) is a simple bot that provides a way to add aliases to a room on another homeserver. Because matrix allows you to only add aliases against your server, Alias Bot needs to be running on the desired homeserver to be able to add the alias. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-alias-bot). From 9769781d90a9cdeb07a78672f8ebf3443b1f4638 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Sun, 24 Sep 2017 23:30:11 -0600 Subject: [PATCH 139/801] Delete 2017-09-15-matrix-welcome-back-bot.md Signed-off-by: Travis Ralston --- .../projects/2017-09-15-matrix-welcome-back-bot.md | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md diff --git a/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md b/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md deleted file mode 100644 index 56b468908..000000000 --- a/supporting-docs/projects/2017-09-15-matrix-welcome-back-bot.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-welcome-back-bot -categories: projects other -description: A silly bot that welcomes people back to the conversation -author: Travis Ralston -maturity: Released ---- - -# {{ page.title }} - -[@welcomeback:t2bot.io](https://matrix.to/#/@welcomeback:t2bot.io) is a silly bot that welcomes people back to the conversation after they've been inactive for a period of time. Welcome Back Bot also demonstrates basic functionality of the js-sdk, spawned from [#offtopic:matrix.org](https://matrix.to/#/#offtopic:matrix.org). - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-welcome-back-bot). From a84a34ee6c188ae76e511bc87ae1a3ded27c9910 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 14:11:43 +0100 Subject: [PATCH 140/801] GETting a filter requires auth (#1003) --- api/client-server/filter.yaml | 2 ++ changelogs/client_server.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index 1f932e2c1..cfd559208 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -98,6 +98,8 @@ paths: "/user/{userId}/filter/{filterId}": get: summary: Download a filter + security: + - accessToken: [] parameters: - in: path name: userId diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 7fe0b0309..ec4a09b23 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -75,6 +75,8 @@ - Make ``m.notice`` description a bit harder in its phrasing to try to dissuade the same issues that occurred with IRC (`#750 `_). + - ``GET /user/{userId}/filter/{filterId}`` requires authentication + (`#1003 `_). r0.2.0 ====== From bbb072a16009d3aa91782eac52301f9b3942c45c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 14:38:52 +0100 Subject: [PATCH 141/801] Reword guillotine description --- supporting-docs/projects/2017-08-31-guillotine.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/supporting-docs/projects/2017-08-31-guillotine.md b/supporting-docs/projects/2017-08-31-guillotine.md index 34912c53e..dbee7e81d 100644 --- a/supporting-docs/projects/2017-08-31-guillotine.md +++ b/supporting-docs/projects/2017-08-31-guillotine.md @@ -4,13 +4,13 @@ title: Guillotine categories: projects client thumbnail: /docs/projects/images/guillotine-small.png author: danigm -description: Guillotine is based on [ruma-gtk](https://github.com/jplatte/ruma-gtk), but derives in a new one using directly the matrix.org API. +description: Guillotine is a Matrix Client written in Rust. maturity: Early alpha --- ![screenshot](/docs/projects/images/guillotine-large.png "{{ page.title }}") # {{ page.title }} -Guillotine is based on [ruma-gtk](https://github.com/jplatte/ruma-gtk), but derives in a new one using directly the matrix.org API. +Guillotine is a Matrix Client written in Rust. -Get the code from [github](https://github.com/danigm/guillotine) +Get the code from [github](https://github.com/danigm/guillotine). From 0b74492d67e14e2940e1787ca63abc57781073fa Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Tue, 26 Sep 2017 15:57:51 +0200 Subject: [PATCH 142/801] Fix membership on third-party invite upgrade (#995) --- changelogs/client_server.rst | 2 ++ event-schemas/examples/m.room.member#third_party_invite | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index ec4a09b23..9d9d246bb 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -55,6 +55,8 @@ spec and update the JSON of the request sent by the identity server upon 3PID binding (`#997 `) + - Fix "membership" property on third-party invite upgrade example + (`#995 `) - Fix response format and 404 example for room alias lookup (`#960 `) - Fix examples of ``m.room.member`` event and room state change, diff --git a/event-schemas/examples/m.room.member#third_party_invite b/event-schemas/examples/m.room.member#third_party_invite index 61718ba1a..244e15562 100644 --- a/event-schemas/examples/m.room.member#third_party_invite +++ b/event-schemas/examples/m.room.member#third_party_invite @@ -1,7 +1,7 @@ { "age": 242352, "content": { - "membership": "join", + "membership": "invite", "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", "displayname": "Alice Margatroid", "third_party_invite": { From c9d549876749cac407183e4f02d18b85a9a2183a Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 26 Sep 2017 15:13:15 +0100 Subject: [PATCH 143/801] clarify ID rules --- drafts/human-id-rules.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drafts/human-id-rules.rst b/drafts/human-id-rules.rst index b77d310d7..3614d9995 100644 --- a/drafts/human-id-rules.rst +++ b/drafts/human-id-rules.rst @@ -1,7 +1,8 @@ Abstract ======== -This document outlines the format for human-readable IDs within Matrix. +This document outlines a proposed format for human-readable IDs within Matrix. +For status see https://github.com/matrix-org/matrix-doc/pull/3/files Background ---------- From 24545989263971a5a58061c78dd1b2f87c1b03bc Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 15:13:07 +0100 Subject: [PATCH 144/801] Speculator: include API docs links for branches --- scripts/speculator/main.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index 87ee4bf63..153a8f38e 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -664,13 +664,23 @@ function redirectToApiDocs(relativePath) { branchNames = append(branchNames, "HEAD") for _, branch := range branchNames { href := "spec/" + url.QueryEscape(branch) + "/" - fmt.Fprintf(&b, ``, href, branch) + fmt.Fprintf(&b, "
  • %s
  • \n", href, branch) if *includesDir != "" { - fmt.Fprintf(&b, `
  • %s, styled like matrix.org
  • `, + fmt.Fprintf(&b, "
  • %s, styled like matrix.org
  • \n", href, branch) } } - b.Write([]byte("
  • %s
")) + b.Write([]byte("\n\n")) + + b.Write([]byte("
View the API docs at:
    ")) + for _, branch := range branchNames { + fmt.Fprintf(&b, + "
  • %s
  • \n", + url.QueryEscape(branch), branch) + } + b.Write([]byte("
")) + + b.Write([]byte("")) b.WriteTo(w) } From 78f9edcb7ca79e47bbe5927290a05bb15ad0500b Mon Sep 17 00:00:00 2001 From: Charly C Date: Tue, 26 Sep 2017 19:38:14 +0200 Subject: [PATCH 145/801] fix liberapay links in FAQ --- supporting-docs/guides/2015-08-19-faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md index 78600ab16..246752a22 100644 --- a/supporting-docs/guides/2015-08-19-faq.md +++ b/supporting-docs/guides/2015-08-19-faq.md @@ -102,13 +102,13 @@ called the Matrix.org Foundation). Matrix.org is currently (Sept 2017) funded by the community, through a combination of community support (via [Patreon](https://patreon.com/matrixdotorg), -[Liberapay](https://liberapay.org/matrixdotorg), Bitcoin and Ethereum), +[Liberapay](https://liberapay.com/matrixdotorg), Bitcoin and Ethereum), corporate sponsorship, and grant funding. Current Elliptic-level supporters on Patreon and corporate sponsors can be found on our [supporters page](https://matrix.org/blog/supporters). If you would like to support the core Matrix team as a member of the community, please visit our [Patreon](https://patreon.com/matrixdotorg) or -[Liberapay](https://liberapay.org/matrixdotorg) pages, or you can send us +[Liberapay](https://liberapay.com/matrixdotorg) pages, or you can send us Bitcoin at 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE or Ethereum at ETH 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485. If you would like to sponsor the team as a corporation, or are interested in paying for prioritised or custom From 820704a16a7e38d0deac1747a3a66f358ff2dd5a Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 17:53:28 +0100 Subject: [PATCH 146/801] Format examples as raw objects According the the openapi spec, examples for responses and schemas should be raw objects rather than being json strings. (It's unclear what non-json examples should look like...). The swagger UI used to support json strings, but no longer does. In short, let's turn the json strings into their raw formats. --- .../application_service.yaml | 33 ++++++--------- api/check_examples.py | 21 ++-------- api/client-server/account-data.yaml | 8 ++-- api/client-server/admin.yaml | 3 +- api/client-server/administrative_contact.yaml | 11 ++--- api/client-server/banning.yaml | 20 ++++------ api/client-server/content-repo.yaml | 3 +- api/client-server/create_room.yaml | 6 +-- api/client-server/device_management.yaml | 14 +++---- api/client-server/directory.yaml | 20 ++++------ api/client-server/event_context.yaml | 3 +- api/client-server/filter.yaml | 9 ++--- api/client-server/inviting.yaml | 11 +++-- api/client-server/joining.yaml | 22 +++++----- api/client-server/kicking.yaml | 10 ++--- api/client-server/leaving.yaml | 8 ++-- api/client-server/list_public_rooms.yaml | 10 ++--- api/client-server/login.yaml | 13 +++--- api/client-server/message_pagination.yaml | 3 +- api/client-server/notifications.yaml | 3 +- api/client-server/old_sync.yaml | 9 ++--- api/client-server/peeking_events.yaml | 3 +- api/client-server/presence.yaml | 20 ++++------ api/client-server/profile.yaml | 23 +++++------ api/client-server/pusher.yaml | 13 +++--- api/client-server/pushrules.yaml | 40 ++++++++----------- api/client-server/receipts.yaml | 8 ++-- api/client-server/redaction.yaml | 6 +-- api/client-server/registration.yaml | 15 +++---- api/client-server/room_initial_sync.yaml | 3 +- api/client-server/room_send.yaml | 6 +-- api/client-server/room_state.yaml | 12 ++---- api/client-server/rooms.yaml | 14 +++---- api/client-server/search.yaml | 6 +-- api/client-server/sync.yaml | 3 +- api/client-server/tags.yaml | 15 ++++--- api/client-server/third_party_membership.yaml | 11 +++-- api/client-server/to_device.yaml | 4 +- api/client-server/typing.yaml | 7 ++-- api/client-server/versions.yaml | 3 +- api/client-server/voip.yaml | 3 +- api/identity/lookup.yaml | 3 +- api/identity/pubkey.yaml | 9 ++--- api/push-gateway/push_notifier.yaml | 6 +-- 44 files changed, 183 insertions(+), 290 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index d7ad5b195..45a539469 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -45,8 +45,7 @@ paths: description: A list of events schema: type: object - example: |- - { + example: { "events": [ { "age": 32, @@ -87,8 +86,8 @@ paths: 200: description: The transaction was processed successfully. examples: - application/json: |- - {} + application/json: { + } schema: type: object @@ -117,8 +116,8 @@ paths: information about the room such as its name and topic can be set before responding. examples: - application/json: |- - {} + application/json: { + } schema: type: object 401: @@ -126,8 +125,7 @@ paths: The homeserver has not supplied credentials to the application service. Optional error information can be included in the body of this response. examples: - application/json: |- - { + application/json: { "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: @@ -136,8 +134,7 @@ paths: description: |- The credentials supplied by the homeserver were rejected. examples: - application/json: |- - { + application/json: { "errcode": "M_FORBIDDEN" } schema: @@ -147,8 +144,7 @@ paths: The application service indicates that this room alias does not exist. Optional error information can be included in the body of this response. examples: - application/json: |- - { + application/json: { "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: @@ -175,8 +171,8 @@ paths: The application service indicates that this user exists. The application service MUST create the user using the client-server API. examples: - application/json: |- - {} + application/json: { + } schema: type: object 401: @@ -184,8 +180,7 @@ paths: The homeserver has not supplied credentials to the application service. Optional error information can be included in the body of this response. examples: - application/json: |- - { + application/json: { "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: @@ -194,8 +189,7 @@ paths: description: |- The credentials supplied by the homeserver were rejected. examples: - application/json: |- - { + application/json: { "errcode": "M_FORBIDDEN" } schema: @@ -205,8 +199,7 @@ paths: The application service indicates that this user does not exist. Optional error information can be included in the body of this response. examples: - application/json: |- - { + application/json: { "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: diff --git a/api/check_examples.py b/api/check_examples.py index 009055be9..be0676bb4 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -45,15 +45,8 @@ except ImportError as e: def check_parameter(filepath, request, parameter): schema = parameter.get("schema") - example = None - try: - example_json = schema.get('example') - if example_json and not schema.get("format") == "byte": - example = json.loads(example_json) - except Exception as e: - raise ValueError("Error parsing JSON example request for %r" % ( - request - ), e) + example = schema.get('example') + fileurl = "file://" + os.path.abspath(filepath) if example and schema: try: @@ -72,15 +65,7 @@ def check_parameter(filepath, request, parameter): def check_response(filepath, request, code, response): - example = None - try: - example_json = response.get('examples', {}).get('application/json') - if example_json: - example = json.loads(example_json) - except Exception as e: - raise ValueError("Error parsing JSON example response for %r %r" % ( - request, code - ), e) + example = response.get('examples', {}).get('application/json') schema = response.get('schema') fileurl = "file://" + os.path.abspath(filepath) if example and schema: diff --git a/api/client-server/account-data.yaml b/api/client-server/account-data.yaml index 934c59cf6..d8e93ef40 100644 --- a/api/client-server/account-data.yaml +++ b/api/client-server/account-data.yaml @@ -60,8 +60,8 @@ paths: The content of the account_data schema: type: object - example: |- - {"custom_account_data_key": "custom_config_value"} + example: { + "custom_account_data_key": "custom_config_value"} responses: 200: description: @@ -108,8 +108,8 @@ paths: The content of the account_data schema: type: object - example: |- - {"custom_account_data_key": "custom_account_data_value"} + example: { + "custom_account_data_key": "custom_account_data_value"} responses: 200: description: diff --git a/api/client-server/admin.yaml b/api/client-server/admin.yaml index a27596a88..d5b964b36 100644 --- a/api/client-server/admin.yaml +++ b/api/client-server/admin.yaml @@ -49,8 +49,7 @@ paths: 200: description: The lookup was successful. examples: - application/json: |- - { + application/json: { "user_id": "@peter:rabbit.rocks", "devices": { "teapot": { diff --git a/api/client-server/administrative_contact.yaml b/api/client-server/administrative_contact.yaml index 73f2e05c9..e9b7caa4f 100644 --- a/api/client-server/administrative_contact.yaml +++ b/api/client-server/administrative_contact.yaml @@ -45,8 +45,7 @@ paths: 200: description: The lookup was successful. examples: - application/json: |- - { + application/json: { "threepids": [ { "medium": "email", @@ -106,8 +105,7 @@ paths: server. Default: ``false``. x-example: true required: ["three_pid_creds"] - example: |- - { + example: { "three_pid_creds": { "id_server": "matrix.org", "sid": "abc123987", @@ -119,14 +117,13 @@ paths: 200: description: The addition was successful. examples: - application/json: "{}" + application/json: {} schema: type: object 403: description: The credentials could not be verified with the identity server. examples: - application/json: |- - { + application/json: { "errcode": "M_THREEPID_AUTH_FAILED", "error": "The third party credentials could not be verified by the identity server." } diff --git a/api/client-server/banning.yaml b/api/client-server/banning.yaml index cdeaaa5d5..517552a61 100644 --- a/api/client-server/banning.yaml +++ b/api/client-server/banning.yaml @@ -50,8 +50,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "reason": "Telling unfunny jokes", "user_id": "@cheeky_monkey:matrix.org" } @@ -67,8 +66,8 @@ paths: 200: description: The user has been kicked and banned from the room. examples: - application/json: |- - {} + application/json: { + } schema: type: object 403: @@ -78,8 +77,7 @@ paths: - The banner is not currently in the room. - The banner's power level is insufficient to ban users from the room. examples: - application/json: |- - { + application/json: { "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to ban from this room." } @@ -107,8 +105,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "user_id": "@cheeky_monkey:matrix.org" } properties: @@ -120,8 +117,8 @@ paths: 200: description: The user has been unbanned from the room. examples: - application/json: |- - {} + application/json: { + } schema: type: object 403: @@ -130,8 +127,7 @@ paths: - The unbanner's power level is insufficient to unban users from the room. examples: - application/json: |- - { + application/json: { "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to unban from this room." } diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index f9c92a0db..ebb63ba42 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -57,8 +57,7 @@ paths: type: string description: "The MXC URI to the uploaded content." examples: - "application/json": |- - { + application/json: { "content_uri": "mxc://example.com/AQwafuaFswefuhsfAFAgsw" } tags: diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index a321b0f7a..8b9ea6f06 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -54,8 +54,7 @@ paths: description: The desired room configuration. schema: type: object - example: |- - { + example: { "preset": "public_chat", "room_alias_name": "thepub", "name": "The Grand Duke Pub", @@ -188,8 +187,7 @@ paths: description: |- The created room's ID. examples: - application/json: |- - { + application/json: { "room_id": "!sefiuhWgwghwWgh:example.com" } 400: diff --git a/api/client-server/device_management.yaml b/api/client-server/device_management.yaml index ddfbad850..3ee9c7467 100644 --- a/api/client-server/device_management.yaml +++ b/api/client-server/device_management.yaml @@ -49,8 +49,7 @@ paths: allOf: - $ref: "definitions/client_device.yaml" examples: - application/json: |- - { + application/json: { "devices": [ { "device_id": "QBUAZIFURK", @@ -84,8 +83,7 @@ paths: allOf: - $ref: "definitions/client_device.yaml" examples: - application/json: |- - { + application/json: { "device_id": "QBUAZIFURK", "display_name": "android", "last_seen_ip": "1.2.3.4", @@ -125,8 +123,8 @@ paths: 200: description: The device was successfully updated. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 404: @@ -166,8 +164,8 @@ paths: schema: type: object examples: - application/json: |- - {} + application/json: { + } 401: description: |- The homeserver requires additional authentication information. diff --git a/api/client-server/directory.yaml b/api/client-server/directory.yaml index 0a69a8ec4..bfa71a737 100644 --- a/api/client-server/directory.yaml +++ b/api/client-server/directory.yaml @@ -49,23 +49,21 @@ paths: room_id: type: string description: The room ID to set. - example: |- - { + example: { "room_id": "!abnjk1jdasj98:capuchins.com" } responses: 200: description: The mapping was created. examples: - application/json: |- - {} + application/json: { + } schema: type: object 409: description: A room alias with that name already exists. examples: - application/json: |- - { + application/json: { "errcode": "M_UNKNOWN", "error": "Room alias #monkeys:matrix.org already exists." } @@ -103,8 +101,7 @@ paths: type: string description: A server which is aware of this room alias. examples: - application/json: |- - { + application/json: { "room_id": "!abnjk1jdasj98:capuchins.com", "servers": [ "capuchins.com", @@ -115,8 +112,7 @@ paths: 404: description: There is no mapped room ID for this room alias. examples: - application/json: |- - { + application/json: { "errcode": "M_NOT_FOUND", "error": "Room alias #monkeys:matrix.org not found." } @@ -141,8 +137,8 @@ paths: 200: description: The mapping was deleted. examples: - application/json: |- - {} + application/json: { + } schema: type: object tags: diff --git a/api/client-server/event_context.yaml b/api/client-server/event_context.yaml index 8c5567b2f..14889819f 100644 --- a/api/client-server/event_context.yaml +++ b/api/client-server/event_context.yaml @@ -99,8 +99,7 @@ paths: allOf: - "$ref": "definitions/event-schemas/schema/core-event-schema/state_event.yaml" examples: - application/json: |- - { + application/json: { "end": "t29-57_2_0_2", "events_after": [ { diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index cfd559208..ac8e04f57 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -52,8 +52,7 @@ paths: type: object allOf: - $ref: "definitions/sync_filter.yaml" - example: |- - { + example: { "room": { "state": { "types": ["m.room.*"], @@ -82,8 +81,7 @@ paths: 200: description: The filter was created. examples: - application/json: |- - { + application/json: { "filter_id": "66696p746572" } schema: @@ -120,8 +118,7 @@ paths: description: |- "The filter defintion" examples: - application/json: |- - { + application/json: { "room": { "state": { "types": ["m.room.*"], diff --git a/api/client-server/inviting.yaml b/api/client-server/inviting.yaml index e73d44fcb..942be63e7 100644 --- a/api/client-server/inviting.yaml +++ b/api/client-server/inviting.yaml @@ -65,8 +65,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "user_id": "@cheeky_monkey:matrix.org" } properties: @@ -78,8 +77,8 @@ paths: 200: description: The user has been invited to join the room. examples: - application/json: |- - {} + application/json: { + } schema: type: object 403: @@ -91,8 +90,8 @@ paths: - The inviter is not currently in the room. - The inviter's power level is insufficient to invite users to the room. examples: - application/json: |- - {"errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} + application/json: { + "errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} 429: description: This request was rate-limited. schema: diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index 92454239e..c2388c2f2 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -57,8 +57,7 @@ paths: name: third_party_signed schema: type: object - example: |- - { + example: { "third_party_signed": { "sender": "@cat:the.hat", "mxid": "@green:eggs.ham", @@ -97,8 +96,8 @@ paths: The joined room ID must be returned in the ``room_id`` field. examples: - application/json: |- - {"room_id": "!d41d8cd:matrix.org"} + application/json: { + "room_id": "!d41d8cd:matrix.org"} schema: type: object 403: @@ -108,8 +107,8 @@ paths: - The room is invite-only and the user was not invited. - The user has been banned from the room. examples: - application/json: |- - {"errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} + application/json: { + "errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} 429: description: This request was rate-limited. schema: @@ -146,8 +145,7 @@ paths: name: third_party_signed schema: type: object - example: |- - { + example: { "third_party_signed": { "signed": { "sender": "@cat:the.hat", @@ -193,8 +191,8 @@ paths: The joined room ID must be returned in the ``room_id`` field. examples: - application/json: |- - {"room_id": "!d41d8cd:matrix.org"} + application/json: { + "room_id": "!d41d8cd:matrix.org"} schema: type: object 403: @@ -204,8 +202,8 @@ paths: - The room is invite-only and the user was not invited. - The user has been banned from the room. examples: - application/json: |- - {"errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} + application/json: { + "errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} 429: description: This request was rate-limited. schema: diff --git a/api/client-server/kicking.yaml b/api/client-server/kicking.yaml index 137e72cf3..fbc0db723 100644 --- a/api/client-server/kicking.yaml +++ b/api/client-server/kicking.yaml @@ -48,8 +48,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "reason": "Telling unfunny jokes", "user_id": "@cheeky_monkey:matrix.org" } @@ -65,8 +64,8 @@ paths: 200: description: The user has been kicked from the room. examples: - application/json: |- - {} + application/json: { + } schema: type: object 403: @@ -77,8 +76,7 @@ paths: - The kickee is not currently in the room. - The kicker's power level is insufficient to kick users from the room. examples: - application/json: |- - { + application/json: { "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to kick from this room." } diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index 655308d2b..a70b8a80d 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -56,8 +56,8 @@ paths: description: |- The room has been left. examples: - application/json: |- - {} + application/json: { + } schema: type: object 429: @@ -93,8 +93,8 @@ paths: description: |- The room has been forgotten. examples: - application/json: |- - {} + application/json: { + } schema: type: object 429: diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 3aa449d34..86e15095a 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -132,8 +132,7 @@ paths: An estimate on the total number of public rooms, if the server has an estimate. examples: - application/json: |- - { + application/json: { "chunk": [ { "aliases": ["#murrays:cheese.bar"], @@ -198,8 +197,8 @@ paths: description: |- A string to search for in the room metadata, e.g. name, topic, canonical alias etc. (Optional). - example: |- - {"limit": 10, "filter": {"generic_search_term": "foo"}} + example: { + "limit": 10, "filter": {"generic_search_term": "foo"}} responses: 200: description: A list of the rooms on the server. @@ -279,8 +278,7 @@ paths: An estimate on the total number of public rooms, if the server has an estimate. examples: - application/json: |- - { + application/json: { "chunk": [ { "aliases": ["#murrays:cheese.bar"], diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index 8c0282bea..c6dc0848e 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -46,8 +46,7 @@ paths: name: body schema: type: object - example: |- - { + example: { "type": "m.login.password", "user": "cheeky_monkey", "password": "ilovebananas", @@ -93,8 +92,7 @@ paths: 200: description: The user has been authenticated. examples: - application/json: |- - { + application/json: { "user_id": "@cheeky_monkey:matrix.org", "access_token": "abc123", "home_server": "matrix.org", @@ -123,8 +121,7 @@ paths: description: |- Part of the request was invalid. For example, the login type may not be recognised. examples: - application/json: |- - { + application/json: { "errcode": "M_UNKNOWN", "error": "Bad login type." } @@ -132,8 +129,8 @@ paths: description: |- The login attempt failed. For example, the password may have been incorrect. examples: - application/json: |- - {"errcode": "M_FORBIDDEN"} + application/json: { + "errcode": "M_FORBIDDEN"} 429: description: This request was rate-limited. schema: diff --git a/api/client-server/message_pagination.yaml b/api/client-server/message_pagination.yaml index 005b8fb36..734565ec5 100644 --- a/api/client-server/message_pagination.yaml +++ b/api/client-server/message_pagination.yaml @@ -107,8 +107,7 @@ paths: type: object title: RoomEvent examples: - application/json: |- - { + application/json: { "start": "t47429-4392820_219380_26003_2265", "end": "t47409-4357353_219380_26003_2265", "chunk": [ diff --git a/api/client-server/notifications.yaml b/api/client-server/notifications.yaml index 8a5e9553b..3c92e3102 100644 --- a/api/client-server/notifications.yaml +++ b/api/client-server/notifications.yaml @@ -62,8 +62,7 @@ paths: 200: description: A batch of events is being returned examples: - application/json: |- - { + application/json: { "next_token": "abcdef", "notifications": [ { diff --git a/api/client-server/old_sync.yaml b/api/client-server/old_sync.yaml index e3e1ea8a2..c4da0ea15 100644 --- a/api/client-server/old_sync.yaml +++ b/api/client-server/old_sync.yaml @@ -59,8 +59,7 @@ paths: 200: description: "The events received, which may be none." examples: - application/json: |- - { + application/json: { "start": "s3456_9_0", "end": "s3457_9_0", "chunk": [ @@ -138,8 +137,7 @@ paths: 200: description: The user's current state. examples: - application/json: |- - { + application/json: { "end": "s3456_9_0", "presence": [ { @@ -421,8 +419,7 @@ paths: 200: description: The full event. examples: - application/json: |- - { + application/json: { "content": { "body": "Hello world!", "msgtype": "m.text" diff --git a/api/client-server/peeking_events.yaml b/api/client-server/peeking_events.yaml index e33a4ce36..7c109ce74 100644 --- a/api/client-server/peeking_events.yaml +++ b/api/client-server/peeking_events.yaml @@ -69,8 +69,7 @@ paths: 200: description: "The events received, which may be none." examples: - application/json: |- - { + application/json: { "start": "s3456_9_0", "end": "s3457_9_0", "chunk": [ diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index 7a9630677..f17f9c734 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -50,8 +50,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "presence": "online", "status_msg": "I am here." } @@ -68,8 +67,8 @@ paths: 200: description: The new presence state was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: @@ -93,8 +92,7 @@ paths: 200: description: The presence state for this user. examples: - application/json: |- - { + application/json: { "presence": "unavailable", "last_active_ago": 420845 } @@ -143,8 +141,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "invite": [ "@bob:matrix.org" ], @@ -169,8 +166,8 @@ paths: 200: description: The list was updated. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: @@ -194,8 +191,7 @@ paths: 200: description: A list of presence events for this list. examples: - application/json: |- - [ + application/json: [ { "content": { "last_active_ago": 395, diff --git a/api/client-server/profile.yaml b/api/client-server/profile.yaml index 89ebdc2ab..10e2a3696 100644 --- a/api/client-server/profile.yaml +++ b/api/client-server/profile.yaml @@ -48,8 +48,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "displayname": "Alice Margatroid" } properties: @@ -60,8 +59,8 @@ paths: 200: description: The display name was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: @@ -87,8 +86,7 @@ paths: 200: description: The display name for this user. examples: - application/json: |- - { + application/json: { "displayname": "Alice Margatroid" } schema: @@ -122,8 +120,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "avatar_url": "mxc://matrix.org/wefh34uihSDRGhw34" } properties: @@ -134,8 +131,8 @@ paths: 200: description: The avatar URL was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: @@ -161,8 +158,7 @@ paths: 200: description: The avatar URL for this user. examples: - application/json: |- - { + application/json: { "avatar_url": "mxc://matrix.org/SDGdghriugerRg" } schema: @@ -194,8 +190,7 @@ paths: 200: description: The avatar URL for this user. examples: - application/json: |- - { + application/json: { "avatar_url": "mxc://matrix.org/SDGdghriugerRg", "displayname": "Alice Margatroid" } diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 5807b0075..0183520fd 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -38,8 +38,7 @@ paths: 200: description: The pushers for this user examples: - application/json: |- - { + application/json: { "pushers": [ { "pushkey": "Xp/MzCt8/9DcSNE9cuiaoT5Ac55job3TdLSSmtmYl4A=", @@ -133,8 +132,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "lang": "en", "kind": "http", "app_display_name": "Mat Rix", @@ -216,15 +214,14 @@ paths: 200: description: The pusher was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 400: description: One or more of the pusher values were invalid. examples: - application/json: |- - { + application/json: { "error": "Missing parameters: lang, data", "errcode": "M_MISSING_PARAM" } diff --git a/api/client-server/pushrules.yaml b/api/client-server/pushrules.yaml index 0ba8d4812..2bc7e2a82 100644 --- a/api/client-server/pushrules.yaml +++ b/api/client-server/pushrules.yaml @@ -52,8 +52,7 @@ paths: "$ref": "definitions/push_ruleset.yaml" ] examples: - application/json: |- - { + application/json: { "global": { "content": [ { @@ -279,8 +278,7 @@ paths: The specific push rule. This will also include keys specific to the rule itself such as the rule's ``actions`` and ``conditions`` if set. examples: - application/json: |- - { + application/json: { "actions": [ "dont_notify" ], @@ -330,8 +328,8 @@ paths: 200: description: The push rule was deleted. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object tags: @@ -393,8 +391,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "pattern": "cake*lie", "actions": ["notify"] } @@ -425,15 +422,14 @@ paths: 200: description: The pusher was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 400: description: There was a problem configuring this push rule. examples: - application/json: |- - { + application/json: { "error": "before/after rule not found: someRuleId", "errcode": "M_UNKNOWN" } @@ -480,8 +476,7 @@ paths: 200: description: Whether the push rule is enabled. examples: - application/json: |- - { + application/json: { "enabled": true } schema: @@ -532,16 +527,15 @@ paths: type: boolean description: Whether the push rule is enabled or not. required: ["enabled"] - example: |- - { + example: { "enabled": true } responses: 200: description: The push rule was enabled or disabled. examples: - application/json: |- - {} + application/json: { + } schema: type: object tags: @@ -581,8 +575,7 @@ paths: 200: description: The actions for this push rule. examples: - application/json: |- - { + application/json: { "actions": ["notify"] } schema: @@ -640,16 +633,15 @@ paths: enum: ["notify", "dont_notify", "coalesce", "set_tweak"] # TODO: type: object e.g. {"set_sound":"beeroclock.wav"} :/ required: ["actions"] - example: |- - { + example: { "actions": ["notify"] } responses: 200: description: The actions for the push rule were set. examples: - application/json: |- - {} + application/json: { + } schema: type: object tags: diff --git a/api/client-server/receipts.yaml b/api/client-server/receipts.yaml index 9bd7f56cb..8d2cc631e 100644 --- a/api/client-server/receipts.yaml +++ b/api/client-server/receipts.yaml @@ -62,14 +62,14 @@ paths: server will automatically set the ``ts`` field. schema: type: object - example: |- - {} + example: { + } responses: 200: description: The receipt was sent. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: diff --git a/api/client-server/redaction.yaml b/api/client-server/redaction.yaml index df60f8172..029dd05cf 100644 --- a/api/client-server/redaction.yaml +++ b/api/client-server/redaction.yaml @@ -66,8 +66,7 @@ paths: name: body schema: type: object - example: |- - { + example: { "reason": "Indecent material" } properties: @@ -78,8 +77,7 @@ paths: 200: description: "An ID for the redaction event." examples: - application/json: |- - { + application/json: { "event_id": "YUwQidLecu" } schema: diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index d09cd431e..9bd6aa750 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -110,8 +110,7 @@ paths: 200: description: The account has been registered. examples: - application/json: |- - { + application/json: { "user_id": "@cheeky_monkey:matrix.org", "access_token": "abc123", "home_server": "matrix.org", @@ -154,8 +153,7 @@ paths: them after authentication is completed if, for example, the requested user ID was registered whilst the client was performing authentication. examples: - application/json: |- - { + application/json: { "errcode": "M_USER_IN_USE", "error": "Desired user ID is already taken." } @@ -210,7 +208,7 @@ paths: Note that this may be an email containing the validation token or it may be informing the user of an error. examples: - application/json: "{}" + application/json: {} schema: type: object 400: @@ -225,8 +223,7 @@ paths: * ``M_SERVER_NOT_TRUSTED`` : The ``id_server`` parameter refers to an ID server that is not trusted by this Home Server. examples: - application/json: |- - { + application/json: { "errcode": "M_THREEPID_IN_USE", "error": "The specified address is already in use" } @@ -266,7 +263,7 @@ paths: 200: description: The password has been changed. examples: - application/json: "{}" + application/json: {} schema: type: object 401: @@ -331,7 +328,7 @@ paths: 200: description: The account has been deactivated. examples: - application/json: "{}" + application/json: {} schema: type: object 401: diff --git a/api/client-server/room_initial_sync.yaml b/api/client-server/room_initial_sync.yaml index bf403606f..64eca5c01 100644 --- a/api/client-server/room_initial_sync.yaml +++ b/api/client-server/room_initial_sync.yaml @@ -37,8 +37,7 @@ paths: 200: description: The current state of the room examples: - application/json: |- - { + application/json: { "membership": "join", "messages": { "chunk": [ diff --git a/api/client-server/room_send.yaml b/api/client-server/room_send.yaml index 64dbf4e75..5326ab599 100644 --- a/api/client-server/room_send.yaml +++ b/api/client-server/room_send.yaml @@ -66,8 +66,7 @@ paths: name: body schema: type: object - example: |- - { + example: { "msgtype": "m.text", "body": "hello" } @@ -75,8 +74,7 @@ paths: 200: description: "An ID for the sent event." examples: - application/json: |- - { + application/json: { "event_id": "YUwRidLecu" } schema: diff --git a/api/client-server/room_state.yaml b/api/client-server/room_state.yaml index f6a452f27..ae50eec33 100644 --- a/api/client-server/room_state.yaml +++ b/api/client-server/room_state.yaml @@ -67,8 +67,7 @@ paths: name: body schema: type: object - example: |- - { + example: { "membership": "join", "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", "displayname": "Alice Margatroid" @@ -77,8 +76,7 @@ paths: 200: description: "An ID for the sent event." examples: - application/json: |- - { + application/json: { "event_id": "YUwRidLecu" } schema: @@ -125,16 +123,14 @@ paths: name: body schema: type: object - example: |- - { + example: { "name": "New name for the room" } responses: 200: description: "An ID for the sent event." examples: - application/json: |- - { + application/json: { "event_id": "YUwRidLecu" } schema: diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 0bb268dda..2f17c17ca 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -60,8 +60,8 @@ paths: 200: description: The content of the state event. examples: - application/json: |- - {"name": "Example room name"} + application/json: { + "name": "Example room name"} schema: type: object 404: @@ -101,8 +101,8 @@ paths: 200: description: The content of the state event. examples: - application/json: |- - {"name": "Example room name"} + application/json: { + "name": "Example room name"} schema: type: object 404: @@ -131,8 +131,7 @@ paths: 200: description: The current state of the room examples: - application/json: |- - [ + application/json: [ { "age": 7148266897, "content": { @@ -249,8 +248,7 @@ paths: this will be the current members of the room. If you have left the room then this will be the members of the room when you left. examples: - application/json: |- - { + application/json: { "chunk": [ { "age": 6547561012, diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index a1c7b9fea..78dace906 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -46,8 +46,7 @@ paths: name: body schema: type: object - example: |- - { + example: { "search_categories": { "room_events": { "keys": [ @@ -297,8 +296,7 @@ paths: the next call. If this field is absent, there are no more results. examples: - application/json: |- - { + application/json: { "search_categories": { "room_events": { "groups": { diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index be2a82174..2276317f7 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -253,8 +253,7 @@ paths: Information on end-to-end device updates, as specified in |device_lists_sync|_. examples: - application/json: |- - { + application/json: { "next_batch": "s72595_4483_1934", "presence": { "events": [ diff --git a/api/client-server/tags.yaml b/api/client-server/tags.yaml index 7add84799..686d52a5f 100644 --- a/api/client-server/tags.yaml +++ b/api/client-server/tags.yaml @@ -61,8 +61,7 @@ paths: title: Tags type: object examples: - application/json: |- - { + application/json: { "tags": { "work": {"order": "1"}, "pinned": {} @@ -107,8 +106,8 @@ paths: Extra data for the tag, e.g. ordering. schema: type: object - example: |- - {"order": "1"} + example: { + "order": "1"} responses: 200: description: @@ -116,8 +115,8 @@ paths: schema: type: object examples: - application/json: |- - {} + application/json: { + } tags: - User data delete: @@ -156,7 +155,7 @@ paths: schema: type: object examples: - application/json: |- - {} + application/json: { + } tags: - User data diff --git a/api/client-server/third_party_membership.yaml b/api/client-server/third_party_membership.yaml index a2e403728..51b5c7d4c 100644 --- a/api/client-server/third_party_membership.yaml +++ b/api/client-server/third_party_membership.yaml @@ -89,8 +89,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "id_server": "matrix.org", "medium": "email", "address": "cheeky@monkey.com" @@ -111,8 +110,8 @@ paths: 200: description: The user has been invited to join the room. examples: - application/json: |- - {} + application/json: { + } schema: type: object 403: @@ -124,8 +123,8 @@ paths: - The inviter is not currently in the room. - The inviter's power level is insufficient to invite users to the room. examples: - application/json: |- - {"errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} + application/json: { + "errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} 429: description: This request was rate-limited. schema: diff --git a/api/client-server/to_device.yaml b/api/client-server/to_device.yaml index 16af11824..6c1f1e57f 100644 --- a/api/client-server/to_device.yaml +++ b/api/client-server/to_device.yaml @@ -83,7 +83,7 @@ paths: description: The message was successfully sent. examples: - application/json: |- - {} + application/json: { + } tags: - Send-to-Device messaging diff --git a/api/client-server/typing.yaml b/api/client-server/typing.yaml index fea941082..c4a8aea78 100644 --- a/api/client-server/typing.yaml +++ b/api/client-server/typing.yaml @@ -56,8 +56,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "typing": true, "timeout": 30000 } @@ -75,8 +74,8 @@ paths: 200: description: The new typing state was set. examples: - application/json: |- - {} + application/json: { + } schema: type: object # empty json object 429: diff --git a/api/client-server/versions.yaml b/api/client-server/versions.yaml index 1352279af..189e9b750 100644 --- a/api/client-server/versions.yaml +++ b/api/client-server/versions.yaml @@ -37,8 +37,7 @@ paths: 200: description: The versions supported by the server. examples: - application/json: |- - { + application/json: { "versions": ["r0.0.1"] } schema: diff --git a/api/client-server/voip.yaml b/api/client-server/voip.yaml index 300005405..f853c3a38 100644 --- a/api/client-server/voip.yaml +++ b/api/client-server/voip.yaml @@ -39,8 +39,7 @@ paths: 200: description: The TURN server credentials. examples: - application/json: |- - { + application/json: { "username":"1443779631:@user:example.com", "password":"JlKfBy1QwLrO20385QyAtEyIv0=", "uris":[ diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 83c3b661b..18e5e77d8 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -45,8 +45,7 @@ paths: description: The association for that 3pid, or the empty object if no association is known. examples: - application/json: |- - { + application/json: { "address": "louise@bobs.burgers", "medium": "email", "mxid": "@ears:matrix.org", diff --git a/api/identity/pubkey.yaml b/api/identity/pubkey.yaml index 40d2a2376..d78cd33fa 100644 --- a/api/identity/pubkey.yaml +++ b/api/identity/pubkey.yaml @@ -43,8 +43,7 @@ paths: description: The public key exists. examples: - application/json: |- - { + application/json: { "public_key": "VXuGitF39UH5iRfvbIknlvlAVKgD1BsLDMvBf0pmp7c" } schema: @@ -70,8 +69,7 @@ paths: description: The validity of the public key. examples: - application/json: |- - { + application/json: { "valid": true } schema: @@ -98,8 +96,7 @@ paths: description: The validity of the public key. examples: - application/json: |- - { + application/json: { "valid": true } schema: diff --git a/api/push-gateway/push_notifier.yaml b/api/push-gateway/push_notifier.yaml index 0effef081..6e3720c35 100644 --- a/api/push-gateway/push_notifier.yaml +++ b/api/push-gateway/push_notifier.yaml @@ -54,8 +54,7 @@ paths: required: true schema: type: object - example: |- - { + example: { "notification": { "id": "$3957tyerfgewrf384", "room_id": "!slw48wfj34rtnrf:example.com", @@ -207,8 +206,7 @@ paths: 200: description: A list of rejected push keys. examples: - application/json: |- - { + application/json: { "rejected": [ "V2h5IG9uIGVhcnRoIGRpZCB5b3UgZGVjb2RlIHRoaXM/" ] } schema: From 70ec3237b607bec097f58ecc40cb2fd4c558c41c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 17:59:07 +0100 Subject: [PATCH 147/801] Remove grandfathering for json strings Examples now have to be raw objects rather than json strings --- templating/matrix_templates/units.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 9fd016e30..97adc5cad 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -340,12 +340,9 @@ def get_example_for_param(param): if not schema: return None - # allow examples for the top-level object to be in formatted json exampleobj = None if 'example' in schema: exampleobj = schema['example'] - if isinstance(exampleobj, basestring): - return exampleobj if exampleobj is None: exampleobj = get_example_for_schema(schema) @@ -357,15 +354,6 @@ def get_example_for_response(response): exampleobj = None if 'examples' in response: exampleobj = response["examples"].get("application/json") - # the openapi spec suggests that examples in the 'examples' section should - # be formatted as raw objects rather than json-formatted strings, but we - # have lots of the latter in our spec, which work with the swagger UI, - # so grandfather them in. - # - # FIXME: swagger-ui no longer supports this. We should fix the inputs - # and remove the grandfathering. - if isinstance(exampleobj, basestring): - return exampleobj if exampleobj is None: schema = response.get('schema') From 726a8c2f61ad11bc874c6c736174420a62ca3988 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 26 Sep 2017 18:00:01 +0100 Subject: [PATCH 148/801] Refactor _load_swagger_meta factor out _handle_endpoint --- templating/matrix_templates/units.py | 238 ++++++++++++++------------- 1 file changed, 124 insertions(+), 114 deletions(-) diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 97adc5cad..09353f97d 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -23,7 +23,6 @@ file instead. from batesian.units import Units from collections import OrderedDict import logging -import inspect import json import os import re @@ -371,131 +370,142 @@ def get_example_for_response(response): class MatrixUnits(Units): def _load_swagger_meta(self, api, group_name): endpoints = [] + base_path = api.get("basePath", "") + for path in api["paths"]: for method in api["paths"][path]: - single_api = api["paths"][path][method] - full_path = api.get("basePath", "").rstrip("/") + path - endpoint = { - "title": single_api.get("summary", ""), - "deprecated": single_api.get("deprecated", False), - "desc": single_api.get("description", single_api.get("summary", "")), - "method": method.upper(), - "path": full_path.strip(), - "requires_auth": "security" in single_api, - "rate_limited": 429 in single_api.get("responses", {}), - "req_param_by_loc": {}, - "req_body_tables": [], - "res_headers": [], - "res_tables": [], - "responses": [], - "example": { - "req": "", - } - } logger.info(" ------- Endpoint: %s %s ------- " % (method, path)) - path_template = api.get("basePath", "").rstrip("/") + path - example_query_params = [] - example_body = "" + try: + endpoint = self._handle_endpoint( + api["paths"][path][method], method, + base_path.rstrip("/") + path) - for param in single_api.get("parameters", []): - # even body params should have names, otherwise the active docs don't work. - param_name = param["name"] - - try: - param_loc = param["in"] - - if param_loc == "body": - self._handle_body_param(param, endpoint) - example_body = get_example_for_param(param) - continue - - # description - desc = param.get("description", "") - if param.get("required"): - desc = "**Required.** " + desc - - # assign value expected for this param - val_type = param.get("type") # integer/string - - if param.get("enum"): - val_type = "enum" - desc += ( - " One of: %s" % json.dumps(param.get("enum")) - ) - - endpoint["req_param_by_loc"].setdefault(param_loc, []).append({ - "key": param_name, - "type": val_type, - "desc": desc - }) - - example = get_example_for_param(param) - if example is None: - continue - - if param_loc == "path": - path_template = path_template.replace( - "{%s}" % param_name, urllib.quote(example) - ) - elif param_loc == "query": - if type(example) == list: - for value in example: - example_query_params.append((param_name, value)) - else: - example_query_params.append((param_name, example)) - - except Exception, e: - raise Exception("Error handling parameter %s" % param_name, e) - # endfor[param] - - good_response = None - for code in sorted(single_api.get("responses", {}).keys()): - res = single_api["responses"][code] - if not good_response and code == 200: - good_response = res - description = res.get("description", "") - example = get_example_for_response(res) - endpoint["responses"].append({ - "code": code, - "description": description, - "example": example, - }) - - # add response params if this API has any. - if good_response: - if "schema" in good_response: - endpoint["res_tables"] = get_tables_for_response( - good_response["schema"] - ) - if "headers" in good_response: - headers = [] - for (header_name, header) in good_response["headers"].iteritems(): - headers.append({ - "key": header_name, - "type": header["type"], - "desc": header["description"], - }) - endpoint["res_headers"] = headers - - query_string = "" if len(example_query_params) == 0 else "?"+urllib.urlencode(example_query_params) - if example_body: - endpoint["example"]["req"] = "%s %s%s HTTP/1.1\nContent-Type: application/json\n\n%s" % ( - method.upper(), path_template, query_string, example_body - ) - else: - endpoint["example"]["req"] = "%s %s%s HTTP/1.1\n\n" % ( - method.upper(), path_template, query_string + endpoints.append(endpoint) + except Exception as e: + raise Exception( + "Error handling endpoint %s %s: %s" % (method, path, e), ) - - endpoints.append(endpoint) - return { "base": api.get("basePath").rstrip("/"), "group": group_name, "endpoints": endpoints, } + def _handle_endpoint(self, endpoint_swagger, method, path): + endpoint = { + "title": endpoint_swagger.get("summary", ""), + "deprecated": endpoint_swagger.get("deprecated", False), + "desc": endpoint_swagger.get("description", + endpoint_swagger.get("summary", "")), + "method": method.upper(), + "path": path.strip(), + "requires_auth": "security" in endpoint_swagger, + "rate_limited": 429 in endpoint_swagger.get("responses", {}), + "req_param_by_loc": {}, + "req_body_tables": [], + "res_headers": [], + "res_tables": [], + "responses": [], + "example": { + "req": "", + } + } + path_template = path + example_query_params = [] + example_body = "" + for param in endpoint_swagger.get("parameters", []): + # even body params should have names, otherwise the active docs don't work. + param_name = param["name"] + + try: + param_loc = param["in"] + + if param_loc == "body": + self._handle_body_param(param, endpoint) + example_body = get_example_for_param(param) + continue + + # description + desc = param.get("description", "") + if param.get("required"): + desc = "**Required.** " + desc + + # assign value expected for this param + val_type = param.get("type") # integer/string + + if param.get("enum"): + val_type = "enum" + desc += ( + " One of: %s" % json.dumps(param.get("enum")) + ) + + endpoint["req_param_by_loc"].setdefault(param_loc, []).append({ + "key": param_name, + "type": val_type, + "desc": desc + }) + + example = get_example_for_param(param) + if example is None: + continue + + if param_loc == "path": + path_template = path_template.replace( + "{%s}" % param_name, urllib.quote(example) + ) + elif param_loc == "query": + if type(example) == list: + for value in example: + example_query_params.append((param_name, value)) + else: + example_query_params.append((param_name, example)) + + except Exception, e: + raise Exception("Error handling parameter %s" % param_name, e) + # endfor[param] + good_response = None + for code in sorted(endpoint_swagger.get("responses", {}).keys()): + res = endpoint_swagger["responses"][code] + if not good_response and code == 200: + good_response = res + description = res.get("description", "") + example = get_example_for_response(res) + endpoint["responses"].append({ + "code": code, + "description": description, + "example": example, + }) + + # add response params if this API has any. + if good_response: + if "schema" in good_response: + endpoint["res_tables"] = get_tables_for_response( + good_response["schema"] + ) + if "headers" in good_response: + headers = [] + for (header_name, header) in good_response[ + "headers"].iteritems(): + headers.append({ + "key": header_name, + "type": header["type"], + "desc": header["description"], + }) + endpoint["res_headers"] = headers + query_string = "" if len( + example_query_params) == 0 else "?" + urllib.urlencode( + example_query_params) + if example_body: + endpoint["example"][ + "req"] = "%s %s%s HTTP/1.1\nContent-Type: application/json\n\n%s" % ( + method.upper(), path_template, query_string, example_body + ) + else: + endpoint["example"]["req"] = "%s %s%s HTTP/1.1\n\n" % ( + method.upper(), path_template, query_string + ) + return endpoint def _handle_body_param(self, param, endpoint_data): """Update endpoint_data object with the details of the body param From 0dfff6b190e8a37037a6b572147cd19eae544b7c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 27 Sep 2017 07:48:50 +0100 Subject: [PATCH 149/801] Simplify dump_swagger We don't need most of the templating stuff. All we have to do is merge together the swagger files, and resolve references. --- scripts/dump-swagger.py | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 58ec2b844..4e5ac942a 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -25,17 +25,17 @@ import json import logging import os.path import re -import shutil import sys import yaml + scripts_dir = os.path.dirname(os.path.abspath(__file__)) templating_dir = os.path.join(os.path.dirname(scripts_dir), "templating") api_dir = os.path.join(os.path.dirname(scripts_dir), "api") sys.path.insert(0, templating_dir) -from matrix_templates.units import resolve_references, MatrixUnits +from matrix_templates import units if len(sys.argv) > 3: sys.stderr.write("usage: %s [output_file] [client_release_label]\n" % (sys.argv[0],)) @@ -53,12 +53,8 @@ match = re.match("^(r\d+)(\.\d+)*$", major_version) if match: major_version = match.group(1) - logging.basicConfig() -os.chdir(templating_dir) -apis = MatrixUnits().load_swagger_apis() - output = { "basePath": "/", "consumes": ["application/json"], @@ -74,21 +70,30 @@ output = { "swagger": "2.0", } -with open(os.path.join(api_dir, 'client-server', 'definitions', +cs_api_dir = os.path.join(api_dir, 'client-server') +with open(os.path.join(cs_api_dir, 'definitions', 'security.yaml')) as f: output['securityDefinitions'] = yaml.load(f) -for file, contents in apis.items(): - basePath = contents['basePath'] - for path, methods in contents["paths"].items(): - path = (basePath + path).replace('%CLIENT_MAJOR_VERSION%', - major_version) - for method, spec in methods.items(): - if "tags" in spec.keys(): - if path not in output["paths"]: - output["paths"][path] = {} - output["paths"][path][method] = spec - +for filename in os.listdir(cs_api_dir): + if not filename.endswith(".yaml"): + continue + filepath = os.path.join(cs_api_dir, filename) + + print("Reading swagger API: %s" % filepath) + with open(filepath, "r") as f: + api = yaml.load(f.read()) + api = units.resolve_references(filepath, api) + + basePath = api['basePath'] + for path, methods in api["paths"].items(): + path = (basePath + path).replace('%CLIENT_MAJOR_VERSION%', + major_version) + for method, spec in methods.items(): + if "tags" in spec.keys(): + if path not in output["paths"]: + output["paths"][path] = {} + output["paths"][path][method] = spec print "Generating %s" % output_file From 544bd0a5d238d6fdda929f08e53db1a970bca738 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 27 Sep 2017 08:03:13 +0100 Subject: [PATCH 150/801] Improve logging for gendoc --- templating/matrix_templates/units.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 09353f97d..e19267130 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -550,8 +550,8 @@ class MatrixUnits(Units): for filename in os.listdir(path): if not filename.endswith(".yaml"): continue - logger.info("Reading swagger API: %s" % filename) filepath = os.path.join(path, filename) + logger.info("Reading swagger API: %s" % filepath) with open(filepath, "r") as f: # strip .yaml group_name = filename[:-5].replace("-", "_") From cfb547b4741b0ccb6835dc2f973fb51405e6670d Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 27 Sep 2017 15:31:55 +0100 Subject: [PATCH 151/801] Fix perspectives project link The perspectives project seems to be dead :/. We can at least link to the wayback machine. --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index eb863e743..11c57e61e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -111,7 +111,7 @@ avoiding a single trust-root since each server is free to pick which notary servers they trust and can corroborate the keys returned by a given notary server by querying other servers. -.. _Perspectives Project: http://perspectives-project.org/ +.. _Perspectives Project: https://web.archive.org/web/20170702024706/https://perspectives-project.org/ Publishing Keys ^^^^^^^^^^^^^^^ From a1265a274b13384be5ac316d927adbdfe497461f Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 29 Sep 2017 11:59:27 -0600 Subject: [PATCH 152/801] Add spec for m.room.pinned_events Signed-off-by: Travis Ralston --- .gitignore | 1 + event-schemas/examples/m.room.pinned_events | 12 ++++++++++ event-schemas/schema/m.room.pinned_events | 25 +++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 event-schemas/examples/m.room.pinned_events create mode 100644 event-schemas/schema/m.room.pinned_events diff --git a/.gitignore b/.gitignore index daef51d72..dccd3152a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /templating/out *.pyc *.swp +/env \ No newline at end of file diff --git a/event-schemas/examples/m.room.pinned_events b/event-schemas/examples/m.room.pinned_events new file mode 100644 index 000000000..6f41e97da --- /dev/null +++ b/event-schemas/examples/m.room.pinned_events @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "pinned": ["$someevent:localhost"] + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.pinned_events", + "room_id": "!Cuyf34gef24t:localhost", + "sender": "@example:localhost" +} diff --git a/event-schemas/schema/m.room.pinned_events b/event-schemas/schema/m.room.pinned_events new file mode 100644 index 000000000..7b4a0d61d --- /dev/null +++ b/event-schemas/schema/m.room.pinned_events @@ -0,0 +1,25 @@ +--- +allOf: + - $ref: core-event-schema/state_event.yaml +description: This event is used to "pin" particular events in a room for other participants to review later. The order of the pinned events is guaranteed and based upon the order supplied in the event. Clients should be aware that the current user may not be able to see some of the events pinned due to visibility settings in the room. Clients are responsible for determining if a particular event in the pinned list is displayable, and have the option to not display it if it cannot be pinned in the client. +properties: + content: + properties: + pinned: + description: An ordered list of event IDs to pin. + items: + type: string + type: array + required: + - pinned + type: object + state_key: + description: A zero-length string. + pattern: '^$' + type: string + type: + enum: + - m.room.pinned_events + type: string +title: Pinned events in a room +type: object From 9b1470cefe02d6ba2b2a5a4d2ea2b94c03b95a9e Mon Sep 17 00:00:00 2001 From: Max Dor Date: Sat, 7 Oct 2017 18:55:26 +0200 Subject: [PATCH 153/801] Update mxisd description --- supporting-docs/projects/2017-01-23-mxisd.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md index 1ccacf3e8..5b9113e63 100644 --- a/supporting-docs/projects/2017-01-23-mxisd.md +++ b/supporting-docs/projects/2017-01-23-mxisd.md @@ -2,13 +2,13 @@ layout: project title: mxisd categories: projects other -description: A Matrix Identity Server implementation +description: Federated Identity, Authentication and Directory service author: Kamax.io -maturity: Beta +maturity: Late beta --- # {{ page.title }} -mxisd is a federated Matrix Identity Server for self-hosted Matrix servers. +mxisd is a federated Matrix Identity Server for self-hosted Matrix servers with enhanced features. It provides the following features for your Matrix Homeserver: - Link to an already existing Identity store - No more duplication of data that would already be in your AD/LDAP, forums, CRM, etc. @@ -19,7 +19,8 @@ It provides the following features for your Matrix Homeserver: - Allow people to link identifiers (e-mail, phone number) to their Matrix account to be locally or globally searchable - Provide an all-in-one authentication backend for synapse using the [REST auth module](https://github.com/kamax-io/matrix-synapse-rest-auth) -mxisd is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) with much added values and features. +mxisd is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) with much added value and features. + +Come talk to us on Matrix at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io)! -Come talk to us on Matrix at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io) or have a [peek view](https://view.matrix.org/room/!NPRUEisLjcaMtHIzDr:kamax.io/) Follow the progress and grab the code from [GitHub](https://github.com/kamax-io/mxisd). From bf3b49f13cded7e118fdab472e5d85bbee7d0709 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@googlemail.com> Date: Tue, 10 Oct 2017 16:16:27 +0100 Subject: [PATCH 154/801] document joined_members and joined_rooms endpoints (#999) --- api/client-server/list_joined_rooms.yaml | 57 ++++++++++++++++++++++++ api/client-server/rooms.yaml | 49 ++++++++++++++++++++ changelogs/client_server.rst | 8 ++++ specification/client_server_api.rst | 1 + 4 files changed, 115 insertions(+) create mode 100644 api/client-server/list_joined_rooms.yaml diff --git a/api/client-server/list_joined_rooms.yaml b/api/client-server/list_joined_rooms.yaml new file mode 100644 index 000000000..a239871a7 --- /dev/null +++ b/api/client-server/list_joined_rooms.yaml @@ -0,0 +1,57 @@ +# Copyright 2017 Michael Telatynski <7t3chguy@gmail.com> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Room Listing API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/joined_rooms": + get: + summary: Lists the user's current rooms. + description: |- + This API returns a list of the user's current rooms. + security: + - accessToken: [] + responses: + 200: + description: A list of the rooms the user is in. + schema: + type: object + required: ["joined_rooms"] + properties: + joined_rooms: + type: array + description: |- + The ID of each room in which the user has ``joined`` membership. + items: + type: string + examples: + application/json: { + "joined_rooms": [ + "!foo:example.com" + ] + } + tags: + - Room membership \ No newline at end of file diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 2f17c17ca..26308acc3 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -297,3 +297,52 @@ paths: member of the room. tags: - Room participation + "/rooms/{roomId}/joined_members": + get: + summary: Gets the list of currently joined users and their profile data. + description: + This API returns a map of MXIDs to member info objects for members of the room. The current user must be in the room for it to work, unless it is an Application Service in which case any of the AS's users must be in the room. + This API is primarily for Application Services and should be faster to respond than ``/members`` as it can be implemented more efficiently on the server. + parameters: + - in: path + type: string + name: roomId + description: The room to get the members of. + required: true + x-example: "!636q39766251:example.com" + security: + - accessToken: [] + responses: + 200: + description: |- + A map of MXID to room member objects. + examples: + application/json: { + "joined": { + "@bar:example.com": { + "display_name": "Bar", + "avatar_url": "mxc://riot.ovh/printErCATzZijQsSDWorRaK" + } + } + } + schema: + type: object + properties: + joined: + additionalProperties: + title: RoomMember + type: object + properties: + display_name: + type: string + description: The display name of the user this object is representing. + avatar_url: + type: string + description: The mxc avatar url of the user this object is representing. + description: A map from user ID to a RoomMember object. + type: object + 403: + description: > + You aren't a member of the room. + tags: + - Room participation diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 9d9d246bb..eccab7c6c 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -49,6 +49,14 @@ - Add key distribution APIs, for use with end-to-end encryption. (`#894 `_). + - New endpoints: + + - ``GET /joined_rooms`` + (`#999 `_). + + - ``GET /rooms/{roomId}/joined_members`` + (`#999 `_). + - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index ab140641d..eda2eb266 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1260,6 +1260,7 @@ The allowable state transitions of membership are:: ----------------------------------------------+ +----------------------+ /ban +{{list_joined_rooms_cs_http_api}} Joining rooms +++++++++++++ From 24afe7987c26fe68563a6404f5d3cbb75bedafd9 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Thu, 3 Aug 2017 08:19:34 +0900 Subject: [PATCH 155/801] Add operationId to all endpoints of all APIs To facilitate generation of API stubs from the spec. Signed-off-by: Alexey Rusakov --- api/application-service/application_service.yaml | 1 + api/client-server/account-data.yaml | 2 ++ api/client-server/admin.yaml | 1 + api/client-server/administrative_contact.yaml | 3 +++ api/client-server/banning.yaml | 2 ++ api/client-server/cas_login_redirect.yaml | 1 + api/client-server/cas_login_ticket.yaml | 1 + api/client-server/content-repo.yaml | 4 ++++ api/client-server/create_room.yaml | 1 + api/client-server/device_management.yaml | 4 ++++ api/client-server/directory.yaml | 3 +++ api/client-server/event_context.yaml | 1 + api/client-server/filter.yaml | 2 ++ api/client-server/inviting.yaml | 1 + api/client-server/joining.yaml | 2 ++ api/client-server/keys.yaml | 4 ++++ api/client-server/kicking.yaml | 1 + api/client-server/leaving.yaml | 2 ++ api/client-server/list_public_rooms.yaml | 2 ++ api/client-server/login.yaml | 1 + api/client-server/logout.yaml | 1 + api/client-server/message_pagination.yaml | 1 + api/client-server/notifications.yaml | 1 + api/client-server/old_sync.yaml | 3 +++ api/client-server/peeking_events.yaml | 1 + api/client-server/presence.yaml | 4 ++++ api/client-server/profile.yaml | 5 +++++ api/client-server/pusher.yaml | 2 ++ api/client-server/pushrules.yaml | 8 ++++++++ api/client-server/receipts.yaml | 1 + api/client-server/redaction.yaml | 1 + api/client-server/registration.yaml | 5 +++++ api/client-server/room_initial_sync.yaml | 1 + api/client-server/room_send.yaml | 1 + api/client-server/room_state.yaml | 2 ++ api/client-server/rooms.yaml | 4 ++++ api/client-server/search.yaml | 1 + api/client-server/sync.yaml | 1 + api/client-server/tags.yaml | 3 +++ api/client-server/third_party_membership.yaml | 1 + api/client-server/to_device.yaml | 1 + api/client-server/typing.yaml | 1 + api/client-server/versions.yaml | 1 + api/client-server/voip.yaml | 1 + api/identity/lookup.yaml | 1 + api/identity/pubkey.yaml | 3 +++ api/push-gateway/push_notifier.yaml | 2 +- 47 files changed, 95 insertions(+), 1 deletion(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 45a539469..485c32df8 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -31,6 +31,7 @@ paths: description: |- This API is called by the HS when the HS wants to push an event (or batch of events) to the AS. + operationId: sendTransaction parameters: - in: path name: txnId diff --git a/api/client-server/account-data.yaml b/api/client-server/account-data.yaml index d8e93ef40..76b2b1565 100644 --- a/api/client-server/account-data.yaml +++ b/api/client-server/account-data.yaml @@ -34,6 +34,7 @@ paths: Set some account_data for the client. This config is only visible to the user that set the account_data. The config will be synced to clients in the top-level ``account_data``. + operationId: setAccountData security: - accessToken: [] parameters: @@ -75,6 +76,7 @@ paths: Set some account_data for the client on a given room. This config is only visible to the user that set the account_data. The config will be synced to clients in the per-room ``account_data``. + operationId: setAccountDataPerRoom security: - accessToken: [] parameters: diff --git a/api/client-server/admin.yaml b/api/client-server/admin.yaml index d5b964b36..2fdac82b0 100644 --- a/api/client-server/admin.yaml +++ b/api/client-server/admin.yaml @@ -36,6 +36,7 @@ paths: This API may be restricted to only be called by the user being looked up, or by a server admin. Server-local administrator privileges are not specified in this document. + operationId: getWhoIs security: - accessToken: [] parameters: diff --git a/api/client-server/administrative_contact.yaml b/api/client-server/administrative_contact.yaml index e9b7caa4f..e7381a555 100644 --- a/api/client-server/administrative_contact.yaml +++ b/api/client-server/administrative_contact.yaml @@ -39,6 +39,7 @@ paths: Identifiers in this list may be used by the homeserver as, for example, identifiers that it will accept to reset the user's account password. + operationId: getAccount3PIDs security: - accessToken: [] responses: @@ -74,6 +75,7 @@ paths: post: summary: Adds contact information to the user's account. description: Adds contact information to the user's account. + operationId: post3PIDs security: - accessToken: [] parameters: @@ -139,6 +141,7 @@ paths: validation tokens when adding an email address to an account. This API's parameters and response is identical to that of the HS API |/register/email/requestToken|_ endpoint. + operationId: requestTokenTo3PID responses: 200: description: An email was sent to the given address diff --git a/api/client-server/banning.yaml b/api/client-server/banning.yaml index 517552a61..3877f0e90 100644 --- a/api/client-server/banning.yaml +++ b/api/client-server/banning.yaml @@ -36,6 +36,7 @@ paths: When a user is banned from a room, they may not join it or be invited to it until they are unbanned. The caller must have the required power level in order to perform this operation. + operationId: ban security: - accessToken: [] parameters: @@ -91,6 +92,7 @@ paths: and join if they would otherwise be allowed to join according to its join rules. The caller must have the required power level in order to perform this operation. + operationId: unban security: - accessToken: [] parameters: diff --git a/api/client-server/cas_login_redirect.yaml b/api/client-server/cas_login_redirect.yaml index 7a4cec5de..abe9069b5 100644 --- a/api/client-server/cas_login_redirect.yaml +++ b/api/client-server/cas_login_redirect.yaml @@ -37,6 +37,7 @@ paths: ``redirectUrl=https://client.example.com/?q=p``, it might redirect to ``https://cas.example.com/?service=https%3A%2F%2Fserver.example.com%2F_matrix%2Fclient%2F%CLIENT_MAJOR_VERSION%%2Flogin%2Fcas%2Fticket%3FredirectUrl%3Dhttps%253A%252F%252Fclient.example.com%252F%253Fq%253Dp``. + operationId: redirectToCAS parameters: - in: query type: string diff --git a/api/client-server/cas_login_ticket.yaml b/api/client-server/cas_login_ticket.yaml index 024694899..1b1a5f663 100644 --- a/api/client-server/cas_login_ticket.yaml +++ b/api/client-server/cas_login_ticket.yaml @@ -39,6 +39,7 @@ paths: If validation is unsuccessful, the server should respond with a ``401 Unauthorized`` error, the body of which will be displayed to the user. + operationid: loginByCASTicket parameters: - in: query type: string diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index ebb63ba42..c9eac444a 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -26,6 +26,7 @@ paths: "/upload": post: summary: Upload some content to the content repository. + operationid: uploadContent produces: ["application/json"] parameters: - in: header @@ -65,6 +66,7 @@ paths: "/download/{serverName}/{mediaId}": get: summary: "Download content from the content repository." + operationId: getContent produces: ["*/*"] parameters: - in: path @@ -98,6 +100,7 @@ paths: "/download/{serverName}/{mediaId}/{fileName}": get: summary: "Download content from the content repository as a given filename." + operationId: getContentOverrideName produces: ["*/*"] parameters: - in: path @@ -138,6 +141,7 @@ paths: "/thumbnail/{serverName}/{mediaId}": get: summary: "Download a thumbnail of the content from the content repository." + operationId: getContentThumbnail produces: ["image/jpeg", "image/png"] parameters: - in: path diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 8b9ea6f06..4ca3ed0c8 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -46,6 +46,7 @@ paths: 4. Invite events implied by ``invite`` and ``invite_3pid``. + operationId: createRoom security: - accessToken: [] parameters: diff --git a/api/client-server/device_management.yaml b/api/client-server/device_management.yaml index 3ee9c7467..2f7d322bc 100644 --- a/api/client-server/device_management.yaml +++ b/api/client-server/device_management.yaml @@ -33,6 +33,7 @@ paths: summary: List registered devices for the current user description: |- Gets information about all devices for the current user. + operationId: getDevices security: - accessToken: [] responses: @@ -66,6 +67,7 @@ paths: summary: Get a single device description: |- Gets information on a single device, by device id. + operationId: getDevice security: - accessToken: [] parameters: @@ -97,6 +99,7 @@ paths: summary: Update a device description: |- Updates the metadata on the given device. + operationId: updateDevice security: - accessToken: [] parameters: @@ -137,6 +140,7 @@ paths: This API endpoint uses the `User-Interactive Authentication API`_. Deletes the given device, and invalidates any access token assoicated with it. + operationId: deleteDevice security: - accessToken: [] parameters: diff --git a/api/client-server/directory.yaml b/api/client-server/directory.yaml index bfa71a737..a50bab629 100644 --- a/api/client-server/directory.yaml +++ b/api/client-server/directory.yaml @@ -30,6 +30,7 @@ paths: "/room/{roomAlias}": put: summary: Create a new mapping from room alias to room ID. + operationId: setRoomAlias security: - accessToken: [] parameters: @@ -78,6 +79,7 @@ paths: domain part of the alias does not correspond to the server's own domain. + operationId: getRoomIdByAlias parameters: - in: path type: string @@ -124,6 +126,7 @@ paths: Remove a mapping of room alias to room ID. Servers may choose to implement additional access control checks here, for instance that room aliases can only be deleted by their creator or a server administrator. + operationId: deleteRoomAlias security: - accessToken: [] parameters: diff --git a/api/client-server/event_context.yaml b/api/client-server/event_context.yaml index 14889819f..91da3cf4f 100644 --- a/api/client-server/event_context.yaml +++ b/api/client-server/event_context.yaml @@ -34,6 +34,7 @@ paths: This API returns a number of events that happened just before and after the specified event. This allows clients to get the context surrounding an event. + operationId: getEventContext security: - accessToken: [] parameters: diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index ac8e04f57..2c465a575 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -33,6 +33,7 @@ paths: Uploads a new filter definition to the homeserver. Returns a filter ID that may be used in future requests to restrict which events are returned to the client. + operationId: defineFilter security: - accessToken: [] parameters: @@ -96,6 +97,7 @@ paths: "/user/{userId}/filter/{filterId}": get: summary: Download a filter + operationId: getFilter security: - accessToken: [] parameters: diff --git a/api/client-server/inviting.yaml b/api/client-server/inviting.yaml index 942be63e7..47f51bd47 100644 --- a/api/client-server/inviting.yaml +++ b/api/client-server/inviting.yaml @@ -51,6 +51,7 @@ paths: ``m.room.member`` event to the room. .. _third party invites section: `invite-by-third-party-id-endpoint`_ + operationId: inviteUser security: - accessToken: [] parameters: diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index c2388c2f2..da4e43371 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -44,6 +44,7 @@ paths: If a ``third_party_signed`` was supplied, the homeserver must verify that it matches a pending ``m.room.third_party_invite`` event in the room, and perform key validity checking if required by the event. + operationId: joinRoomById security: - accessToken: [] parameters: @@ -132,6 +133,7 @@ paths: If a ``third_party_signed`` was supplied, the homeserver must verify that it matches a pending ``m.room.third_party_invite`` event in the room, and perform key validity checking if required by the event. + operationId: joinRoom security: - accessToken: [] parameters: diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index e77d53254..096e63b3c 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -32,6 +32,7 @@ paths: summary: Upload end-to-end encryption keys. description: |- Publishes end-to-end encryption keys for the device. + operationId: uploadKeys security: - accessToken: [] parameters: @@ -100,6 +101,7 @@ paths: summary: Download device identity keys. description: |- Returns the current devices and identity keys for the given users. + operationId: queryKeys security: - accessToken: [] parameters: @@ -208,6 +210,7 @@ paths: summary: Claim one-time encryption keys. description: |- Claims one-time keys for use in pre-key messages. + operationId: claimKeys security: - accessToken: [] parameters: @@ -293,6 +296,7 @@ paths: membership state ``join``); *and* * added new device identity keys or removed an existing device with identity keys, between ``from`` and ``to``. + operationId: getKeysChanges security: - accessToken: [] parameters: diff --git a/api/client-server/kicking.yaml b/api/client-server/kicking.yaml index fbc0db723..ef43c0ee9 100644 --- a/api/client-server/kicking.yaml +++ b/api/client-server/kicking.yaml @@ -34,6 +34,7 @@ paths: Kick a user from the room. The caller must have the required power level in order to perform this operation. + operationId: kick security: - accessToken: [] parameters: diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index a70b8a80d..36351fd44 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -42,6 +42,7 @@ paths: The user will still be allowed to retrieve history from the room which they were previously allowed to see. + operationId: leaveRoom security: - accessToken: [] parameters: @@ -79,6 +80,7 @@ paths: If the user is currently joined to the room, they will implicitly leave the room as part of this API call. + operationId: forgetRoom security: - accessToken: [] parameters: diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 86e15095a..6d25a1ac2 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -33,6 +33,7 @@ paths: This API returns paginated responses. The rooms are ordered by the number of joined members, with the largest rooms first. + operationId: getPublicRooms parameters: - in: query name: limit @@ -158,6 +159,7 @@ paths: This API returns paginated responses. The rooms are ordered by the number of joined members, with the largest rooms first. + operationId: queryPublicRooms security: - accessToken: [] parameters: diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index c6dc0848e..ff3eb392e 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -41,6 +41,7 @@ paths: supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See `Relationship between access tokens and devices`_. + operationId: login parameters: - in: body name: body diff --git a/api/client-server/logout.yaml b/api/client-server/logout.yaml index eed4ee44f..3a2f71e90 100644 --- a/api/client-server/logout.yaml +++ b/api/client-server/logout.yaml @@ -33,6 +33,7 @@ paths: description: |- Invalidates an existing access token, so that it can no longer be used for authorization. + operationId: logout security: - accessToken: [] responses: diff --git a/api/client-server/message_pagination.yaml b/api/client-server/message_pagination.yaml index 734565ec5..714066534 100644 --- a/api/client-server/message_pagination.yaml +++ b/api/client-server/message_pagination.yaml @@ -33,6 +33,7 @@ paths: description: |- This API returns a list of message and state events for a room. It uses pagination query parameters to paginate history in the room. + operationId: getRoomEvents security: - accessToken: [] parameters: diff --git a/api/client-server/notifications.yaml b/api/client-server/notifications.yaml index 3c92e3102..e10e5bfde 100644 --- a/api/client-server/notifications.yaml +++ b/api/client-server/notifications.yaml @@ -34,6 +34,7 @@ paths: description: |- This API is used to paginate through the list of events that the user has been, or would have been notified about. + operationId: getNotifications security: - accessToken: [] parameters: diff --git a/api/client-server/old_sync.yaml b/api/client-server/old_sync.yaml index c4da0ea15..dd6330692 100644 --- a/api/client-server/old_sync.yaml +++ b/api/client-server/old_sync.yaml @@ -38,6 +38,7 @@ paths: should instead call the |/sync|_ API with a ``since`` parameter. See the `migration guide `_. + operationId: getEvents security: - accessToken: [] parameters: @@ -114,6 +115,7 @@ paths: should instead call the |/sync|_ API with no ``since`` parameter. See the `migration guide `_. + operationId: initialSync security: - accessToken: [] parameters: @@ -406,6 +408,7 @@ paths: This endpoint was deprecated in r0 of this specification. Clients should instead call the |/rooms/{roomId}/context/{eventId}|_ API. + operationId: getOneEvent security: - accessToken: [] parameters: diff --git a/api/client-server/peeking_events.yaml b/api/client-server/peeking_events.yaml index 7c109ce74..2f66bae7f 100644 --- a/api/client-server/peeking_events.yaml +++ b/api/client-server/peeking_events.yaml @@ -41,6 +41,7 @@ paths: Note that the normal ``/events`` endpoint has been deprecated. This API will also be deprecated at some point, but its replacement is not yet known. + operationId: peekEvents security: - accessToken: [] parameters: diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index f17f9c734..ba202c2da 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -35,6 +35,7 @@ paths: the activity time is updated to reflect that activity; the client does not need to specify the ``last_active_ago`` field. You cannot set the presence state of another user. + operationId: setPresence security: - accessToken: [] parameters: @@ -81,6 +82,7 @@ paths: summary: Get this user's presence state. description: |- Get the given user's presence state. + operationId: getPresence parameters: - in: path type: string @@ -126,6 +128,7 @@ paths: summary: Add or remove users from this presence list. description: |- Adds or removes users from this presence list. + operationId: modifyPresenceList security: - accessToken: [] parameters: @@ -180,6 +183,7 @@ paths: summary: Get presence events for this presence list. description: |- Retrieve a list of presence events for every user on this list. + operationId: getPresenceForList parameters: - in: path type: string diff --git a/api/client-server/profile.yaml b/api/client-server/profile.yaml index 10e2a3696..0cada0cad 100644 --- a/api/client-server/profile.yaml +++ b/api/client-server/profile.yaml @@ -33,6 +33,7 @@ paths: description: |- This API sets the given user's display name. You must have permission to set this user's display name, e.g. you need to have their ``access_token``. + operationId: setDisplayName security: - accessToken: [] parameters: @@ -75,6 +76,7 @@ paths: Get the user's display name. This API may be used to fetch the user's own displayname or to query the name of other users; either locally or on remote homeservers. + operationId: getDisplayName parameters: - in: path type: string @@ -105,6 +107,7 @@ paths: description: |- This API sets the given user's avatar URL. You must have permission to set this user's avatar URL, e.g. you need to have their ``access_token``. + operationId: setAvatarUrl security: - accessToken: [] parameters: @@ -147,6 +150,7 @@ paths: Get the user's avatar URL. This API may be used to fetch the user's own avatar URL or to query the URL of other users; either locally or on remote homeservers. + operationId: getAvatarUrl parameters: - in: path type: string @@ -179,6 +183,7 @@ paths: to fetch the user's own profile information or other users; either locally or on remote homeservers. This API may return keys which are not limited to ``displayname`` or ``avatar_url``. + operationId: getUserProfile parameters: - in: path type: string diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 0183520fd..9cf40a061 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -32,6 +32,7 @@ paths: summary: Gets the current pushers for the authenticated user description: |- Gets all currently active pushers for the authenticated user + operationId: getPushers security: - accessToken: [] responses: @@ -123,6 +124,7 @@ paths: This endpoint allows the creation, modification and deletion of `pushers`_ for this user ID. The behaviour of this endpoint varies depending on the values in the JSON body. + operationId: postPusher security: - accessToken: [] parameters: diff --git a/api/client-server/pushrules.yaml b/api/client-server/pushrules.yaml index 2bc7e2a82..801349efa 100644 --- a/api/client-server/pushrules.yaml +++ b/api/client-server/pushrules.yaml @@ -35,6 +35,7 @@ paths: the rulesets by suffixing a ``scope`` to this path e.g. ``/pushrules/global/``. This will return a subset of this data under the specified key e.g. the ``global`` key. + operationId: getPushRules security: - accessToken: [] responses: @@ -247,6 +248,7 @@ paths: summary: Retrieve a push rule. description: |- Retrieve a single specified push rule. + operationId: getPushRule security: - accessToken: [] parameters: @@ -299,6 +301,7 @@ paths: summary: Delete a push rule. description: |- This endpoint removes the push rule defined in the path. + operationId: deletePushRule security: - accessToken: [] parameters: @@ -340,6 +343,7 @@ paths: This endpoint allows the creation, modification and deletion of pushers for this user ID. The behaviour of this endpoint varies depending on the values in the JSON body. + operationId: setPushRule security: - accessToken: [] parameters: @@ -446,6 +450,7 @@ paths: summary: "Get whether a push rule is enabled" description: This endpoint gets whether the specified push rule is enabled. + operationId: isPushRuleEnabled security: - accessToken: [] parameters: @@ -490,6 +495,7 @@ paths: summary: "Enable or disable a push rule." description: |- This endpoint allows clients to enable or disable the specified push rule. + operationId: setPushRuleEnabled security: - accessToken: [] parameters: @@ -545,6 +551,7 @@ paths: summary: "The actions for a push rule" description: This endpoint get the actions for the specified push rule. + operationId: getPushRuleActions security: - accessToken: [] parameters: @@ -592,6 +599,7 @@ paths: description: |- This endpoint allows clients to change the actions of a push rule. This can be used to change the actions of builtin rules. + operationId: setPushRuleActions security: - accessToken: [] parameters: diff --git a/api/client-server/receipts.yaml b/api/client-server/receipts.yaml index 8d2cc631e..e46359a99 100644 --- a/api/client-server/receipts.yaml +++ b/api/client-server/receipts.yaml @@ -33,6 +33,7 @@ paths: description: |- This API updates the marker for the given receipt type to the event ID specified. + operationId: postReceipt security: - accessToken: [] parameters: diff --git a/api/client-server/redaction.yaml b/api/client-server/redaction.yaml index 029dd05cf..752d841a5 100644 --- a/api/client-server/redaction.yaml +++ b/api/client-server/redaction.yaml @@ -39,6 +39,7 @@ paths: Users may redact their own events, and any user with a power level greater than or equal to the `redact` power level of the room may redact events there. + operationId: redactEvent security: - accessToken: [] parameters: diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 9bd6aa750..e9b06ec32 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -49,6 +49,7 @@ paths: supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See `Relationship between access tokens and devices`_. + operationId: register parameters: - in: query name: kind @@ -178,6 +179,7 @@ paths: this API takes JSON objects, though the Identity Server API takes ``x-www-form-urlencoded`` parameters. See the Identity Server API for further information. + operationId: requestTokenToRegister parameters: - in: body name: body @@ -244,6 +246,7 @@ paths: valid access token is provided. security: - accessToken: [] + operationId: changePassword parameters: - in: body name: body @@ -295,6 +298,7 @@ paths: .. |/register/email/requestToken| replace:: ``/register/email/requestToken`` .. _/register/email/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken + operationId: requestTokenToResetPassword responses: 200: description: An email was sent to the given address @@ -314,6 +318,7 @@ paths: valid access token is provided. security: - accessToken: [] + operationId: deactivateAccount parameters: - in: body name: body diff --git a/api/client-server/room_initial_sync.yaml b/api/client-server/room_initial_sync.yaml index 64eca5c01..c27f0f24b 100644 --- a/api/client-server/room_initial_sync.yaml +++ b/api/client-server/room_initial_sync.yaml @@ -24,6 +24,7 @@ paths: direct replacement; the relevant information is returned by the |/sync|_ API. See the `migration guide `_. + operationId: roomInitialSync security: - accessToken: [] parameters: diff --git a/api/client-server/room_send.yaml b/api/client-server/room_send.yaml index 5326ab599..0bb1bbcb9 100644 --- a/api/client-server/room_send.yaml +++ b/api/client-server/room_send.yaml @@ -38,6 +38,7 @@ paths: The body of the request should be the content object of the event; the fields in this object will vary depending on the type of event. See `Room Events`_ for the m. event specification. + operationId: sendMessage security: - accessToken: [] parameters: diff --git a/api/client-server/room_state.yaml b/api/client-server/room_state.yaml index ae50eec33..042b5eedf 100644 --- a/api/client-server/room_state.yaml +++ b/api/client-server/room_state.yaml @@ -42,6 +42,7 @@ paths: The body of the request should be the content object of the event; the fields in this object will vary depending on the type of event. See `Room Events`_ for the ``m.`` event specification. + operationId: setRoomStateWithKey security: - accessToken: [] parameters: @@ -104,6 +105,7 @@ paths: The body of the request should be the content object of the event; the fields in this object will vary depending on the type of event. See `Room Events`_ for the ``m.`` event specification. + operationId: setRoomState security: - accessToken: [] parameters: diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 26308acc3..0182361ef 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -35,6 +35,7 @@ paths: joined to the room then the state is taken from the current state of the room. If the user has left the room then the state is taken from the state of the room when they left. + operationId: getRoomStateWithKey security: - accessToken: [] parameters: @@ -82,6 +83,7 @@ paths: taken from the state of the room when they left. This looks up the state event with the empty state key. + operationId: getRoomStateByType security: - accessToken: [] parameters: @@ -118,6 +120,7 @@ paths: summary: Get all state events in the current state of a room. description: |- Get the state events for the current state of a room. + operationId: getRoomState security: - accessToken: [] parameters: @@ -234,6 +237,7 @@ paths: summary: Get the m.room.member events for the room. description: Get the list of members for this room. + operationId: getRoomMembers parameters: - in: path type: string diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 78dace906..db2cb30a3 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -32,6 +32,7 @@ paths: summary: Perform a server-side search. description: |- Performs a full text search across different categories. + operationId: search security: - accessToken: [] parameters: diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 2276317f7..34659dd06 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -34,6 +34,7 @@ paths: Clients use this API when they first log in to get an initial snapshot of the state on the server, and then continue to call this API to get incremental deltas to the state, and to receive new messages. + operationId: sync security: - accessToken: [] parameters: diff --git a/api/client-server/tags.yaml b/api/client-server/tags.yaml index 686d52a5f..9310b25f2 100644 --- a/api/client-server/tags.yaml +++ b/api/client-server/tags.yaml @@ -32,6 +32,7 @@ paths: summary: List the tags for a room. description: |- List the tags set by a user on a room. + operationId: getRoomTags security: - accessToken: [] parameters: @@ -74,6 +75,7 @@ paths: summary: Add a tag to a room. description: |- Add a tag to the room. + operationId: setRoomTag security: - accessToken: [] parameters: @@ -123,6 +125,7 @@ paths: summary: Remove a tag from the room. description: |- Remove a tag from the room. + operationId: deleteRoomTag security: - accessToken: [] parameters: diff --git a/api/client-server/third_party_membership.yaml b/api/client-server/third_party_membership.yaml index 51b5c7d4c..612b22d05 100644 --- a/api/client-server/third_party_membership.yaml +++ b/api/client-server/third_party_membership.yaml @@ -75,6 +75,7 @@ paths: append a ``m.room.third_party_invite`` event to the room. .. _joining rooms section: `invite-by-user-id-endpoint`_ + operationId: inviteBy3PID security: - accessToken: [] parameters: diff --git a/api/client-server/to_device.yaml b/api/client-server/to_device.yaml index 6c1f1e57f..739d9a4fa 100644 --- a/api/client-server/to_device.yaml +++ b/api/client-server/to_device.yaml @@ -34,6 +34,7 @@ paths: description: |- This endpoint is used to send send-to-device events to a set of client devices. + operationId: sendToDevice security: - accessToken: [] parameters: diff --git a/api/client-server/typing.yaml b/api/client-server/typing.yaml index c4a8aea78..e2a8f9bd1 100644 --- a/api/client-server/typing.yaml +++ b/api/client-server/typing.yaml @@ -35,6 +35,7 @@ paths: milliseconds where N is the value specified in the ``timeout`` key. Alternatively, if ``typing`` is ``false``, it tells the server that the user has stopped typing. + operationId: setTyping security: - accessToken: [] parameters: diff --git a/api/client-server/versions.yaml b/api/client-server/versions.yaml index 189e9b750..d3aa03594 100644 --- a/api/client-server/versions.yaml +++ b/api/client-server/versions.yaml @@ -33,6 +33,7 @@ paths: Only the latest ``Z`` value will be reported for each supported ``X.Y`` value. i.e. if the server implements ``r0.0.0``, ``r0.0.1``, and ``r1.2.0``, it will report ``r0.0.1`` and ``r1.2.0``. + operationId: getVersions responses: 200: description: The versions supported by the server. diff --git a/api/client-server/voip.yaml b/api/client-server/voip.yaml index f853c3a38..6d6136a54 100644 --- a/api/client-server/voip.yaml +++ b/api/client-server/voip.yaml @@ -33,6 +33,7 @@ paths: description: |- This API provides credentials for the client to use when initiating calls. + operationId: getTurnServer security: - accessToken: [] responses: diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 18e5e77d8..846ec6dcd 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -27,6 +27,7 @@ paths: get: summary: Look up the Matrix user ID for a 3pid. description: Look up the Matrix user ID for a 3pid. + operationId: lookupUser parameters: - in: query type: string diff --git a/api/identity/pubkey.yaml b/api/identity/pubkey.yaml index d78cd33fa..00796975d 100644 --- a/api/identity/pubkey.yaml +++ b/api/identity/pubkey.yaml @@ -28,6 +28,7 @@ paths: summary: Get a public key. description: |- Get the public key for the passed key ID. + operationId: getPubKey parameters: - in: path type: string @@ -56,6 +57,7 @@ paths: summary: Check whether a long-term public key is valid. description: |- Check whether a long-term public key is valid. + operationId: isPubKeyValid parameters: - in: query type: string @@ -83,6 +85,7 @@ paths: summary: Check whether a short-term public key is valid. description: |- Check whether a short-term public key is valid. + operationId: isEphemeralPubKeyValid parameters: - in: query type: string diff --git a/api/push-gateway/push_notifier.yaml b/api/push-gateway/push_notifier.yaml index 6e3720c35..9b6e78d35 100644 --- a/api/push-gateway/push_notifier.yaml +++ b/api/push-gateway/push_notifier.yaml @@ -46,7 +46,7 @@ paths: Notifications are sent to the URL configured when the pusher is created. This means that the HTTP path may be different depending on the push gateway. - + operationId: notify parameters: - in: body name: notification From 004a4d5148a584dce21a0c85346ba818a15acb04 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Wed, 11 Oct 2017 02:22:19 +0900 Subject: [PATCH 156/801] Added/updated operationIds according to today's updates in the spec Signed-off-by: Alexey Rusakov --- api/client-server/list_joined_rooms.yaml | 3 ++- api/client-server/rooms.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/client-server/list_joined_rooms.yaml b/api/client-server/list_joined_rooms.yaml index a239871a7..19ad86499 100644 --- a/api/client-server/list_joined_rooms.yaml +++ b/api/client-server/list_joined_rooms.yaml @@ -32,6 +32,7 @@ paths: summary: Lists the user's current rooms. description: |- This API returns a list of the user's current rooms. + operationId: getJoinedRooms security: - accessToken: [] responses: @@ -54,4 +55,4 @@ paths: ] } tags: - - Room membership \ No newline at end of file + - Room membership diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 0182361ef..176d9fc9e 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -237,7 +237,7 @@ paths: summary: Get the m.room.member events for the room. description: Get the list of members for this room. - operationId: getRoomMembers + operationId: getMembersByRoom parameters: - in: path type: string @@ -307,6 +307,7 @@ paths: description: This API returns a map of MXIDs to member info objects for members of the room. The current user must be in the room for it to work, unless it is an Application Service in which case any of the AS's users must be in the room. This API is primarily for Application Services and should be faster to respond than ``/members`` as it can be implemented more efficiently on the server. + operationId: getJoinedMembersByRoom parameters: - in: path type: string From 4ed19ef8bec28f2adce759c3fed706065b87dea9 Mon Sep 17 00:00:00 2001 From: tijder Date: Fri, 13 Oct 2017 00:29:04 +0200 Subject: [PATCH 157/801] Create 2017-10-12-SmsMatrix.md (#1018) --- supporting-docs/projects/2017-10-12-SmsMatrix.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 supporting-docs/projects/2017-10-12-SmsMatrix.md diff --git a/supporting-docs/projects/2017-10-12-SmsMatrix.md b/supporting-docs/projects/2017-10-12-SmsMatrix.md new file mode 100644 index 000000000..b36949adb --- /dev/null +++ b/supporting-docs/projects/2017-10-12-SmsMatrix.md @@ -0,0 +1,13 @@ +--- +layout: project +title: SmsMatrix +categories: projects other +description: A simple Android SMS (text message) <--> Matrix bridge. +author: Gerben Droogers +maturity: Alpha +--- + +# {{ page.title }} +A simple Android SMS (text message) <--> Matrix bridge. With this bridge you can get all your text messages on Matrix and reply to them. + +Get it and report issues at [github](https://github.com/tijder/SmsMatrix) From d3a4ad06c72c121910b771d51eaf21b199b3f517 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 13 Oct 2017 02:11:40 +0100 Subject: [PATCH 158/801] Notes on issue categorisation --- README.rst | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 76e3c1afa..4469702ac 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,95 @@ This repository contains the documentation for Matrix. -Structure -========= +Primarily, that means the Matrix protocol specifcation, but this repo also +comtains a lot of supporting documents, including some introductions to Matrix, +and, notably, a list of projects using Matrix which is visible on the +`matrix.org website `_. -- ``api`` : Contains the HTTP API specification. +Issue tracking +============== + +Issues with the Matrix specification and supporting documentation are tracked +in `GitHub `_. + +The following labels are used to help categorize issues: + +`spec-omission `_ + Things which have been implemented but not currently specified. These may + range from entire API endpoints, to particular options or return + parameters. + + Issues with this label will have been implemented in `Synapse + `_. Normally there will be a design + document in Google Docs or similar which describes the feature. + + Examples: + + * `Spec PUT /directory/list `_ + * `Unspec'd server_name request param for /join/{roomIdOrAlias} + `_ + +`clarification `_ + An area where the spec could do with being more explicit. + + Examples: + + * `Spec the implicit limit on /syncs + `_ + + * `Clarify the meaning of the currently_active flags in presence events + `_ + +`bug `_ + Something which is in the spec, but is wrong. + + Note: this is *not* for things that are badly designed or don't work well + (for which see 'improvement' or 'feature') - it is for places where the + spec doesn't match reality. + + Examples: + + * `swagger is wrong for directory PUT + `_ + + * `receipts section still refers to initialSync + `_ + +`improvement `_ + A suggestion for a relaatively simple improvement to the protocol. + + Examples: + + * `We need a 'remove 3PID' API so that users can remove mappings + `_ + * `We should mandate that /publicRooms requires an access_token + `_ + +`feature `_ + A suggestion for a significant extension to the matrix protocol which + needs considerable consideration before implementation. + + Examples: + + * `Peer-to-peer Matrix `_ + * `Specify a means for clients to "edit" previous messages + `_ + +`projects `_ + A project which needs adding to the 'Try Matrix Now' page. + + Examples: + + * `add https://gitlab.com/uhoreg/matrix-appservice-prosody + `_ + + * `add https://github.com/tavoda/matrix-java project + `_ + +Structure of this repository +============================ + +- ``api`` : Contains the HTTP API specification, documented using OpenAPI + (swagger). - ``attic``: Contains historical sections of specification for reference purposes. - ``changelogs``: Contains change logs for the various parts of the From 30b50052668fd13f0fcfaed6d73a4075a8fafc2c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 13 Oct 2017 02:17:40 +0100 Subject: [PATCH 159/801] formatting --- README.rst | 97 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/README.rst b/README.rst index 4469702ac..83309a6a0 100644 --- a/README.rst +++ b/README.rst @@ -14,76 +14,87 @@ in `GitHub `_. The following labels are used to help categorize issues: `spec-omission `_ - Things which have been implemented but not currently specified. These may - range from entire API endpoints, to particular options or return - parameters. +-------------------------------------------------------------------------------- - Issues with this label will have been implemented in `Synapse - `_. Normally there will be a design - document in Google Docs or similar which describes the feature. +Things which have been implemented but not currently specified. These may range +from entire API endpoints, to particular options or return parameters. - Examples: +Issues with this label will have been implemented in `Synapse +`_. Normally there will be a design +document in Google Docs or similar which describes the feature. - * `Spec PUT /directory/list `_ - * `Unspec'd server_name request param for /join/{roomIdOrAlias} - `_ +Examples: + +* `Spec PUT /directory/list `_ +* `Unspec'd server_name request param for /join/{roomIdOrAlias} + `_ `clarification `_ - An area where the spec could do with being more explicit. +-------------------------------------------------------------------------------- + +An area where the spec could do with being more explicit. - Examples: +Examples: - * `Spec the implicit limit on /syncs - `_ +* `Spec the implicit limit on /syncs + `_ - * `Clarify the meaning of the currently_active flags in presence events - `_ + * `Clarify the meaning of the currently_active flags in presence events + `_ `bug `_ - Something which is in the spec, but is wrong. +------------------------------------------------------------ + +Something which is in the spec, but is wrong. - Note: this is *not* for things that are badly designed or don't work well - (for which see 'improvement' or 'feature') - it is for places where the - spec doesn't match reality. +Note: this is *not* for things that are badly designed or don't work well +(for which see 'improvement' or 'feature') - it is for places where the +spec doesn't match reality. - Examples: +Examples: - * `swagger is wrong for directory PUT - `_ +* `swagger is wrong for directory PUT + `_ - * `receipts section still refers to initialSync - `_ +* `receipts section still refers to initialSync + `_ `improvement `_ - A suggestion for a relaatively simple improvement to the protocol. +---------------------------------------------------------------------------- - Examples: +A suggestion for a relaatively simple improvement to the protocol. - * `We need a 'remove 3PID' API so that users can remove mappings - `_ - * `We should mandate that /publicRooms requires an access_token - `_ +Examples: + +* `We need a 'remove 3PID' API so that users can remove mappings + `_ +* `We should mandate that /publicRooms requires an access_token + `_ `feature `_ - A suggestion for a significant extension to the matrix protocol which - needs considerable consideration before implementation. +-------------------------------------------------------------------- + +A suggestion for a significant extension to the matrix protocol which +needs considerable consideration before implementation. - Examples: +Examples: - * `Peer-to-peer Matrix `_ - * `Specify a means for clients to "edit" previous messages - `_ +* `Peer-to-peer Matrix `_ +* `Specify a means for clients to "edit" previous messages + `_ `projects `_ - A project which needs adding to the 'Try Matrix Now' page. +---------------------------------------------------------------------- + +A project which needs adding to the 'Try Matrix Now' page. - Examples: +Examples: - * `add https://gitlab.com/uhoreg/matrix-appservice-prosody - `_ +* `add https://gitlab.com/uhoreg/matrix-appservice-prosody + `_ - * `add https://github.com/tavoda/matrix-java project - `_ +* `add https://github.com/tavoda/matrix-java project + `_ Structure of this repository ============================ From 6b0ae8013bf4070678fd567541604cdd81c52a1e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 13 Oct 2017 02:18:21 +0100 Subject: [PATCH 160/801] formatting --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 83309a6a0..8638b8bc9 100644 --- a/README.rst +++ b/README.rst @@ -39,8 +39,8 @@ Examples: * `Spec the implicit limit on /syncs `_ - * `Clarify the meaning of the currently_active flags in presence events - `_ +* `Clarify the meaning of the currently_active flags in presence events + `_ `bug `_ ------------------------------------------------------------ From add03fb8f991f7a40bad5226de2278424b0329b8 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 13 Oct 2017 02:21:48 +0100 Subject: [PATCH 161/801] formatting --- README.rst | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/README.rst b/README.rst index 8638b8bc9..1ca8d3ade 100644 --- a/README.rst +++ b/README.rst @@ -99,38 +99,35 @@ Examples: Structure of this repository ============================ -- ``api`` : Contains the HTTP API specification, documented using OpenAPI - (swagger). -- ``attic``: Contains historical sections of specification for reference +- ``api`` : `OpenAPI`_ (swagger) specifications for the the HTTP APIs. +- ``attic``: historical sections of specification for reference purposes. -- ``changelogs``: Contains change logs for the various parts of the +- ``changelogs``: change logs for the various parts of the specification. - ``drafts``: Previously, contained documents which were under discussion for future incusion into the specification and/or supporting documentation. This is now historical, as we use separate discussion documents (see ``_). -- ``event-schemas``: Contains the `JSON Schema`_ for all Matrix events +- ``event-schemas``: the `JSON Schema`_ for all Matrix events contained in the specification, along with example JSON files. -- ``meta``: Contains documents outlining the processes involved when writing +- ``meta``: documents outlining the processes involved when writing documents, e.g. documentation style, guidelines. -- ``scripts``: Contains scripts to generate formatted versions of the +- ``scripts``: scripts to generate formatted versions of the documentation, typically HTML. -- ``specification``: Contains the specification split up into sections. -- ``supporting-docs``: Contains additional documents which explain design +- ``specification``: the specification split up into sections. +- ``supporting-docs``: additional documents which explain design decisions, examples, use cases, etc. -- ``templating``: Contains the templates and templating system used to +- ``templating``: the templates and templating system used to generate the spec. +.. _OpenAPI: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md +.. _JSON Schema: http://json-schema.org/ + Contributing ============ -Known issues with the specification are represented as JIRA issues at -``_. - If you want to ask more about the specification, join us on `#matrix-dev:matrix.org `_. If you would like to contribute to the specification or supporting documentation, see ``_. - -.. _JSON Schema: http://json-schema.org/ From bf4936d6d7269834690e1eaf2fb2b6686a5201ca Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sun, 15 Oct 2017 22:18:10 +0100 Subject: [PATCH 162/801] Specify max event size more precisely This is somewhat inelegant, and will please nobody, but I think it's more important that we specify the current state of the onion than worry about what would have been nice, and introduce incompatibilities while we do so. --- specification/events.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/specification/events.rst b/specification/events.rst index 91b837c6d..69a87927d 100644 --- a/specification/events.rst +++ b/specification/events.rst @@ -32,8 +32,11 @@ server-server API. Size limits ----------- -The total size of any event MUST NOT exceed 65 KB. There are additional -restrictions on sizes per key: +The complete event MUST NOT be larger than 65535 bytes, when formatted as a +`PDU for the Server-Server protocol <../server_server/SERVER_RELEASE_LABEL%#pdus>`_, +including any signatures, and encoded as `Canonical JSON`_. + +There are additional restrictions on sizes per key: - ``sender`` MUST NOT exceed 255 bytes (including domain). - ``room_id`` MUST NOT exceed 255 bytes. @@ -67,3 +70,4 @@ prefixed with ``m.`` {{m_room_redaction_event}} +.. _`Canonical JSON`: ../appendices.html#canonical-json From 2dbd6bbdc7d7695f9404d6856b5920ed1f99c43a Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 15 Oct 2017 23:33:30 +0200 Subject: [PATCH 163/801] Add Morpheus as Client (#1020) --- .../projects/2017-10-14-morpheus.md | 21 ++++++++++++++++++ supporting-docs/projects/images/morpheus.png | Bin 0 -> 27507 bytes 2 files changed, 21 insertions(+) create mode 100644 supporting-docs/projects/2017-10-14-morpheus.md create mode 100644 supporting-docs/projects/images/morpheus.png diff --git a/supporting-docs/projects/2017-10-14-morpheus.md b/supporting-docs/projects/2017-10-14-morpheus.md new file mode 100644 index 000000000..46870858b --- /dev/null +++ b/supporting-docs/projects/2017-10-14-morpheus.md @@ -0,0 +1,21 @@ +--- +layout: project +title: Morpheus +categories: projects client +# valid categories are client, server, as (application service), sdk (client sdk), and other +thumbnail: /docs/projects/images/morpheus.png +description: A windows focused QT Client written in Golang. +author: MTRNord +maturity: Alpha +--- + +![screenshot](/docs/projects/images/morpheus.png "{{ page.title }}") + +# {{ page.title }} +Morpheus is a windows focused native desktop Matrix client. + +It currently is in early stages (alpha) and provides a few features only. +Current features are receving and sending messages, as well as a cache for messages. Planned is the most that's possible, even encryption. To make it progress faster any help is appreciated. +You can find its sourcecode at [github](https://github.com/Nordgedanken/Morpheus/). + +If you want to join the discussion a chatroom can be joined at [#Morpheus:matrix.ffslfl.net](https://matrix.to/#/#Morpheus:matrix.ffslfl.net) diff --git a/supporting-docs/projects/images/morpheus.png b/supporting-docs/projects/images/morpheus.png new file mode 100644 index 0000000000000000000000000000000000000000..d70ba838121d8fa833ff4388ff3ac07739284c69 GIT binary patch literal 27507 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 literal 0 HcmV?d00001 From a8afbfd27d2f93035f7104aee1882424b4d4cef5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sun, 15 Oct 2017 22:49:12 +0100 Subject: [PATCH 164/801] Avoid external link in search swagger --- api/client-server/search.yaml | 6 +++++- specification/client_server_api.rst | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 78dace906..37e494904 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -88,8 +88,12 @@ paths: filter: type: object title: Filter + # Within the C-S spec document, `filter`_ is picked up + # as a link to the filtering section. In OpenAPI 3.0, + # we could use the link feature, but we're still on 2.0 + # for now :/ description: |- - This takes a `filter `_. + This takes a `filter`_. order_by: title: "Ordering" type: string diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index eda2eb266..c6104fa80 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -880,6 +880,8 @@ Where $streamtoken is an opaque token which can be used in another query to get the next set of results. The "start" and "end" keys can only be omitted if the complete dataset is provided in "chunk". +.. _`filter`: + Filtering --------- From 926d7bb2ae6494e69e52653ea545f9477d205f61 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sun, 15 Oct 2017 23:22:05 +0100 Subject: [PATCH 165/801] Remove broken link to hangouts bridge Fixes https://github.com/matrix-org/matrix-doc/issues/1005 --- .../projects/2016-10-16-hangouts-bridge.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 supporting-docs/projects/2016-10-16-hangouts-bridge.md diff --git a/supporting-docs/projects/2016-10-16-hangouts-bridge.md b/supporting-docs/projects/2016-10-16-hangouts-bridge.md deleted file mode 100644 index 840491292..000000000 --- a/supporting-docs/projects/2016-10-16-hangouts-bridge.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Hangouts Bridge -categories: projects as -author: CyrusTheHedgehog -maturity: Alpha ---- - -# {{ page.title }} -This project creates a bridge between Google Hangouts and Matrix. It was originally developed as part of the 2016 Global TADHack - see related [blogpost](https://matrix.org/blog/2016/10/20/tadhack-global-2016/) and [video of the presentation](https://www.youtube.com/watch?v=X41RbOKTrbE&t=17m31s). - -You can get the source from [GitHub](https://github.com/CyrusTheHedgehog/Hangouts-Bridge). - From b2bb7747dca7b756836e5895f8c7b96fa1b79ea0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 15 Oct 2017 23:33:19 +0100 Subject: [PATCH 166/801] readd hangouts-bridge with right url --- .../projects/2016-10-16-hangouts-bridge.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 supporting-docs/projects/2016-10-16-hangouts-bridge.md diff --git a/supporting-docs/projects/2016-10-16-hangouts-bridge.md b/supporting-docs/projects/2016-10-16-hangouts-bridge.md new file mode 100644 index 000000000..fcd1bba2b --- /dev/null +++ b/supporting-docs/projects/2016-10-16-hangouts-bridge.md @@ -0,0 +1,12 @@ +--- +layout: project +title: Hangouts Bridge +categories: projects as +author: ImmanuelBaskaran +maturity: Alpha +--- + +# {{ page.title }} +This project creates a bridge between Google Hangouts and Matrix. It was originally developed as part of the 2016 Global TADHack - see related [blogpost](https://matrix.org/blog/2016/10/20/tadhack-global-2016/) and [video of the presentation](https://www.youtube.com/watch?v=X41RbOKTrbE&t=17m31s). + +You can get the source from [GitHub](https://github.com/ImmanuelBaskaran/Hangouts-Bridge) From f1139b5b1330468b80a7c93408ad3829bfea2c79 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Sun, 15 Oct 2017 23:42:05 +0100 Subject: [PATCH 167/801] fix inter-spec link --- specification/events.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/events.rst b/specification/events.rst index 69a87927d..c5e4a2885 100644 --- a/specification/events.rst +++ b/specification/events.rst @@ -33,7 +33,7 @@ Size limits ----------- The complete event MUST NOT be larger than 65535 bytes, when formatted as a -`PDU for the Server-Server protocol <../server_server/SERVER_RELEASE_LABEL%#pdus>`_, +`PDU for the Server-Server protocol <../server_server/%SERVER_RELEASE_LABEL%#pdus>`_, including any signatures, and encoded as `Canonical JSON`_. There are additional restrictions on sizes per key: From 1afe02d07df8307816b1f8280869969c22d25485 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 16 Oct 2017 10:09:11 +0100 Subject: [PATCH 168/801] Update README.rst add site label --- README.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.rst b/README.rst index 1ca8d3ade..0fe7b0cf0 100644 --- a/README.rst +++ b/README.rst @@ -96,6 +96,13 @@ Examples: * `add https://github.com/tavoda/matrix-java project `_ +`site `_ +-------------------------------------------------------------- + +Ideas for things to help document or sell matrix more generally. +(Probably these would be better filed under +https://github.com/matrix-org/matrix.org, but they tend to end up here.) + Structure of this repository ============================ From 5e7df0e87cd9ca1d06cb06a581d00426d8037875 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Oct 2017 09:08:50 -0600 Subject: [PATCH 169/801] Update instant_messaging.rst Signed-off-by: Travis Ralston --- specification/modules/instant_messaging.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index 342050a7f..ff87f74be 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -46,6 +46,8 @@ Usage of this event is discouraged for several reasons: {{m_room_avatar_event}} +{{m_room_pinned_events_event}} + m.room.message msgtypes ~~~~~~~~~~~~~~~~~~~~~~~ From 714c9223713c44fa043de5323c204a4e4e5deb25 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Oct 2017 09:09:11 -0600 Subject: [PATCH 170/801] Update .gitignore Signed-off-by: Travis Ralston --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dccd3152a..1742b2a40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /api/node_modules /assets /assets.tar.gz +/env /scripts/gen /scripts/continuserv/continuserv /scripts/speculator/speculator @@ -8,4 +9,3 @@ /templating/out *.pyc *.swp -/env \ No newline at end of file From 198c969e6f21837d0c00d4f2ff24624239ebdce8 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 17 Oct 2017 09:12:28 -0600 Subject: [PATCH 171/801] Update client_server.rst Signed-off-by: Travis Ralston --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 9d9d246bb..1db887959 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -48,6 +48,8 @@ (`#751 `_). - Add key distribution APIs, for use with end-to-end encryption. (`#894 `_). + - Add ``m.room.pinned_events`` state event for rooms. + (`#1007 `_). - Spec clarifications: From b4e24d443a09eb4566a13a40d566303ad116d859 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 17 Oct 2017 16:34:50 +0100 Subject: [PATCH 172/801] Clarify what happens when there is no power_levels event --- api/client-server/create_room.yaml | 3 +++ event-schemas/schema/m.room.power_levels | 11 +++++++++++ templating/matrix_templates/templates/events.tmpl | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 8b9ea6f06..5c80716ab 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -37,6 +37,9 @@ paths: the new room, including checking power levels for each event. It MUST apply the events implied by the request in the following order: + 0. A default ``m.room.power_levels`` event, giving the room creator + (and not other members) permission to send state events. + 1. Events set by ``presets``. 2. Events listed in ``initial_state``, in the order that they are diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels index 0353b166a..351c9d303 100644 --- a/event-schemas/schema/m.room.power_levels +++ b/event-schemas/schema/m.room.power_levels @@ -29,6 +29,17 @@ description: |- to 50 if they are not specified in the ``m.room.power_levels`` event, or if the room contains no ``m.room.power_levels`` event. + .. NOTE:: + + As noted above, in the absence of an ``m.room.power_levels`` event, the + ``state_default`` is 0, and all users are considered to have power level 0. + That means that **any** member of the room can send an + ``m.room.power_levels`` event, changing the permissions in the room. + + Server implementations should therefore ensure that each room has an + ``m.room.power_levels`` event as soon as it is created. See also the + documentation of the ``/createRoom`` API. + properties: content: properties: diff --git a/templating/matrix_templates/templates/events.tmpl b/templating/matrix_templates/templates/events.tmpl index 95edff573..ded33859a 100644 --- a/templating/matrix_templates/templates/events.tmpl +++ b/templating/matrix_templates/templates/events.tmpl @@ -9,7 +9,8 @@ {% endif -%} -{{event.desc | wrap(80)}} +{{event.desc}} + {% for table in event.content_fields %} {{"``"+table.title+"``" if table.title else "" }} From 04be03bea96dd938022000218687f627470b7c65 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 17 Oct 2017 16:39:38 +0100 Subject: [PATCH 173/801] changelog --- changelogs/client_server.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index eccab7c6c..669470ed3 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -87,6 +87,9 @@ (`#750 `_). - ``GET /user/{userId}/filter/{filterId}`` requires authentication (`#1003 `_). + - Add some clarifying notes on the behaviour of rooms with no + ``m.room.power_levels`` event + (`#1026 `_). r0.2.0 ====== From fb59fb6153a80236c14b8b8100b13e3da208554c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20T=C3=B6tterman?= Date: Fri, 20 Oct 2017 13:52:05 +0300 Subject: [PATCH 174/801] Update status of console projects --- supporting-docs/projects/2016-01-02-matrix-console-ios.md | 2 +- supporting-docs/projects/2016-01-03-matrix-console-android.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/supporting-docs/projects/2016-01-02-matrix-console-ios.md b/supporting-docs/projects/2016-01-02-matrix-console-ios.md index 72a2515c3..adb60e2ff 100644 --- a/supporting-docs/projects/2016-01-02-matrix-console-ios.md +++ b/supporting-docs/projects/2016-01-02-matrix-console-ios.md @@ -5,7 +5,7 @@ categories: projects client thumbnail: /docs/projects/images/matrix-console-ios-2016-02-16-cropped.png description: A neutral iOS client showcasing Matrix capabilities and implementation. author: Matrix.org team -maturity: Late beta +maturity: No longer maintained --- ![screenshot](/docs/projects/images/matrix-console-ios-2016-02-16-large.png "{{ page.title }}") diff --git a/supporting-docs/projects/2016-01-03-matrix-console-android.md b/supporting-docs/projects/2016-01-03-matrix-console-android.md index a3ea64bda..ceeec13f2 100644 --- a/supporting-docs/projects/2016-01-03-matrix-console-android.md +++ b/supporting-docs/projects/2016-01-03-matrix-console-android.md @@ -5,7 +5,7 @@ categories: projects client thumbnail: /docs/projects/images/matrix-console-android-2016-02-16-cropped.png description: A neutral Android client showcasing Matrix capabilities and implementation. author: Matrix.org team -maturity: Late beta +maturity: No longer maintained --- ![screenshot](/docs/projects/images/matrix-console-android-2016-02-16-large.png "{{ page.title }}") From 5fee8e54eb4b534be83b126e855ab44088e13642 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 20 Oct 2017 13:36:56 +0100 Subject: [PATCH 175/801] Document the event auth rules (#1027) These are a necessary precursor to state resolution. --- drafts/erikj_federation.rst | 90 --------------- specification/server_server_api.rst | 170 ++++++++++++++++++++++++++-- 2 files changed, 160 insertions(+), 100 deletions(-) diff --git a/drafts/erikj_federation.rst b/drafts/erikj_federation.rst index ce089def7..381228d0f 100644 --- a/drafts/erikj_federation.rst +++ b/drafts/erikj_federation.rst @@ -3,96 +3,6 @@ Federation .. sectnum:: .. contents:: Table of Contents -Authorization -------------- - -When receiving new events from remote servers, or creating new events, a server -must know whether that event is allowed by the authorization rules. These rules -depend solely on the state at that event. The types of state events that affect -authorization are: - -- ``m.room.create`` -- ``m.room.member`` -- ``m.room.join_rules`` -- ``m.room.power_levels`` - -Servers should not create new events that reference unauthorized events. -However, any event that does reference an unauthorized event is not itself -automatically considered unauthorized. - -Unauthorized events that appear in the event graph do *not* have any effect on -the state of the graph. - -.. Note:: This is in contrast to redacted events which can still affect the - state of the graph. For example, a redacted *"join"* event will still - result in the user being considered joined. - - -Rules -~~~~~ - -The following are the rules to determine if an event is authorized (this does -include validation). - -**TODO**: What signatures do we expect? - -1. If type is ``m.room.create`` allow if and only if it has no prev events. -#. If type is ``m.room.member``: - - a. If ``membership`` is ``join``: - - i. If the previous event is an ``m.room.create``, the depth is 1 and - the ``state_key`` is the creator, then allow. - #. If the ``state_key`` does not match ``sender`` key, reject. - #. If the current state has ``membership`` set to ``join``. - #. If the ``sender`` is in the ``m.room.may_join`` list. [Not currently - implemented] - #. If the ``join_rules`` is: - - - ``public``: allow. - - ``invite``: allow if the current state has ``membership`` set to - ``invite`` - - ``knock``: **TODO**. - - ``private``: Reject. - - #. Reject - - #. If ``membership`` is ``invite`` then allow if ``sender`` is in room, - otherwise reject. - #. If ``membership`` is ``leave``: - - i. If ``sender`` matches ``state_key`` allow. - #. If ``sender``'s power level is greater than the the ``kick_level`` - given in the current ``m.room.power_levels`` state (defaults to 50), - and the ``state_key``'s power level is less than or equal to the - ``sender``'s power level, then allow. - #. Reject. - - #. If ``membership`` is ``ban``: - - i. **TODO**. - - #. Reject. - -#. Reject the event if the event type's required power level is less that the - ``sender``'s power level. -#. If the ``sender`` is not in the room, reject. -#. If the type is ``m.room.power_levels``: - - a. **TODO**. - -#. Allow. - - -Definitions -~~~~~~~~~~~ - -Required Power Level - A given event type has an associated *required power level*. This is given - by the current ``m.room.power_levels`` event, it is either listed explicitly - in the ``events`` section or given by either ``state_default`` or - ``events_default`` depending on if the event type is a state event or not. - Auth events ~~~~~~~~~~~ diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 11c57e61e..b3e802c05 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1,4 +1,5 @@ .. Copyright 2016 OpenMarket Ltd +.. Copyright 2017 New Vector Ltd .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. @@ -442,24 +443,173 @@ keys exist to support this: ``state_key`` String Combined with the ``pdu_type`` this identifies the which part of the room state is updated -``required_power_level`` Integer The required power level needed to - replace this update. ``prev_state_id`` String The PDU id of the update this replaces. ``prev_state_origin`` String The homeserver of the update this replaces. ``user_id`` String The user updating the state. ======================== ============ ========================================= -.. code:: json +Authorization of PDUs +~~~~~~~~~~~~~~~~~~~~~ - {..., - "is_state":true, - "state_key":TODO-doc - "required_power_level":TODO-doc - "prev_state_id":TODO-doc - "prev_state_origin":TODO-doc - } +Whenever a server receives an event from a remote server, the receiving server +must check that the event is allowed by the authorization rules. These rules +depend on the state of the room at that event. + +Definitions ++++++++++++ + +Required Power Level + A given event type has an associated *required power level*. This is given by + the current ``m.room.power_levels`` event. The event type is either listed + explicitly in the ``events`` section or given by either ``state_default`` or + ``events_default`` depending on if the event is a state event or not. + +Invite Level, Kick Level, Ban Level, Redact Level + The levels given by the ``invite``, ``kick``, ``ban``, and ``redact`` + properties in the current ``m.room.power_levels`` state. Each defaults to 50 + if unspecified. + +Target User + For an ``m.room.member`` state event, the user given by the ``state_key`` of + the event. + + + +Rules ++++++ + +The rules governing whether an event is authorized depend solely on the +state of the room at the point in the room graph at which the new event is to +be inserted. The types of state events that affect authorization are: + +- ``m.room.create`` +- ``m.room.member`` +- ``m.room.join_rules`` +- ``m.room.power_levels`` + +Servers should not create new events that reference unauthorized events. +However, any event that does reference an unauthorized event is not itself +automatically considered unauthorized. + +Unauthorized events that appear in the event graph do *not* have any effect on +the state of the room. + +.. Note:: This is in contrast to redacted events which can still affect the + state of the room. For example, a redacted ``join`` event will still + result in the user being considered joined. + +1. If type is ``m.room.create``, allow if and only if has depth 0 and it has no + previous events - *i.e.* it is the first event in the room. + +#. If type is ``m.room.member``: + + a. If ``membership`` is ``join``: + + i. If the previous event in the room graph is an ``m.room.create``, the + depth is 1 and the ``state_key`` is the creator, allow. + + #. If the ``sender`` does not match ``state_key``, reject. + + #. If the user's current membership state is ``invite`` or ``join``, + allow. + + #. If the ``join_rule`` is ``public``, allow. + + #. Otherwise, reject. + + #. If ``membership`` is ``invite``: + + i. If the ``sender``'s current membership state is not ``joined``, reject. + + #. If *target user*'s current membership state is ``join`` or ``ban``, + reject. + + #. If the ``sender``'s power level is greater than or equal to the *invite + level*, allow. + + #. Otherwise, reject. + + #. If ``membership`` is ``leave``: + + i. If the ``sender`` matches ``state_key``, allow if and only if that user's + current membership state is ``invite`` or ``join``. + + #. If the ``sender``'s current membership state is not ``joined``, reject. + + #. If the *target user*'s current membership state is ``ban``, and the + ``sender``'s power level is less than the *ban level*, reject. + + #. If the ``sender``'s power level is greater than or equal to the *kick + level*, and the *target user*'s power level is less than the + ``sender``'s power level, allow. + + #. Otherwise, reject. + + #. If ``membership`` is ``ban``: + + i. If the ``sender``'s current membership state is not ``joined``, reject. + + #. If the ``sender``'s power level is greater than or equal to the *ban + level*, and the *target user*'s power level is less than the + ``sender``'s power level, allow. + + #. Otherwise, reject. + + #. Otherwise, the membership is unknown. Reject. + +#. If the ``sender``'s current membership state is not ``joined``, reject. + +#. If the event type's *required power level* is greater than the ``sender``'s power + level, reject. + +#. If type is ``m.room.power_levels``: + + a. For each of the keys ``users_default``, ``events_default``, + ``state_default``, ``ban``, ``redact``, ``kick``, ``invite``, as well as + each entry being changed under the ``events`` or ``users`` keys: + + i. If the current value is higher than the ``sender``'s current power level, + reject. + + #. If the new value is higher than the ``sender``'s current power level, + reject. + + #. For each entry being changed under the ``users`` key, other than the + ``sender``'s own entry: + + i. If the current value is equal to the ``sender``'s current power level, + reject. + + #. Otherwise, allow. + +#. If type is ``m.room.redact``: + + #. If the ``sender``'s power level is greater than or equal to the *redact + level*, allow. + + #. If the ``sender`` of the event being redacted is the same as the + ``sender`` of the ``m.room.redact``, allow. + + #. Otherwise, reject. + +#. Otherwise, allow. + +.. NOTE:: + + Some consequences of these rules: + + * Unless you are a member of the room, the only permitted operations (apart + from the intial create/join) are: joining a public room; accepting or + rejecting an invitation to a room. + + * To unban somebody, you must have power level greater than or equal to both + the kick *and* ban levels, *and* greater than the target user's power + level. + +.. TODO-spec + I think there is some magic about 3pid invites too. EDUs ---- From 0a85fbb4f500771e266bb265d7456fcf15931651 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 23 Oct 2017 00:22:25 +0100 Subject: [PATCH 176/801] Allow slashes in MXIDs Because apparently we like slashes now. --- specification/intro.rst | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/specification/intro.rst b/specification/intro.rst index 1d3dfafe3..9e12f89ce 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -451,7 +451,7 @@ form:: The ``localpart`` of a user ID is an opaque identifier for that user. It MUST NOT be empty, and MUST contain only the characters ``a-z``, ``0-9``, ``.``, -``_``, ``=``, and ``-``. +``_``, ``=``, ``-``, and ``/``. The ``domain`` of a user ID is the `server name`_ of the homeserver which allocated the account. @@ -465,7 +465,7 @@ The complete grammar for a legal user ID is:: user_id_localpart = 1*user_id_char user_id_char = DIGIT / %x61-7A ; a-z - / "-" / "." / "=" / "_" + / "-" / "." / "=" / "_" / "/" .. admonition:: Rationale @@ -493,11 +493,9 @@ The complete grammar for a legal user ID is:: ``@user:matrix.org``. Finally, we decided to restrict the allowable punctuation to a very basic set - to ensure that the identifier can be used as-is in as wide a number of - situations as possible, without requiring escaping. For instance, allowing - "%" or "/" would make it harder to use a user ID in a URI. "*" is used as a - wildcard in some APIs (notably the filter API), so it also cannot be a legal - user ID character. + to reduce the possibility of conflicts with special characters in various + situations. For example, "*" is used as a wildcard in some APIs (notably the + filter API), so it cannot be a legal user ID character. The length restriction is derived from the limit on the length of the ``sender`` key on events; since the user ID appears in every event sent by the From 628e723483f206b43c349e501dc6a226f8483dfb Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 23 Oct 2017 00:43:01 +0100 Subject: [PATCH 177/801] Move the MXID spec to the appendices Also link to them from the /register API doc. --- api/client-server/registration.yaml | 18 +- .../appendices/identifier_grammar.rst | 225 ++++++++++++++++++ specification/intro.rst | 213 ----------------- specification/targets.yaml | 1 + 4 files changed, 242 insertions(+), 215 deletions(-) create mode 100644 specification/appendices/identifier_grammar.rst diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 9bd6aa750..a01d25599 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -45,6 +45,16 @@ paths: If the client does not supply a ``device_id``, the server must auto-generate one. + The server SHOULD register an account with a User ID based on the + ``username`` provided, if any. Note that the grammar of Matrix User ID + localparts is restricted, so the server MUST either map the provided + ``username`` onto a ``user_id`` in a logical manner, or reject + ``username``\s which do not comply to the grammar, with + ``M_INVALID_USERNAME``. + + Matrix clients MUST NOT assume that localpart of the registered + ``user_id`` matches the provided ``username``. + The returned access token must be associated with the ``device_id`` supplied by the client or generated by the server. The server may invalidate any access token previously associated with that device. See @@ -86,7 +96,7 @@ paths: username: type: string description: |- - The local part of the desired Matrix ID. If omitted, + The basis for the localpart of the desired Matrix ID. If omitted, the homeserver MUST generate a Matrix ID local part. example: cheeky_monkey password: @@ -121,7 +131,11 @@ paths: properties: user_id: type: string - description: The fully-qualified Matrix ID that has been registered. + description: |- + The fully-qualified Matrix user ID (MXID) that has been registered. + + Any user ID returned by this API must conform to the grammar given in the + `Matrix specification `_. access_token: type: string description: |- diff --git a/specification/appendices/identifier_grammar.rst b/specification/appendices/identifier_grammar.rst new file mode 100644 index 000000000..d53f61ac9 --- /dev/null +++ b/specification/appendices/identifier_grammar.rst @@ -0,0 +1,225 @@ +.. Copyright 2016 Openmarket Ltd. +.. Copyright 2017 New Vector Ltd. +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Identifier Grammar +------------------ + +Server Name +~~~~~~~~~~~ + +A homeserver is uniquely identified by its server name. This value is used in a +number of identifiers, as described below. + +The server name represents the address at which the homeserver in question can +be reached by other homeservers. The complete grammar is:: + + server_name = dns_name [ ":" port] + dns_name = host + port = *DIGIT + +where ``host`` is as defined by `RFC3986, section 3.2.2 +`_. + +Examples of valid server names are: + +* ``matrix.org`` +* ``matrix.org:8888`` +* ``1.2.3.4`` (IPv4 literal) +* ``1.2.3.4:1234`` (IPv4 literal with explicit port) +* ``[1234:5678::abcd]`` (IPv6 literal) +* ``[1234:5678::abcd]:5678`` (IPv6 literal with explicit port) + + +Common Identifier Format +~~~~~~~~~~~~~~~~~~~~~~~~ + +The Matrix protocol uses a common format to assign unique identifiers to a +number of entities, including users, events and rooms. Each identifier takes +the form:: + + &localpart:domain + +where ``&`` represents a 'sigil' character; ``domain`` is the `server name`_ of +the homeserver which allocated the identifier, and ``localpart`` is an +identifier allocated by that homeserver. + +The sigil characters are as follows: + +* ``@``: User ID +* ``!``: Room ID +* ``$``: Event ID +* ``#``: Room alias + +The precise grammar defining the allowable format of an identifier depends on +the type of identifier. + +User Identifiers +++++++++++++++++ + +Users within Matrix are uniquely identified by their Matrix user ID. The user +ID is namespaced to the homeserver which allocated the account and has the +form:: + + @localpart:domain + +The ``localpart`` of a user ID is an opaque identifier for that user. It MUST +NOT be empty, and MUST contain only the characters ``a-z``, ``0-9``, ``.``, +``_``, ``=``, ``-``, and ``/``. + +The ``domain`` of a user ID is the `server name`_ of the homeserver which +allocated the account. + +The length of a user ID, including the ``@`` sigil and the domain, MUST NOT +exceed 255 characters. + +The complete grammar for a legal user ID is:: + + user_id = "@" user_id_localpart ":" server_name + user_id_localpart = 1*user_id_char + user_id_char = DIGIT + / %x61-7A ; a-z + / "-" / "." / "=" / "_" / "/" + +.. admonition:: Rationale + + A number of factors were considered when defining the allowable characters + for a user ID. + + Firstly, we chose to exclude characters outside the basic US-ASCII character + set. User IDs are primarily intended for use as an identifier at the protocol + level, and their use as a human-readable handle is of secondary + benefit. Furthermore, they are useful as a last-resort differentiator between + users with similar display names. Allowing the full unicode character set + would make very difficult for a human to distinguish two similar user IDs. The + limited character set used has the advantage that even a user unfamiliar with + the Latin alphabet should be able to distinguish similar user IDs manually, if + somewhat laboriously. + + We chose to disallow upper-case characters because we do not consider it + valid to have two user IDs which differ only in case: indeed it should be + possible to reach ``@user:matrix.org`` as ``@USER:matrix.org``. However, + user IDs are necessarily used in a number of situations which are inherently + case-sensitive (notably in the ``state_key`` of ``m.room.member`` + events). Forbidding upper-case characters (and requiring homeservers to + downcase usernames when creating user IDs for new users) is a relatively simple + way to ensure that ``@USER:matrix.org`` cannot refer to a different user to + ``@user:matrix.org``. + + Finally, we decided to restrict the allowable punctuation to a very basic set + to reduce the possibility of conflicts with special characters in various + situations. For example, "*" is used as a wildcard in some APIs (notably the + filter API), so it cannot be a legal user ID character. + + The length restriction is derived from the limit on the length of the + ``sender`` key on events; since the user ID appears in every event sent by the + user, it is limited to ensure that the user ID does not dominate over the actual + content of the events. + +Matrix user IDs are sometimes informally referred to as MXIDs. + +Historical User IDs +<<<<<<<<<<<<<<<<<<< + +Older versions of this specification were more tolerant of the characters +permitted in user ID localparts. There are currently active users whose user +IDs do not conform to the permitted character set, and a number of rooms whose +history includes events with a ``sender`` which does not conform. In order to +handle these rooms successfully, clients and servers MUST accept user IDs with +localparts from the expanded character set:: + + extended_user_id_char = %x21-7E + +Mapping from other character sets +<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +In certain circumstances it will be desirable to map from a wider character set +onto the limited character set allowed in a user ID localpart. Examples include +a homeserver creating a user ID for a new user based on the username passed to +``/register``, or a bridge mapping user ids from another protocol. + +.. TODO-spec + + We need to better define the mechanism by which homeservers can allow users + to have non-Latin login credentials. The general idea is for clients to pass + the non-Latin in the ``username`` field to ``/register`` and ``/login``, and + the HS then maps it onto the MXID space when turning it into the + fully-qualified ``user_id`` which is returned to the client and used in + events. + +Implementations are free to do this mapping however they choose. Since the user +ID is opaque except to the implementation which created it, the only +requirement is that the implemention can perform the mapping +consistently. However, we suggest the following algorithm: + +1. Encode character strings as UTF-8. + +2. Convert the bytes ``A-Z`` to lower-case. + + * In the case where a bridge must be able to distinguish two different users + with ids which differ only by case, escape upper-case characters by + prefixing with ``_`` before downcasing. For example, ``A`` becomes + ``_a``. Escape a real ``_`` with a second ``_``. + +3. Encode any remaining bytes outside the allowed character set, as well as + ``=``, as their hexadecimal value, prefixed with ``=``. For example, ``#`` + becomes ``=23``; ``á`` becomes ``=c3=a1``. + +.. admonition:: Rationale + + The suggested mapping is an attempt to preserve human-readability of simple + ASCII identifiers (unlike, for example, base-32), whilst still allowing + representation of *any* character (unlike punycode, which provides no way to + encode ASCII punctuation). + + +Room IDs and Event IDs +++++++++++++++++++++++ + +A room has exactly one room ID. A room ID has the format:: + + !opaque_id:domain + +An event has exactly one event ID. An event ID has the format:: + + $opaque_id:domain + +The ``domain`` of a room/event ID is the `server name`_ of the homeserver which +created the room/event. The domain is used only for namespacing to avoid the +risk of clashes of identifiers between different homeservers. There is no +implication that the room or event in question is still available at the +corresponding homeserver. + +Event IDs and Room IDs are case-sensitive. They are not meant to be human +readable. + +.. TODO-spec + What is the grammar for the opaque part? https://matrix.org/jira/browse/SPEC-389 + +Room Aliases +++++++++++++ + +A room may have zero or more aliases. A room alias has the format:: + + #room_alias:domain + +The ``domain`` of a room alias is the `server name`_ of the homeserver which +created the alias. Other servers may contact this homeserver to look up the +alias. + +Room aliases MUST NOT exceed 255 bytes (including the ``#`` sigil and the +domain). + +.. TODO-spec + - Need to specify precise grammar for Room Aliases. https://matrix.org/jira/browse/SPEC-391 diff --git a/specification/intro.rst b/specification/intro.rst index 9e12f89ce..be2d92018 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -387,219 +387,6 @@ dedicated API. The API is symmetrical to managing Profile data. Would it really be overengineered to use the same API for both profile & private user data, but with different ACLs? - -Identifier Grammar ------------------- - -Server Name -~~~~~~~~~~~ - -A homeserver is uniquely identified by its server name. This value is used in a -number of identifiers, as described below. - -The server name represents the address at which the homeserver in question can -be reached by other homeservers. The complete grammar is:: - - server_name = dns_name [ ":" port] - dns_name = host - port = *DIGIT - -where ``host`` is as defined by `RFC3986, section 3.2.2 -`_. - -Examples of valid server names are: - -* ``matrix.org`` -* ``matrix.org:8888`` -* ``1.2.3.4`` (IPv4 literal) -* ``1.2.3.4:1234`` (IPv4 literal with explicit port) -* ``[1234:5678::abcd]`` (IPv6 literal) -* ``[1234:5678::abcd]:5678`` (IPv6 literal with explicit port) - - -Common Identifier Format -~~~~~~~~~~~~~~~~~~~~~~~~ - -The Matrix protocol uses a common format to assign unique identifiers to a -number of entities, including users, events and rooms. Each identifier takes -the form:: - - &localpart:domain - -where ``&`` represents a 'sigil' character; ``domain`` is the `server name`_ of -the homeserver which allocated the identifier, and ``localpart`` is an -identifier allocated by that homeserver. - -The sigil characters are as follows: - -* ``@``: User ID -* ``!``: Room ID -* ``$``: Event ID -* ``#``: Room alias - -The precise grammar defining the allowable format of an identifier depends on -the type of identifier. - -User Identifiers -++++++++++++++++ - -Users within Matrix are uniquely identified by their Matrix user ID. The user -ID is namespaced to the homeserver which allocated the account and has the -form:: - - @localpart:domain - -The ``localpart`` of a user ID is an opaque identifier for that user. It MUST -NOT be empty, and MUST contain only the characters ``a-z``, ``0-9``, ``.``, -``_``, ``=``, ``-``, and ``/``. - -The ``domain`` of a user ID is the `server name`_ of the homeserver which -allocated the account. - -The length of a user ID, including the ``@`` sigil and the domain, MUST NOT -exceed 255 characters. - -The complete grammar for a legal user ID is:: - - user_id = "@" user_id_localpart ":" server_name - user_id_localpart = 1*user_id_char - user_id_char = DIGIT - / %x61-7A ; a-z - / "-" / "." / "=" / "_" / "/" - -.. admonition:: Rationale - - A number of factors were considered when defining the allowable characters - for a user ID. - - Firstly, we chose to exclude characters outside the basic US-ASCII character - set. User IDs are primarily intended for use as an identifier at the protocol - level, and their use as a human-readable handle is of secondary - benefit. Furthermore, they are useful as a last-resort differentiator between - users with similar display names. Allowing the full unicode character set - would make very difficult for a human to distinguish two similar user IDs. The - limited character set used has the advantage that even a user unfamiliar with - the Latin alphabet should be able to distinguish similar user IDs manually, if - somewhat laboriously. - - We chose to disallow upper-case characters because we do not consider it - valid to have two user IDs which differ only in case: indeed it should be - possible to reach ``@user:matrix.org`` as ``@USER:matrix.org``. However, - user IDs are necessarily used in a number of situations which are inherently - case-sensitive (notably in the ``state_key`` of ``m.room.member`` - events). Forbidding upper-case characters (and requiring homeservers to - downcase usernames when creating user IDs for new users) is a relatively simple - way to ensure that ``@USER:matrix.org`` cannot refer to a different user to - ``@user:matrix.org``. - - Finally, we decided to restrict the allowable punctuation to a very basic set - to reduce the possibility of conflicts with special characters in various - situations. For example, "*" is used as a wildcard in some APIs (notably the - filter API), so it cannot be a legal user ID character. - - The length restriction is derived from the limit on the length of the - ``sender`` key on events; since the user ID appears in every event sent by the - user, it is limited to ensure that the user ID does not dominate over the actual - content of the events. - -Matrix user IDs are sometimes informally referred to as MXIDs. - -Historical User IDs -<<<<<<<<<<<<<<<<<<< - -Older versions of this specification were more tolerant of the characters -permitted in user ID localparts. There are currently active users whose user -IDs do not conform to the permitted character set, and a number of rooms whose -history includes events with a ``sender`` which does not conform. In order to -handle these rooms successfully, clients and servers MUST accept user IDs with -localparts from the expanded character set:: - - extended_user_id_char = %x21-7E - -Mapping from other character sets -<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - -In certain circumstances it will be desirable to map from a wider character set -onto the limited character set allowed in a user ID localpart. Examples include -a homeserver creating a user ID for a new user based on the username passed to -``/register``, or a bridge mapping user ids from another protocol. - -.. TODO-spec - - We need to better define the mechanism by which homeservers can allow users - to have non-Latin login credentials. The general idea is for clients to pass - the non-Latin in the ``username`` field to ``/register`` and ``/login``, and - the HS then maps it onto the MXID space when turning it into the - fully-qualified ``user_id`` which is returned to the client and used in - events. - -Implementations are free to do this mapping however they choose. Since the user -ID is opaque except to the implementation which created it, the only -requirement is that the implemention can perform the mapping -consistently. However, we suggest the following algorithm: - -1. Encode character strings as UTF-8. - -2. Convert the bytes ``A-Z`` to lower-case. - - * In the case where a bridge must be able to distinguish two different users - with ids which differ only by case, escape upper-case characters by - prefixing with ``_`` before downcasing. For example, ``A`` becomes - ``_a``. Escape a real ``_`` with a second ``_``. - -3. Encode any remaining bytes outside the allowed character set, as well as - ``=``, as their hexadecimal value, prefixed with ``=``. For example, ``#`` - becomes ``=23``; ``á`` becomes ``=c3=a1``. - -.. admonition:: Rationale - - The suggested mapping is an attempt to preserve human-readability of simple - ASCII identifiers (unlike, for example, base-32), whilst still allowing - representation of *any* character (unlike punycode, which provides no way to - encode ASCII punctuation). - - -Room IDs and Event IDs -++++++++++++++++++++++ - -A room has exactly one room ID. A room ID has the format:: - - !opaque_id:domain - -An event has exactly one event ID. An event ID has the format:: - - $opaque_id:domain - -The ``domain`` of a room/event ID is the `server name`_ of the homeserver which -created the room/event. The domain is used only for namespacing to avoid the -risk of clashes of identifiers between different homeservers. There is no -implication that the room or event in question is still available at the -corresponding homeserver. - -Event IDs and Room IDs are case-sensitive. They are not meant to be human -readable. - -.. TODO-spec - What is the grammar for the opaque part? https://matrix.org/jira/browse/SPEC-389 - -Room Aliases -++++++++++++ - -A room may have zero or more aliases. A room alias has the format:: - - #room_alias:domain - -The ``domain`` of a room alias is the `server name`_ of the homeserver which -created the alias. Other servers may contact this homeserver to look up the -alias. - -Room aliases MUST NOT exceed 255 bytes (including the ``#`` sigil and the -domain). - -.. TODO-spec - - Need to specify precise grammar for Room Aliases. https://matrix.org/jira/browse/SPEC-391 - - License ------- diff --git a/specification/targets.yaml b/specification/targets.yaml index 0d64815b1..fb68e13d4 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -34,6 +34,7 @@ targets: - appendices.rst - appendices/base64.rst - appendices/signing_json.rst + - appendices/identifier_grammar.rst - appendices/threat_model.rst - appendices/test_vectors.rst groups: # reusable blobs of files when prefixed with 'group:' From c08e6616c7262c4f6907068303e7e0569d44ea6e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 23 Oct 2017 00:47:06 +0100 Subject: [PATCH 178/801] Try to make the intro link more obvious Fixes https://github.com/matrix-org/matrix-doc/issues/1031. --- specification/index.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/specification/index.rst b/specification/index.rst index ae6611c06..5739ce097 100644 --- a/specification/index.rst +++ b/specification/index.rst @@ -27,17 +27,17 @@ Voice over IP (VoIP) signalling, Internet of Things (IoT) communication, and bri together existing communication silos - providing the basis of a new open real-time communication ecosystem. -`Introduction to Matrix `_ provides a full introduction to Matrix and the spec. - Matrix APIs ----------- -The following APIs are documented in this specification: +The specification consists of the following parts: + +`Introduction to Matrix `_ provides a full introduction to Matrix and the spec. {{apis}} -`Appendices `_ with supplemental information not specific to -one of the above APIs are also available. +The `Appendices `_ contain supplemental information not specific to +one of the above APIs. Specification Versions ---------------------- From 3ab4334f1ca2d6bddb51bb9441b6caa646341284 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 23 Oct 2017 00:50:45 +0100 Subject: [PATCH 179/801] changelog --- changelogs/client_server.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 03cd2fdda..546bf37a8 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -92,6 +92,9 @@ - Add some clarifying notes on the behaviour of rooms with no ``m.room.power_levels`` event (`#1026 `_). + - Clarify the relationship between ``username`` and ``user_id`` in the + ``/register`` API + (`#1032 `_). r0.2.0 ====== From 44fc033624f6afb2869ec9160a77d8db5787a74a Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 23 Oct 2017 01:00:43 +0100 Subject: [PATCH 180/801] Fix broken links in the intro --- specification/intro.rst | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/specification/intro.rst b/specification/intro.rst index be2d92018..1c795cea1 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -157,9 +157,8 @@ allocated the account and has the form:: @localpart:domain -See the `Identifier Grammar`_ section for full details of the structure of -user IDs. - +See the `appendices `_ for full details of +the structure of user IDs. Devices ~~~~~~~ @@ -242,8 +241,8 @@ There is exactly one room ID for each room. Whilst the room ID does contain a domain, it is simply for globally namespacing room IDs. The room does NOT reside on the domain specified. -See the `Identifier Grammar`_ section for full details of the structure of -a room ID. +See the `appendices `_ for full details of +the structure of a room ID. The following conceptual diagram shows an ``m.room.message`` event being sent to the room ``!qporfwt:matrix.org``:: @@ -318,8 +317,8 @@ Each room can also have multiple "Room Aliases", which look like:: #room_alias:domain -See the `Identifier Grammar`_ section for full details of the structure of -a room alias. +See the `appendices `_ for full details of +the structure of a room alias. A room alias "points" to a room ID and is the human-readable label by which rooms are publicised and discovered. The room ID the alias is pointing to can From a02658c4acc95082576cdee712c4241948ebf049 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Mon, 23 Oct 2017 19:49:47 +0100 Subject: [PATCH 181/801] use valid JSON in example --- supporting-docs/guides/2016-05-05-client-server.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/guides/2016-05-05-client-server.rst b/supporting-docs/guides/2016-05-05-client-server.rst index 36d5d5af9..c58cf6c02 100644 --- a/supporting-docs/guides/2016-05-05-client-server.rst +++ b/supporting-docs/guides/2016-05-05-client-server.rst @@ -287,7 +287,7 @@ all of the presences relevant for these rooms. This can be a LOT of data. You may just want the most recent event for each room. This can be achieved by applying a filter that asks for a limit of 1 timeline event per room:: - curl --globoff -XGET "https://localhost:8448/_matrix/client/r0/sync?filter={'room':{'timeline':{'limit':1}}}&access_token=YOUR_ACCESS_TOKEN" + curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN' { ... From 51d01811065a3f4c1fc83f56f2520fbbe57739a7 Mon Sep 17 00:00:00 2001 From: f0x52 <0x52@waifu.club> Date: Mon, 23 Oct 2017 21:00:19 +0200 Subject: [PATCH 182/801] Neo update --- supporting-docs/projects/2017-05-02-neo.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/supporting-docs/projects/2017-05-02-neo.md b/supporting-docs/projects/2017-05-02-neo.md index 0315fde5e..c6c217999 100644 --- a/supporting-docs/projects/2017-05-02-neo.md +++ b/supporting-docs/projects/2017-05-02-neo.md @@ -2,16 +2,14 @@ layout: project title: Neo categories: projects client -author: f0x52 -description: A thin Matrix client/daemon in Go +author: f0x +description: A Linux Python3 + GTK+ Client maturity: Alpha --- # {{ page.title }} -Neo-daemon is a Matrix client, written in Go. -It uses a socket to communicate with frontends, such as neo-cli. +Neo is a GTK+ and Python3 Matrix client, designed for GNU/Linux systems. +Current functionality is basic message receiving and sending, in a relatively decent GUI -![screenshot](https://f.0x52.eu/neo-cli.png) - -Get it from https://gitla.in/neo +Get it from https://git.omnius.zone/neo/neo-gtk From 6c3d2b6bac3b0aae43274ad067f4e5f7cc58600b Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 24 Oct 2017 13:10:40 +0100 Subject: [PATCH 183/801] Delete state_resolution.rst This doesn't really give any information. https://github.com/matrix-org/matrix-doc/blob/master/drafts/erikj_federation.rst#state-resolution is better, though even that should be moved into the spec proper --- drafts/state_resolution.rst | 52 ------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 drafts/state_resolution.rst diff --git a/drafts/state_resolution.rst b/drafts/state_resolution.rst deleted file mode 100644 index 3c570b8e8..000000000 --- a/drafts/state_resolution.rst +++ /dev/null @@ -1,52 +0,0 @@ -State Resolution -================ -This section describes why we need state resolution and how it works. - - -Motivation ------------ -We want to be able to associate some shared state with rooms, e.g. a room name -or members list. This is done by having a current state dictionary that maps -from the pair event type and state key to an event. - -However, since the servers involved in the room are distributed we need to be -able to handle the case when two (or more) servers try and update the state at -the same time. This is done via the state resolution algorithm. - - -State Tree ------------- -State events contain a reference to the state it is trying to replace. These -relations form a tree where the current state is one of the leaf nodes. - -Note that state events are events, and so are part of the PDU graph. Thus we -can be sure that (modulo the internet being particularly broken) we will see -all state events eventually. - - -Algorithm requirements ----------------------- -We want the algorithm to have the following properties: - -- Since we aren't guaranteed what order we receive state events in, except that - we see parents before children, the state resolution algorithm must not depend - on the order and must always come to the same result. -- If we receive a state event whose parent is the current state, then the - algorithm will select it. -- The algorithm does not depend on internal state, ensuring all servers should - come to the same decision. - -These three properties mean it is enough to keep track of the current state and -compare it with any new proposed state, rather than having to keep track of all -the leafs of the tree and recomputing across the entire state tree. - - -Current Implementation ----------------------- -The current implementation works as follows: Upon receipt of a newly proposed -state change we first find the common ancestor. Then we take the maximum -across each branch of the users' power levels, if one is higher then it is -selected as the current state. Otherwise, we check if one chain is longer than -the other, if so we choose that one. If that also fails, then we concatenate -all the pdu ids and take a SHA1 hash and compare them to select a common -ancestor. From b94c4a9f360772190254225631c46902864b0ccd Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Tue, 24 Oct 2017 23:21:33 +0100 Subject: [PATCH 184/801] Sneaky update to 0.2.0 spec to link unstable This doesn't count as a spec release, right?? --- specification/client_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index b7487bdd9..bdf2fef0f 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -45,7 +45,7 @@ Other versions of this specification The following other versions are also available, in reverse chronological order: -- `HEAD `_: Includes all changes since the latest versioned release. +- `HEAD `_: Includes all changes since the latest versioned release. - `r0.1.0 `_ - `r0.0.1 `_ - `r0.0.0 `_ From 2a48bc58478971844e74ffc56aeabc82123d9eb9 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 07:23:31 +0100 Subject: [PATCH 185/801] move issue info to bottom of readme --- README.rst | 74 +++++++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/README.rst b/README.rst index 0fe7b0cf0..edd620fa4 100644 --- a/README.rst +++ b/README.rst @@ -5,6 +5,42 @@ comtains a lot of supporting documents, including some introductions to Matrix, and, notably, a list of projects using Matrix which is visible on the `matrix.org website `_. +Structure of this repository +============================ + +- ``api`` : `OpenAPI`_ (swagger) specifications for the the HTTP APIs. +- ``attic``: historical sections of specification for reference + purposes. +- ``changelogs``: change logs for the various parts of the + specification. +- ``drafts``: Previously, contained documents which were under discussion for + future incusion into the specification and/or supporting documentation. This + is now historical, as we use separate discussion documents (see + ``_). +- ``event-schemas``: the `JSON Schema`_ for all Matrix events + contained in the specification, along with example JSON files. +- ``meta``: documents outlining the processes involved when writing + documents, e.g. documentation style, guidelines. +- ``scripts``: scripts to generate formatted versions of the + documentation, typically HTML. +- ``specification``: the specification split up into sections. +- ``supporting-docs``: additional documents which explain design + decisions, examples, use cases, etc. +- ``templating``: the templates and templating system used to + generate the spec. + +.. _OpenAPI: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md +.. _JSON Schema: http://json-schema.org/ + +Contributing +============ + +If you want to ask more about the specification, join us on +`#matrix-dev:matrix.org `_. + +If you would like to contribute to the specification or supporting +documentation, see ``_. + Issue tracking ============== @@ -100,41 +136,5 @@ Examples: -------------------------------------------------------------- Ideas for things to help document or sell matrix more generally. -(Probably these would be better filed under +(Probably these would be better filed under https://github.com/matrix-org/matrix.org, but they tend to end up here.) - -Structure of this repository -============================ - -- ``api`` : `OpenAPI`_ (swagger) specifications for the the HTTP APIs. -- ``attic``: historical sections of specification for reference - purposes. -- ``changelogs``: change logs for the various parts of the - specification. -- ``drafts``: Previously, contained documents which were under discussion for - future incusion into the specification and/or supporting documentation. This - is now historical, as we use separate discussion documents (see - ``_). -- ``event-schemas``: the `JSON Schema`_ for all Matrix events - contained in the specification, along with example JSON files. -- ``meta``: documents outlining the processes involved when writing - documents, e.g. documentation style, guidelines. -- ``scripts``: scripts to generate formatted versions of the - documentation, typically HTML. -- ``specification``: the specification split up into sections. -- ``supporting-docs``: additional documents which explain design - decisions, examples, use cases, etc. -- ``templating``: the templates and templating system used to - generate the spec. - -.. _OpenAPI: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md -.. _JSON Schema: http://json-schema.org/ - -Contributing -============ - -If you want to ask more about the specification, join us on -`#matrix-dev:matrix.org `_. - -If you would like to contribute to the specification or supporting -documentation, see ``_. From 986c9d99a0839bf3e5609abe7f073b8b771ca4b6 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 08:05:50 +0100 Subject: [PATCH 186/801] Improve arg parsing in dump-swagger --- scripts/dump-swagger.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 4e5ac942a..bab13d890 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -19,7 +19,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - +import argparse import errno import json import logging @@ -37,16 +37,24 @@ sys.path.insert(0, templating_dir) from matrix_templates import units -if len(sys.argv) > 3: - sys.stderr.write("usage: %s [output_file] [client_release_label]\n" % (sys.argv[0],)) - sys.exit(1) - -if len(sys.argv) > 1: - output_file = os.path.abspath(sys.argv[1]) -else: - output_file = os.path.join(scripts_dir, "swagger", "api-docs.json") - -release_label = sys.argv[2] if len(sys.argv) > 2 else "unstable" +parser = argparse.ArgumentParser( + "dump-swagger.py - assemble the Swagger specs into a single JSON file" +) +parser.add_argument( + "--client_release", "-c", metavar="LABEL", + default="unstable", + help="""The client-server release version to gneerate for. Default: + %(default)s""", +) +parser.add_argument( + "-o", "--output", + default=os.path.join(scripts_dir, "swagger", "api-docs.json"), + help="File to write the output to. Default: %(default)s" +) +args = parser.parse_args() + +output_file = os.path.abspath(args.output) +release_label = args.client_release major_version = release_label match = re.match("^(r\d+)(\.\d+)*$", major_version) From 834a3d78a835cb02eebf4d5b686febd14d184d92 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 09:54:21 +0100 Subject: [PATCH 187/801] Add a pip requirements file for the scripts --- jenkins.sh | 7 +------ scripts/requirements.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 scripts/requirements.txt diff --git a/jenkins.sh b/jenkins.sh index 7cc0badd8..d8950ade4 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -4,12 +4,7 @@ set -ex virtualenv env . env/bin/activate -pip install \ - docutils \ - pygments \ - Jinja2 \ - jsonschema \ - PyYAML +pip install -r scripts/requirements.txt # do sanity checks on the examples and swagger (cd event-schemas/ && ./check_examples.py) diff --git a/scripts/requirements.txt b/scripts/requirements.txt new file mode 100644 index 000000000..9886fce4a --- /dev/null +++ b/scripts/requirements.txt @@ -0,0 +1,8 @@ +# no doubt older versions would be fine for many of these but these were +# current at the time of writing + +docutils >= 0.14 +pygments >= 2.2.0 +Jinja2 >= 2.9.6 +jsonschema >= 2.6.0 +PyYAML >= 3.12 From 56c3e5a62779430843e84e4994db76b3ced4f51a Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 09:57:02 +0100 Subject: [PATCH 188/801] README.rst: Add notes on how to build the spec --- README.rst | 61 +++++++++++++++++++++++++++++++++++++++++++++++ api/README | 3 +-- scripts/README.md | 45 ---------------------------------- 3 files changed, 62 insertions(+), 47 deletions(-) delete mode 100644 scripts/README.md diff --git a/README.rst b/README.rst index edd620fa4..0fef5d1aa 100644 --- a/README.rst +++ b/README.rst @@ -41,6 +41,67 @@ If you want to ask more about the specification, join us on If you would like to contribute to the specification or supporting documentation, see ``_. +Building the specification +========================== + +The Matrix Spec is generated by a set of scripts, from the RST documents, API +specs and event schemas in this repository. + +Preparation +----------- + +To use the scripts, it is best to create a Python virtualenv as follows:: + + virtualenv env + env/bin/pip install -r scripts/requirements.txt + +(Benjamin Synders has contributed a script for `Nix`_ users, which can be +invoked with ``nix-shell scripts/contrib/shell.nix``.) + +.. TODO: Possibly we need some libs installed; should record what they are. + +.. _`Nix`: https://nixos.org/nix/ + +Generating the specification +---------------------------- + +To rebuild the specification, use ``scripts/gendoc.py``:: + + source env/bin/activate + ./scripts/gendoc.py + +The above will write the rendered version of the specification to +``scripts/gen``. To view it, point your browser at ``scripts/gen/index.html``. + +Generating the OpenAPI (Swagger) specs +-------------------------------------- + +`Swagger`_ is a framework for representing RESTful APIs. We use it to generate +interactive documentation for our APIs. + +Before the Swagger docs can be used in the Swagger UI (or other tool expecting +a Swagger specs, they must be combined into a single json file. This can be +done as follows:: + + source env/bin/activate + ./dump-swagger.py + +By default, ``dump-swagger`` will write to ``scripts/swagger/api-docs.json``. + +To make use of the generated file, there are a number of options: + +* It can be uploaded from your filesystem to an online editor/viewer such as + http://editor.swagger.io/ +* You can run a local HTTP server by running + ``./scripts/swagger-http-server.py``, and then view the documentation via an + online viewer; for example, at + http://petstore.swagger.io/?url=http://localhost:8000/api-docs.json +* You can host the swagger UI yourself. See + https://github.com/swagger-api/swagger-ui#how-to-run for advice on how to do + so. + +.. _`Swagger`: http://swagger.io/ + Issue tracking ============== diff --git a/api/README b/api/README index 01b0958ba..7b971fac9 100644 --- a/api/README +++ b/api/README @@ -1,3 +1,2 @@ This directory contains swagger-compatible representations of our APIs. See -scripts/README.md for details on how to make use of them. - +the main README.rst for details on how to make use of them. diff --git a/scripts/README.md b/scripts/README.md deleted file mode 100644 index 5178d5b75..000000000 --- a/scripts/README.md +++ /dev/null @@ -1,45 +0,0 @@ -Generating the HTML for the specification -========================================= - -Requirements: - - docutils (for converting RST to HTML) - - Jinja2 (for templating) - - PyYAML (for reading YAML files) - -Nix[2] users can enter an environment with the appropriate tools and -dependencies available by invoking `nix-shell contrib/shell.nix` in this -directory. - -To generate the complete specification along with supporting documentation, run: - python gendoc.py - -The output of this will be inside the "scripts/gen" folder. - -Matrix.org only ("gen" folder has matrix.org tweaked pages): - ./matrix-org-gendoc.sh /path/to/matrix.org/includes/nav.html - - -Generating the Swagger documentation -==================================== -Swagger[1] is a framework for representing RESTful APIs. We use it to generate -interactive documentation for our APIs. - -Swagger UI reads a JSON description of the API. To generate this file from the -YAML files in the `api` folder, run: - ./dump-swagger.py - -By default, `dump-swagger` will write to `scripts/swagger/api-docs.json`. - -To make use of the generated file, there are a number of options: - * It can be uploaded from your filesystem to an online editor/viewer such as - http://editor.swagger.io/ - * You can run a local HTTP server by running `./swagger-http-server.py`, and - then view the documentation via an online viewer; for example, at - http://petstore.swagger.io/?url=http://localhost:8000/api-docs.json - * You can host the swagger UI yourself: - * download the latest release from https://github.com/swagger-api/swagger-ui - * copy the contents of the 'dist' directory alongside `api-docs.json` - * View the UI via your browser at http://\?url=api-docs.json - -[1] http://swagger.io/ -[2] https://nixos.org/nix/ From d6f892f894464de8109ef98e3e1d6577096ae9c2 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 12:05:31 +0100 Subject: [PATCH 189/801] continuserv, speculator: update dump-swagger call dump-swagger now expects -o before its output path --- scripts/continuserv/main.go | 2 +- scripts/speculator/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index b489e06ab..e077bde57 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -175,7 +175,7 @@ func generate(dir string) (map[string][]byte, error) { // cheekily dump the swagger docs into the gen directory so that it is // easy to serve - cmd = exec.Command("python", "dump-swagger.py", "gen/api-docs.json") + cmd = exec.Command("python", "dump-swagger.py", "-o", "gen/api-docs.json") cmd.Dir = path.Join(dir, "scripts") cmd.Stderr = &b if err := cmd.Run(); err != nil { diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index 153a8f38e..e6e310cea 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -159,7 +159,7 @@ func generate(dir string) error { // cheekily dump the swagger docs into the gen directory so they can be // served by serveSpec - cmd = exec.Command("python", "dump-swagger.py", "gen/api-docs.json") + cmd = exec.Command("python", "dump-swagger.py", "-o", "gen/api-docs.json") cmd.Dir = path.Join(dir, "scripts") cmd.Stderr = &b if err := cmd.Run(); err != nil { From cc6b16b63cde975b2e54cae72f50c18221d27c6b Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 25 Oct 2017 12:09:08 +0100 Subject: [PATCH 190/801] Generate the swagger for export We may as well generate the unstable version of the C-S swagger. --- scripts/generate-matrix-org-assets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index d772caac6..89d62bd5b 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -9,6 +9,9 @@ mkdir -p assets # generate the spec docs ./scripts/gendoc.py -d assets/spec +# and the swagger +./scripts/dump-swagger.py -o assets/spec/client_server/unstable.json + # also need the supporting-docs, which become the jekyll posts. cp -rT supporting-docs assets/jekyll-posts From c2b1b7a10efa4591364b9eee8ce5172732ebb49b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 27 Oct 2017 09:52:53 +0100 Subject: [PATCH 191/801] mention that we can send tokens via headers --- changelogs/client_server.rst | 1 + specification/client_server_api.rst | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 546bf37a8..9522298a1 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -95,6 +95,7 @@ - Clarify the relationship between ``username`` and ``user_id`` in the ``/register`` API (`#1032 `_). + - Add mention of ability to send Access Token via an Authorization Header. r0.2.0 ====== diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 6e084a2e7..87e90150a 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -171,8 +171,8 @@ Client Authentication Most API endpoints require the user to identify themselves by presenting previously obtained credentials in the form of an ``access_token`` query -parameter. An access token is typically obtained via the `Login`_ or -`Registration`_ processes. +parameter or through an Authorization Header of ``Bearer $access_token``. +An access token is typically obtained via the `Login`_ or `Registration`_ processes. When credentials are required but missing or invalid, the HTTP call will return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or From 9bd3711790fb403a42e4f18d3e4606daadfd7ac1 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 27 Oct 2017 10:00:24 +0100 Subject: [PATCH 192/801] Move changelog entry --- changelogs/client_server.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 9522298a1..defe028d2 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -50,6 +50,7 @@ (`#894 `_). - Add ``m.room.pinned_events`` state event for rooms. (`#1007 `_). + - Add mention of ability to send Access Token via an Authorization Header. - New endpoints: @@ -95,7 +96,6 @@ - Clarify the relationship between ``username`` and ``user_id`` in the ``/register`` API (`#1032 `_). - - Add mention of ability to send Access Token via an Authorization Header. r0.2.0 ====== From 0fea3806255172154c1047464ca195b8874bce7f Mon Sep 17 00:00:00 2001 From: Maxime Dor Date: Sun, 29 Oct 2017 12:20:22 +0100 Subject: [PATCH 193/801] Add status for unknown user's filter ID --- api/client-server/filter.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index ac8e04f57..185f53122 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -147,5 +147,7 @@ paths: type: object allOf: - $ref: "definitions/sync_filter.yaml" + 400: + description: "Unknown filter." tags: - Room participation From 204eb427db8619621658d195d72b057d9619558c Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Mon, 30 Oct 2017 23:07:12 -0400 Subject: [PATCH 194/801] add information on handling redacted e2e events and detecting replay attacks ref: matrix-org/matrix-js-sdk#554 and matrix-org/matrix-js-sdk#555 Signed-off-by: Hubert Chathi --- .../guides/2016-10-18-e2e_implementation.rst | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst index 541349165..05b58d4fc 100644 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ b/supporting-docs/guides/2016-10-18-e2e_implementation.rst @@ -274,7 +274,11 @@ Handling an ``m.room.encrypted`` event Encrypted events have a type of ``m.room.encrypted``. They have a content property ``algorithm`` which gives the encryption algorithm in -use, as well as other properties specific to the algorithm. +use, as well as other properties specific to the algorithm [#]_. + +.. [#] Note that a redacted event will have an empty content, and hence the + content will have no ``algorithm`` property. Thus a client should check + whether an event is redacted before checking for the ``algorithm`` property. The encrypted payload is a JSON object with the properties ``type`` (giving the decrypted event type), and ``content`` (giving the decrypted @@ -380,7 +384,18 @@ In order to avoid replay attacks a client should remember the megolm ``message_index`` returned by ``olm_group_decrypt`` of each event they decrypt for each session. If the client decrypts an event with the same ``message_index`` as one that it has already received using that session then -it should treat the message as invalid. +it should treat the message as invalid. However, care must be taken when an +event is decrypted multiple times that it is not flagged as a replay attack. +For example, this may happen when the client decrypts an event, the event gets +purged from the client's cache, and then the client backfills and re-decrypts +the event. One way to handle this case is to ensure that the record of +``message_index``\ es is appropriately purged when the client's cache of events +is purged. Another way is to remember the event's ``event_id`` and +``origin_server_ts`` along with its ``message_index``. When the client decrypts +an event with a ``message_index`` matching that of a previously-decrypted +event, it can then compare the ``event_id`` and ``origin_server_ts`` that it +remembered for that ``message_index``, and if those fields match, then the +message should be decrypted as normal. The client should check that the sender's fingerprint key matches the ``keys.ed25519`` property of the event which established the Megolm session From 7bc54f37df6db0222706bbd4485e2896ea79bb1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Moreno?= Date: Wed, 1 Nov 2017 11:52:37 +0100 Subject: [PATCH 195/801] Renamed Guillotine project to Fractal --- supporting-docs/projects/2017-08-31-fractal.md | 16 ++++++++++++++++ .../projects/2017-08-31-guillotine.md | 16 ---------------- .../projects/images/fractal-large.png | Bin 0 -> 182399 bytes .../projects/images/fractal-small.png | Bin 0 -> 14136 bytes .../projects/images/guillotine-large.png | Bin 146629 -> 0 bytes .../projects/images/guillotine-small.png | Bin 14075 -> 0 bytes 6 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 supporting-docs/projects/2017-08-31-fractal.md delete mode 100644 supporting-docs/projects/2017-08-31-guillotine.md create mode 100644 supporting-docs/projects/images/fractal-large.png create mode 100644 supporting-docs/projects/images/fractal-small.png delete mode 100644 supporting-docs/projects/images/guillotine-large.png delete mode 100644 supporting-docs/projects/images/guillotine-small.png diff --git a/supporting-docs/projects/2017-08-31-fractal.md b/supporting-docs/projects/2017-08-31-fractal.md new file mode 100644 index 000000000..0fa058ecf --- /dev/null +++ b/supporting-docs/projects/2017-08-31-fractal.md @@ -0,0 +1,16 @@ +--- +layout: project +title: Fractal +categories: projects client +thumbnail: /docs/projects/images/fractal-small.png +author: danigm +description: Fractal is a Matrix Client written in Rust. +maturity: Early alpha +--- + +![screenshot](/docs/projects/images/fractal-large.png "{{ page.title }}") + +# {{ page.title }} +Fractal is a Gtk+ Matrix Client written in Rust. + +Get the code from [github](https://gitlab.gnome.org/danigm/fractal). diff --git a/supporting-docs/projects/2017-08-31-guillotine.md b/supporting-docs/projects/2017-08-31-guillotine.md deleted file mode 100644 index dbee7e81d..000000000 --- a/supporting-docs/projects/2017-08-31-guillotine.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: Guillotine -categories: projects client -thumbnail: /docs/projects/images/guillotine-small.png -author: danigm -description: Guillotine is a Matrix Client written in Rust. -maturity: Early alpha ---- - -![screenshot](/docs/projects/images/guillotine-large.png "{{ page.title }}") - -# {{ page.title }} -Guillotine is a Matrix Client written in Rust. - -Get the code from [github](https://github.com/danigm/guillotine). diff --git a/supporting-docs/projects/images/fractal-large.png b/supporting-docs/projects/images/fractal-large.png new file mode 100644 index 0000000000000000000000000000000000000000..77d3aa604dd31f5ddf8e0f38ac3c14cb1ccc7f8a GIT binary patch literal 182399 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

`}$uP8Ly;pm`B6-Ej^>VK!ix38ma3Emi}jC1lg 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%0Dsjy*F>KaN@6tv)Cmh@U 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 z z;Ke)@W}RqBN!e>1|2f@mPW*rcMthwyul7aQ)hn)PkApKeyL+F4a#hF1l}D_Y&4yNo zOP)-;wxTn0Y%;I@E%V~n2E~@LrE|o0qM+gtEloeP0b+l5AkeMi0vaJo5IP8Y_j*2O z;?KMO&#<5u06;Gdpo|uSn;8>q%{{wutRXQ(6b8(;aK2s`;bURd_IgDJs+X$8dnHG^ zdRiEQ+L?}%Yr2rB1Jz4-Xz;Y4@G&O>rl>o$81XcQRp!G_cj0X zj8htB6rnopst0Z|F*HJF8dCdCH|M_Gq^NB}pF&3sas@Sw@O@BnzS%Bt=)a+xR6gzL zw3xLEUf#*0AtWsu7#6gnwqxK4|9Pi}qK;Vh_qm5fubg;TT%3eV^ZiH^(SrhAe2{!C zx-gk^*vm;l&FPYNhKAY{Zf+Zk4EJvpy?BeaYZt2P8x7|Lhi)4wqCEN02q5+S849EK$6QeU zM5voC#N=@Or@N0NVg8e~(hTJUW?%}k0-s3}13W9`U^RUPXNf@MuAj9!iwpFHH6db_=lB-uYC9HR$)bFR~S< zev6k$W*d?zMtbAv`}F>w?$2V&w-#o3u>{Fj8&%1zXAF|_bkr{G;hiWs?N&#e`_Va7 z^UQNGq~kw*FGDioj%UuBNC|jj@vBB1!BZ(Z%xIs#<&2#Z2EJiGFgNkX4@&iIwRIC6 z3}VWfzgBqxMDqf0D#ShVnW`e$hlj|8%^>8_gFkx2tn0V}W6qu9WU)q!>+vJ$m##+Z zVi7Yn>_U_L*?;o6msbjG#8ew=0b7iJycZGrqqo8Uipw#k6*k|IW8z;-g)Dq{-HQxY zwiU~7)L<;P>rY2Ib!)5C*p(llz1Rc2A4w{)vJ?3W*><@zDD22C7i^{GCo(eos-Se7 z_%l{X^mL&RW;@b|(3@Qg{}_jK++mv|2K>ar=ENE{P>FcgYZ$FC(>9g%wtwC5k=P&||4-*mzLL?oE^JR7u#K-Xw_OJT7ga7SY! z;GgJHMO`&K26Oen2zPj?=6f+5nLP@o4WM%lgu{1qF z(%`Hn{aD~{-`O;3eUQU&{I`j2Ew8pT?E6}G92J~+-S}q&`R|J(ahAf?>B4D>3;E=d zR^=0wKe2zMg_20eJIqrl2u$<_(kwiVrCHj9VLHuJ1Z0d;aM6%Z?dA-1Ov3qcM^v=q zhj1nHHe#wwO3BKK#`L-0lShDH=)gNUX-oZ8yJHS4%_K|fi-feMq2E8lL1wNhR^Y za?499Yvfvrgn~$Vx&{QWly2wB#fqc2) zbogspN>=F%)|H>}Z8C*pPt_ZDodW}zu!x|5j^!FR*7%HGhWudWDoMrxzFYB5o?96c zbl8c(_@W!>i>~0@# z|8wm%IiXb#B3B;RdO(-Ik3{gog;k4Lazxgmk{OGDAyxa)#gVncZ?SY+Ts}&P}7+ z!yD42g?n%4e^MSw(8reED1yG9_#hA!(yk?}JH>??Er;mNn6&XY`jBjFOPy=ARh;dI z_fv<@=beCxuXL%jN=00|-|f3~kH7=}OHxI@#(2#Vf=XjF4pJuA8iAH1JIZ(!&BB@W z<|-%xQt4cDuUJuVcqGA|D0(_;E=|vu*qw z98n|lKNB84aT`IEp>a_x@JqiC4n!li6t#+Z3Z3!k(71fmtIK~g+Myr??9JK_TvN@xCIw3L+%mfdlpDS8 zl!=$mVIt|o6m^y~aq=9v3}msUl=8yLC>5$hHOx>-M&IS%B&(vWRzNQ(1zSHpLFV4V zci--16gcWruM{2SP*cs%9JYP$4nNL{hUJz1{_2ub>WdwZCLYF~Q)erVG#k4ao61u` zB1FO)OP|cPeRLbIui3IkI`AE{8&3t8A20h=8x5!>5mh-A`;)Pv(B&;+{ zHTg8nNtWSaO^O|5M_TQ5WTU_CsiSPQKW&u2)iW4Bhu2ffF_9A@G~ojx8Ka@*((OLjzoxLc=^uPE6CeDgmKzdWe^ZJ* zq~_^c=Xo}tA1eB=!p;Z#ZOm-5ssk%SQ*Y2az5dM5l!N0rDkc8w4{l}-l%#)u;%%Gp zToCA?2SUmBa|6TX@-3>wEoI<8d`C7BF%(?2%Tj#E@mFkJ=tjzX*j*VqAN(N|FQ%)K zG0U0Bo-HFB9p#ceTrb_gs$$xUgA zp~l@JdzGX~Xp+}hn|K%2hgiwvKSwDjIJ?Kn|BIaMU`(8LS~foJ|umgy%gqD&-}MlcW;5YPA4yyH#H*Dz|!R^+_5Ja+?*&A0ns+A^l< zGvrJC+7|W3{sl|?TGWCIA_&8UX-e%cqm)MH)a)&z_27t_jQmW?I)xXXAf7uG;q^ul z_BLiLd#AQs@4ZmpXulDTUUKBh`^pjwamkAn&8&|@dA`T@_Vv|ElvV_YbzHr0fpT9B zq2Thr?(o1$6pl=9%fzM0B&h|sI70z z?X2gXt1Jt7l!jNa?_vvb2l+t%HKvIo%{8%c#rLe}MPvFZilcu2wR@Q}xjVX@(DZlZ ze)03c$zgSNBCG@$0`D+^bSBR2V8dP$CJC*N-GyF7vdUA*S@Dk&3x@U>3E6^5%pR=EcZ9#TW!1knZ$_hq#qde%ldtD%rGi-wkG`bK?NzYlYwTa-6a)C2Gr<{wa80}*dmRH2 z1|*`7*b-FIM*z)OcsMQ4^S}A_nzmk5S-t+-eG?IQ&cLol9Fu>*3%I=JRjjOR7|!Ng z92}K^Q(I@d^0h0je}8;&(Q6C;T-P2aF_AUnTUj^Ho(#P}BwleZqHQ0%U0?W}d+GkL zh}$k%vvb^vKs>AFl6$hKhyp{OfEQ<3T)iQC>3h8g9%*IZkMkM>YM`@Howa zXXd+1(}#qXL>(t(CwKXTq^lTpKYKWXv9#Hzwp8?zX6>5}(=idO>2EdF00zgHL3WL``Z;Kf~@xOb6ZMbCU2o^O{E^X19WX{{+@HvYRVYdTf8!~5sBZIf0sku7jiKH^y@s?7?=SZO zTlxdg@X?jGDD$WM58b|okr$*xDrM%zl@cF#DBE{&@nVCH`hQvgA%kfC~o_m2h0Ql?y z&7_&8cIikgUkO6?w5?wWrXO1Nxfppxuiusd2+$btL4XJf)O}w&NCEy;a;gTptqmfh z8)B&cd-DLAojedY-7AQy4={v?hHoLXP#^}4LSAYI!-!tHE)t+2Hk=xHf4_kLmEYBL z=F!r%29WYh5Co}4QV+m+Ljshyx3?pS_^xv<=hs-E173lysOjDL_A4M8#uQ&DVTGJ! zfQjs*!!0Vq7L+hLhAwM%uYM%?ygsW!@P`RFh*0GX` ziYO&Ia9273o6Bn#=5$5DJ4!(P!BF510FM&L{4H#4fzyBi#NYD3`uNHw(XRtT?+#Ec z*l}&Hr2(&#U>0BvhSi)dRYGZU`X4g_&_pfC2(^Ae2;9dq8Mt%Us(BU_V%_wFbe{ zHXwu@kltKw{eYVT^l<=jQqtL(O{GZT?OyS=l5@jDF_*Wz5wMz-}g#2x$ol62c!os9FpCJ;lDa=+$9Fet+}?gxdSYey#H^_?5GUU(h7K}TJR`q zBcX(&M=+M8TEEGX2E&B2QuAcBm9I_5Bo!z%AOsZlRr^b`dS0=WQQ}0F?h=Yv%u}WBgWD@$ z!R!9^;lIQDRP_5z&>Jw$g>vq;i|@9N{0}(NPuDKkekU~*@brNSG?3du)@Q&zJw9Cl zLRaXI!onSXH~9x%%|BOsZLYI)+*e#5!H*}RstSWbJPcj{aP(%@b?Q5ha6n8j^g0c( zcNe=CU{-!J&-P6MluVb!sAq%7v--^rTTX&li=Qz4BO_E)RHo&&Kq}gX^MoQ1;~NJW z3cy{e(eCH#ee%D>3JS7Cb+AN${lKPJVwCoyo2SynkW{lhu`S9d`Tbdmv}1Hph7&wQ znp?MI2Qk3`GAl-y7^Jv-2WXp7zzqbN6>HYbfG)#NEIGvv_VlG@e;h2VqbXFun`P%$ z{P%nLM+zjJK0f{{ z@NZx}tOprsCX#m?40e_erMqY(K^nbs0C)jEGh$~GIPRAMv7ZPL^zmepaV3At7@vAS3 zUtVwt$GAW6K-R*R^Fg}b`t4a@?iBbwvQjpAu7TA#Gi?IMSk|2y0X8qMt&LcBZh}3k z(RnwIdQgz=707F#0fq_MozcvQ6+3gl@%Ap|G9M*;z8mu=mqrID#_r9t>#|c|8d`mw z>i7lN10%tgP5CyMq~=+kg}#K35CF@wG3=m6!*b6+AilrmKg(Ey=L8%kj z`gqA5`)~_5l$9VL!|UdFBL%Ysq9qi|YVD=Nurh|-1unaK<1qA`&1E^91d6zM8 z%J4s3PKCITfZ2z~?La!G=gj~_Ydc_DwR;g{Vu}HA28sHQ8#sX1Yn1jLL_+AbdV#@# z2yDra;rlt}N$Jz4|EyU+V+lIx#9#$M0`?g2{?ouFcSZ^i*<(mieMn57>err=fi}%P zH}IoFD0q8zMIHS4L$3eEcq`7joV*zEVwhwp9iTS|)KNWOJg4*8xD}dEr4^=gQ*$}- znf{@i&A&e4I=CX*kbryhwV;m~kv#6*$jHcVokpAN6V?Bm*W#mqgDs(@#Rr_1Kom;< z`SVh{c(Q8%Y1qUdOz!t1maN69ckNg6uhSj>cfJew7@Gm<-cV9x%Bh>ambilHv=>s? zI{FYO@&BKT0e>9~?+Gm13{P05)#$%2eENoGA-uSdsSDXfL$Z%v?obYheG{d0i7dat zPMtIzoF*os!oP*P)rNzC7RyIN)U{ues9tbrT5eb&2KPGl5s9I}@4x;2zJ^NYTxX=o z-B52Qzp_YI9*;C+FYmI@idt=XO;-cWwith_5FeYlK%M22ShL!{|D@z2{)gq1z)Xxq zYc`*&tkYs85No+j7Kaj)9mBausIKNGdsvNdN32=!)eYC{d^C&Kh+ehaOTU!f35}prPp>#so<#sJ-_ARNzTA^tu z2bv9@Y&yK(DlCoCVB+bGs~7l&VbEgw!upJ)(5b`26_ww;>>Exe9c@|q{Y$ntpHNkI z>@<#Fs>tI_G7K=1l->_3y=1r9ehEtALodkxQ12j;?AguPCS$V%i)y_fkAo$> zgvXQ=M9jr}GyP-hvrX$LXu`dYce{)T1wPdVAcN4*8qqI=Z8 zs(IZ{fSilS`5pJr-=4v@bvHoTBo!XGQAyEkQ@ns5zaye7kb*`eYySsv2G#yHwEsLL z4wDa*3~hXw{!HA6nAlHL=7()a^Ycljz9;{g{_&KECqsIrjY&+I3mn8KPemzR5o}h6 z)wx!smKHf~6PewlKNwlnXeyY5U~p`h|F$Pev-w1FajsgCIIXEZW!x#IJUI!xEB#ep zTeRQ)v`pLcB5Yq%lvRPQEpJuW3&O$OUihLIfjVjHGdT-8u-+XRD6J$iPYGTLg#nM0 zklmZElU5vUEv?B_0yYgLYl_6X?;E9JK3`)Kf`Ww?8_wNlJGg zol{gsU5z#sdRU1$56jA-2T--1@miImir}IOHTev2lj+tfr~NCqKfP3JupKjEeV^) z?IhCDRkKPIG9KG6XwMsrzbypnT0RqYdF2;0#ZLR;uv2M5sY=wA6z|&+nreo1UbqRx zjnG+myTh!TqO22h!7|vpJRnj?N*pOA_RslK)mXSSGiHg-Qh9UfCY?-gk2UnIcz5p` z;VI?Oy~K>$oox_LB5;iOIy4m=MJ8Khc-Yd#jp$EZk1Bq0mR!g4XR%Ah6}eHCquVtP%VkS+|=X`6GC^La}R|V zHK-H)fVQJGi$=kWr~913rfW_^rOZFc+QLvL#aX1%xVB1AvYh#*cMex$*7n=+MEKY7 zh&Dl%-PT&~N}uCr)eFJ9rW;+Kqab>1)@idO@%JekW9^<;s|-cGU649+&xzTmB%+l$ zN<*G5cSfJcvFQ+xsqEQTNf{LBaGHZ#DKWGS@5?+qJ>h}S>@WXuaKT(p6{1l|Hs$F= zImpjAUhkQ|n7Up-_scQ+e8%g5LfbvTmOlQ=3W`Ke(&oU2U*#EPA=BN&f;{95k*W7u zzye+HD?8f%N+caD!cV)|o8%&C3&ECdYRZ8#YGk%n@Zm#2B{^RLz&UhWcVMNb2QgD1 zodZRnd*|LO@>A%iVFmrhDraa#1cE3X{A7A*e9^Kw-=LR~>dMaV4Ix;DOoMwVOanE{ z`Mh4vv8PjXhtFCWi< z>rZ`|rSzBY<3FlB?xGKgnLv9Ej;RSc-;x8;S^ZGLSg7DJaq^C-k$_<+$lHR%WY_(~ z&VK*B8og4R zwUS`H4S6SQqq={khpBQ=EPY-U4X?mD{Pj2XkTz?bN=$hrP^~poX!7gHB~F~p>K0oj zANHpIlcbar8;$Os(>$U@Gb5u&iCzK2?AMzblbLPV$CtEVF#(#*2cMHB@OJYHxZz5@ zUeiqm-atN~Z414J6^`MaD3{4>lX~C}hs9jAV}Enxz8L2W#>#9UTIBmkop6ks9Fb`` zl3yG+$*H!Wm!KhyDegucf6EWpHij2=i~93)P{fa zwF^QIxLp8IRhicl`{W8lVB}3O%shh4qXZFRCoQBov7r|J67WiTLFoRb_BOFku zKe{c(Vd4!jS6(VKy_fn+J=Q5u@UHcrz*mH_*KA3jD~)UH3XV#h;}Vm~Tr1lmG;Cf|Q_5_{XD$$Hf%FiW++|(k_K&q7)MLg6>P5QE1FU<&r}52>m_?h! z%D0(OMHA?GS6!}wYI6o}$iph96bQVmabI=`Dk8g`f0%lnMgI$1sEhv75>c5~D*a1( z;>NnyU3BF9FOh0=tqKNPn$Nc61cXz_3t>q6`8~TY_JIo)L~074W_aN4DfoN$#`pNa zqU}Rwt|dMsGXd1-2yt{>(9#OefVG^>_ud6WMvZ}2(hW_|gz=QOI`*g%->5lW$c>q6uM~9EPdyMNi*rBhkp7g(Be46hl0YTiJHZDl>FJgyt{DGmSvTgc7RTH`90>>_ zga`1$o%j4dh#ykA+~KL!;IGZMy0R>ii`BE|altxX4*wg6{`(QG^mnI4M2@L8dIfKi}4K+(;94;#{^v2J*?HWLx!k1l_Zt;g%(&o zL(T|gVT=<7jm||che2n44K*8n8O!=c}M28Ue@n z9C+Hv=Ll>JKjWd`AyO{h({2pKcWBXZ-r#1K?R%{mVhRk`G`y&qysc&DvunYYsSY#6l#kc*jyCtVqDDzF3I%9y z^H;i>;No)YD$afuRs1MYayz41$x|}f*4daL*}&7QT1!#@u?#-2^Z2x~)OvldOaD=i zk*{Ks)|@KX^nA!KxH-6<5A%C!?=BJQY%XFf6t__2h>LR7D4Y?zS|THp?Iu_ZJ+h!` zaeL6yeIVLi=uZFk24^))%LUy^;>B)`s_NW7OdS;J8{$a{OiZvx1?{GEJH9-ga`Nzr^ zD;^NX)Y^QoJqODq#%(S?d*OEO78&j*GqmtvE*jnYaMP z*9zl4WEf<^{w@@u;nVf5*B+pL<++y|0+L3c0cIW)pP51N0MyCq*L>Y2KpGUJVr$=e zg$=wYkV-nR7p6{5cH`zL{yZtw2ybR2uIKq5uS6Rd$h{)wmJt1O>$X-LV8({{0YJXaKt z#pn&Bn0mA3F9gbFuh5P6isVwiuAS@xzYhqU2nJxJ^S|FvSltfi8Rfm`u|Z!f0#@B& z8nvv{bg85~4&!$bvqr>Q+>aWr6|3rUVwDs$@TP2LpYVw~uy2#+uW@SO z0Qhajz>3uXe82-EBX6aR<}I&K|4f761mJHMen(Eewf=pc~&cIKVji?elt<; zR%MICkaA{|gmu`zpf->0gTAKZqp9e4}3{{+tq; zJoZA;#-_Kgrn{lNMp0)8t0ueGj$7{bf7m;=U7Ri$ zxFCc81jrH=pA0I<7+)Sv+Oxs?ud-WdLe>qq-U4H7vt~+R6GAEhY^xvo?S2J?$Ae#* z95*E(ogQM}OC?ZOfy5U=%0-YCMUp81hC|?q6cUkuWN6p8jSWdY0Y&JW=95uSw-iYD zplAlDXJEcNfo2^TgSfM0x)E~++mKlngrjFL^Go&f=fhu`{`)_YA@-4G_D%biGZ+Yr z3-ZB`zwOK;1C+i!%da5CZ9Mag4krIQ*`49kE)et52vS{RO;hzjPc5Y24B~zS-Im73 z^PyD0umCw%>j0;cUsh&U?wSpXe2`WgfWv$nG1~;S(M`}#Fa&Ld`6F+4qNj`O7dbFj zar8WL-}!YYiPlu2$<9f`J-DYkA>wEJ?A8&aH5(x}?|cJJBu8t$mlKl90OJLE2dsb> z;|C}UQ^3OfL|g*g@@r4W?t4wq;I{-pr!trg%XYz!&o`GXTj*A+zRB{6LQz70-wVu6 z9-k_A`e{A-ZIqVIPx))85NfjE(9MRH=&yC95k186Hx32o(?^^xx`*1oKry(3)0wPE zkItT0@@dnNn01;`3vx^TAaVojAHnjapXM z_Zf$7v0}_4te2kn**mdFFB&b3%5Unt%G9oTu_KWs(|pzrLF3WTE^uzAZyW=uD-m;W z*|#+!7fWXDOgT&5V`OP>2`6`lcuoG7MqskwmyHQ@%^kj<{HIYT@}T8NPT-cq1#{}( zM69g`Ul#CI7kM{SVm(aVrscXVYU3*=%$1_~=fVh$Wdm7L0)NlCfDd|Mrw6HM!K#N= z_(?Xjqk@fZk{HCw@7|RfY@qy-`1?|Qv+C%kdUgNeedKn3nU*S-av4bZ5gi?H3|~Vj zi%=_LCT?8mea1w?dV48}+Nf8Vr-%B(1C0g>Mwn6=u~ifwZa+0iE?dQ2w_WHO^F3Pv zln@bLw7=En*cXj#5h<=384gmU zm;pI2l>#*TGG34CW2HX3l2<0qU$=)|B!q>@gr3i0LY|1R-kraC4TTsc_r43#S>9&y zU!WT|JI^)ncXDAI%@e%1s09fWXWMW6JC+5mm)5fm zpbL5Wz1(M8)X`^3o(uAMcFjkeuORkL#+FkN5E=(#!w2>~fWIqT-Obu{1Tjw4b}PKV zH#%z%+Mw6KCB z9u<$}Ym@2F-l0rv_MzBcbzjAuo=^Eomn~1)ELvL9!?o`D$-79}duL_uW|HEUrseFm zZM)v{hir&1GB)10=L901@7y*{DR&C#*Lps?hJ>RBQAHraU)% z#^aOeDW)Y=U>H#6iqoAFGrCUEn;;M@4qWcd+){f!sW^|o*23xd-@H>^-Meb zu!Q0B)Q)U?9oL63KoIc>G4Rt_20Mei{dwO*lH<`B=S7rk6(Lvi*guQUSb1%8Qg+)% z54y4TD@{RN$b6AWN!b2J=cTj?X~{y|Oe-5Y!k^TBJ09m3}< zd06pq#nOKfxwD(<2zsUZ4*o*5?eUIPt#rugfkYda*bzRd2HjnR__tzw)?1KxgaSQ-i|&>;o1VnBwzjPikaJ1Qwhspf2cc6xS!?4I=mb;A zCS6+hT!U0$bmS1t8jFdXzJ9Z6NI+PI=T2&~fI4IHCdf!O1`U2NHY#tFG&Ki6H&cNG|!}d(XimBn1_)_~bdXeERHn(uX_Emo#R*;*;TEhD!&9i50qP7oMJMh{Hj;pQ~I%LP8z*YQx#B5 zjlQHzA~{$+p^D}ENV3mU#@H{ey1~uQHjWpzJdEv(^6%>(styh~8+C54*k2wb6ZF@t z&r{2PXx0xLVJp8C`|vrZ_uhL|T&fFK=}WC8-uzF)^`5d5Jf`Of7x9Jhhw;u5^`nu`Ca={69B;CF! z-x2Tb?RTB$ZF}eIje%t+^FSo+hpo(U)yqMs-=&J=rBB+rkH9~Z+rq6t`<>k6-TNp4 z{_uioS*I&`ylDRFh%w#oJFQXAgrUJ$g1-O8-=b3(201G*h`n2LxR@)lRcPZLXt{`A zewIwgg+fBfJd_mV!v^fJNtR!pV z7Rgqfki!IMeic?!#BOXDf#U~s#S-eVuQ(7s0a-xn*qFeL4mjHkfg|uMNUv41#e-%2 z^eh`8cNaJ&DOW|0FRhA2?Q;wEE7MlCFs0toI=gW_^fez+;P)(BLFam z{i^D^ScvzpUYt-xn76gp@(k8Rv}8&alv&}OFW6s^G;Q}!>mx}X_Yydpd73oJTZe4*)DxE7Wz+Lak?@73EVjA@Xxrls=${Y{ zy*0nx=TDQc*SqVrWn8;+OhVEY_~-8RcpFXl;^BCz=8+rQJ~nL?lGy(tQ2Sp)%psXQzXapg?JRo_K2V5RK!G`;@xcE=q(JGV; z2@asV-3M8Z0k|cQ(Gh$6ef_JX1fn5A5#o30$f&Af{UYpKClq>q?(}Eu4$}4)!j7h+ zrF}JDxw%P)X|co!5{V(uw~j9;r%VU}OeiNc3H|Brh*K!(L0QQ$SzI10KLE}a#0m?c zWoBn9N*j{74kcAyJwHg>uSL7)Vs_Hf-FTOiKv;4q#{Umje-)Kw z_q~6^QgRW}-QB5lcS$$W-Q6KbcY}1N2uMjQT_TNigVNpoEbj0B_inr!48{QTI%CD0 za~<<@#2K$R51>b0pdM<7lhgSB9gg|ABlfncO5pj-wbz0;vT*-ChY+ldAN(5(zg87E z?F;g*9O6ikoJ>cfpbA?%KkbS~Cy*|GHtpduB-iG8xTViBjjz$+@Vs8tV2mJhgDX3g zj8UOQhG88m!tO=uKS~?sU!*#0<1sG@8CmosMXa&D7YS_fAI|N8Z+KY$+gEKE_?dL^ z(2Liu?$I038R{Zg!Y}`^~s@Ed8WgAY+UrY}^EECKAggvi#?L?886;=Z^V+nIem6u=N#`Ed ze!AY~w6R4@XFqpx(f{iF+rmJ1_jJ_v!Y6>+;he|*Cv?uSG8+ESF0ImEcwy@TW6QWb z#CdK5j=<#`j644=$q%wNe^O%@aO@lsn^)Gt+B&Ls3?)1crQ+|1lh`?f%og$}v8f53 zy$d?77?>w-rs_Q8-j?_H^_1li894w3!ZgNBq+=`d#?HB``S< za5Aa^29RiA9fWLLahv&v?@^#M= zlGzX7!6SgVq-1Z;405&?WbmLV6$Zi!{tMXGbC`Yi{^TVv8iIfc$`|tvaJN65h@$&| zAnhN?*bgN!$ys&%v=YH?P%7zldp#6>$n{N=PD4Ck_429S2*s3SYk$4 zSowedqAxdp9*t{!9D84l-DJzyzq4at|Gdz4^eXVQpCRo$e6VoHg8D1>#p*!vNxz(B ze30G_gN;B){pKZ1X4*sZ38UUIMkw)OPj&5}$X`v>=I!=#A%hh>9E0{PO|iDK4TNIG zPE0bgiua%WnJ1O95uwVMIe6^X*B*bpkA`jXYkGFZh7F6*=?(5EBMn!F4SD4 zZQSNsD+?%6FOiIK0?v$^{x$&KZvyOAenA0P7=K(+65nT7=B~diZ(u`x(F_3zP38;y z5}3SRE*^n)*}qyHci1mg0FaG{t_G*=@vq*Z0NVzrm#QnSp&z>#gaojXpcWrb!iCL% zbO%UaTmhdNJ-Sc3-r^15A^vD7z5jI@%e^uPPJ5Po9q6e8ZhA?~r5vw4!*Ppjbj~r-#anX8WoLWe7S7<#g9}Lm^$S z34-d-V;HmD5G(Qp0E(6>IfA7e=7w7v)hT9qrS)@ZJ+~wWkI_MqN4jK6TvAjEQQZs>LhgnN`?J6V&+BwDR%TWr62EQvC?jpjfPE!++n|=cimgE3V|l)`CZ8!L zW8u^Gza9BVsC(!J_q*iD(L)hbY&A_Hi_0)%+&t^LA1cPXj)f0vUN9L8Tuj-&vvqz8 zK6A`B_nBQ4)Iu$eWCD)a*N+o2sU?W!l5$P!qe`TF9v*pQ@zU6(N|ALBw^ZLcvW$<= z5lUmURIu(s_r@~0nv;z;HItoWj3?6{$7IO{VPGLOV?g{^UCmP6@{a)c>?#V7Y=czc zpS1AZ1WD+nd76Iz3se^dRiG1S*{NJ^Zgm9M^Pc!b**+d~net^Z()I ze@-dH!s;Y@{M3`krmuf^Z)o&)At5djW2H^`mJ;R9oce597Ja_qcROzDB!5>VMd{bO zcV9R8!%lLWjwSykqd~jj?zY^2kFQI!g_#wLJRoMBH6ZCfU+d#0{uPB?-O3@a@aL!~ zPEp6Gre4G4_$|^{Fp}aF@5h2#t!*_5zLf#>1GhY{p~fph)=AaVB;)qtKn~90qM!sw zk7%UT8iN_PLtmw>Bp!js`=keNOn4=j1dKA~*ySX#k!Yio?Ldlz#-LejDGRsun4>%x zw9M!Tp7JWGca+ibOIMcS( z2e&}R-*~$$2VWf@{~Kzwvz=OO>nggG)H6T3DR;gH&ElXy)fc3 zzBvDrh1pi+0^++00duN_da z{dx8E^?y8$18?*Ns72y{hg0#e&f_-&!KaN@6NUa7Ye33#llOd^C+Po-|IPxLE06)rE`e%v8?_et{PB2`31NSvG@ohHdP?Ac6D)OA3& zU$L0~jm|>=F%F9@_uYEU07 zYbZo61uN*5H+0>;`jK}g&++pO+1qq2T+kKNz6X2c-pZ+J!nc#;W2suE$m-~VMK;-a zLW_Lc6VmPQ=B@06)l6&BgEwL-o%PqxUWpFetk8OaX(;RNp(jb?#a}279Yjf75*kC@ zm@4l)C`=jIDv);lt^_OZP{h7JBBgs*NDPJjJ@us~YFzs!^ zF52YT-)J_y5L1t6Rn!9Sp8n`8Tk&!^L;72CHirw5UBIkFBkonyR@<%h){Wv_UOq%T zhx2xp)!GZT#V!AG;F~+dcVIW-JO~?a_(U!tDt0z9>=L2q-l6sPc-^dfj_ofsAFA+t zm*=36lf5&~SfjQ{CX=c8P?%6M(vm^jP2{ic2Rk-I#kKe=K8STH_bCG3xtD zKjSd?)>|*+n<2r!hbd%vB$Nux*Ezvs?dfKZ7RhS3TbOYb=~Z7~HlDElt3tx=^tT=V z90mnNPP4rAu6#PVZ+N7N7wUGb3=D|=gRh`GXw5uyN@NGR>{lY|ix8T=)aoXbB{U*H zLW~o>e3ecmQK1c2_fy!olF&vBcx2TdOvWdmr>OUS$36=^3nwWmVQQ55Gi{a)Z30h@ z!Vx#H#J_Tx>gt1`dlMF>Fa02+9QM(@cZ}yu>kff@R`DgGEO%;;f&~JuW})E6;CFx9&%-|be^-)Y~b5b*r_YG^=Z6WWb?~n>rccThcq^bES5$=z-q@3ti;=kJJ zE;9QBWUn5H&1N~t-BNEZR6;7E2P-RRn_BP-Y_(&pL*(;AQIA*$#ZeG3zIYGT1jo$5 z3s{yhtKUw&P5r)nct~N~74VUZqufhi11;Q_)N#F1%@!eC9ho>TgI@cou(#pC`mHmv zy4KaQApgKlyOJ?A;mh#YYl*nlataJzTi=(;#*gW_=oUiHI`bD_sq(5X$i}mR@#os`77HCltGLcWOIzdrZyVj(Swsf*Nr7o{#2Vwu1 zJ`5N9>Pfj(aPp}7vC$5RHAkvc?I)U2*~uimnP>DnV?3F$Rq56>-n9imlb`ni-*i)8 z%5QSJ)Dd@Ee-0?h2`Gq1N}ML?54sU-MEWDl$JrNH-*Y>c)So^fK^$HJ0 z3-btTU8#?e4Nr#Vba`MVWc{z*QjBDIKkK-~@d3r-s7HH)td~4}qAVp^Ym}S7QbVNW zLa~;;G^>J<=k$81>&_munc{J5aY9_M8`g8Zm&r{v>pF$7WY6-ClUV7sXaCH#+A`)= z)gV(;t#lqKe7C$%>G`GeG~@tZAO2`1KFFs%#IBaSB#tHo40gJ~{rl0~n4X?^$A7)N zIP=*?XWD7iDV-dmd?a|M#+zFetm-GT0d8ky=7;SMs_7Fmw@XDEt1+^Njgmzu|s}}ayxv^~6AOY}Vp*(`Ye9i(9MV!#x4$M=1 zX6X>RG*Q=!Tz{#>)!N2p19)nffC79Bsj$!uI}9uyY-@E99pY!}t8)X9&najisMw`WS~t5GTgDU4jV zb+*$Df2uJP3s=IH!zwC^*sgMx9nQCN%tP^RdSfn~gNx6blJVqNZ>(ESMDG(5@^4TJ zWI__W95BAR@=rwmg(y&8KPe_)Fbm7=eIH48x8I>gz^IqL#__55q>=5Yf5V+2&MJ$R zr5XDHjk@Ve#>L{|IA$*EmG9_nm-D;q_K?RNj1(83>5sBW*j7z?(2liGwfPreHy z%uMU}J(tBk9t0hj5F+e4jV?iiZ;zd~`qYzpI{z2lqJ1iu8BBV4t)TtMQiNwe5HjoT zd%oQ9{CEudI<%Xe$eWg2-k+GhhOniOaU)|%Qm4voe5}FxR#70a8DWKt9!)8aDJfU% z5O^X!Gfb;c?0@J(Q22Mty_l_dzijeqi{E#gy0Ag=ED{?#vAkMr4yXHYh&-Ocgk6Fu z3?r7J2VH>PS1V6dZZZRFUB<2BoPweR!W@%THy$l~ce+t;GgN8aX{`_#`g{X9apAHV zl5hA$dBw;o$IWW+DdBaVa&tx(aupyZmlU1cj*2#zEIzf4KnNXGh|#tdiEeLIQ4g4oF7 zbC@-?=I&UL845G&o*}LWF<0=9#{K)YIhgp|BM?29H9vN_SFX-=(GScjYoH%u=af== z`?@otKA68tR8Asf8AC&rUEqT&r3RHmmuU_{R@;KlBpmYDW)o)=zlAvZfA4Z;``D#S z>ZH|w^d$zRSnXvgMbKZxz);xG{Am+~D_wOujDom$eul7QdesWYd^ClJ5l335mJ^U( zRH>3>fi&^HTKbfS^6OXnU+?BF4p_hB5*5`+h_|lPIAQ#6+s4}?p@Ri9p}Stc6)TQk zz$0f2e33qQK|vo-cdtVVoYJdDQS@dX*Wg|uBBAecMD0_kW3v*#EMDObwu%bil-VdE zE#}?R?w_NYsA~z<>WzACAc}_P8oh5P_(B-N``4`D*W1CrotJ*!oT!45v_8=>_b}2+ zOBDM1dvg;FkS8m$7gktwoEP?gMe~7fVvN2J@+of_=P;SF@nNhCplVL4#+@m^R$6$5 z{+fkb#u&Zs&tu^4X&C3q=xWsm^TTP8Kw#yjY-9tDltQ8F(n*c?BGY({nhV;P%873( zM2e4&oDg3Vy*j9{)yO*EXKpvP*#apN|2srnd?D`HNuc{XwFHeOg&2VhThsSM9sTeI zJ+bd4622?vR4oc4X0se?Iw*<1g3*mJjXlFlcUa_l#SnBO5)g7Z?b^$|i_map31E%FwjMJ04*-HOT)=&lq^~t(2jq(psk);0k!r4lr652c5 z(rk@sdPd&U9l4k&t|`L-Rn#xhyh$E?c76Oe=H2L;Yu-K4W`FFx%yuMHnWwN2WUu>QpatHoJkyd|#n5>28|68@8!D*;tY*4oe--52Q9iikd;}az(@%_4a zbAS(o-J57(Lk*2m>J_vb3gn- ziqcfc2_rX!x*Df5?ctAEZJo{&KfSRxZr~naz4=n9(ngfE)!UzCRm96nrkoZGUP*UL zM_|ZVQdbdU48Vy8Z-|LfU987%XV5tGQ>Z%ko}8$@y%axBs;9E$@`*sd`O^g7wa=)J zL)vs4v^31O+>R`sB_}D(D2P?|$Sd5mI+!mZfW|U8-ldVKNzk?~D3%%u*5y@YQ>$J} zq7XKY1~Flb-uJr2tIKhJrXvk9$$XqNj(ruS!+y89&sE7zTR|kz)0qh)V_D&?Z-~*< z;f=K;$|J|++Z$rDxWdibA%ZJ{1_p;DtfZT@fx)OQH|uGt)7aR_$@gxzJDU;EqAA75 z`}IF^!by|J_E5$rEVg1Vo-2!!%azI-ZdXJzeHb>Q zZ)a=hJwJiaE%GgwpQ(L^ayxnciOS)ZSR`JA6OLr9=xhQ@aZ{D36`D|aVIH|S>v7&< zj`ugHrg!iC!VGnmk9m)hJ_f+Iyx~WWBI9d`I@wWe&sG>v`+Az~)9_#-oFm~Z(u5us zeL*!d$`WFduk}WW8E-Q`d9eLvDLhl!*PIgC=9iw$uh%#PDQ#Hk-&VgU6S-PDU>BR= z$`zY+lzqI|?v;qdoBrH|AZ^8@yB?mu?ZUg_1Mu?Ti$kHPxjCZNwEwO3nHeyG5(nxY zb93_$F>(%t9ya8GvTp*Fl11)HE_PWG5IXS@|l{Xh+spT|@jlB*B zL|lshFK`B#`wchF*5C3dInzfEsn{c=WOXh_Q6G{Hrcuf-4B4}ZCQrer$Iu$_AU<#EZk3!H~Gvho_7W| z!jk_=P~&h>$(h)gepm53Ps(m!qKZwZd!%s?XMK2cv*JoM$KN_wS=poTm#qRZQoceW zHvG~5LLo=UQ3aPeyO5h)_mu}JtIY(}bm34>?=ZcY!5xXFIDA2(d5=#OV_d79J)+9z zn*1LyAAjFM1leP<8!!oU!e0IKEA5YJ(&JNo90=RwIhd2U$y!rHimv!q`-((Q`H+oYR}f!mVGa7PiB-B$-y_}V8wa)Q5)HI>{sFO_JTg4D5o8$a}-a;HJGeg9}n+|MhAC)<|Uf*!oXTT~s*V>D?=ez#1A z!S?;(LjDZFQyDZ|*Ax$R2R$`1Ph_lpl0VvI=!YCCdK}&trqLwCiCcUW^m(5&xKpvR zk&l~OK5-itMPyZ#-zcZdCQ3H)@jT)B^z7DnQ<6FRlcqPU<|YzeA6&%I=b%aFp+DT1 z3@l>N?znUpt(>=H9W88r_#5W-b+!a-O-%(f-BfWz(FXsT;N03=%rs|=IX%&|G%IYk0$#uA(#eM6-xh8 zp^O_WLw*H@g4TFQIE%<1s;F1`fi*8juXGra*bu66i~~GWez>I~Eg&6&AmThm?Am!k)D=V&?44`BUyxh-Ibv_L^iw?u7W@Ozul!<^p zGZjc6EgHYXGv}TDz(tvylj7EZ?n!M-FUt^=Qdpy=HLr?g`L&>4V|LKvtD=J3=&{Uc z-waDii>u746Z52dmwTeBYLorDTCbpr#GC7&T43~wcrHTKP*gFNE=4OO-C;9sz zj-`0N5EthL4qCr68KP9j&nUka%iK(iUzjY7MxY-w{$Q}x63ahW?I^au0^VG~nW~xM z+wpytq02Lu6(<8@2)FBPV?w^@&kYE1j1>VCp zQr5tsIH*%NV5Oy~XbJ@p$1WmBn(X*^9v@G9-}1kQGhc2TVYQ@9rePrQ&Yl%@&fZqSZoSH%b^WAJ8{tqL zLEQRNZ*{@2I{4$2$FUZ#`}C&+o|BW|BueRHe`(s(?jw10{;OxgE1|9*?HmH}HWDi8 z*w*(Sw|sppDXGOY(4xrdTTlva9{(iz%LUDvCHvbF7G#=COY|zWUsJu^J|YYl;_$G{ zoLee^hh=Tq+hikr+KtCm=sWyXu+y5?y?(cfuC<1mQZS%qCx_iVu3Y%^;POGOcy&H* zDnpbtCb-my(=(s;Ou1*hz?=7OpR{@nSTNfmOe!i|MiA)$t~+QR}%N7mNorG0w*995VP zS;gE6j~M#DHwz(87r0c;4Y)ey_+wvMUWqt?sibQlb=PR9>^02VeB(H*lkm&MQ8c?_ zpy&t5u^5O z#6LOmk!HrvHzzxt9=RGNe?j$hlyz?&JQ&yWiF@y1iTR<=jzX=&>C=hJyBt*JPP--1 z<{D^vYBBU?eVu9TbWlS8v$-IR1`^L8#T-!>@?bFFFxl&H)V;J2)lvmlQ~|MWSqqdu z{vp}pN?gZJ@X?@D&*RmJ37X&@yqkM`nz9OS?%`EvsqanU65Os_2)y_${B+Qf4`Snc z4|__GyhPMU`Q3?z*hD2XO5d+)Zn&ADMLt1mwW7@DDC}U@LzM2vVAi0EF!=An-M9pl zs%sOSoDC6so+Q-1O0rbdakAs;yfvNUjT~)3X!D0_=`Z!q_OmBXkzBJ32w#FnoWc%4 zX31pxtQ1>8vx?VU?#yPVP( zd`16nh94f-*E}3!@+IHaf3T%mR2wq{xUK~!&_JxwX0XHvLO5i#L(41BG#_oMTK9ZM zG&Bk;pcRs>D)Jeaf=C&_&J8b6oWc_)&XQ)jJzBbKpe2kbR=^hKpbVDUxI;2^u>Cp_ z!Ru=5^4-zBRYNVc(-k~#ns)Zl%Cs4vrlRJRB>(>Y)=pdwrH=StnTy_1?$)o*ilvJz z^O!iwo{vqkBtkF)?)Rg{84XPw`TKm~q~1&g$~T|Z3?t)3AgN3J1D&aK6ftgF`SA+O zK^pG&{&Dq|a-|w5{_@r>TMGn0+wJ zk}9{CpE4+O{Eii3g~p!!jmEG$gB`Vlatu@8@hrHt6<%#QYka&zCD54NyZ+rul6|Q` z@-CLye{4sFT&!YQ%rIy($<`5;Q)(k6TzT^ke7_e0ZV{DKlJ51Z$+s$h%1M8&p0`|| zuqh19g|1(;WK#QZ%={>QA`n1ERFqCG|*E@oYc?K zwLXE&t;Dc4xJN)yu-qiV2*D@Puws+6-a1rFPAPL4r0W_JX3lum8qd$2)^)HHXaM}| zLz^h4pFIQS<4DijMQGwj!9xCVZ7?Yv0xTXRRriL%e`}o-NY(?$* z?Op;Uo}f2Qy^>H`)SeBNWIiLBY6)p0i=RprQefeo@sUjv{BnF$a>Nmvr{t?{RLg7K zAQ|D~{|ced7vc(s+DSt!Tt7Q-KFPEPtho8y71#+KpqVggB|mSuD1O}47_~ZkQ}Y?E z7+ds%N`x=TZS^+)>(I_hV#)1V*Bzc)iOQ%mlK0|yM<;qo#3Nu`V&AtiIqik&d+&8O z>$EtVtoz6>B8rNdtMp_z(A-|HV6GtkJUfg?RxK{AIR5z{;F;H@eeD2$@;VoVt=}ts zNJ@ZSCff`5!%zxLOxm{%k4nm>J(SL4=A+{J5GgE-EQ3v4x^t?lIF=M`2~^x|hQY6*nK9+1R6sW$Xb9*nEmVrF2xD^WiV%N)tB@II^WXSiFKnB(Kj8n~LP_b4q*DBeS}?#fj`mXU zx`L14kz@MRi-5^n(MZ5;Ihmnw`mgnS@dxhnf0&MHAM`{O4&g#HR;Q{MyT=f;9)cXj zpbBKvB`EAyUe%!)OOaR%k(mDR?03^JpK*7$*jDd_S0mn4 zXYXLG>e@TlQnochahsy&=t-J&uc@HQO_Lo*)Ve*n5^J_*IITpGhh|>bx#*Lwm0YF3 zI8x9PoO(A=2xKiS_`a&)=NmU+?^w=a7CmqMI_?7zCss`(_!H`XUw3$DHZ#3x!E_-b zBvqVm_}49rpOdI z#+lCC^X?(o*Ixt2@T1{QmXYH&oG?KZU7@e8+dPeD#2$RwvsPJl=x)4cG*zAOk z37bv{G79>8AG?mEF=%H)Q?11%e#sIA!1tF+!n3g2q~ACT_pIDeeJBujlfyRXr+J*w zJorr2A0dWOKal_LSO`uugtJiXtL)Eq^x4sTl#N=~-z=4GgcKh{SGxJfrE|PQ;?r)r z7ttpWT^t`_+ZaPtvd@uf=KVeKup+U3<`c-J@Dt;|W!$gTO|p_okrBm@s<;ZdWQio(zkI7Vm^zfbgUE3-vAtdP zY=0Z;$WPXI$W2z(&nftGs!f->OGtl?q}@tYZv%Ah-Q)3>iV8lq-kT$yNSuODjE~un zailjFV!}SftRH*C7cdGKAqr$z>(cr)p4rHrk5rdDlG)vAOh7!NjO`~5voOpPCtk@OQSkRCxWP~pG<$%tD)@}HT{>FJ9 zI*=yF=@QfeVCN3+lvVJAtr_4XsoU@WF;Xph8if>wn0l8lNdJD9f-(F%>AmMhD_1I| z)Z5FN9)xg8cp+Ash`9;wA}tcpy?Mq#kLjY&&7Jii!7!cUWqbDERO|iC)@;C{K>hiU$d~}dlZ7JQ}aIyof=U;CtZ*-z} zf0Pp1JYMrp1@5Qganhn?J=;z{z~tdhqtzA#?8K*8vd}h}!q;XJ6eDTp=1Io|ndQ@6 zyKv3BE2QgwKog_P){3i;4##8tJT}~JScnrNc(R?S3{l`At+M0Wwd{!cet67dgZqIB zbtK~Q{9#)f_Lj7nqgO+lN7m^^G)cJqU>0#f!;NoV(e7O&20f+!ff7XFNkEKKhBjII zv!taZZSM9PUzFQio?2J^okTx%%CNbT_;zLAkS1u~W;g!?%vvN`__r^GvQGb&8weGH z50`ks>ygVvdK9fh`{Buly{Q;F#uBE)_zczYPzlU@2poCHb5lh=WDHeY>vS>GJ=$FX z5&|1?fc@8BB42_oPe9ba3l7%_wAQ|L*%~xjg9Uo%j)Kbeq!uK_e~*{8bFI4{TNg6N zFVLiT!W=?Wt{Ry$Qktt{Q-_T*@bw00I`R`Dlgm^LbU2M_y+7$Pvi0Z6c17@-89qX_ zaC&Zn_lJkxpiHC@eW12aHul}A3OO#L+f}}yP*wuS!1ip-2hJPQ7Z;t9d5bp-)2IgdEfO|DqB_f&$lCnjtCM@`>zCW-tR$0V zez%5=H`lLYcE4Zs(h(DjpSaxll0L#5@=Go;4pt4?AdfEX=g+#m#i91u2o7Sf0)OD? z@Qm}Sj_nVT8N`a#lBAvqcrZd`&|o5k;-|&u!dV$>fdEntw(!YRYTDp`m{2# zBxe}1n)1c+OnH`yeUrTz`}^uWlrlJ`~H22Y78Db^l%-BmV4NQ(6jR! z3h-6bO|P>r^c@6?ZNc9!3I6Yd>FE%zMN~rNX6&?xhfAr5na2C$UpW?meYanwB=SBZ zi*DA~A=2^^D%cIVL{5_Vkfx^844MZ&=c=-N!fxEvsDrD>;h&!^pE87<^+vL|;{kjP zE|>;vyZ6Mc#%$id3Z~=mm6jVvrtKHy>%J}<3fK@-lonNltrqD*R_7Q>Si6Y{XKS5_ zkj7jm)Pa$Xs#Gk=dv8hXiVA-dZNh@w@-%Xz+qI62dT5rb0J~p?h@GH- zK3!LLsM@}>Uhkp~c73A6>Q*HsLg<2`ohr<4jCywB(>O)Bd3~f}OUn2hbsmqw-AIuN zEk?#i;(4u~sGla(+==0e;d48!WfPYtx0>Fnab9SXi_!74R6}h_GUiDhtVOf;=iWyC zlPrJTKS#auoz`?#Fudi8^ZL7+bN)MQ=iv zLQcj*f=a#01r3~bx6`f-rhTYdQoIJ^sruBuV7(}CfqxqrAjgqoL@Mj(@EWxN$ZT}p z^TT%gNjDN`@P%fxnWlU3g$6RrOoN`zm+oB93x3<2G za?RTpv>0nl({n-Scsz9UHS{D32cqCq@VCkC`!j$m3>0qXUVu4C$ISc}G^`&rJ-=u< z0l`zJ&4YQ~?lZkwsS{`$J_GOz&^bJ&Y-p%Nk!S=En@cXk%)s9f7KRfHxmOYtD*XyP z=@X{3Npc<&b@h=mpL3|%_-ZPVbGJ9VG3W(Dl$EjIG^Rjz+7@n1esM!~Vba^eiMb9e zR+}#ELg{6htrJ_P%+>DsCl1X=#HFiCnXj0;R9)Zij^sYzHPFeK!G72+*wGj;iP8J? zfoBx;`cA@yEl_Vkq8u?&=Q~7!{Lz6JfJ|e4i2+g4BjUcVGo~iRYccc?)JKB#FNP=L zHKBLk*uzntxx`ck+kGe%Z5TfokjTkM`>-f7gifV~Ivkg|5m%ZKiXl;6;8DDV{&B%} zvDdQm=UixF)7%N2pdZhjqQ4w7(Sl!bST4I%3tVj9;X+K71N1EHE`^wJ2#NIj>3kdo z3C65IO(9IqfC~p+aPA=n>AE^xthFc9pA~k_o{Rmq)_9ZcMGEs@t!{0VC@Lj{DB1qa zo8P>L>SqI*Y{nxv9@RSW+&|(naG!8L|E;6mPD*9K=zyTfoWNoPs+)OsAqCRHsmfsG zOD8jScRb(w4jnDv-LnjX5d;vb902l(@(QqP%PW2Xk^#5TA^?;gwVx~AJkRqVpD{`4LxN4{5Ku+MRj78W`-hw(j30H@9lPl2lev zNnw#u+9?+CaY@#-{P*xA<04z$rGa_kM{*>7l=IH=U;Fj%C2yr$l1_&vfY_aDcBbsO zUp@w?T_CAw)48L~^TYVGwPhB9_R?1RqCaQRZ*>B!RFczdXaL9Uk9kpHPMD^qr2*S= z!jWSm;70v-=l1^5U$avC#SU=K@gWNET#cWf9sxO374#kk!6BJRrpi!_jHH#K6XGh_ z=?Ubx`jCZ?5uu<*N}!cSS`(C4gq2!rS8-KxEslxd_U-j&I@8R=ymN*YL#2SGPA{+- zhj|mJUgM*D=v-dCmE5m9&u1ucve=Q|qM@$ER}dseanIa*chNJ!3nyuRdtAL2lizn& zQ;aGVeeB`#2VJ9w_k^TUrwCH%lO!{tT3!J+5=ZR~S?SU;mOToNxXGHul@_RYw_E&n zP5RFeN&NR^w#vgW&U?KbC^kwuO{IG8f6RS{9)QdTV2QL#JK3b~F|7xwlk(cg;X_Oc z`0~%^7mwM@E|e=dQxBL~E&6<)2gXNpba=1TmMBZf+G}H*iu(gNUccw=gW8N$6_(KF zxC&#;k9gfvJ^f9n8Ywx!IO(6&?Z^%2o zemssHk6hy6DAa<2#2u?+pqZfS1vCK~QJf>lNdDv$XC|yg2TG!@sH` zg0r$*pD55cnvk9S`=v>N(+2AmIOpxS0S(vQb04MRh=y#x{g46<^I$-}bcd>IX}N;7 z=hL>;N0j)19zbu#=XM~9#$hfjEDQ<>fz{EW#u!Q@#lnVbTMk@4N-*L0)3+gVYEk5) z^i*fVei+$dVR`Z62l3q4&C}Rx=Nv_cA57N4CviE!5!2*B*mR9}SiY6*R&m}6yu22$ z^+jlym_48urkG|j;XPH7lwPj(0SY|Hw;a4bYXt$1;UChX$#W*>^|c4TEY4uA771ft z;V~Icpp94g54NJo^-NlFv~#nEia^HUU=?5j=JNSW)}qU&VJW9W9#URYPVb_NwRX4R zHVR^@vLNc*za+T|6L#L{h575&(!5vk)eE3?fvK}F6+qY=7K!)dDAHom z$ghF!9Sgwil@=`XT>XgqA1nfZd8LKNMn{DYhNcjoRz+RLhtND1(xVt1Zd2u5%}uV7o7IBP^V;tKKC{>z<)xMX%=2!yXS{Dn2hlUtRE zq29%ekjOQeMf1du6v0@cfa>ZcYTS zPu<G3B)4E=BNV*GdQ;w*{T zb^@4~V{tOX2nBq0`l`;rp;}Tu0`(k8TVGYd?%3Y$?H-*g_U5>VL=X=aTpHUKl#u;k z=W5h0@?htJtJp-(F;v9mmM0h688 z)eTo-0EB%33EwEVxzruuLAQx=7E?}P;cAEL7>A%EL?SMvb}bv<`xig#}`0$XF> zmm^3*LTyAiofuFSY;oERa7EuC*FsaHATLv4%|yn=4v-?RdGI5I2JdwDa=>wA!ANS< z&R61fB?U(k-7zKx@CXu-Z@dZIYhjy zrZRJsxL!s^QA`wsin7kK_|&NyTW&T=zzlt=`esD-%j2SB$H>-DGC&I(xy3q1O1Ny8 z;JpSEVIW;gJ3%=dQ%f&1nNKf(oC5Cr4g0eTrLz8>T`P`^<|v z5e#S~=xAjT$aF&BW{H+^bkw}ysaVKxT(vZa8;e{$;D0g7DXYW9FAhJ|A#QB8Hw&SNUV``ci*U3H5O`8WTk;a`Y^Zy2_BGp!c zd*l|aQLOPvEmWRRm^JqQX#sW_78S6C5nD|tenVOzMpE77NI1!7qk7Y4s@+|$WFut( zBpDO=&Y8zfT}v}DX|1HNB0ID7gPrD^tmW>`DJ9c@Qv(i-lIli`0tTKc0!x$wB?&F- z)u$~ysBww>g{8TZ(#lOJA10FU>UjeqEqUPKG<~G^Fr8x$sJl=^1rk{Y0c0`yhA^Y#;h9{y4QPrH3i%xKo#w8aL$< z5v+j79vIZalubo09+r9@ue`v<0bU&~TC$N@?*HDDz?NF2#2KcMq$pfBG&poY4!ta& zrVFa>7IV~~-Kg1UdGg8je1;mqe9y=5MThssR<4|GL2A1}`>e^)d|Jm+MOQ6SxKc%5 zxihTY9@6)#^|+DEWygu4v}-bTI3hA~U^l9uj=`&YKP@%24^Xz58I%4Str(G8#bQ@r zI~R^5hv!B_fm4U;hRB6>T8iXU)KgQ!jrCk_Wc#zjUZbBL(_)+k+HAxqQT|x8&gOj( zczsFwNm9jGTSGITi9k!9NcS4c*kt@$KmcO2XYEHzl3nY=@(L#N`6ffm7}zabGB7#* zd+ZIOW~eRTX4(3z2e6E!6ACMOt=G8a5!FLWe!Ok*zvE%b!8BS$xrkb}Vn0o1k4#r& z?LHD^rzocBOHTK}iRz0axk}ESL62d>3`gxea;`VM_F%#x4$x=*UZ6U&ZBJ>kGyNy! z7put2bo}oV!}KU_y-jdw%*9H^IpzxXd&z4m815(Si)ndv9+zM9X{9FMkp?f8n7Fpo z4p5oO{*rKSV;?~av0)41T$Ak~SdDCmk;k%x9-3dKTYMy5Z2Bhc%F8Yfk27Mn`ja8s zfpyu%XZU}gmlWK*_RU*3+Qr|=HtwO08sonhl-n^B8H<8$8db*=Ay$Il?UzfTcDEe^ zgW1#ybT(HkY+2XfIsB5!oGAcih?;IbIqj1$d)f_C;t$t!gvS_WRO8J2y9% z{ImUxA4CKH_qwdltwhk~Vmc|YvJt0uUe{v3#+h1Ml0Gi&#`vcc;1{A@6m&#SVzbws zavyX+|8;#)AG>nZKu&5>r~-yh2j6#aP`-1M?F$n#b=x^#QazvXdzr3GKSTp9X!b9U zG7}0jAFp?vbN0bea0ZVvh3#y0iR0=|;c^sVixqn)fSp!RQE|(;NdED^s}j~yR~t}g zrX6wq5d3(5T@MTy=2Re%z$h_1IC3&{QM^==GE|Z8a69w&9Q{h^gW29l8BNsjQ1}iD)Mb-B zsjt@2+*jmRR@!m+-IbMt>W~jI;mU@iOuZ36bQ`wF;>5Sy>$53iznVDLVBq!(pQ__i zUIYp;-`b^5WPE&@3D}1ca=yNI>YtO@Czx$il<%zmUP5KzdrHIiK@vB7R?0_lamxI< z^({udpce*_{YHwwcXMQ&v$ulW0lzFM9W0i=;P%9uCEZner>W$1boL(=X$xI2*qBTy zM(sO+^k>Qc{*dWI14MroN*N0T25v7|@e4^QFP8oK)(;B{s|KvSfK$kZT=a7fX@V&S z#3WUkfXzPy3=P1(4-A{U)r4gehI3`9grV*gf(fRIXE?sReIut3Ok66P`^9xiI-2M2 z!?4WA=z8nw%7AnptNGt6Rf7i?T-1Q(K>p{p5dLkJ?Lh8-Cw-aVTI%B^8Rc}ED^gm9 zqi@G7eZ3Bomml_8IQ1^4o8-N382gtv^Pbf5N~R(RWrucVH_qFEr^pL$@D;!Uh^t@$ z)EfG-0dN5L=6}h^=e`%RcxW-6FIs8vgRk`?=&(g55l9DFH*g37Xw!cH9BZet621ux z7L0es3%q_90Jgxui!QgPR2LuyKo(9;O&#iSxWMlJ-~~WdsIpCfKoy2cs%U4&B( zx8hyQj(Mn^h?U?onV!v92j3j>5bkU++v<(zN199nfX>m z#+|0n@hq69=g(`I=Z*tNVzfjkrkOOQ)*vv0gM<5z+%+?p=;yoaz9o2tcmHo}pu_hX zol{7K9@OVRQf>)wW#Ii1^so(r#1POkU;ILlSlbhT7e~m;_ZPbeWFnpfV7CSgSY95# z7k~ol{P5ufiP>4dKL(laAT@?;%1h?{(pn9k&^a*rnJkh<-Pl06NPjU>e*tKABe9|( zzs}&a#Q}Ih8ew5l4G`?xy}YhK82CauL;y2E1v#wI_Gr$)?|Y*c^9umQO@C{SSPu|> z7?A+anJqratWy_KKPHsryxE_amGzzuYoj2Xq%h$5=_Ql~lmAtX)4EuH95Dc&Ep-Fy zr>>?||6xEE1g>$q4lQt>z`uj~kL7u^+y<=QJtK4gq-?esum`eK5pue|80THJb9K+v2B^l z6Z@-kyap=_0m=3(AN2Ezv1<5qiFsED{;k{O;C%Ot4+~GC4?*kAz|0x&dFwYVWWDXl zfD+Jmudl{iYV|LB{?C1?H=@|4^y35GECnH!)y7WU_;VQ|y+R>x#%-AXC7Gb`Zyks9 zI?-f5^B}t>Cdr*I-y@h&QY|WmdZVt6u;og)E%Tlvebg++6e-qoO)VFb>vqZBb>3to z%S$R2BN&C`$QZ;JI-tOQ-}u~}>&sbi)6E+}ViQGL?L!|0%BMG-w|{+n`jLNr*IoI$ z#F-q`e_3S^yOQp!>E+?U2L`Fg#CLw~4Ov49UuV)PFEL4GIM9%!X>o}nD9@}&=8WUHaIE*2C!HZJW<=tXEC%AA(Y(PL5SZg zDO5Y~e2npR1p`=KFI;=Dy0HIgk;@6kYh|Xuusvj?+*k(rQ1l?%2?b8FFoR-JtLihM z8?A_qC5SMOp`HxD`2tH;Gf<5n=H!YgJlOtYPX#vP_R0C3nUHQjMMzM`c|;2NW}u{1 zY4!(MSnwf+15p2dDTa3Gt-QCkV{Y<1Tu68(EH=jFPrN=hdOAM3M;#8BjT1a$GV7ho zX?{bK`hJ7pnSnnzyyVE~eQZBbtleE^*dC*Glb%rorlSj>dC`!22 z$nP{GP5o@meL3J=(Um(p4yz;{%a*%W;fj%)R+%Ngv?$|INvXC*;sXC)!Ls=1w2ih` z*aXTpPmHIBzRi66coV;Dsw@Jpz~49fe(+pVT1%Qx&@&#k4Cnns$!px*<|v#T;=b2t zMFJx3MND}64^qj(Ueliv973QMF6KypzvpYj&?BHf_{-|5p`1PMznv|M4 z0S#t66&4-|j`3qfevCHb)@HhmQWRsXk7IrE-_+mv=RCJ?Q+}!2nd4&h<8ZJ4z__Iztammm^n#hh0NrF3fkh~+f#()VBk(qf9 zig{H3QarCGG@k^$!{KlXp~6^8#;q64Pz`B^mVW_7chfmRzlMq=yCGJGSvj}SgOHcQ zyWac*x3YV2K3;)sK9apTEJwS}@jg-yG4iAWq;9U8ahAKV4v|^so6#GFeG@>?Ps7Xyoi(6em(YD$5H6k>T9f=xj@sD1Ch7L?3> zXD1JAC>_o=zf?M}KDV^QIl!abrku^pJoSi@lauRKG)p$EGW=~Ip{1#bf#8qg7^Z{C zokd!eICAUzCy+Nf@KGQU@!^G=?lEL1feR-NG)@j`S^p%k@CAN3a*+=P@lE`@dbgc5 zeD(a-RW=*-xt78@>?;^(`-7O*Xnr>hp}1NFkJ>O?)owkm$C6(hV5uKDIUv+2cU6>7 zuBwaw?&MbXN)G>3gO8**dW6xnYf|`37-*Q{O#Xp*4@xvC$b=SF{lsLR@-apxnJ}VU z7T{?&Km1$iXZ_jU_y#ezcp#&{`s1(_V!|5)m4d~Y3eRg22UT@Z8`ZQ zM)|Bf-S|Jf4`i8mQQH4r{zcQ5AXWuT=4stXYTJUy@Jx(g<&@QhsOpgt8Nmzo711=O z=|v?+u957pVf`PHZ6TP}FT*75@RYbY6^ZV={%rlMaFU8v@jScXNBx5Cd-OHZg8V1g zk1hMW;D<}j@ouRhjU!Jn4Qj`FncMguVhb%|;*F}kSjFFaF-%vy%{L_&ZnO83K)h@{ zJCVtIo%QFW+DP++Ou2u`jVN`ZoaB2iCjwgU-F+6|efRENg@7&5=Ru^=&#(3QDwt>OZ`YE_q#P6rM%LhEs#dN;r;up5%a|N@2NS{vTW@BoC#x`E1y9~qPL7Z86ny7k+Bjj7<5fpE(7 z16no3F>!hWv*o^*HLTO!fh|SZlX;5QnmGg}-!8CV8;oEXQPOTqU_?B(6L3}qC@F4~ zIY-^uV)8L{yBeqBjmQa|#PjSM)+ZHVNotH*O$6a+*fpgyvH28vmZXCOt@D@}Owtk_ z9klfrV}aCVmBv!KO>ECf3n#M~21@J{cHbSBzr-@4Aiqu?PD;)b`ua}{XYmWOV2)j) zrE=q4k*St>)u^~MyBS;gRGdfWzV{-&y2d8*6?CO0lNiQ0f z4`C8|(ap;T2DZ9XWSpFe5!EB#HGW+wPQhx zjF{TpsHDHKwxYaF_t2o;Kl|GIlt8C|t{gNef9#dnoroG)%AD*4r{5lxzLnZRA41a2 z)Nd3%B;JFNxPZF4ycbp}P0PptXVi%a*<(*274jPwE4kKXC_Mv1NL$cNNX(lnGwCIe zj-`$UFLlH1@6fm)(-hK6!&&NHY}<5&%_X3j*(D`0fY3R?%H}Z`YRxd(>!AL3DdF#) zU39r}yO?saHHhNR}oQ@Am{d_u{As^NE;uJ}YaGG_Q zq;luLKnEjhw&O)Na>yn>^p8`~CJKPdBls9s3fI5xu8pY$!4MSs#~mqDpLJu=)C%P_zx=NH zeq{0>q7_1mDnc=WZN}eX@OUrCsJlFz;J0=aiEu13%)TbY`Hkzk(rr}kq>yNX=+LDr zY!po5@APep-IgPK?r}CuMr|ouci9HNTh?n@lN-(kN?DaejuA5umMiPto2nJ@&m`5f zsh-k7C6uyz!xmwhZb@5IL#{X`UDnmP_hsFs+>$^1*J(&Z(5-c1qtVpjoJi`TS7Qya z&#O#@P3Z|Qyp=d)#l#;PN|nuQEu8%1e-Am6sCEzRZ5NLUL<9UEwc?@??O@8L`>wba zp=5}n*)#9d8t$0Cx=$lOdCo5!AU2PZ&2!VLU`;0VMxjEF{xR=A?+Y6K=;lu`?WNX_ zCtr*RY#U5WjOOQ%ONmxrv!ZxO>w3#wS0(9(NmXiZhJp~8|3pVsXh8S7>(OL$N%kq% zc-lYv6vv*c7w*{nl!OV$X3tkuTe~0Pf9~iqORK!4sWLmaA4Y+h=>e={%z&yGMaj1p zeEZ;qh6dujCg$M4$vb0z9arRh$1u117OmzNTdLb6Y{=A$%ni^}sQuRzJH{nx&V^h6 zwgn{k5W^}aCQVoX0{nu++ai-QArTSPqnj{(H^a^W@mNRb9l-Ul0>}b>WjoIKncyxO zjOz0c>beBDH3KEiKGZ2Bd=gsc%vEZy4NmBQMPXz|*p)D$!}Y16r#Dpmh5^v{1z zQbC8NX(Rmb#hjt%SM8XB*X0&Onu;v*%7XQVbfo1*)m*&gIm%(A#PuIPj99)IRORo+ zOWew=Ve;>%7XEX-CXN%VT=vqce9H2YS9hF)$BQ(w^BFy*LPyym?vI`NYlGwug8jp6 zY0YFk3s>(cUKdgha#X$}|G{v_nIkab^~n+uTJUeK8+z*Lxlat3s6-P(G$hVCXu19o zUx@|$!aRT38etGe0Wx7v!7$}uA0;m}q8o;5lIQ9+f9nbApRO)+y3-k^h6G&uoMK;d z&55G#JPJ?odVK!&dC3cdQvaM6r?+oNM_g||7J2@=P+BNJfl&EI5+?nP>l{; zSoA23nLy=O0i~D6-|iJM5z^90g`=(6ACPAOrKlT=Y5F}v!C8o8{|o${KQMj^TE3K0 zS(z-QfiC&K_1SxETUvJZQmxEg>;KbG@my8muA6oA#4b;tYIFR$J&-qR> zY;!|SD2yzjFoG{S^K&ZQq3v*J0%3fP#p6ehWaZ@-fL0^0H4;n?5aMYiZou4|gujac6Kmd-BxTFTmys2x@7L+NB!p`G(K4tyfDhuuCy`aEuI>fmG9 z^q^lB8%-tUz)>G-z=|oI$XzRd>RE?gB`>nRenZHu?^INsCr`6VEXmm!> zqtlxcy`6L@r$--=R@l?7e)wRsCR_t29vA^;sSeVGSQLN|L)2;fCn2xV7QZVVzwI;# zg$3R^5@U1q%LAw}zPpk7JCGe+vlj1un|OdxsEMk)y!;7e46)BuMX1ibH&qsD>hDb9 z2j>PR|K!v6$?}gSToqNb3x-}Z6AJ#bOl6u<`=vOO){=J zg~DV9|Ds>v&Qz%r>5<~qbFZ1z8vhlfNs=U1$B0gah?vOmst4k;NaXyjs%P{3*6n8Z zD-yrJj_Jwt(!$ZLTQg=OwV7>EELTBfcF8rXm$^JiqszKDwh__UX6=GMlfSZBe>hT0 zsrv+MtYP6j43rv%H{%puy=fWEZWL?FefsPM1(`dyQP-362+{S34s*QR?>xq_caYd= z2;#0x4y=#B{N#7K%Ht9XIAwNYqac6gFxOz(`I2jcoT8%1bd61L%kpz?k^6w1q) zyomn&?cO*#)%dY4y@>~@qs7yd5vg*`yu3ra3Dyp+YqhWc-B~fBd-1*8ioY3Mcj0jp z)~BD<-(7y}{wO?-SevAr^v7o-;e5l9E8}d7x5I+kj}o+P)`gpc<4!}$xaJjm6Yczo zQjk-M?frb} zjK=dD+dwKIW0i#EP+FIWivkDNfE&9g;%f@P7YJ=lhKWK*~5s1verXY@$JR|J$`8mb~Z491@>%6hDYVgYW|$^IJy^^g;FiLn}DZ z8rdB;3DJ4qPI5I9rNA9_=Rw5$ac_*Bsv;(8#!FJK?tElLBA$qIkwC^@OrhUcPnKvz zz`{kin7f|wR7El38%G)E){v@0_q4WpZ2hS2hTfjv$WeH*bj+Z1MQJkHZxPJ%wyodZ zXmS~NX4fSMSJ>`m&(lt$f2Mj{ib|*|BEpYCh&rbtlIt0ca-ZjYsFjZnnhaRBq4m?taq>I8!mFEK8%ks}Vo~JMLAUcM3l}>hf;TXm0)=7eM0S%Q?b(9~YJ1 z6J;#fqSGcvGeEZbJQy}EL(6S=X(Lj7X)q>OIGHO@< zn2PqJv7w3W4r-q_fcIAfwwogKdZi?V-{qMIPxa0U3nDs=+E$&PYiqM0Km@XumD841 zAu@{p$Rrx^%|1z_DPK-hIe)ak%9`dW$+N&LJrXs_zt60~Hpkg-y~t*!cQg0Vb@jbu zzZa0aa%Rgz!E={Q$Bx|S(a+t384sPpg7d|98pjY4?on74SD#Eyu;E$}C|06o&?PqV z{i5{_rgvr@q4vXZa&(8?T_FE_n2VwrRv*iGQ}52%Ro&9Ta!Ai`-gC$b( ztMU^-gKs?hR$h$de*PR>+I$+Z5hTo;dm!3khkZ?ppFU2am$B@!prN3_e20B_|n?C}w% zfq<=nfdLwq@XAHb`t0oN!2xgW&&J&`Pyrzh;$PE{3xKRuc5|QN;|YM;@E>Ce*^yfG zuh0gmZ*R6n$~RirymON6{QQX0@bFBacjMhRQ|A-cOEy8K4vLzI5h;ANkgr7_fVhfQ z7{RQ!kIM7x-uzETl=>-abMfD!>(^(PfiU#5Ma0J+HTP3rGPe~eaHSrb4bhKmGF(>l z+n4Hih+()~aZk#n;*jK>{YOUQTM@aT$gaXbhB{aNqkB)406n3={8`^-YOzL*Y@Lu`wzoSemXtGtQ| z0$Mb-M3$dtRIDi$2;~HJ3|SI=Uci=WcQ~grft3w1ItZuXCiY9g!Nj$a6r#o@A|irR z8i3$`ZU}iC@5~Q?;XLed%U}@)TR+LWcm~i(!ccm8v`xdk3i;m%ng*?#l*S(7Mh_kS zd=RcM5(O0pyn_EI2A^3g?Xwqv@;chGA=U3_%Yl7@_Up+?!-i zFaFVR0o^(W0K^pop>OVQN1f1qMNLEtm3g1+d1n1k=BaGsU~VYHC0*KmuD#4VsZhOY(0)cDqr<;?!Jb~@Y<3X9CpT6`ar5h!rmIl}1o{BJ9l;%f zOosknc=)qe=%}^NF+ROsS+7FB&O$yAQYnXP(crqdbK*VYy%_!0X2$)uH`Yh4&DQY< z(O39<#n%Y`QcP)^;W*Bd>d|p{!4wno zzv^AA3iTxdL{Ze$v-azh#^~`db|6Tv0**u;S?H<9Zvoeh->^?K0@5RE#HVKH*Yv!1 zJ57OsyL|*aas^vkTdvv^i)8ptgYh6JnaAgu>k~?Z2Y@gYVN)ERk}~~}-+OGow6HMp z@?&CRHzb!yz;LWt@4R~JhXBrheH+yN-r=Y~Y@#Q@(na%6tR**Mt@X>M{&5l;W_%e5 zb!sPxGpw;vIk1-C{PDTiEW-uWtNOIAL@vOjo@^FZE``a!sw`yT{K4~vj+%P5*C{Oa zJZtyf8m~D%Jr?}=;X@UDNo_!zbib!?jqkW(Vru(ZW*p6qN~(sGw&U{JilZ5i zR9k+*l=EXtjBcr~sUBlW4>imDftnhMO~E^wugZu73UDaBEp0(JXwEDvki$K3mYV0H zResL~kj8va(P!S1Y^3oCad&gW0jRgCpg>qD!Qj5}sdnJP4dB_$?|0ewcPx5$cf zhPP%zhn9%_pRcq(y0{*77P@mF6jW#WlAXUMwr#yUW8+Ze*oHZBVKIM#YbGaLH)*`! zL1C&b|63{2Is?X%@{cF|bY>3Qhdy%HE9S$+ZF}cmFlM8ub9cY@z}ocX1v&qd9rAIR z%sJ4W;2*&v=r1_O8$cH*GuXhXtE%d^Qx4YQxwtmYu@<0%)q>@mFsy>NL+V*v!v72`KVIY*Q5G(r(Uh5Fn?tSxXpt`x* zhRv*buX;m^z)ous6Y!i1E$)&>IR^Ukef^WT-O`Qiv^<(`r2z>{?IlzKNrAtsZrn!c zxt81&6JvD_2}#Fxy}r#wdGzceX|PLC(bE}_%x-4Xy)h7Ctc9jYL5_Y++(0t$IO0oH z0WHikp*q*28MJg8Xx2No2~su|28JBMKFML^zV@Nn{M%H9&5oX^rtyXq4>;8N{eBu)HPoN-!L2~RLZ3ZPJPRXYl0$pvcgDKw2ChH#+##@!X7oGqN z#PAmhva`oVL_}o$g$jw#5MWy;ESiGx(CrC?@Py$7);TR_T96}AJ=N9KwK|7KlL$3I zE`cGV-~qzD&Ckyt_#_1KnGeD~{4j9c<>gIOeaiP54*$)RL1`r=rK$ly@0XB(C~zSA zkLm0w&n|ECeUY)HMc?-pe7vKgN*4a4V~!mjqkN_~xT}7DDAp&>Cr=o@TXNG(6PL+p z4_CWPj*YC$oTE}6kN)Gct2bTLSPNBkooL|TvuB zY)EvXcE@{r`l@9}!yxHe6U81c#U%-5UQW1@N@fTp?GDj$!l;#6N<(w-wP>me`Fxt} z@z_%({Q7HYot^V92pKdq7I|=zq#E!Ju+hRfv40(PRX93vx38a%oRf3g{bXVLxg(TQ zF7uNkDo;g_yuM`d=*)pv%kJ`w=LzV$s_LkBgQ`yeV*CKy4uGPJff@>Vu1LX2eabj* zp9Blnq`<(y70<1flR-O8kd5j4p4`8Vj%5H8Bm_}3dG!jyl=XcMiGV}BG1rm?=I9)t zVE`+CDWujygk^53qkPJxQoIvve~}sR+&T;m`=BgbNwfSz4PCQNNaPdzP<=iF%-hx1 zKJ5rg=hwGr{baXE+h;#wQF)95gW}jwkKh{TMh^Ck8>%Gm09xI44(B%BVYx|;k6G1p z-g`!xZP_bU@7*RcTPiu|p2bGy*`*R|Xhm0##uAz3r%mD6qi$%#!yPQ|vpr#Nz+g|o zAuc-h`rs6mgv+Das$%fA&b{AHe`~ZdD=E6GUN5+-Omw5V*HJluVR^Cun-9CG%43v4 zsyI-dxMQUwab~{X9cwy~LO??^XWdfM1e(28d;hlQhJnnY zsHaB_#7TOt4%1_ZOvtSFJ)RFmabEcrAbPhIp|K#@en>_wlF9)L{C?<3Znh%vTMSQA z-KSQGY;GY$VuZl>$1EswqV!8~GVw;V#KgPPT%Qd8dpM0(J^xVg?~htvl@WX`MZ?{= zt!AN4S!QwgHb48}7w`7to!~rLi)3E^k|ZW^v1%q8g+${bk>+pBC>M8i1LZMV2+V8j zvR`!GI7j@ovdRJX231TV|Op0FZ0yNlEXKo!05qY(OWm(Vs7RZM4~BG|f5Yw6eH!)bn&d3q?NCBS zzmbk;<}jQRY8Oof%SqD{%uXCo*gmxL66zst2qIUa)0)J!>WXg1(za7j=|~};hn*1c zl#;V@>~tHl!C#Tz%PDMpUPhZ~xa1dzmFeE7$5SbK`S^>q66kdn~qO1TN4Opaq zAfg2tPAXVy&e*!8P;=h>-x)JLjfglUq%#K;^$lfIYk|qlH!X$Nt*uhBv6(aIXs#=Bta*tLWe=_ph*3KAR;CkJzG2gNq2Gz)LSbby$745s z*L&QUNxq4#;Aj1HzOl3D4A0?H&q`)Ad|D2|8+Y>12*^`&JmWZVnK-0G1#bA#;)qmv zR`~m&@-prC^#!;l2YGcDqUK(E6B4%2CM{87`T3A9SN#xK03d+2_-~THIMYu09wWlP zx7)NZbu#^d5>fWD^j)C2=}bzpgD&bwS?Y(8jtz|mJCDkqwH_9Td!ZQ)%DdcY|M2nS zEW;M3c$g`=JunizK@I?y$5Pqq;=%%4@6RiJfU`=9CB3Z1%kxC>li&x)U?9_-#7&t5 zuWd;ftGG&Q%q7zxj~SRmWiN}NuLj-VtEWPTYB^6o_94p-gc&IvMJfgZQXOPmoE3R0PkWSEL`7$<{?T4&s=qs;-rU(cbr>F@U_)Ns2dr%Tex~C?zl-G?>$YA&# z*{3l$hbuYYD+f&_r#czu`a0>xPniyi$U@7PWX2~*Ifm1g|(*G^o45%1v2=^yS^&)=3YlzzXYFF1}S(SqNe9!}zJ zU2qc}C*D%!#;_o-Rthmokw)|LK;_)@tV$M!o#J13UuYkqsn?COt5M+3yK!<&WVq&-OUWTp7)9cD2{EoG-a7s)Hpda9^Z_a*!dn|3S3`ojrK9=rG%_3rWwd4f zS1d;_!a`8lWIcgdmPA~Y6+Bi~@%O>roxS{TeJaYN#FTBKSF4)1`^Q`(yy5R^h&IZ{ zht)TzgkL+Y4GDdd@Fjgvg+eREm@lE2^6frte>+1l!S|~4aJqHJ*W2m`251H!?$l2uR?1A@`MyNrvTP(IkL#g)8&8dn-pyK9SG>7mWe#0AZ~dTRI*bWZ z|F#%@Tv2|JtRgKlVP;Axd8lnXhEB!yEGn@@Gq!x?$p^|x`5l*exFJMj> z@`_qv`Q|VMbLEvYSyxWUJ#uc$3BWm54S1Fk)%Xi@-26d(!Sinhws!~!fM#m(_$VnT zGy;~~woQjG;8Je~peIc7o{5>+ShfPmhO1ZQ0qhBvu6{IZb1<)+1uSlV_@P(2=~Ch- z!#;ZBP08K6_uqFANQE<49+;7ET0Z1tptX#mvLcL@mi#P>uYxMJHX?9SXZzJr&G7l< z6HUHVo_{-Mo}YYvo91qKyXJcTo&L8qd%N}P>)UlJnUS)xvSE!PCOvqb2P=rS8hlQ^ zt~!rGiI(+Rr<)|&RIkRZ{2!`nie2*um=BU!wQH0$G-O~W3jGTFBzdp1=@NlMx zuRtwbohYUN5$Xbvp-F(d=TO+h5FV_97aRuqz_%({(jP|~VHf-uDGtxPC_p~A?ACHd z1vr;6%o&WSZhL=v8&B6@OTZJ=8A))vX;IRD)uL_4jpW|mY-7DCi$T?bmYq^6FvgvpwK8$boRF`11}fJv62HmU4F_XC86r|Fmtv3XP^Em;q_(!io}4aV1zg~ zZ4HV9H<8p*>JF_7+2OE|f%MJy% z;?0)WV(G`GUrk;&uHXojVZTwlsVaA~;tF;{D3Hn1qSu?D;i*phSWb zwueqY=2CHr;d^oKp&S9!6cbZZYBxQlF=#n${%jj?^whho17B1!@)fAq0Q7=$q^%(C zo1|CDc>n$lm=)%lePFYVq=W+f7*$Foub|)_C+C}}D6HnwH5PigdkhTda`DRQ+-rq7 zG_fnMbn(#U(TZNMAZ->ShCoF zL>ncWe)1l5%c=ZzF=Hw(XHx6yXcCUELa9k{`@#Eb>QoJiM70&0^i|>Sg9Y)U2&6(@ z9wcuCmmV09XU!Uu{uaV5wB(y_EK$BjCqzf~lZ()7%45`J`;j_cngyfq#lQ>RcZ5`w zBh4+X+l=&bT;x$J0ZT8P7Czj;d`^H_{`*`k>1v-xAQUI}t0AL)DcxNKR!>S1!Bj2L z_bZ>rRBWru>YPZhhsGmG?B&Z zlY<{$x090_ei49j!;_*A3&(XGi;&sVbxpD88y~Zp;)eB} zeXfY?6-Q$ckA_z429N!_r(cb^M)L{?(NhFS5X@;f!YN^L{T1wkSaXW?TQ0rk>?F^8 zz2!OHmp`U0^C(tIR{5jq z4nCWQpM&FL8-B^_UhfRy57GTb#w;Hpv+&sFvrCk*w(+ftX9S6K+)UBd93^JauUK!s zyY8ONU{w92;yPdI`lgI;`mCHlL}Z859A)Bs){wW3W9U=q5i+K^Ml}CS<*=^?c!eY4 zsek4l6K$#7W%!-l(kr=qc_BwGKs*^X-?-nJHnsQD>d%8mZ1jrB5pVwf8D;EM%PMCq z5)Z`@+!>Kcx^w5&)>K=a>0<|95!zet^9g*pqKGNZBxoaIR(e?6R!j&4(tfPR(#t6( zbA^L+x11ZVwYXrMLQ#+$^Y_2@3J%uODfW@yO=S_~83C6JcP<7@<*^32pMFi2ws_L9 z3{M;mT8vg@E1Hg3TvFcH6LXGoI=pl}bvb!?BQTp*alj&rmi{`=k)ezsrSjD4M48E1 zjWISfl>JONyQR$lPcEK=6ida8ni?zypa+0ugCfHnB%%-~Hym(wKrQeZT8)p03_<`H z1xfvL(2H!$)ZGD_0oa~lpa(TVU@&4@(o-=2{H{6(wyuMkEhWx|@zsJui$mXDz29P< zqoCoF{SRUBhTC^3PkVVvC)c&BRQbKzZrJmGlxaFrrFdi_t9HLpI_nJ*7Lu=;n_2Jx zmLLnfEEvUcnF*_ITGUr8nw_Y|L^e&#-5-x!x~+;H75_1|a=Jqix_0+PWP4FEX9%{t zi*O^CO1|1cg7=%Hit`UT+HRW;lMO#>aDT9k7+b$k>&zZ5bxf-B<-Uoll`SX zr9qAlLuqHDbog_}11wYbkrP4PYr3`7e|bE;yy&bLpYCaBAJGb!ct#Bh@8dG<4QHDU zugQv2k8{0u7yQ%pM2?sAxRkwBkG?`&?DQq2^Y$!-e{sXn&iUR_QBko?bImmdxv%v7 zZyYMGCx_6>{n5}!5c1+d)E|{f6l_C1tu<}}Vp>M7vhB?MQ$(-pqNCAbN%tO>_j5el zwHb1c3c;b0&wcuFs>0(j#ksFh6!D{T>_($Nb=vUkg02z{HB|FKxoV|AhL%|NbK!Uw z{$v!nv8g+lSu$C%Sk%RJv&|3XJ}Zz@nULno{$VDkZbEIzG}8*Az((>TK`j&$VcfIi zSPsAzal6w;oRq;X7-(hWdcSn5f(GRc{i@eHS6(iz^vQLQsz=xF+w1C5P3n2E!pz|D zXTEK{v}FjI&N_e&YZoF|NWpdjVXL%U9+vj@^rVA3Jvh_vAGKV4gaQN6sb9gRL>}w{ zP9USTi+fV19lnA5Nl{4NhRe^$4f za{>Lfo#t}qrh@^dSvIwCW%zJSc~9L9vRfZ>(kGo)xUxIfy|2=VB|Nx$us1X?f0WEg z2ju&Itf!(Jr?P$%mBRhl$J^)L`tg=$;X!m!HSy@;g0+syXvXv#hw#CQiYKOb2p;h( zxeX*f+jDRm6%wSrIxbJxZC{pB!^FCAPJ43HNWD)UkwfYBF?4Zsf5DpIQC60l$;Y~- zqsqMe@SkP!j49WNk}|lz_-z?|8D(aNpm22C+Ie(D-g8Q|cJL6xohv%oo;0?A;EA*C z7LctF8XqhN*eQ5zJ4|@S8jJr;uD_qD?Z>&YTTDBWD|MPUH)0qJ;1r?|B&!0d4wtteBmv@&CQz}GM z;G+gWK0)Z%5seFri!GC$pz8xo7j!{Jk3M8>QJzm|+i?PG4{k^BYfOh849JA#K$`cx zI-7F>leaRkDgb#SDfmNxBmyKk(Jkjo>`~N0utA*wp0o^zWxBw}Fm<;X@4nreI;mBWYe0y`2tC;;@P#1A!FGo>Pv0Le{YP~zYE2iV9xx%?6Hj_sq$SN+6D zgtm#6Y2RCB6kzjyYw`1ggzayu&d^K>QscrpO1yM3ZSS&J=4qzT|8W6eU5l{$;e!Pb z0IqAYZ!`J2fDJ^Ncz+GP1<-Lr=bqEw0Z7H3oum|5!RT8gz9_x&uAG|vO ze;K!ubIRdwz@U^Y3Ec_Z=D(-h)QrQYeZ*!V@#_RS@{%7qC7#Sy1@ zng(fIodKNdbav}q0&Z-}R%dMJ-)X#<@<|r;|32Q&cdH@0+ge#ZJlZ+;E?{dvCMJ^5 z$aIDrtCv4yZk*3@!O*$(-lPFnG`jk$_tS&lac;^*eDw=5^vwk?e;OAvlgp~x)!x6(&Q37RbT$bdqiXY`)ym&F*0iWtvp$7YVHeGozuK=bZX|!~e1ou6hE3XCZ78;(?9E;jn z+rIvO(4(b7K$nUK&QO29@l34)tZaFa$qRX6&i{RBvEh97^yv_@%iYxEg1sF3(wDb#C|0unUyDd(*U#cZ}xP3NqFtY#Vk4`*2)-qO1@-V{3sPsIv1P(a_ zgtEasLP$*PILJMTvNNvwtlVNOC+j^0@EqYkz`EUa``2I+r}6)|T&1+SdBzKk!gdN& zg}A^*XejkKptnX*4c0s0Mb;~;%=Gal02}&!A!>+kY1T$FHnENi4Fp|7vRccxThu- zEmPge!tIu;ON;JBlWA{Q$TKl9rNfoseX^7|J~^qXtLrm<9bN26$^mIY zC!cXe5`}8()BW<4bW(LXzXEsv#D2YbO262}xiBkFwtrEJeo{1#G7Qhl?LLhh)4Q^I z6%$4IrIQTND>!$(vL>FDF?+=5D%22jCy}+wPDVE_P8K(JOkgVUHq0@b)Pvu044rSg zFg}fr93Z*Z@w9!&xNB+gn49orVbV_SuZ|qaVGQEGNhb7i42P*BZ!9WjY;l6cb>{7r zZw+7s)LCg@60`luUQX+#mt)fR4L`bMR=j;$OZR7~pv$r(uXLfHi`@3M`>{f6r_(&oC-a0A!A5SQS7G~bKb*`g7x+<WvGzl;P$-G)UHq4TaHUfPs+y#{H zqWox(a|HMQ6JU&F!&mX&m-H~@&_-DJvRi7=25{dlSFBx~Ui}o3cM=sE%H{?_1G>2B5jVihI%bc8?JmC2N$xIeRFGG(tQmWr#Y&$$} zZ{K@AQS!1z^PvtXZw0T;_rbzTCdX~_r_NrL>*h<}qlP(7ut@;SE;B2Hg6~6ndxJ$X z@rgC^mqhkJZnG{V2oW8ymPVkmqae%IH$$&LE!q#yY&VE0<;29=RH!1s-Ab}cNoeBE zCD4mx8=h4D80ZMUqXlf?n;{b>ZJdJpeYai;}$oNNW8Zd1!g z-Nwy-25GxEL@dPn&Z762+Dvj2%q*>TspN+aUNCO5H-|>BrqQiOs}SYFWQ<7W?RTfj ziw;j#Y@7`+Prl{Tn%<<3zaPywke-k%;Hmm-R6kuI&}@L5mq)G$Q%ppNYjuEYRk2Z9 zBlPiqu5fgg34;Jsfv?z9lNT=(8Q@FEGP|m(-hr|O8@!KIXy=mWz9Mi=fki_o75?^Z zgAN<$?!g@4RFA6vA{7zJW;UJUE;-gAvh$a-)w1+|0`UfKn!7RhM@g#K_39rzxNLvBB$tx@rSoO5#q1c@MvJB8&Mo!M(;QgT_&LB8U zN#M$)s-qLNtUO&$H?8lce1$&EU99M5Tg=b>1fb4t)j!pEdIAE1 z+TVe<5o$W%MbNiH9xG;7EX^~}38EmABO=&P>F4D--w9>n*WG76YfztlcAuKjsdg~| zRL|kppB+na3SjA6jpFGwZ#~v~OYCIfV&}>Gx7wWd*MjtPn%w)VgLvsQ%HJ2kr9TWr zTGOor9OsL5-cc4noXHp+akxB(7dMPA}hOrjqU-fD1n6q_s<0pE!#8Q zYM~zlSWS(ZzOQ`exRfw0GG5)czDUZ6Ks;|;P5x?)1?{{ulRUZK*YIk=R1tQuH@{Vv~ zvp;1&AOr^76u7^}k1ksyE;b z1Y9!2{tWkN6z-RsB7$$j+DB$~pE)`{f(}$*?cLkA2MHZl&I=A-DgH`u&Q)6_KG_M@ zPn}X@;T^8^uL(-<;58(&yYDNPeHkhusX8)c#Me_bUS}P_ZaQ<(RO>GPj8J#I_98;A z+;Lxk&RpQh2eOh<50+hpf`e!gd7YY-sosNc4-2W^LGh=!zl*N#(~DBb_19Vtxt zTlL34+8u)9uI0skIRE?md?bcdjChkZ&&IDzk!kIc|3Y2w)(r<1&w@dR&rAfXbNhvx zdH#AY^2+FyGYY)plX^Bh_K^>zkgr8HKKNn(n@P6>d!;dq*WxltXSVx7>gusSK5sXy zlf0b2XvPS*E6M&{H}<7^)P}rF&D2Qt5`lmXYV`0-$W>u%=ECC`O1}8Oz-vfrZe(PX z1gIQra{Qp;z)G4lYXs@AVqXp|@8e^kkE|a;bK?jGk6=b41`D&#^(W+JlM>_&3i$=EArhvRS^i3T3~Df zI6HDzf}&H}76olSv6a}&Xs=)5c%jaaz?6>by-xt9voF> zeZDW{)0$$I%bK>H?kGQm?r7WT=*@L4knmOx3Wn-!Q4ZM*(A~%L>N9?K{dftlVc@>E z#ax@M6B#p=aqa3Ge3K*l>cG$P41NPt&~e~A^o#8p)irNTWnkx?=lIgmWfZr;bxK}- zV^%g-MM5sYWX6-lg+U;T+r6OXeQDFLo-+%f?)aa^Trmevi|;-q(9m(X0sIMX@9AQ! zhpdaEN$y;JtntJ-ny)|7%Bs=-WFeP%k@wH4j1|r0f%A8XR4o3^Rt&3$-+KsCC)02* z53R?s9R3+Iv$1upA3~KUu;|lx{v0e-Y5Dm0_F7vS8&kWwq;=Rd)NqU$!eIF^Bp-mS zU~xRX9cRPYAzX>p`7Y)&uTjIi!@2%&fbve1Ul+0*1w6gNYLX3b)0YT#N=)(>nq;cS zWV&SrsKk*sfW-=lfB@<>=?z0W?*5hM8DQssK#lna%=Q+5#?WETRe>zx|AL3!WfyE% zL;!~eP~L!pG#}Fsn$@)Dk8pP2KG}mWYVKKZ^7uDxC&TthHAitiD^}PD_>`$`zdT@M z06L1gx;p$|ZEfwTM@sIQ=pVHOhX-?uAO;7}<0j~=5En(Q_jJ{ia12C8`mvhI@94^y z?sTqCYYKSL6j~m|6GUY+@xG?izvmz(K>R&SOu+lo=uV&5OhuZb1Z#uh(gs(eO5ssl z+~#kMgws(oBR0><(fUP435Z8}I@edv_qwQHR!P29&dct>k4s5{K%9pKs7?PieR;Y& zWx_Mw3*|VvQpG651Sv2aW=|edV!fYmVj)lYKBMg-ezrf=vO#q~d{d~@E9Uz8Uq`<- zL537;=f?sTT$*J!1(R^AGlW0I6}1;W9x*SQ*KjU6I!W5PopIRwHfGmm>ff&Z2wCxy z#|_fzjJCOm(Lq(p74v$UFZtoc5%d1aH{S1@btB!r*azmRg|dRCA!u60UKrGSZ7-_9 zOvTqQ+|0;&oQ!HJKAr=PV(islUXfmx14Vuvf|7yoI(EN)3Kp(8U^qWh&BXvhs&1$jKRkU{i3n;|{`^ z1g{Bz62OiYG0Exb>XJRYq#4WaS~LNlC&cm^=?Y-pG6fI-=mfy19{xL+(iy;Xo=I== z^TV;SUC8WI_+Vt@RPApR7S|0^l}%!2L$ZVdnOq-j?s4|eonA5eCP~GL*Bg4_inUCU zjlOcE#ix~wY-Fy!hs(lPE%~=oNT^H}zg{nz`t^wIR04uy?~s_qzn%eg56wrZY2RK_ z*5V^#F1B1obZts1MqyE%Y2l8ge>sM&r5~C%s2p8O4G15cFfgL0u6)M}vB&#JEb;;$TbcjuL+vE?1XSFfj=%C5rXZzK=N7IWiFe#>xnKTsJEQDJ>7 z78c=k;Q@}=02xZrqs@DPPxx{Mn$v*8az3S-F810C7Z zvOQIIQcNT3YomNkmyc#0ys_UUQI_-^^6%N_WW=A&7M5*YCZ9*>{<$$j|N4TIo9G5c z)_fvi9}!(c6pkz7m+rBDI+QkNlGhS} zqMMU1c9zC}Wd2@xH|Yvz$UW`>JvZ!v2J{4SNp?9jF6@>fnVL?+vQESIL<8MFqB40i zR+P-7dJdj4^6}0MY?szY&?+SE%{O{%z<2x4#pQF#;LO&(%7;|NqfbH~p7;t{2zlL0 z`+rP*bySqm_O?Mv3P^XObSd2pA|l=0AV^6nA>Ar15`xm50@5H|0#ec~(hc99dw+MW zZ!Pc-9EO=Q?|aVP&wj#Ud=v*9iZg3#pNvF4%^S@e-2h5I7}a~Ed}Y2Do`riaI65Ua z{~-V--Q~)DeogY7gLi0Yh=QzLBL|FmsrA2;?S7y5*Y9o6E{}^Oftw}Zl=vVLo9Ic3 zP!Yzk@b|bgB69r3QH3?UXR8AC@#-_iA-sgdDkNBkdr z!7GA44qri=|}w*bk+V%PsId>XeJ4B3OS5n5LmIvaW} zAcHlF1T0~qfjdclzU=C2$R6kh2pUl_49iii04ow!D+-?f6*YAPQ*e@t$YKT%ITa-Q@B8|c;pMe}mZm$JLa04P?!O<|6AQ%c z8I+Al${QL&>BYS7VP;0BW#r2TU9`Em`7MOf8iagzet-=W2n$#M9sh%HDSFSZ$4ZET zMJg>JaU06pYaHFb@-P>YP$T$1H?>#R&0Fyegf;7s~`!tIU4Zm&~JfjFfs-q!hLH9jE><* zME$WjUI1{G8N346!2$hOfrEIm!b)}dLwtNIn8aDz+6w-)QdU)Uii-s95HMxh5Ny1? zrT_2xZ&mfoie1^|8&s{E0iSlnRSVq(NQhv=L@-~0C20X!6XLJjjzB>J7=bLHV=1}L zAP*P@5>ofp^~J8-C@(1)nW_LK0|Ub?@O28M3i-d=2JzPXbl|#^0~iAqSOD=>U_E8? zM!A503`SBiU^t5459SaEv9O@OLD;aXj7ED=_}#n!I_RBB>$d-Yi&!8+7$hQ$JrMT> zV6*VlsJtiPlw@SRk4nBvN=QiLti1xF2}~+z$7lS}pgIAXCxSfPK}7T4-N45wOZ~9~ zu5J+k>i@dwVsO!rhy`5eZ^3;6(H;ny+H-aFjp-UE^J~OxQaSC({k+j0C%*$S81lh^ z@&)iYa17b0tQLV;4}!gbaH9h#Ered7FNIIZhb7?U$AgP25RBbNL%J19k6thy-nL*p zJkib(m22~&{?WH1{*x;jC2oaidUDyWsWN|>5A{{3|2~YF?8XKZ`Hl>h&z3TY@8tUi zHAfpbdxtBg3Vx7MZf@>cAc3fQPa~R{@$qql1K)Sp%V36uK-s0eGKr8D zw!yb?s=^8ffKzxARm6ApUp_CM*aE>i19*u6yF+~wBbyJSz~tA1B8$0SuUV&SB2^et z{~-x~{hc{!-GBAA)}Gy~YNO+Gbs)*O34y?#K#`-7RFo+H+$H6a5mDCT&Ap4e=E{`f zbB#ooInxfmwfgJr=IHe|WIr-UmP_X~tI|80cm48LKD*ne{XKkK2xFL+ljJaRV8fuKzilegMYT_eG1$Q49%PvG_XtgbH3VHlB zhrR}83@|a~PsK{;33{3*>J`pb-1zWp}n)f3yE{f}MrTI9wC% zJ9jceL?CkWKwxdn*iGl#tX^-^hl_Q-Em`t(b^r36;)Yc=$?4u6Q4X?n1-YJcQ`>xz zL%n};hg_?g7i1%EJcvpbd!vNb?Rkb6hkl?mCY0yidK^t5eNw&Hay&(={XMcXcp{*= zQh?@{Yj?E$Ay0=`u6M2Dk`QS_&WR7tA12PG%EhlM= z!IxjgoNzJ#SMYOLS={EPEx-=aKmy(v%52lQA0z(chmhUeYFLNrGkt$tt?)R%K=K?b zVy;y4r!T&eU`u5SNiP^u*?IW&tT?fM@sOpWY*<$t=p`XOx|l1iLz0UROxh-9RUo9- z$ud_*m$^B6HzV}UM7jLt>of-6DYKtHn_B^f%_z$QxoZ4$9l0MApIw~znilId(_=60 zO8nXd1&lUXLQ_gaRa5i;MZ^AXj*q6p^htzrH%1Ks?&0g6^&#Z!4lm8^1j55VXZGB= zPdIY<`-7WpIi+h`R7%|m=X{-(u#-8>F}uc&aMqs>O2x;>tBm93HxQ4j2mF5VZnNl) zcs!Q8B~dxsgN~2U=HYAI__2hp_>))nn^ZXN7qg3VDXp9B5LXm2SL@Tu$YK=K))Zyg zbljbM*X+}2#_)edPS7s>l9A6IGAK}CKU{PbRJ9RMh=2Kn99A0UafpTqstjOI)@*ui z=g)MoQO)(0HyXvgw={15ffOH)#hj--t*%Dh`7QfGfM3wP`g!d{Z|9L6@zuU{@vesm zPLvOEUJpstg;Rfco~Z@RoFYd&>jI0%(#a{yjXC}YjGDODZLcen$8b6h+Y~SPRI(i{ zXr}+(5F5R|8?F%3kageb3sIwvoSDwua+w&K%p)dy6OE3XbxyC;TbvguLo9firRNdC zYlUeCH1mC_!8|Q8A%1r^L~MnVDH^DIi)xI*Umh{??%q~TpQhPJIguJ>VYZ}um!r+A z!LYrzz+s@c#8jd79K~$sf;ztj@8+*gkYZxCm*VgpM|v4as?p0oN*KZDzZ&AqMTp6n z%g%_oIoe}+P^$c>K9x`*8PVj9d1C5Jb<2v(`?e zM@@Tvy@(*a(Mo*A<&@k^=6ftGETF$BeSKgFBfz@4x*~4EgX;bz9IDGt@1F5p4aCso z6_Lo?KJ(^3;9F<-y{c!OU}M=%eY>4NxN2O+o^rc?GF+E;{qg1sLtjWS=-{;kzvF?moy$6J^giq#YQYnW!LeGhf2ZUHHGZ>6z#>Y z`}rQ(!ELzr0!fk1`uH>MBQ_MMh+1j9kGB{8v;+d-0P%6q>yK6@Fs_8)zfy>oS5^is z!afwDvG3oH(bmPBr`qt&>0UA3oDAQXL~GO;$3{$QBP#?@{a*XX`gWLkI4>ix-JGtV zNw;@WtMgw*!CbCY>L)cK4E6j3!(G)}pE<%yiz9Pa1v(RJ(Q*m7h7fkzY9oHVzbQS{ zEL5Xs8O@Sd-*_D#W}X+!^4ha@>b-~{w13*o&=?>ff+APrx`?`BvYQlO`fF* z)qSy2w)C6V=;7nH#7l6TKASFRN;-<2tyOhQ6&z`;X__bZzB^o)l5CGIp2e>u$8s@cB3>@xR?CT^2SxC!OSbQ39jc6HSM zWy&q;*6AbLI4m#a4R&RR_*epx7g$CL59Y2cmlahEks_Ci>IJ zZ|Gl}Zb5vH4}%7;0_jZnCmbK2qZ(k3HTAogJF@L9CxwJrN@=`rSmG4 z^Ox>JD)Nw?NuNMg3a_hY@kl8s$;qH$}T< z;@aaV)b7$$&+sJ_sk_2jGivLH@boJv=Lasc_jI4Hx);!>hUTU)ZdyKg`EO-~n8!@v z!j0o0k&_&iS?*E-K5fsFHw;3b3dvAExpnE<`e3RTe-F(Q)0S7$pjh+hU)rbf9oq7H zErn{E|FhVw01f3biA@tz7QgOnr>Fa;2`qM@9&bn^vfXL_`>yVd-xcHAiRMqvZ|9Jr zja1eIiM!qX_1*RRg(CXnv(nW(Gx^Xn3Dpbpgxjw)@8$9msRV!FwVw=TctkQ~+FIc& zmM`X6s2Y|dcAz5uzs0*^r{My0ZKJu`Xy_Xw6T0j}HnAeZIV4Wu$ zJUGB=yUVmp+LyfP_XR_Zk0*w+0{0bahbeD&T>KuDo%F+v&>UfY&B4zLdp=F2?+fOe z!p|NLFb#hi^YVL=@{X(Lt^J5vvpK56d3B4MnrOH}NG|`$dSS4}SnNAe%q96(e{3`4 zKM$)qn6L%kXh+WPAG1tz`+H@l<0Lt={lv=fIV zW~lgZ!%h3(w{fV);+$qEA!g>cu5aV?J@WND{(U|F*PxRNd*U`4#!UIxKDN$$7J3&I z`Tm0HYlm@<=EIcGymjzZ8FnWgpY zkUQRIJ@Xwc-IlqzjHJ^reg>K9^xL{x7d+<66C!dSJB@={<5nHjQC`CDd%_1s-qHLU z4(me3xbgJapuEviwijN*qKsB3S(_QL5J)hnMD?TSEx`A-Mv7|j<2ghvD{g>@SCH6KC1Ny+819-;;>b$p%N{QPhj zwW$G#%hHk&CGd7&i#P!KFrbZDoO!-9h;iL_eeRp~n3Xc&n?+rJOnQP6d7QT*P<->G zw1lYaPv1Bjbn;~O27SGm-S)R2xwt+fN$+%{Z8EqMkJVk|}S6$l7hR*hx z4A;Xa&nas64VY0V%Cj=)i8-Dmmxu65U5>V^_ zku2`xM_FK(PS-dv@jOa^qZ_ENKS9g>74Q=Q0g~+D(CM9MS4^U)d*K*KWycidzjebR zMsMg9PRqFW<=s3#J2ZXBlB9}Z_Y6Xm;4)N=8kb69zkkg6v*vDD%!c-d$vh8rmHiUT z=iWapvoY}Sx4sAa#$A`;sVGmS&2LE!$^8|N0sd>W_t&E-%-9X_ony3*4U~ka{vX$$jRkT~>Xuk+9dj+iu@J$CCOkz<^EA z^=_=$K4RgT2|g?h*y}x+=vrA+0=)zghmZ7hpBcllT$2`CdLk$+2Jw6@2Bh2fwFs=J^P9*7I@11sxp7lg>vK)%f0eIGM05UmlbrpR{9%$Gte^ zHP1?Jpw4C0E_1~7CI2B6$NUegtr~nx-|4i1Q(f=Wnrvd<~mV?6u zCdyra;Dk)pYz5P!5v+H(djXE=if2&rT;0ec5p*Tix;eIW6{J{rNeovqy#g>PpFJP( z$(|S+YcDTp%2Le`ZSUv+MK-8kdbwMS|0PX70_Q=9hoBb~{REeHdK}*2V!bJ${l)t+ zOpH#t{QR4o{$!jY{ZZ^j>?<*vo;S1KmX4g}LI;BM$0yHD^V+|3{n<>KOd})b;`H8W z(*1cdF}&3_Z}Qanxw=7HUySAR7cUUa7YUCS@7~p`?wbQ*_qoRr-)pPqKN2b$M^!C; zb1+>qA{^Q|GxEQYnD>Cuw>v-P%Im>B&_O0R*57i;eeO-*h{FZ)%j6PTZGozl5DNSM7&fQX`i>IB!?F(E1KeUM=u z9q~PYNH=UYZk_rxtzL+(oHoj7L6U;cnG0CU0hflCm-mmWp#SkH>+FF*)tv6{-1f|G z&ng(?`#W#ti$&5aJmJQy72FJSC|K%ZZpS(2&96cEHi_4+MJ74Q8(HRs=S4Ea#6q8& zq}}X65zH5C-eDm#?)0tcbLb|6(7Kz$?y9+dyzW>Nn~t9H?+=Y!c^%ITH2NQC>9@@J zdfx{2BFdwW9BUk^!V-(Y6i@!0-y>BdD`lG2vu{iO^VxpSowWM>;(9!3Ro8g&;yp}3 z3WHapgYx6f*%Dp*Dh(_J-<zaGotauEUQeRUo6c^C2^AiGuriV`*ANo+Ry!_Q< zy$_43J+V@Q=oJa)^~AF4&i$$j+wS_%+!88j46j(%d%1_BWJ-;%le6u%p?J)@(xFce z_@+YpDZQWJxV{#fd2e`_Rr>!R__QNfxA3gkq$GI|4IwZ+0KeJG%H$HcAw2Y8(kwt0cT+ZcW8%6UdE(=SLY4}>V)`yJcW31u;AX5O(p?RrCm7pA~l?ydKLEc~&whGek~ zsmyL6V`dRX;OxtYQX-8-o1=>vh=$HlBbdxPpA6(iry+SI?6KZ1|=c?bp;3O0Fn$5N;BUhQf- z3psWL@CadK-`(A9J#6Pqjr$oOPM9cwX>BwpBLM9`KR=hx@@KSXnT?#vm-@({D0V<= zC%C*j$M7!GvEiqd`qt!8T+9Kb^B?P1;WhE3+c&LU`*OC_Y6Aa`gi3W?mfTiVBbHtYR%;8R0|ucn~;1ck0;oG{w9BO(@Zq-+qWWz zr?`tnL3bCVj*e^$CozcFyBNsRp&5O=7vEfa-kJpF&#hMs73I%EU0dx5$WEV*~<>{SJ4!x z=Bve=L(3r&vr>nz7ugj+&aUEcYG+;lZ?<&w2@AIgp?!@rkjVt__RL;%6*{{g822K5kl5+#fT z*=z!4=&$P<$OAPP35L*qDH0ztvF{ZcQd#a%ZIYZjF>&cIHK)&r%=dl(p%xJf*HsI~UP!Atm%a)-FGsG(PUO0ux;?-gP)iVI6uG`Raga zS!{AL`kNDDHo=6y({45)_&!5hN2d{wY<_D+WxqOnp*PWLvZ+~=>pW^n>dT#C&*&2w zq(90ljCI8OLMtoNBu44S-$;=!qIdysZ@Fo#oX%hov$~ragb_#PE{URjP2$06P-Are zQKv0b8S^s^Gd~=s{BOl;^U5CTmKDLjxK??JY6Sa2t~n;-6F&S)8ZPz6;^D27YYc(- z3Ti_Fg>sEGuS;5eIZ|x)ANv~_*$*8wl=-ofkv=JMI1T(anabESb-Yt&-S19ubKcCj z{qdth9aQ1J|45HaXEDkay-K?U!wI|$zjK=$`Ze_JFq#X-G-8EeU?+$TV<18=|N z-LvWtO50ccngs|F#=)A{4N2bUSp_k^-LFEp#Nc&hi&8%%;sa_jq~L6BZQZ^8DN6?l z41nE(Wl7A_JUUR%Hq25+y8BhLadXGR7C<0l0@hqU5cz_Lu5}dzu^+9dsHir-pkPXA zDJSSTL0JnEGF%FZD9r+hLLMC%k@WI9N8TV)BaAag$BmV~o&H(Qi8IaZKx1QaKZvM# ztM6#yZ`{;%Az4vQ*JrT{Ml{{!C5bsSHZ1GjIYrh5LR|5W1Oy7AdnI2#%ip`-v+%;N ziHratIN`DEL(?^$Eaa#3J2e4fXso`dZPRQB-|ydwwOTo5DJN!Bk?{*GZkd_6X)ah+GU|v0$WdFD?UX%BCL3|Q&T(pmwzQNm09g| zWh|BvtL2)9ky=ts)OV_Kos+39a*h`!fCQyN|E*o=v?LpH?JBWzHY_H=bL)HYQLgk9DDT$wo6O zm;X*5rjaX{fZMjVwZ+kgL8b~q$&bifg2V1?A%sejKch4}Tu~2UF9pV0N-8Q?2K7iI zYNS!JP;?Ft54Z3t_4oIai~1zNxF4ob&<-{l&O0hHruM(3rULQ@pL6q;%DHEsd$N5DWsoRLA--K>WFRxD}o%pvYvN7GW{FJ!K^s?!Gn)xN>gM zzh_S>5t#R#%eA;UD}Dr-3it27xY%X0JeJaz)Zxz`Wr{e>*3@nlB!feUzDp0ot>v|~ z18{(iulcKY9{DLKH{E+$+n}eossQ|6mcutj!y+QGAvJ)b`7)k@Y=YXlQkp3z4fjuU z`eR}JEVzR2|$)usJz zl`4wH=OwMjqEtAE!!MKR_}q;b^}vFl@H#%+w_$kW$a9t*O>N7!Zh>02f+Z<`yZy=A zwl5A{;tmPoz7^uNMN334wCApcoofq={_1e9OB_?zyw8m4eu3=r;K7F>gp>dX{58KJ zR8t08ScFmt6lM4RI&lc@srDaD7!88a22?)v#=b6~tvP^E9*U^+cSA$34F*K!0V2%^ z^ePZ!5Fq&S#S3=4#l=MsXRg909uyLSx>mN-y0_;~#HQOm@dQTV;A?0(I(3LH0Zn1B#v$-Ut|(p!Y(7sw(j1#rZn%ZAAo=vd4+^=seAZ47VN zGmC}O2UewG`#X1uy^BbcJW2j+w^sEmHE$@511Zoc{lV?N*+b7pZqX8H+ZVd>Q8Y4` ztS`F#!V;tk9)+Vs6;fLxVPey?p zNlOUZc;yELBWXFgnoqUSzE9o-2Unf# z`0$vt2F2oeM#<74$a68G=ge@k8yXfz>pb`nfhK`V%xjGc!(M_14cObB%T&)o>?b!p=;Wz)Jwl3)8gjYPo^EQ*$Iyj?Na_0)rH+>a@M8pxor^kE3a z3Ykq~U0pK#8tmZgN$$eTtY4xnk1{np_3?7&1To2kuEUrgi>t7^lK5@r@qt%yx~8gJ zv(HhS@%p{-BR?daw%DAZdoL{37k?P6$sYHjk={lZzb&EptdbNd>J7EHa*Q^T1oh3| zn6l$7#luO=Lp9Br;HnoEMB?cYj#AHuQjfYtHLA?@!(Oq{)Redd3;`YLd{0?3>R*p?@nho$tm|Q*~jd};ee`p`=YIRe% zbR3G1_VEWjjWHk6ST+@PbI+b*iswE4GqJuQ>O&qt{SPwDAi5+^S~lpQVgBYVoX(?G zo61e;C#-13=n?dG+XP4w#v3DFSd(tp87q=+&N5IDw2do{8-^(iq9L{dC;9W3yUd>i zks6EB&xmDD@O8fD9!Z*8W=ZRhgDuE-s)Jx1H1;v0B9SfOh`zO0-uIbZB}VnS(hn`#4>o0ro|_(O%^1H zKh@KY7=NdMrwarZ1|A;#hS}&@$2>qQgdst}!NqfRWyKl7|KdM=iXOM^u;))mPVNDf z$XRxYTTeVgcX{NvtwV)2buTv})dKugS{7bHVbKrr06?{!QnyBIt7cxdVL`ot)V~Oi zIoF)HYM8%@MlgH8meQ0z6<9?$5TfB&P%rqK%1VeyTuBK7aXAC+8VX=IH|q`tgvL?T zSDNn?jQ@mi1#m|Nfgp+xk7^hZmrFaEGNbxXrGEBstbOVJR;i;f?sP_1e8`^mKIh+v zpMT17OoZb(lTb}BoPEtnZBWQaqfi!-#H_t^NkJXuFaUDFCoaoqP+{GtlhuEDlBncu z7_K?2ZnPzr@x?fNH1jd3U^NLQ@897pX6lS`zMbLB2@jtNoKb2Lg3WwkSFA0?o1oh? ze140$ClaBR5KM(OOh>_n16N--haYHKoyg{fCA(lqVh+ zVXA0!zWRbF1-CmmP@|7}nHSMB^$9I>b#*!2BIu9HKha#jU9rZT+He)L z=NIye$s6a&q6cS`SPPQWD&Ky0ZEb4ttgbCAN;)H?je%oFok6j`jbVAkjhMr`bXB|J zm4YHrhkQR>RN9_xNCflJy~|gFcW~3w!dpyb;w((-zhpm7`TDJRwZ#AGQNzJWY(hm8 z91izx>Ak=-P;aR4zVf)d`e;;c(-HqFd~!~pO-gX*(tUJA6vZMPH>E+gSD3S_t!Mw@ zvxH{l?_XVVGMnA&ex}2WG`gz`Tf*AWb zb$91Sc)HEsTt9{@S7hf5=yw5<2vIW-?IF?1EJoy=Z1zH&9OZ3<$N^;jfPMzFq`)u% z6`R~zi_Tq;-)XLo>gH4q)XvboS%5Gud@V1AEH1_)9fnIE(-uTe!0_p zlcr^HIV*zxR{7A|_Id%hQj}=YA({liz-|Nf7$RDPM8xY*;HYbAU}|Kf70zcM-ys9Q z`+3}Unw9bE*UQJaL_}Rc-9cz$L1ITQB0>?^f=lqj%+##T^xTyY_;NA)bXo++IvJHtkjeTs(AA&qAEx7k{jDtfRTA;Pfs&r9{*dh}FOI#&C3IDE zx$FsAJ0zrju3ql9#t$n(9q$J*1*7uKmow9yeR;#VE4Ej&oDl2FUCc_`x5s75!I#N zzE@+*{t*_FDKZ=x3V6emss1yRIHL3DQI1z-m9Nq6ux!lkJ$?-6+CbOfRr1WPmdjE` zMwfj>h_o15=gZ~X<02t8#^ANTF0V?Z1G|`FlbKC~Eq+oA&9`DrNS7O%u!Y~jPW|ZZ zPo`vUZpY<5b1RNUB#l7BIy5F8z2;FKRp~wEpr@GB8dAksc&(nVG@oBgFVubuoi@s4ghPEF{r>gGw_&29#Wk20c9w-5&-8m;QZVR90aWG?Q=>? zV}YdQaeD6J0$X#kl_zY?0j;ObCTHL^iE-U%+;RslS{|S-WcVJFKpqxokMHB-O92`O zdUG4~6QKJ|);LiC-47HYhzQ}Tb6@b$dY_o6uAw0VRUimFZr`~sT0?BbYp_X6Lrfd= zoA6?B01F3a{%Om%5;7~z!O&@f@oQk$l8JuF3f}*?0N~vLJqQwAmR*%@aq|KScY{@> z4)fM}NG)@CB-P_+$h1Kn{lXG12`Q$KH4Gz9P9TBu-|0oh=j9XpOX)^LnJ4cXMWkYc z-iu4p_;fxKtK_y$?)a*Q?GQQ&=6QvaY{l&^j;n6X;7#twgz3SlAp=-FWo8?M9YbF{ zVm;Tie`0J+Hu^mNGOZZv^3j&QrKJ*;XCvh|x*C=+nhcbJ@VdVrfB~SZaaAFEz4nPuT3ZNCLVCK2^aMRY6r(4*0=5CxYi9|{ zM{}NG|Ne27dmVmO(kBOdvfqns(DHhD3DUj8LA}EsI5CiX_f6gxbSo)}a8`A#=RvGW z^sYNUYn{!Yo-fkuMUXgeT^iyon7~A5d|IJXO?XL-(cKL|c`X=-s9H()vzN|nrw>ix)e_YcSeO<+!W z3zE6#{4N|ol`z@lD+If-{gM(PA>q4z!hcr^s;XfY8g6D6UDWO<_GHi8R%ScA;z47!X zKyAQo6&2wwXgT;v1&rmufRO(dj_4^h;0(8nAuC zgve4KJFWhBdly;`FtG}g&2F)**qh9_PHetBbH*m3lmKGulBOB~D0LB;-!~%v#E0xB zHeAag+FV+V9*nd=SPnyNseG~Gb)G=Ky{k!YUMjuX+oKQqlaxu{?^q2^*kLBzm-*sG zZIKW(TquP%xF}wnIBYb9rbFA`kLUKl(UH`ZN2LA`ZK^E0igew5jX2(sT(+l`Jlx1o zMfrsI*uRFVhsmUpld#%vt;#iR*K|&W|7Ompq=&@hC9_`Y)u$_CPr|q_^E}act+tE)aygAC=)BK&wR0 zNRM>qgu>2aYHoInfRdh(FVO#b%ZOaiGxi@Rs7hG z_(gfRQ#>SQK>tW5S1-+n^|M|V?ky#IdW-WXv{?q9(^4&@6V(4aOa6E%iB*Tnw*6>3 z#%^N^nDsoa>(3Akn3_P_-IU*CTMnuw#80?z(0yY&YaOrU}o%R&8K!wt=;ku9Txqx9J z!hsuP(IUL02`(sM^?~p#-{cAR0&q(ZfIr)V}urxQ&DrTY5Xi74i%*5rcX(UyN zYG!#Ya>!iE-6g78=FXU3wm;^wF}jg>=i`-sx2X>$xsrRH+hys}+A!OQWAd2nCW`mx zH(K-Q(knu>^`AeKJ34JvxWBMcKS2z%X9$eirZqH?~!QU-uuqW}$@t!qJlqM=m zV5hNrkQwtMx^n7_Wk+;tKGJwITI);42S>>w>%YA@k5)R!nMHrj1%?c79tL^z(mv$E zlF4>(D}MGXR*QhL)s%}Wf{7-*GL*V(HC>Cud(^;HVK8T+?4%exTWVJAjthHa1-@PW zKDp_cG`jg%EOHSyMTe^@{*nH;*q~#eGSmTrYKjq>eR z&gA!;M9t*pCZ|y)acOCIcxEyWx;0)%>QJk$N3&;o|8pwa=2RJ+3mq?9+Ct??W8nf42Y-t|f z1j892)qqX&4IFK;5FA%!C+p81u(yY^vvmEXtN$tZ0Ha}G*uCo8OY0KjTN|OW0{r+B z_yl5;Kf$eJf2MXe)mH^W$p&|XrC@jY%tK-gfSV8&jUOI01zK$BQV@|4PRN!vUB4p> zO%bS55q~73#z`6l5JpH2r(c?qxBkyQQJyo`6FgQEl+ul7)f-byJrkMBhDKDBAatkdjL;cX9J59&gzeo2(GbE*= z5SS7^&lM_^aLbd)>n@5gA?@E7DWN(Krh4TN{HjHI*2O>2LY zL1RuWESzRS*A@4=JD8ygC9hM_B=}=`i0d}{*z5SvGV>1 zhf0>+d(0IEwEJ4dTlWQ9@HF1)%P<7R0rX_2INVO3RW>=ykb}P`$=?sTwjMhpvDQl# zi3YMz5+dXU3kwUNeZT-i2!!VkBGrX73gRCc`<*t4|vOkMph z(&ao@O(jA8TL=ynBg`_udiD;d^P)6_`9LGT04S;z1b?=qWrFV{oJeVj*SpsKX;Cy% z?+|QWO5Z~@aJ;}(ZXx)&`sU$7u?-(@`@)RvU0-3eRM~8rTs!h&_2^-=-~5uvbhPB@ zPl<$&mj&71ttpg@AM`~wmtA*zJ&YN{O}ziE&^q>r+hv~7^=`_LSEcopF7F-dDDK}c z(VGdSn{m6DU0EMjWxc`M=n|~K>-i$Ff3KUA;aOtVAEFkH0M!>S8|d@Hb=RrpGcG!3 zsYZO4S?t=iW&?`kh3Z*Rju=-T(hyPDeYU-Q}TKR`r0fjb=gGRfp8rl(j zA}Hx}L3bNiD7>|hkYA~_YwHCTGQXe5DE&NY!Zk`XO&qz%jn~J}#~}9p_w*Njp;M$49&$ zdv8abDV!J$>D|4(Ed50PZ*Z$qx!;kqN?9&n*k@mY{tr%esfa03w~% zNK-yFP(-n%g=%SLM=3}Tk(FJo+I%O|5=UE}y1d%;A4KF&gRlvqzN>?8Rpsb_AE2-s zD&|Z{Pmh9GHG~br;6YkVx@6)2QtqJD9<05^>3{75u7m7zo=aGfvUCCh4n~#;7kPvj zDS#T6j4Wb)7bhihAekqxEiPf+Ym03Tf?)YC*a$Jez{zh2=Ng~`69D*N%8szwf#)zW zF##QnF)t|?y`2sZrwmq8k04H9Uw!aDgL;6DhbKYQ_x$s)b$}-J!-qFJwfeW6r_H&M z)e|T(x^7`A>{X(1m$POLSEgs1%XF56YBw;TR4p-0m~ayR^Azqb_vsX1Cy>9Vy4X=* zxHz#pD{c^$5Q;=rUP!HQ$1DBKQ;tkN1+=HPi?Cg3so%<47tkPJg8Q-Gxy$c_Kb0Ur zx5qoZq6EJ9j(Bw9m)L* zHTwHHwssDmhe?LkE3MtUSou+_*V%)*n2eo+DjYg!h1vRB${k}uD0Lb+Y8j$gdl9Bg z;MO%9M-crtJO_pB0~TqD{v8!|EdTo4Fsv^I+BNFt18g@jJ?bI%mxi)y3u0&anE%=m zOvNnPwbOgW^yg70nc*U_1+d_?5QKG(ASYTId;8Hu%=@PY_=cQ$1w{M%m@KEJGqx7q zThL5q#}-q|iKE=1FMEv&&91bZ(dmz{d~xXc7tsRVY}-p0vq+KQb6yc{$60UR?>-`$ za}}Yb4FGeT1IW`V2ZujEpFnAkNx~fjcI!`wNiJU?%no7JCk1^yL>q9Kb^b%>0nNK( zc|Pre*pV6}pMY|P0_hI_!GjLyar!~78PGI(3k+370IY`29sE4r&N^BF^A+~li219( z9%7rK($dlhKS_{zz5dsNs)rmJ5fftt2_eDGg=mtF<9pXVpR)min4e80Tv zwT=|Dk7LC2LT*O#VngdE)iwN;UB;4h&YX0ixQ;Jw24h6?*v3C1SuGVRfmRtP4wV5r zPsQRf{nP}iCCt8HsAgw0_j`tCvb0Io8`(}!N-xDZO9!i;tvGsJ?I_aMP|47IrV;Cy z(LN0CUSuJ4X^v!7aClCEF8QNX+~vY%(iO=_fezc7IO?@UEr#9ji4xkBpFjeK$B)X| zqg}opn=$&lD*qoW&d-B*SdD{IaO$#{35b@a#^Jxu@F*xDOUobSHmOP5c! zW8_**oG^~b;F&6F#$c$kV?P%1p#u#V94NFHn{FXupXG4Bb2=?0$v2jwQk{r z67TE$aw2HH`TgAFd;iOZh2_BIM`CBqE_>^mcSh2>^_&wEol2hn7Fc_%Dav+stmI{9 z;VF_oDZNR0^V;hmar2STs#sxIB;DptI=L3tDb7yo!H%SBj|itqBh9)$Lqp29#xkN) zUyA(4mao5fWrIXUl2Rcab}bktCM4DzL>_Fa_QRM`z;zuL9NLA7EESx+tv$EY^~v0` zK1hh8S)=k9Q;tRao9~k~tEu+32eGbRwY>>UMqPJ)A7#~2Q4Y6p%zx_G3@kubay70b z8QK!hLoQ4|Xd2@^81GOs9}nAQhb~J|OS={koa39_yT* z@zzj{6BC7~`acu%&r4&{CoaPsS)P)c;86t`3=~Jww1-q>aLnyGW|mot#djTL589wb z&7m@3>iR~~Cpe|PM~7IQ%<_hpF2dTX1I9;sEERfNv*<}2nbs)pHj z{k9HYC{QPLv}HdjA=1uUI4lR~xw*?#`oegeg;xhIFjf!d0+44!bA>bOS#!NLl1susyZ7VogYRD_OsUt0{9Ar$o{imnOSdTCcysO8Z($KHQ^F7u4bpoX ziCc9?$J5Tjr_^R$k(RCP3W&32uF=b+VmeSVEsGh99yBZ%UN?9kGQgVj8dHh{1VXdq zn}dj1Wu;PIO|oj*6Fve~;O3^{oZq3}^_meznVkEl*VUQ@438ddwR^6+(e=OHEjN{7 z%h=wKj8bpw^Lt7V)9tHHeS)@KWNi=vkssiSyRio48ncOf?->JOCdS1Z$=O+IovbRcN_kbwqQs-q*Lu<&=O z>)Ch3WkW|Z&zVyCEf2kXLq^2k;l+KFCmg&A>Yb~7KN64E8sFOTS%&Z}Cvty@@A@yh zp;b~{o3c|Y(c5GHpry%KA2tTZCHGEqdM+iBV(_i<-{ zj|+4rS6PQ0G7pTyl-eJE%c`T+fy=BA7B!F>j`N5hZ=Xf7w94> z9!JBK4+5#s4%19;FF~b5wzibC@qvozdZz~@xJW@y-7(@U!Z_wH#VW%kFj{$Lq$Q^$#BMDZ^-k#`C;eFX zmRI`6^=`C>`Hyt2hK2NBpR^I#M_>8vSkCqTeX0QMkb;V^=(vhY5LE}NJBZ4nTGMwi z2qvlw$12DUF~g&CQfH$j3cj?im|Llcbg&g&NYnig!8ehmLY^uxmRy~((XeOd-uH_R z?wUBZ49!c^bGVq!+0^(Cp9LRZQ=RPy$7oKI_~do0-A|w@ND3N6Bkt*rQ08!Wx!`2r z@-#Pl4J7a&1m;@T^DB!b{Lophm-y;Tj3fKpnr}g2!5XWp(q9&NUK-sblFT6vMWqO( z2rWxTB3dIBZ`s&z-`L+;n z8t9|O8anUuf4<_)u=+lIC+B96o^@mR{r4K=wFOdM6gCsHh6MLr&+W!Vsnv6=;W#u# z{Hk%$!s;c-+JKo)vNjGiXlJM|{bc@n|bBxPHd}U|pbmR)eLo@bd zMDd7Ndgdmghwc`XBV|&Z{ zV0!5ZQyc*}{}DDMIFGRzs{fcoeq@eiYbjT_e+R?y!Re@rb^}!;X|PepPyGphW^BDJ z5tYwxng-hTD!d9($}HSWhFbNes?CG~Ze__DH#cBbe+X7? zCN?#-PT~I$a3W@E_o20=Y5Ya%y$uo5m#Jp2u&I7%%y%cK3cnq;&H``3;cPiDKM8}J zi-XnvTaZDJ07fLYV-piYMpw)M7=V&xk?4w?jh(SbOYE2cSeMaCDA=tF>eLS-vNf!de--(o3n}+>sLdY7rSz zZZrAQ_}%5ZPxP=e`H%{&U8?QHkG-EgtL@J;@s`FsndgnPo@QBcn%2B5Mjx!`yUldKOs!?dw;4O#QE) z9bv|11?z!uD*>kc+`y~l?)!*ojE0uM1Lb7T;l_h}9L|f`f+?*=9J%ilfwPkfW{v%Z zDZQyZ;RB`{MZNM-idQAXHBGuqdR8}NP9_w&z+>QO!XlXDyk;m2zh5(<(mI;KRne5HX3~eRW!anz3~pZkuc@zqs4VeV*8R z?G`My93Chx^|A1!*C@L5VaY_LOQzg8#%qr|MR#-pUhu z*)&#&S{$7T0$<vr>(y?`Wg{v&~)~MuW~Gw9WeHLd-kBO?Y(Dl!To6V z1?0>A=4!zmeojv(Xj?LM7j_gI8yNwRsV0>@EK;dcgkAW5LftFkgke+G9py-k*0N6%EL!`??A6X9ac&JB0&`!fwm4s zX+8r)G@^T5OeifiG*ksjA8rCgl==}UF!!LzCAo9}MZpPJCRBDQ1sH5%IW!(WevFQi zsB&BIyN0?mfy6M2q8jGaQ?E+r^3KUAXK>zk02r|I?UwQmlyLU*_0Hcz>~Lcpg%U26ixhOl?la7gkm{|$C3c;LqK%{g!;de zew#%c@2?n@s-skRj**B6z!<|KLL9h{w&Z7I?3GCoOG&D{5P2*mb!SmUaqOQLF9y0& zFaEHgs-KWVLqoA60e#SQ6!{-KTRKSU-+^XIU#RXwr{{p?3g}^=IGO$m{{ko-8r29; zWoB%DG~aeZ10aKkN-GbrRh3nK78@9=OzFOr`ClvmVCKrqN7>3X@1f}y$AM!6Y#`rI zQkZCzl$5X}?$G(1?V1&@ponV@j)0T88~7q8D=f%RWR+mvexitlQQ}}|pe7>pV9u2Z z;Ls~Cls!U$#1JJLh^*r1)duYils1Kma%7Jv2f5>FUW)E>20lP$-zMewVdOdUCiWWg_iz(24$QSybA`l1^^XHO%vYLe_C*-8lSmp8~8jwg=G=TCCYKef5$D3Bc8$V>Ybn69K zBf0b%siV8UL5kgZ?8I0jD?Ob--4xio0LK9_KV&nD2&?iN+=Y9(&$GZr>>2Hzo^xna zQa77%Pg%bVh$5tDgkSl$uF6JVAV+&ii}=kB1I-E#ROWzYmO*@_z|t!ogu*nU~0n&va&7V-u|!*vjv+vg$)h3Jt}V z4s8;Z!}dwQ1?GVgB7}V}DJ8{i{v&50WTpB(4GD?Um_urA%4H_kKQFwuTpPrJlnN@u z=BAF3Jw0s38p|g_2l4eI^1QFUTEHDsDrR#5td#l%_1cbyvS9{T1X4x}Ut=>32Qw%?; zrVrnF-iJi|5>*UMNyYoyBd}BsW(*S>`A`q|-X%huQN}Gko*ab>0vd*VwL(M4L}%aA z)72e_WO#yVAk2SR%*@G2*fg(fZq9~gXJ^+bZaqk?y={2_7A{HT8X>LWQ3^Vrzi;nm zt3egQ-a|%K$?#!QBRPH`-jq1NjKyzr`@hu2JNv%-rb3}Sk% zNkc*ONb1#{+2_wW)f0JmYr(2aRJ*Zf=w)V><11+vzc3D9l9F#l=lHaIJN|P<#p6$nRGCV-xfzbnovrv_l&9K)jtrxZ28!3vs7*=cCZMbV26 zXGmpcWf_)D#`C=DG3#AfTwJiPLFugkT*ZdTQ>#!7>pE>8H1$?Pf1|gf7#xl?ogk88 zf8YY48TYI2k{OIllgUj%5O`;Ra-?TW{~n3neeVr*!;H_IGE@$gHY@YneJgwN+4l3v zO?QNaapQUwb-l$eZBoe-U#l^Z#DPy3*%~@5as%VsNfgXZJckkq?l!~Ay68p>2(x2^Vksa^hROH5- z&&~oSSr|5?&XwurR+<3xULUp~21DHdL8hV)qJ1rYfvD zm3|?9-Q{32KXTECJwB}Cm)Rrd32*4+T69U`=(Q?1g|4MNU`naD!U;53Lkro2@ZJ7Ao9@0odIoXY{!(>(%+tfD_@S7c9b4%z z>Tum`M81t0_vY8!iGndDvJMH&^7xgD6Jo+TvFdq~G9JT;XMxvgTBrBt5p?^yD;FMH zTR$p=bU5+dF^GQtsl24^{N<1v?lfwZqQJ`jSZZUli z)ne14p9Zwqs+fwh!s%D83EFZj%f?Ok#>5?Dsle(i8qK8S^+JNtyO05@y!+0SF=E=!PsJHS0XCz4ReA^$CnD4Qv z0}wb$T9!k*I+DGp+8^kiS6FObKAo}?_B+;|7J#A{oL`eoJ`$i1A!IZOE(0K2x*+;P zi3ko#T#BMpakyC$(16oFhJ;U`Cqn%mDXc}!^SPlR83%d1syR<4rMN_hz8vN1 z0OcSb%efL#{PlPhA?5kiQV7ih7yVIrt>fC`)D$s|hUFl<6eW%uXfFf{=grJCgxr%s zm2gVQ>ZSD2AAzV`1*Dc}v&*!sgEwh0MI;W|#waqC)+C@i?^T zE+wp74&eECEZ0}Do1PM$iPHg&5d+;?{Pa4l;dD5Sw%4daD>Wgp)X#MrHG@)3a+l}d z4!D{IvdRmRh}r_bXCEC$xSnr$(CG^#LT*>wXsB0L%;UcMVz3fT+nq08JdY0^ybTaq zy-C$O#PCKdp}&dW=h0A{cJ_!}o0Eg^y;wii_r!E!a#MFpWyN7vFE5hyQgxc< zX}^|3*KAB@b?N8s9uS#Jk7}0}x2h@_H8LDeX za;Y2irf|wqjWd}iAg3#Mf6fJv-tY{jbUp@$hnu_jnNLKvB@Y z^usvOd$C=*IqeV}p-j)gfe#)eLlx7gu?|FhUuc{+r%;7GFWt9x^f{9ep`kBCw4|0; zfS7^-+i@aOn2qPd$IRPuy}cre^z)?-EJw3mENB=fM@z3|adaZSuwRWAH4v3HdiXFT z{C(@nEs=IhRTbhSPBQB%sB=RgTFQZ?@sD@zeY^7W<8CbyxX~e(FE#wsB zwQkxoC1vEkwlvQuL9*ho;Cx$2tUWnd@Na3pf2 z&-J8N1oTVjSA*F&#N`|v|Co_Ew6(SRqYFI*3WsFoNQ{XM0dMuD6n`&|UH9`~Z#wHi z?lN;sHJ?i{Dgi4(4$pW+1@Z@n^>{Ve_S)pdHm`3#uyIM8hiy3QhqZ|Mf8H}Q$tf3;wN&+_h>3MmdxIaH7a(+)L+V?Zf!(DUeZ8h)x#6DoWgoaa_ zexC>}n-ix*9=%sSZN3-h!4V;COMCj_?MFyY+nphUj&O=mHsSKyvam6T!1QGN`lZiS zS02rC5pVHi;Cdip0|dDL7Z(OjaRv})CO6ZP!gt2?#36|1+-?_}jr#ZDj%bo}Jh=_oiVlru%mJ0Fj zb*f;|EUDPr??&efaZW^2`{GrYP>%af`jede;_Fz)BHQ~Rx)Jl+o$j$fDJS`;WiIXX zY1K#L%H>5zIf-y`0pi5bo-wQGLGpD5aq;k7Bk9xw%>h%r!{1R-hKA@MJ9>78{`>d( zn*`jy86T-7Q((zK@!CVApQUJ#E&8+(RHk7*EtL00H zGV`5FsxD8G@%NdSC^RKGQ3*WPyttgM+h1Va78yir&u_b>H2%1UIdx_0L~3e))Iy<>nfkZaWXn zdI`HsZ;5&A-|QM$<5SI6FgU2lFB$t)%lXZ)rbBnvAKhBJiPOenYS25(bB}D$_SZKY zQqCOH;nslqiw>&timFrxOEWWB>r@*f1zib8?hc@CuwIF2mGo~9Azd~hPTJhK9->rU z33NG0Rr~cOyNo7-pStCtby#&|Xj4^Z{MF{C(I10!O@}iy$dR4<7 zTcMTJjCv`j&5BEJN0{eP>9)gcUW{n@k}`6N$)~L&Q2^3Q+EY_g$7|8byQSB*KnT${ zRqViF>;d26Qhkw5jX&Ml>gD(0Nh!1L7a395rRv1vb~4P-1?r6(NvF4?WvM$EVw9H7 z-8k9Uehp09FhzGSoQf+;)WyIZ6DH8?_KmHW*+_KH)Cwsi^BgKxc>AosAuc%mQ z$kj43y2YZDg!WYjGH<~HQ{x<(eAbs$na|Bc2R~O-#DI8_{eB>o9d(e){B%O1utbh~ zN9artL2<){^jsny^G%$sMufBX`Env8?%7ZMZE6DUs=lXCh6S_I_j;lcv6+A3 zBtM-3mF%v}Qp>fQC(-9`AJ0jRM>9vus&VS2jPK_sh=qLmq;a-D=l$)E*@)|(L?6Z5 zH-Ek?ZctKn;MF^8U74)kHGxIfyU%5fxV~M-VzWYe_;|+SD7nB!y*Dq0z1n2g5K_hi z)5zTH?4ZU*@ekd%{pdoc_csNVIJ+o~WU@!VNdQrR%l(qYGA z6={@5x;d`l+n3snBCLI#>b!U2k-BpD501q;nhbPa#*473z+{Q5asukp{#O%~s9S4?J7j*Qs?5bC-!hqyt6 zbOQkgP6Wrf3bbN}SG>Hu`r^f{)Q_m}o3}ylu@&=p{+8$Xme|LSANBi@qpRBEuYNXr zukJ68+5K7N#>F-4D=6w9f1+$-Q)Hg9z4qtHt)iudBbVKvqgfGSSuME#ROG}PM`!1o zVbVB3ZAs!@p9;C^Wvu!)>Mb#mDn)u;G%#0Gm#TzsRJGGSv(nL@p~*>EPWVOG;AG_<1fXm+6QimFwog1K0Dg2k{y@{XdzW=Hw?nad5!f++=|_DOA>(j^`q9 zrg^ckf0^=9@04Hf_(bnbw{^?d$n+B}EfIq8;-85Tp2@HIK2$mEiN=Ld3GDnCD^w`{ zB<*y7Px@mp8```YP7hUe)uiQnaVi^kAhxLij3Y(;$yBl1+R{trZw}tID|{kz-f_#Z zu`^a+KfATCg=}~9Ig<#UI?sAAz@@;m7c|DJFCCkm4WmQO*sYsnAWEcWj&J|kbr6pi ztlL!=uNprsx!W!U6@wI)$^h;_z<7UOLroh5?xXE&-amZ>DcoB|=AjgExaYPc-wcVr z8NOVyhy|M$9IPPR-rhdrc53D5==^=+2jt~28ydV|F@9|{*v#R#s;6G3LVdm`CMK4& zu}V)Fw*0DaKR_W-P3ktaK^wt(u=Hm*0w6nUCgJvhOm{}w!GZU|yrU5(-<((HrlYgd z?!{@H46`aR8A*7r+k>j|$PHye9K;>yaIoy=cM}O>dK&Qx!)}xk&!L+o6;*|+~nxC=%E;6zD8wagT5B`2p1^dtoZVa`x*KAp5`6ob27d(yU)ee zvw2O_4&!O)#MNAUojQ9=2?#$#xg?*OUW>Ag&sEKOuE`VQWHFw^8_<|ja=)r!#1*#q z*yqV=y*}j^x$j^D`|*b zZ&ny3Hl}^lnY`=5B$^Ta7?!#bJ=(bMiaK>?XX%YfEEjs?I#TLu)KvQS1hEP*#yJH-W+j@C9v z4Lc~!O$W1np76VAd0b!Y$SJCHmPCMtRQHAkuaM^=>v?x3`f?B#P63+PEpM3A$7crgFSrwNHvHzg_L%#DmVnjm1ch*$k*_$G`yGiaGeUPm zL(prwNETW2>SG#JH;qq}Zz&Pq;^O>b-W}Gb<8Y04J??pAFp<5EC|)>!wLr67vlD&_ zxB5C_(o$-MCMU9PY*4LRQ6NoZ;NjA&asG0Lads`$AAbf$#%NUyv$Ybc+^~RQ_3?uH zoEZ-}8I3ac-*~;ve!>099fyH_(#?NX>yo7|^^&11wkX~Cr&B>A0`X!X-md~{@bLuB z*O4(rTjqF?NwckihnTaJCCttE3Jz6R_b1mj7SU_i78y|kcaiaB{xfQ=8=t+s#VjmL zBG=Zl%c>GLJ)DPUog+5~H_{3+KP2#9eh7|E{<@_Rt#iw|j9@+#(+Gpw!k%EZpudRQ z1uJhk)~}};2P>;E|1l?ORvwky>1Y|+tKFO*vX$)4T$$d<#NXlPMS`Np{t{@Ex)kbk zeD=A(WHarf-_p3rAm17gkD+p%(fVN*0e0OL1D5GWVjB-90=k;-EE=uW#FQxCYIuPo3@Defx z<5RrqH(nf|jZ;!4N~G145``F~byAJwXK`D(ljz%CYXtyqCm`7B7mf)|au7G)T}5$< zS5`W|pxu7lSy5Sup5!7QJ$%s!ge%n0)2?tqBdpZ9RvkryVuXa!SaH|5pR(96f6@Hq zDIFJ}dW$%KNir1|Dt*~eHz?9UTEvDL`WuVzXc2;he!Hxp(lrjV=H~KQ&m>HRmr8Fq zjgG`SkJH)lvHp5p)xUMux|uSB;%tgr9bptkv05%(Li4G6OT-$z`6@ZaK=Z|NWb!Y< zXTNnWOyT)iAwUSu5b{X%kfSpaNI`WfgZx1z5RrkN%u@+{#+OkF%un?6=vb6f7H3^t zN(|fCFzqqziK5s$4mWL7{^3uC3Y7d@ma?C=@ki8opiMh}B+DG_=;8uW$bg-O^~$q` zQIk~=66(*ssrWg#OOjv_4t6+%zfT}rNL(&(zrjM$Hvi2G3+7fJH&&+|>@`P6$JekQ z7vB#J4?hy6?X;r~t@%^b1IrZt*g)L^Tu6Wat6^cC-NrnW#PGt0coOhI?jt>o-VY%d z$M=s8*ak^SW@0d4nxcbD*y!LLY)nK0rzaz*_A zog63N@i#+mNLNZ37!cjNrw9O9y*EsZ2u|9F=x$_R;sd%)JLx5E-UNJLZELaPn4O)a zTx8!d%_u1eruS9nkY**OR147l_X^&&;MT0yN-`4p)2CHck#+6{w|}+qXQ0RCQ)A=- zzY;%6CLRjQp>nJew>oG(bn~S@d+{de+UBN}Lb9ekMe$2CtjM zjmc?gtqXNZepZ2;Hwbc%(nt8&3M$;bNm0?s+kr0<%pMsMYDd1kww9j$6H9b(#1~wN zV1?)4I#(~EF8>y4C+T{$AfD$EPggYsRH&tU;^V88v3#ppUAsZyWo1=Zpk69xfO^Zu zA3!|m)mXtK&{_m3Fgr{dP&e<3LQx*5BFeB_zxoKKF~EOmXlTGipv)5PQX3)SO~!D1 ztT-FW5r)wv^W<2jwOU)OJPhyYz)5n)4$(^S?K%9Y84H!~>Wci@_K9A-Ih7^$2X)`JvRni%gq+OpDAR9CI^;;)Ki`BDoK0f*_r!jfBoHqsJ$xr@+H}zwO7ifi1W~o zq}eC+d0#&)^~TyyFZY8hsTA*UK3Ye&qqiL}cMT2g+ErP}M=!kpFkfz49HrK9WA9+d z97if#%jAiad!ok^K=Y-;{Egq)Ld%oPku?X5ymcT+#CRyLiq|ROisiemrZbpwUI%W_ zf4|+ngR1G6VBTZH&i(WxaK?Le#{klUePx4IOXFxC$ zT8bGH+?J%2_gBKM#AxG!@lR+iP! z89#C5!N^uRBI3DA+Mgok?&q2I*c&=H_SL!=wCz`1SDOT&5G3r1^4W7q3Iy#=) zrJY=6Hk*{y4fz61?Aell8SJC2>~a&eLRgv3{|0FB-a@6O7XH4^Ak6o`{=je@Z zvFAAz8u(>%sZ+ccg#$@~Z1V?DWtetp6XMqmAj#pd)+> z+SO+9vBupu4}=^uB9zZsuxd}e2$NUukn)gQaAS~cZ`AJkhF%}Lnn^H$fA#8BzZNHs z^IX2+q1BB`G4eb>9JnY2% zg?wb+kehHALvzIymBAak_(X%tjf7`t9FncHidNb28r;HKl>~vm0iF|qY>a+4S{(YX zz3Bq34UC;*pCcjbrUO#aALFY3Xvp&2Y}pru_QsrooQ2wd@{v`k$M|R@7)KNq*Dv$e zCrdK@SyE;KpMFZX!(HpaOKq|KdEfCWYi0M)#)xSd{zX_lNKUQ5#7Tr~kaYDA|q5{zSLK zn!@tRid{tN*`JKgPD2&z+4{T1E3P_TBoW?+%oo3W>gBXLEh%FM+pjN3TvXAe9=RIn z%Q3c=f4F*7oZ30nJ|cad#B9;5_8+s`9SzzPv?qT^8xJqi}MaXtgzIj1=v>M{UUA;o*$km}WtR zVECH~(s3sTGK;5GbV$I-4AyNZn9Fe+!vWI&ufYy zIXeEL6Itf5JTg4&w|!cJwk1fIvhuTbD^lV~`i*cz=#<;&`1txY>HpXV<2}j(cOT?0 zLBcY2gfWl!4e&RFRB0qmdB}fA{nv&B5_N$x7B~;{M-Fk0!ivn%Ek|Dd^v#+qWL*-} zJx_aI7s%7CS8V=w$MEEZa@Uj)+#n3v_eOntjX{dfZbH=TJORQjDwTaaJ`@J1W+<~s5N}{ym`uHW3=zm`j5fMbEvJ8}AALPF9 z-S}%e85bMT1>6mw0u>wbgk32eQ3>*)?4r>8`|!Wt6>)GjH+p&S-$cz1!|l)ImHd!V9GBbm2WT*4rIaL#9_#!6KSODfod5s; literal 0 HcmV?d00001 diff --git a/supporting-docs/projects/images/fractal-small.png b/supporting-docs/projects/images/fractal-small.png new file mode 100644 index 0000000000000000000000000000000000000000..788c6a241e1cd5044bcdfa6eb973ab8234ec32fd GIT binary patch literal 14136 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 X{Qn;y4e$H&-zgMj)nw|V%p?8>gf*o> literal 0 HcmV?d00001 diff --git a/supporting-docs/projects/images/guillotine-large.png b/supporting-docs/projects/images/guillotine-large.png deleted file mode 100644 index 776481a22ea990e050f7b487a6aa55e989061a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146629 zcmZ^K1yq$?*DZ*2Nh1;x0+Q0*0wUchT_W8L64EW*Aky94-QC^YU3c@o-}m2p$GF!q zJa7)@slE4FYpyxx4v>)&MMl6wfPjEN7W?v94g%seA_T;%OgI?uiA&Zm6z~H^S6uWn z_zC{q3e|gnAMlo6RBa$25HViEtYc?qPoqQ#%y{qfMi7n|y!hXT<>lq%eH9RZthYZD%%7Ai)fKkoB={;Q=;eH| zBWp65=UZLPh8+Z*KN&b_65Rv;a@5PA*9;*d-XfU-`IC`JNfM@}G-zmOl+Dji^>}aJ z2E@kVh-Au=eE9EWxV15b1&XJmA|u;M^}0tOA}RlKeK=x5?Yul)W;`=xe9GC`**uZV zh@OA$?B(SZxTr|+v^d#+&jSbPDU~hcP#A!uIQdmq_Z1FZQmi=U5re(G{mpGODJ3PY zaD*(epg)(8Vj&qBS$L8wWM=7?S0q08T;O~)7Gd`azZVuXE=}mk$vPsUqJ%0sEaM--Og~;B6bC3`dr&Ls6y1KfK?%JY<-^*w$z^hf8Q~wOtg9SI| z^@H&6Ta9JPTxBLD4b6K#K4}s=)KOz*g(CdkCO4NqtvG@U4B!Uam-+b7p|5KzDiq+o z{<)7g(^A;DAtE%`h|_fv0t-B`RRJ1=BtA7!!6KPt2tNOw9@V)FqD8m#i_ej4nHhNg z1(dwJuWvSH1i*vv8`hxxJAZJ*pW&woRNounfUo$&230)1eD3*<4AESFA=TZOIc?fg zO15O&D;edWl8Q4q&|9fhDnD&9&)7C?@~2W}#yAyjg?2XOPNjA>q+;fqEDj3w&o4v& za+;dhC}=j$`ZU9is3>cg<8Zhn9@mm-Ja>zLnUrw|j$ymn!a!NJ{?1df&(tRCE`>wPcTvsaDaz%QQeP*%@ zduHcCFK?;VG})1T{%mM(DS_St;oZ4GhAqz zSulrrisaO6i3IaFk*Cul8GE#?tx~PB%B}%kn)#So?rHKPCRny}YiQ8U$dq`{g|F1U zda&vl4j3hIIiyrSU;i={0Jm0sFpHy^VHdPzd$_RsGt4)b=4Ajnkiqlo4oZ?fb)X?t zwmJQgvio&u8fNnuDs<+%<(M3|)=!bf8<~;af}P6FOeAJJXr44#I$oKNhsbUh&h?Cq z)7722tFznPV^R&mnPhYb|ayn=eA z4+Ww!T)%a4;pD&z>s5is!B8s6V(ZsN6RcCqY3tSu>@e&RlaY^9oCG_VSch2=FkeqM zVb!235GW}r17Xf3QwAyX%ZUOrM$+7Q+609*g9E{|8M&*TQ=engWC)j&U+hm}NK2y* zr8c*O@;PLT{$3>Tad;?=azeyDyWD1Y-gR8uwU^1B#voAi!|4u&e9y!b1qF-B=rOAM zG*cVJM$r@+RDMoimS1f;--@H0krdGTt8I-=|aY zeK9ayny-B=tKZRjWZj{naBA0%GLVGg&C9yA!K*YD8^oJ*ayUz@sjr6$k4_%^fw8Q8 z-1KNVU-C2rVyr`|((+CL-E5v$;}5np$f? zPMRk+a-MbWy2quRN}&=qjb__lTJ_$cp}%UARG8RUI@#0neGesj6jKH2qSn?3S1?d^ zCeykdBgE_+9FQj){zf|^MaX_AM5{BU>na7<39RNFClr2Zli1mGcf7p*L&=(AuD)wI>$5~mL4Jv`T~P90sG7}G3>xOuo$N*v)u z!-(2DXMMZxud`I6y2^|Yi8}~bJx--ZdUI^~N1^4L<1n-?b_T&9U*OGQkMxncP2UEkRJ5_hh#+XHy>(N3R3TM74 zsPfLXjN_Oxr+wBjCPp}9l¥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�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 Y+`982Kf3mRq2SNRp<}J1EgjeYU!s(78UO$Q diff --git a/supporting-docs/projects/images/guillotine-small.png b/supporting-docs/projects/images/guillotine-small.png deleted file mode 100644 index 93a4f1aab7bf604da3a2299d197c3672a7780b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14075 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 From cc8128edad051b4f042b83c95c1604d793d99f0b Mon Sep 17 00:00:00 2001 From: Victor Berger Date: Fri, 3 Nov 2017 17:03:37 +0100 Subject: [PATCH 196/801] Specify namespaces for tags This is a proposition for closing #931. This should be a fairly uncontroversial addition (apart from bike-shedding), which only defines behavior for clients that want use tags or expose tagging functionality to their users. The idea of adding this to the spec is to ensure clients can peacefully share the tag namespace without conflicting with each other, using rules similar to namespaces for state keys. --- specification/modules/tags.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index f0a7fa527..31b3b7110 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -56,6 +56,14 @@ Two special names are listed in the specification: {{m_tag_event}} +Tags namespaces are defined in the following way, depending on how the client are expected to interpret them: + +* The namespace ``m.*`` is reserved for tags defined in the current specification +* The namespace ``u.*`` is reserved for user-defined tags, and the client should not try to interpret as anything other than an utf8 string +* A client or app willing to use special tags for advanced functionnality should namespace them similarly to state keys: ``tld.name.*`` +* Any tag in the ``tld.name.*`` form but not matching the namespace of the current client should be ignored +* Any tag not matching the previous rules should be interpreted as an user tag from the ``u.*`` namespace + Client Behaviour ---------------- From 96650e2824b0da7e0e85829b25f319d2280ab8d7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 3 Nov 2017 14:45:56 +0000 Subject: [PATCH 197/801] Define TypeTable and TypeTableRow classes Hopefully this will make it a bit easier to understand what's going on. --- templating/batesian/units.py | 12 +- templating/build.py | 18 +- .../matrix_templates/templates/tables.tmpl | 3 +- templating/matrix_templates/units.py | 183 ++++++++++-------- 4 files changed, 125 insertions(+), 91 deletions(-) diff --git a/templating/batesian/units.py b/templating/batesian/units.py index 072508e69..8f748f6da 100644 --- a/templating/batesian/units.py +++ b/templating/batesian/units.py @@ -12,11 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. """Parent class for writing units.""" -from . import AccessKeyStore import inspect -import json -import os -import subprocess + class Units(object): @@ -57,9 +54,6 @@ class Units(object): unit_dict[unit_key] = func(self.substitutions) else: unit_dict[unit_key] = func() - self.log("Generated unit '%s' : %s" % ( - unit_key, json.dumps(unit_dict[unit_key])[:50].replace( - "\n","" - ) - )) + self.log("Generated unit '%s'" % unit_key) + return unit_dict diff --git a/templating/build.py b/templating/build.py index 307a26e7e..d18569b66 100755 --- a/templating/build.py +++ b/templating/build.py @@ -59,10 +59,12 @@ import importlib import json import logging import os -import re import sys from textwrap import TextWrapper +from matrix_templates.units import TypeTableRow + + def create_from_template(template, sections): return template.render(sections) @@ -117,15 +119,23 @@ def main(input_module, files=None, out_dir=None, verbose=False, substitutions={} Given a list of rows, returns a list giving the maximum length of the values in each column. - :param list[dict[str, str]] input: a list of rows. Each row should be a - dict with the keys given in ``keys``. + :param list[TypeTableRow|dict[str,str]] input: + a list of rows :param list[str] keys: the keys corresponding to the table columns :param list[int] defaults: for each column, the default column width. :param int default_width: if ``defaults`` is shorter than ``keys``, this will be used as a fallback """ + def getrowattribute(row, k): + # the row may be a dict (particularly the title row, which is + # generated by the template + if not isinstance(row, TypeTableRow): + return row[k] + return getattr(row, k) + def colwidth(key, default): - return reduce(max, (len(row[key]) for row in input), + rowwidths = (len(getrowattribute(row, key)) for row in input) + return reduce(max, rowwidths, default if default is not None else default_width) results = map(colwidth, keys, defaults) diff --git a/templating/matrix_templates/templates/tables.tmpl b/templating/matrix_templates/templates/tables.tmpl index aba6c0c49..bd25a156d 100644 --- a/templating/matrix_templates/templates/tables.tmpl +++ b/templating/matrix_templates/templates/tables.tmpl @@ -6,8 +6,7 @@ {# # write a table for a list of parameters. # - # 'rows' is the list of parameters. Each row should have the keys - # 'key', 'type', and 'desc'. + # 'rows' is the list of parameters. Each row should be a TypeTableRow. #} {% macro paramtable(rows, titles=["Parameter", "Type", "Description"]) -%} {{ split_paramtable({None: rows}, titles) }} diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index e19267130..6d5547373 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -62,6 +62,50 @@ OrderedLoader.add_constructor( yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, construct_mapping) + +class TypeTable(object): + """Describes a table documenting an object type + + Attributes: + title(str|None): Title of the table - normally the object type + desc(str|None): description of the object + rows(list[TypeTableRow]): the rows in the table + """ + def __init__(self, title=None, desc=None, rows=[]): + self.title=title + self.desc=desc + self._rows = [] + for row in rows: + self.add_row(row) + + def add_row(self, row): + if not isinstance(row, TypeTableRow): + raise ValueError("Can only add TypeTableRows to TypeTable") + + self._rows.append(row) + + def __getattr__(self, item): + if item == 'rows': + return list(self._rows) + return super(TypeTable, self).__getattr__(item) + + def __repr__(self): + return "TypeTable[%s, rows=%s]" % (self.title, self._rows) + + +class TypeTableRow(object): + """Describes an object field defined in the json schema + """ + def __init__(self, key, typ, desc, required=False): + self.key = key + self.type = typ + self.desc = desc + self.required = required + + def __repr__(self): + return "TypeTableRow[%s: %s]" % (self.key, self.desc) + + def resolve_references(path, schema): if isinstance(schema, dict): # do $ref first @@ -171,12 +215,12 @@ def get_json_schema_object_fields(obj, enforce_title=False): required = key_name in required_keys res = process_data_type(props[key_name], required) - first_table_rows.append({ - "key": key_name, - "type": res["type"], - "required": required, - "desc": res["desc"], - }) + first_table_rows.append(TypeTableRow( + key=key_name, + typ=res["type"], + required=required, + desc=res["desc"], + )) tables.extend(res["tables"]) logger.debug("Done property %s" % key_name) @@ -187,10 +231,10 @@ def get_json_schema_object_fields(obj, enforce_title=False): # we don't lose information about where the error occurred. raise e2, None, sys.exc_info()[2] - tables.insert(0, { - "title": obj_title, - "rows": first_table_rows, - }) + tables.insert(0, TypeTable(title=obj_title, rows=first_table_rows)) + + for table in tables: + assert isinstance(table, TypeTable) return { "type": obj_title, @@ -241,10 +285,12 @@ def process_data_type(prop, required=False, enforce_title=True): if isinstance(prop_type, list): prop_type = " or ".join(prop_type) - rq = "**Required.**" if required else None desc = " ".join(x for x in [rq, prop.get("description"), enum_desc] if x) + for table in tables: + assert isinstance(table, TypeTable) + return { "type": prop_type, "desc": desc, @@ -263,13 +309,10 @@ def deduplicate_tables(tables): titles = set() filtered = [] for table in reversed(tables): - if table.get("no-table"): + if table.title in titles: continue - if table.get("title") in titles: - continue - - titles.add(table.get("title")) + titles.add(table.title) filtered.append(table) filtered.reverse() @@ -286,14 +329,10 @@ def get_tables_for_response(schema): # make up the first table, with just the 'body' row in, unless the response # is an object, in which case there's little point in having one. if not pv["is_object"]: - tables = [{ - "title": None, - "rows": [{ - "key": "", - "type": pv["type"], - "desc": pv["desc"], - }] - }] + tables + first_table_row = TypeTableRow( + key="", typ=pv["type"], desc=pv["desc"], + ) + tables.insert(0, TypeTable(None, rows=[first_table_row])) logger.debug("response: %r" % tables) @@ -440,11 +479,9 @@ class MatrixUnits(Units): " One of: %s" % json.dumps(param.get("enum")) ) - endpoint["req_param_by_loc"].setdefault(param_loc, []).append({ - "key": param_name, - "type": val_type, - "desc": desc - }) + endpoint["req_param_by_loc"].setdefault(param_loc, []).append( + TypeTableRow(key=param_name, typ=val_type, desc=desc), + ) example = get_example_for_param(param) if example is None: @@ -487,11 +524,10 @@ class MatrixUnits(Units): headers = [] for (header_name, header) in good_response[ "headers"].iteritems(): - headers.append({ - "key": header_name, - "type": header["type"], - "desc": header["description"], - }) + headers.append( + TypeTableRow(key=header_name, typ=header["type"], + desc=header["description"]), + ) endpoint["res_headers"] = headers query_string = "" if len( example_query_params) == 0 else "?" + urllib.urlencode( @@ -531,7 +567,7 @@ class MatrixUnits(Units): # put the top-level parameters into 'req_param_by_loc', and the others # into 'req_body_tables' body_params = endpoint_data['req_param_by_loc'].setdefault("JSON body",[]) - body_params.extend(req_body_tables[0]["rows"]) + body_params.extend(req_body_tables[0].rows) body_tables = req_body_tables[1:] endpoint_data['req_body_tables'].extend(body_tables) @@ -586,19 +622,18 @@ class MatrixUnits(Units): if "event" not in event_type: continue # filter ImageInfo and co - table = { - "title": event_info["title"], - "desc": event_info["description"], - "rows": [] - } + table = TypeTable( + title=event_info["title"], + desc=event_info["description"], + ) for prop in sorted(event_info["properties"]): - row = { - "key": prop, - "type": event_info["properties"][prop]["type"], - "desc": event_info["properties"][prop].get("description","") - } - table["rows"].append(row) + prop_info = event_info["properties"][prop] + table.add_row(TypeTableRow( + key=prop, + typ=prop_info["type"], + desc=prop_info.get("description", ""), + )) event_types[event_type] = table return event_types @@ -606,29 +641,31 @@ class MatrixUnits(Units): def load_apis(self, substitutions): cs_ver = substitutions.get("%CLIENT_RELEASE_LABEL%", "unstable") fed_ver = substitutions.get("%SERVER_RELEASE_LABEL%", "unstable") - return { - "rows": [{ - "key": "`Client-Server API `_", - "type": cs_ver, - "desc": "Interaction between clients and servers", - }, { - "key": "`Server-Server API `_", - "type": fed_ver, - "desc": "Federation between servers", - }, { - "key": "`Application Service API `_", - "type": "unstable", - "desc": "Privileged server plugins", - }, { - "key": "`Identity Service API `_", - "type": "unstable", - "desc": "Mapping of third party IDs to Matrix IDs", - }, { - "key": "`Push Gateway API `_", - "type": "unstable", - "desc": "Push notifications for Matrix events", - }] - } + + # we abuse the typetable to return this info to the templates + return TypeTable(rows=[ + TypeTableRow( + "`Client-Server API `_", + cs_ver, + "Interaction between clients and servers", + ), TypeTableRow( + "`Server-Server API `_", + fed_ver, + "Federation between servers", + ), TypeTableRow( + "`Application Service API `_", + "unstable", + "Privileged server plugins", + ), TypeTableRow( + "`Identity Service API `_", + "unstable", + "Mapping of third party IDs to Matrix IDs", + ), TypeTableRow( + "`Push Gateway API `_", + "unstable", + "Push notifications for Matrix events", + ), + ]) def load_event_examples(self): path = EVENT_EXAMPLES @@ -680,13 +717,7 @@ class MatrixUnits(Units): "desc": None, "msgtype": None, "content_fields": [ - # { - # title: " key" - # rows: [ - # { key: <key_name>, type: <string>, - # desc: <desc>, required: <bool> } - # ] - # } + # <TypeTable> ] } From 93ff0713cbe45b8ec5d78f5d69abf6d2d71eafd3 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 16:31:41 +0000 Subject: [PATCH 198/801] make res_headers a TypeTable ... rather than a list of rows --- templating/matrix_templates/templates/http-api.tmpl | 4 ++-- templating/matrix_templates/units.py | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/templating/matrix_templates/templates/http-api.tmpl b/templating/matrix_templates/templates/http-api.tmpl index ef796f4e3..461a0b58c 100644 --- a/templating/matrix_templates/templates/http-api.tmpl +++ b/templating/matrix_templates/templates/http-api.tmpl @@ -27,10 +27,10 @@ Request format: `No parameters` {% endif %} -{% if endpoint.res_headers|length > 0 -%} +{% if endpoint.res_headers is not none -%} Response headers: -{{ tables.paramtable(endpoint.res_headers) }} +{{ tables.paramtable(endpoint.res_headers.rows) }} {% endif -%} {% if endpoint.res_tables|length > 0 -%} diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 6d5547373..dd33d4004 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -443,7 +443,7 @@ class MatrixUnits(Units): "rate_limited": 429 in endpoint_swagger.get("responses", {}), "req_param_by_loc": {}, "req_body_tables": [], - "res_headers": [], + "res_headers": None, "res_tables": [], "responses": [], "example": { @@ -521,10 +521,9 @@ class MatrixUnits(Units): good_response["schema"] ) if "headers" in good_response: - headers = [] - for (header_name, header) in good_response[ - "headers"].iteritems(): - headers.append( + headers = TypeTable() + for (header_name, header) in good_response["headers"].iteritems(): + headers.add_row( TypeTableRow(key=header_name, typ=header["type"], desc=header["description"]), ) From 1fdd8bb183552338cfcb4fc743e045e2e8fcde72 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 16:32:06 +0000 Subject: [PATCH 199/801] Fix some trailing whitespace --- templating/matrix_templates/templates/tables.tmpl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templating/matrix_templates/templates/tables.tmpl b/templating/matrix_templates/templates/tables.tmpl index bd25a156d..d62a42594 100644 --- a/templating/matrix_templates/templates/tables.tmpl +++ b/templating/matrix_templates/templates/tables.tmpl @@ -20,7 +20,7 @@ # As a special case, if a key of 'rows_by_loc' is 'None', no title row is # written for that location. This is used by the standard 'paramtable' macro. #} -{% macro split_paramtable(rows_by_loc, +{% macro split_paramtable(rows_by_loc, titles=["Parameter", "Type", "Description"]) -%} {% set rowkeys = ['key', 'type', 'desc'] %} @@ -33,7 +33,7 @@ {# Figure out the widths of the columns. The last column is always 50 characters # wide; the others default to 10, but stretch if there is wider text in the # column. -#} -{% set fieldwidths = (([titlerow] + flatrows) | +{% set fieldwidths = (([titlerow] + flatrows) | fieldwidths(rowkeys[0:-1], [10, 10])) + [50] -%} {{ tableheader(fieldwidths) }} @@ -56,7 +56,7 @@ {# - # Write a table header row, for the given column widths + # Write a table header row, for the given column widths #} {% macro tableheader(widths) -%} {% for arg in widths -%} @@ -66,7 +66,7 @@ {# - # Write a normal table row. Each of 'widths' and 'keys' should be sequences + # Write a normal table row. Each of 'widths' and 'keys' should be sequences # of the same length; 'widths' defines the column widths, and 'keys' the # attributes of 'row' to look up for values to put in the columns. #} @@ -80,7 +80,7 @@ {# the last column needs wrapping and indenting (by the sum of the widths of the preceding columns, plus the number of preceding columns (for the separators)) -#} - {{ value | wrap(widths[loop.index0]) | + {{ value | wrap(widths[loop.index0]) | indent_block(widths[0:-1]|sum + loop.index0) -}} {% endif -%} {% endfor -%} @@ -89,7 +89,7 @@ -{# +{# # write a tablespan row. This is a single value which spans the entire table. #} {% macro tablespan(widths, value) -%} From c058dd5c3f9ab7caebd01f40bf6df88c4ca18bcd Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 16:50:38 +0000 Subject: [PATCH 200/801] Use standard logic to parse core event schemas Use process_data_type rather than reinventing our own wheel; doing so means that the 'Required' fields are correctly annotated as such. --- .../templates/common-event-fields.tmpl | 13 +++- templating/matrix_templates/units.py | 73 +++++++++++-------- 2 files changed, 52 insertions(+), 34 deletions(-) diff --git a/templating/matrix_templates/templates/common-event-fields.tmpl b/templating/matrix_templates/templates/common-event-fields.tmpl index 8d8c8f0ca..6d5848d30 100644 --- a/templating/matrix_templates/templates/common-event-fields.tmpl +++ b/templating/matrix_templates/templates/common-event-fields.tmpl @@ -1,8 +1,13 @@ {% import 'tables.tmpl' as tables -%} -{{common_event.title}} Fields -{{(7 + common_event.title | length) * title_kind}} +{{common_event.type}} Fields +{{(7 + common_event.type | length) * title_kind}} -{{common_event.desc | wrap(80)}} +{{common_event.desc}} -{{ tables.paramtable(common_event.rows, ["Key", "Type", "Description"]) }} +{% for table in common_event.tables %} +{{"``"+table.title+"``" if table.title else "" }} + +{{ tables.paramtable(table.rows, ["Key", "Type", "Description"]) }} + +{% endfor %} diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index dd33d4004..88f23c2c9 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -155,6 +155,21 @@ def inherit_parents(obj): def get_json_schema_object_fields(obj, enforce_title=False): + """Parse a JSON schema object definition + + Args: + obj(dict): definition from the JSON schema file. $refs should already + have been resolved. + enforce_title (bool): if True, and the definition has no "title", + the 'type' result will be set to 'NO_TITLE' (otherwise it will be + set to None) + + Returns: + dict: with the following fields: + - type (str): title (normally the type name) for the object + - tables (list[TypeTable]): list of the tables for the type + definition + """ # Algorithm: # f.e. property => add field info (if field is object then recurse) if obj.get("type") != "object": @@ -600,41 +615,34 @@ class MatrixUnits(Units): return apis def load_common_event_fields(self): + """Parse the core event schema files + + Returns: + dict: with the following properties: + "type": prop_type, + "desc": desc, + "tables": list[TypeTable] + """ path = CORE_EVENT_SCHEMA event_types = {} - for (root, dirs, files) in os.walk(path): - for filename in files: - if not filename.endswith(".yaml"): - continue + for filename in os.listdir(path): + if not filename.endswith(".yaml"): + continue - event_type = filename[:-5] # strip the ".yaml" - filepath = os.path.join(root, filename) - with open(filepath) as f: - try: - event_info = yaml.load(f, OrderedLoader) - except Exception as e: - raise ValueError( - "Error reading file %r" % (filepath,), e - ) - - if "event" not in event_type: - continue # filter ImageInfo and co - - table = TypeTable( - title=event_info["title"], - desc=event_info["description"], - ) + filepath = os.path.join(path, filename) - for prop in sorted(event_info["properties"]): - prop_info = event_info["properties"][prop] - table.add_row(TypeTableRow( - key=prop, - typ=prop_info["type"], - desc=prop_info.get("description", ""), - )) + event_type = filename[:-5] # strip the ".yaml" + logger.info("Reading event schema: %s" % filepath) - event_types[event_type] = table + with open(filepath) as f: + event_schema = yaml.load(f, OrderedLoader) + + schema_info = process_data_type( + event_schema, + enforce_title=True, + ) + event_types[event_type] = schema_info return event_types def load_apis(self, substitutions): @@ -709,8 +717,12 @@ class MatrixUnits(Units): json_schema = yaml.load(f, OrderedLoader) schema = { + # one of "Message Event" or "State Event" "typeof": "", "typeof_info": "", + + # event type, eg "m.room.member". Note *not* the type of the + # event object (which should always be 'object'). "type": None, "title": None, "desc": None, @@ -720,7 +732,8 @@ class MatrixUnits(Units): ] } - # add typeof + # before we resolve the references, see if the first reference is to + # the message event or state event schemas, and add typeof info if so. base_defs = { ROOM_EVENT: "Message Event", STATE_EVENT: "State Event" From 51e248a1db1d27ee75d12ba0cb91d240d1a56302 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 17:13:56 +0000 Subject: [PATCH 201/801] Rename 'type' field to 'title' : because that better reflects the underlying schema ("type" is one of object/string/etc). --- .../templates/common-event-fields.tmpl | 4 +- .../matrix_templates/templates/tables.tmpl | 4 +- templating/matrix_templates/units.py | 51 ++++++++++--------- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/templating/matrix_templates/templates/common-event-fields.tmpl b/templating/matrix_templates/templates/common-event-fields.tmpl index 6d5848d30..9d0ddac3d 100644 --- a/templating/matrix_templates/templates/common-event-fields.tmpl +++ b/templating/matrix_templates/templates/common-event-fields.tmpl @@ -1,7 +1,7 @@ {% import 'tables.tmpl' as tables -%} -{{common_event.type}} Fields -{{(7 + common_event.type | length) * title_kind}} +{{common_event.title}} Fields +{{(7 + common_event.title | length) * title_kind}} {{common_event.desc}} diff --git a/templating/matrix_templates/templates/tables.tmpl b/templating/matrix_templates/templates/tables.tmpl index d62a42594..6d6e4f8ef 100644 --- a/templating/matrix_templates/templates/tables.tmpl +++ b/templating/matrix_templates/templates/tables.tmpl @@ -23,8 +23,8 @@ {% macro split_paramtable(rows_by_loc, titles=["Parameter", "Type", "Description"]) -%} -{% set rowkeys = ['key', 'type', 'desc'] %} -{% set titlerow = {'key': titles[0], 'type': titles[1], 'desc': titles[2]} %} +{% set rowkeys = ['key', 'title', 'desc'] %} +{% set titlerow = {'key': titles[0], 'title': titles[1], 'desc': titles[2]} %} {# We need the rows flattened into a single list. Abuse the 'sum' filter to # join arrays instead of add numbers. -#} diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index 88f23c2c9..e7d73e3fb 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -96,9 +96,9 @@ class TypeTable(object): class TypeTableRow(object): """Describes an object field defined in the json schema """ - def __init__(self, key, typ, desc, required=False): + def __init__(self, key, title, desc, required=False): self.key = key - self.type = typ + self.title = title self.desc = desc self.required = required @@ -143,7 +143,7 @@ def inherit_parents(obj): # iterate through the parents first, and then overwrite with the settings # from the child. for p in map(inherit_parents, parents) + [obj]: - for key in ('title', 'type', 'required', 'description'): + for key in ('type', 'title', 'required', 'description'): if p.get(key): result[key] = p[key] @@ -161,12 +161,12 @@ def get_json_schema_object_fields(obj, enforce_title=False): obj(dict): definition from the JSON schema file. $refs should already have been resolved. enforce_title (bool): if True, and the definition has no "title", - the 'type' result will be set to 'NO_TITLE' (otherwise it will be + the 'title' result will be set to 'NO_TITLE' (otherwise it will be set to None) Returns: dict: with the following fields: - - type (str): title (normally the type name) for the object + - title (str): title (normally the type name) for the object - tables (list[TypeTable]): list of the tables for the type definition """ @@ -190,7 +190,7 @@ def get_json_schema_object_fields(obj, enforce_title=False): key_type = additionalProps.get("x-pattern", "string") res = process_data_type(additionalProps) return { - "type": "{%s: %s}" % (key_type, res["type"]), + "title": "{%s: %s}" % (key_type, res["title"]), "tables": res["tables"], } @@ -210,7 +210,7 @@ def get_json_schema_object_fields(obj, enforce_title=False): # doing all the keys. if not props: return { - "type": obj_title if obj_title else 'object', + "title": obj_title if obj_title else 'object', "tables": [], } @@ -232,7 +232,7 @@ def get_json_schema_object_fields(obj, enforce_title=False): first_table_rows.append(TypeTableRow( key=key_name, - typ=res["type"], + title=res["title"], required=required, desc=res["desc"], )) @@ -252,13 +252,13 @@ def get_json_schema_object_fields(obj, enforce_title=False): assert isinstance(table, TypeTable) return { - "type": obj_title, + "title": obj_title, "tables": tables, } # process a data type definition. returns a dictionary with the keys: -# type: stringified type name +# title: stringified type name # desc: description # enum_desc: description of permissible enum fields # is_object: true if the data type is an object @@ -276,19 +276,22 @@ def process_data_type(prop, required=False, enforce_title=True): prop, enforce_title=enforce_title, ) - prop_type = res["type"] + prop_title = res["title"] tables = res["tables"] is_object = True elif prop_type == "array": nested = process_data_type(prop["items"]) - prop_type = "[%s]" % nested["type"] + prop_title = "[%s]" % nested["title"] tables = nested["tables"] enum_desc = nested["enum_desc"] + else: + prop_title = prop_type + if prop.get("enum"): if len(prop["enum"]) > 1: - prop_type = "enum" + prop_title = "enum" enum_desc = ( "One of: %s" % json.dumps(prop["enum"]) ) @@ -297,8 +300,8 @@ def process_data_type(prop, required=False, enforce_title=True): "Must be '%s'." % prop["enum"][0] ) - if isinstance(prop_type, list): - prop_type = " or ".join(prop_type) + if isinstance(prop_title, list): + prop_title = " or ".join(prop_title) rq = "**Required.**" if required else None desc = " ".join(x for x in [rq, prop.get("description"), enum_desc] if x) @@ -307,7 +310,7 @@ def process_data_type(prop, required=False, enforce_title=True): assert isinstance(table, TypeTable) return { - "type": prop_type, + "title": prop_title, "desc": desc, "enum_desc": enum_desc, "is_object": is_object, @@ -345,7 +348,7 @@ def get_tables_for_response(schema): # is an object, in which case there's little point in having one. if not pv["is_object"]: first_table_row = TypeTableRow( - key="<body>", typ=pv["type"], desc=pv["desc"], + key="<body>", title=pv["title"], desc=pv["desc"], ) tables.insert(0, TypeTable(None, rows=[first_table_row])) @@ -437,9 +440,9 @@ class MatrixUnits(Units): endpoints.append(endpoint) except Exception as e: - raise Exception( - "Error handling endpoint %s %s: %s" % (method, path, e), - ) + logger.error("Error handling endpoint %s %s: %s", + method, path, e) + raise return { "base": api.get("basePath").rstrip("/"), "group": group_name, @@ -495,7 +498,7 @@ class MatrixUnits(Units): ) endpoint["req_param_by_loc"].setdefault(param_loc, []).append( - TypeTableRow(key=param_name, typ=val_type, desc=desc), + TypeTableRow(key=param_name, title=val_type, desc=desc), ) example = get_example_for_param(param) @@ -539,7 +542,7 @@ class MatrixUnits(Units): headers = TypeTable() for (header_name, header) in good_response["headers"].iteritems(): headers.add_row( - TypeTableRow(key=header_name, typ=header["type"], + TypeTableRow(key=header_name, title=header["type"], desc=header["description"]), ) endpoint["res_headers"] = headers @@ -619,8 +622,8 @@ class MatrixUnits(Units): Returns: dict: with the following properties: - "type": prop_type, - "desc": desc, + "title": Event title (from the 'title' field of the schema) + "desc": desc "tables": list[TypeTable] """ path = CORE_EVENT_SCHEMA From e5e249dce1a1cc6fc243da821116bf974c59906e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 17:17:59 +0000 Subject: [PATCH 202/801] Remove redundant 'Required' annotations from event fields --- event-schemas/schema/core-event-schema/event.yaml | 3 ++- event-schemas/schema/core-event-schema/room_event.yaml | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/event-schemas/schema/core-event-schema/event.yaml b/event-schemas/schema/core-event-schema/event.yaml index ebf67aa36..7a0602831 100644 --- a/event-schemas/schema/core-event-schema/event.yaml +++ b/event-schemas/schema/core-event-schema/event.yaml @@ -3,11 +3,12 @@ properties: content: description: The fields in this object will vary depending on the type of event. When interacting with the REST API, this is the HTTP body. - title: EventContent type: object type: description: The type of event. This SHOULD be namespaced similar to Java package naming conventions e.g. 'com.example.subdomain.event.type' type: string +required: + - type title: Event type: object diff --git a/event-schemas/schema/core-event-schema/room_event.yaml b/event-schemas/schema/core-event-schema/room_event.yaml index de72f5709..a8a23f549 100644 --- a/event-schemas/schema/core-event-schema/room_event.yaml +++ b/event-schemas/schema/core-event-schema/room_event.yaml @@ -4,17 +4,17 @@ description: In addition to the Event fields, Room Events have the following add fields. properties: event_id: - description: Required. The globally unique event identifier. + description: The globally unique event identifier. type: string room_id: - description: Required. The ID of the room associated with this event. + description: The ID of the room associated with this event. type: string sender: - description: Required. Contains the fully-qualified ID of the user who *sent* + description: Contains the fully-qualified ID of the user who *sent* this event. type: string origin_server_ts: - description: Required. Timestamp in milliseconds on originating homeserver + description: Timestamp in milliseconds on originating homeserver when this event was sent. type: number unsigned: From fbd2b22c71eefbae1f74ea5028fc61b586306c43 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Fri, 3 Nov 2017 17:24:53 +0000 Subject: [PATCH 203/801] Inherit 'required' correctly --- templating/matrix_templates/units.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/templating/matrix_templates/units.py b/templating/matrix_templates/units.py index e7d73e3fb..dfcb6c826 100644 --- a/templating/matrix_templates/units.py +++ b/templating/matrix_templates/units.py @@ -143,10 +143,16 @@ def inherit_parents(obj): # iterate through the parents first, and then overwrite with the settings # from the child. for p in map(inherit_parents, parents) + [obj]: - for key in ('type', 'title', 'required', 'description'): + # child blats out type, title and description + for key in ('type', 'title', 'description'): if p.get(key): result[key] = p[key] + # other fields get merged + for key in ('required', ): + if p.get(key): + result.setdefault(key, []).extend(p[key]) + for key in ('properties', 'additionalProperties', 'patternProperties'): if p.get(key): result.setdefault(key, OrderedDict()).update(p[key]) From 68e12feec7dec6b3a43b381ceb7958d226c67de0 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Sun, 5 Nov 2017 01:14:44 +0100 Subject: [PATCH 204/801] Add explicit examples for JSON encoding --- specification/appendices/signing_json.rst | 149 ++++++++++++++++++++++ 1 file changed, 149 insertions(+) diff --git a/specification/appendices/signing_json.rst b/specification/appendices/signing_json.rst index 30bf91a07..795d66693 100644 --- a/specification/appendices/signing_json.rst +++ b/specification/appendices/signing_json.rst @@ -86,6 +86,155 @@ insignificant whitespace, fractions, exponents and redundant character escapes / %x75.30.30.30 (%x30-37 / %x62 / %x65-66) ; u000X / %x75.30.30.31 (%x30-39 / %x61-66) ; u001X +Examples +++++++++ + +To assist in the development of compatible implementations, the following test +values may be useful for verifying the canonical transformation code. + +Given the following JSON object: + +.. code:: json + + {} + +The following canonical JSON should be produced: + +.. code:: json + + {} + +Given the following JSON object: + +.. code:: json + + { + "one": 1, + "two": "Two" + } + +The following canonical JSON should be produced: + +.. code:: json + + {"one":1,"two":"Two"} + +Given the following JSON object: + +.. code:: json + + { + "b": "2", + "a": "1" + } + +The following canonical JSON should be produced: + +.. code:: json + + {"a":"1","b":"2"} + +Given the following JSON object: + +.. code:: json + + {"b":"2","a":"1"} + +The following canonical JSON should be produced: + +.. code:: json + + {"a":"1","b":"2"} + +Given the following JSON object: + +.. code:: json + + { + "auth": { + "success": true, + "mxid": "@john.doe:example.com", + "profile": { + "display_name": "John Doe", + "three_pids": [ + { + "medium": "email", + "address": "john.doe@example.org" + }, + { + "medium": "msisdn", + "address": "123456789" + } + ] + } + } + } + + +The following canonical JSON should be produced: + +.. code:: json + + {"auth":{"mxid":"@john.doe:example.com","profile":{"display_name":"John Doe","three_pids":[{"address":"john.doe@example.org","medium":"email"},{"address":"123456789","medium":"msisdn"}]},"success":true}} + + +Given the following JSON object: + +.. code:: json + + { + "a": "日本語" + } + +The following canonical JSON should be produced: + +.. code:: json + + {"a":"日本語"} + +Given the following JSON object: + +.. code:: json + + { + "本": 2, + "日": 1 + } + +The following canonical JSON should be produced: + +.. code:: json + + {"日":1,"本":2} + +Given the following JSON object: + +.. code:: json + + { + "a": "\u65E5" + } + +The following canonical JSON should be produced: + +.. code:: json + + {"a":"日"} + +Given the following JSON object: + +.. code:: json + + { + "a": null + } + +The following canonical JSON should be produced: + +.. code:: json + + {"a":null} + Signing Details ~~~~~~~~~~~~~~~ From 18f558f065ccca6eaeaeef9dc112d32a6e224121 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Sat, 4 Nov 2017 22:23:57 +0000 Subject: [PATCH 205/801] remove old docker repo --- supporting-docs/projects/2014-08-12-synapse.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supporting-docs/projects/2014-08-12-synapse.md b/supporting-docs/projects/2014-08-12-synapse.md index 5e5e6f264..c01e5ad2e 100644 --- a/supporting-docs/projects/2014-08-12-synapse.md +++ b/supporting-docs/projects/2014-08-12-synapse.md @@ -14,7 +14,7 @@ Matrix.org’s reference server – Synapse: [https://github.com/matrix-org/syna Apt repo: [https://matrix.org/packages/debian/](https://matrix.org/packages/debian/) -Dockerfile from Silvio Fricke: [https://registry.hub.docker.com/u/silviof/docker-matrix/](https://registry.hub.docker.com/u/silviof/docker-matrix/) – also hosted on [https://github.com/matrix-org/docker-matrix](https://github.com/matrix-org/docker-matrix) +Dockerfile from Silvio Fricke: [https://registry.hub.docker.com/u/silviof/docker-matrix/](https://registry.hub.docker.com/u/silviof/docker-matrix/) ArchLinux package from Ivan Shapovalov: [https://www.archlinux.org/packages/community/any/matrix-synapse/](https://www.archlinux.org/packages/community/any/matrix-synapse/) From 17af66105d0f02495a584f5f2903bc040cdb4b00 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Mon, 6 Nov 2017 12:34:59 +0000 Subject: [PATCH 206/801] Fix PR links in changelog --- changelogs/client_server.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index defe028d2..c24f9ef44 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -65,11 +65,11 @@ - Add endpoints and logic for invites and third-party invites to the federation spec and update the JSON of the request sent by the identity server upon 3PID binding - (`#997 <https://github.com/matrix-org/matrix-doc/pull/997>`) + (`#997 <https://github.com/matrix-org/matrix-doc/pull/997>`_) - Fix "membership" property on third-party invite upgrade example - (`#995 <https://github.com/matrix-org/matrix-doc/pull/995>`) + (`#995 <https://github.com/matrix-org/matrix-doc/pull/995>`_) - Fix response format and 404 example for room alias lookup - (`#960 <https://github.com/matrix-org/matrix-doc/pull/960>`) + (`#960 <https://github.com/matrix-org/matrix-doc/pull/960>`_) - Fix examples of ``m.room.member`` event and room state change, and added a clarification on the membership event sent upon profile update (`#950 <https://github.com/matrix-org/matrix-doc/pull/950>`_). From e7772af5c32e094d849c2ca219295a20abb5c22e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 6 Nov 2017 14:57:04 +0000 Subject: [PATCH 207/801] Supporting-docs now in matrix.org repo. --- README.rst | 10 +- scripts/generate-matrix-org-assets | 3 - .../examples/application-services.rst | 129 --- .../guides/2015-08-14-getting_involved.md | 141 ---- supporting-docs/guides/2015-08-19-faq.md | 691 --------------- .../guides/2015-08-21-application_services.md | 146 ---- supporting-docs/guides/2016-01-01-index.md | 18 - .../guides/2016-01-05-code_of_conduct.md | 85 -- .../guides/2016-03-15-lets-encrypt.rst | 37 - ...-05-05-client-server-migrating-from-v1.rst | 114 --- .../guides/2016-05-05-client-server.rst | 394 --------- .../guides/2016-10-18-e2e_implementation.rst | 797 ------------------ .../guides/2017-03-11-types-of-bridging.md | 79 -- .../howtos/2014-06-09-client-server.md | 11 - .../jsfiddles/create_room_send_msg/demo.css | 17 - .../jsfiddles/create_room_send_msg/demo.html | 30 - .../jsfiddles/create_room_send_msg/demo.js | 113 --- .../howtos/jsfiddles/event_stream/demo.css | 17 - .../howtos/jsfiddles/event_stream/demo.html | 23 - .../howtos/jsfiddles/event_stream/demo.js | 145 ---- .../howtos/jsfiddles/example_app/demo.css | 43 - .../howtos/jsfiddles/example_app/demo.details | 7 - .../howtos/jsfiddles/example_app/demo.html | 56 -- .../howtos/jsfiddles/example_app/demo.js | 327 ------- .../howtos/jsfiddles/register_login/demo.css | 7 - .../howtos/jsfiddles/register_login/demo.html | 20 - .../howtos/jsfiddles/register_login/demo.js | 79 -- .../jsfiddles/room_memberships/demo.css | 17 - .../jsfiddles/room_memberships/demo.html | 37 - .../howtos/jsfiddles/room_memberships/demo.js | 141 ---- supporting-docs/projects/2014-06-09-riot.md | 20 - supporting-docs/projects/2014-06-09-vector.md | 10 - .../projects/2014-08-12-synapse.md | 32 - supporting-docs/projects/2014-09-10-neb.md | 11 - .../2014-09-30-matrix.org-android-sdk.md | 10 - .../projects/2014-09-30-matrix.org-ios-sdk.md | 10 - .../projects/2014-11-03-pallium.md | 13 - .../2014-11-04-matrix.org-angularjs-sdk.md | 12 - .../2014-12-06-perl-matrix-irc-bridge.md | 11 - .../2014-12-10-ivar2-matrix-irc-bot.md | 11 - supporting-docs/projects/2015-01-01-index.md | 11 - .../2015-01-06-matrix.org-python-sdk.md | 10 - .../2015-02-26-openmarkets-sms-gateway.md | 13 - .../projects/2015-02-26-weechat.md | 18 - .../projects/2015-02-27-matrix.org-as-sdk.md | 10 - .../projects/2015-03-04-matrix.org-js-sdk.md | 10 - .../projects/2015-03-10-irc-bridge.md | 14 - .../projects/2015-03-15-redpill-irc-bridge.md | 10 - .../projects/2015-03-17-jsynapse.md | 13 - .../2015-03-18-gomatrix-irc-bridge.md | 10 - .../2015-04-01-matrix.org-matrixkit-ios.md | 10 - .../projects/2015-04-02-riot-ios.md | 16 - .../projects/2015-04-03-vector-ios.md | 10 - ...04-18-project-clearwater-matrix-gateway.md | 15 - .../2015-05-06-newlisp-matrix-client.md | 10 - .../projects/2015-06-02-matrix-erlang-sdk.md | 10 - .../projects/2015-06-02-riot-android.md | 18 - .../projects/2015-06-02-vector-android.md | 10 - .../2015-06-09-matrix.org-react-sdk.md | 11 - supporting-docs/projects/2015-06-26-tensor.md | 14 - .../projects/2015-06-27-quaternion.md | 14 - .../projects/2015-07-01-xmpptrix.md | 10 - .../2015-08-19-matrix-appservice-bridge.md | 12 - .../2015-09-10-matrix-appservice-respoke.md | 12 - .../projects/2015-09-10-vertobridge.md | 10 - .../projects/2015-09-17-bullettime.md | 10 - .../2015-09-18-matrix-appservice-slack.md | 12 - .../projects/2015-10-04-matrix-xmpp-bridge.md | 12 - .../projects/2015-10-06-node-purple.md | 11 - .../projects/2015-10-09-slackbridge.md | 12 - .../projects/2015-10-13-purple-matrix.md | 13 - supporting-docs/projects/2015-10-23-bender.md | 11 - supporting-docs/projects/2015-11-10-mero.md | 15 - .../projects/2015-11-28-matrixtool.md | 13 - supporting-docs/projects/2015-11-29-ruma.md | 11 - .../projects/2015-12-04-hubot-matrix.md | 11 - .../projects/2015-12-10-glib-sdk.md | 10 - supporting-docs/projects/2015-12-10-pto.md | 15 - .../projects/2016-01-02-matrix-console-ios.md | 20 - .../2016-01-03-matrix-console-android.md | 22 - .../projects/2016-01-04-matrix-console.md | 21 - ...6-01-05-glowing-bear-and-weechat-plugin.md | 14 - .../projects/2016-01-13-dendron.md | 12 - .../2016-01-30-rocket-chat-federation.md | 13 - supporting-docs/projects/2016-02-01-unplug.md | 14 - .../projects/2016-02-03-feedbot.md | 13 - .../projects/2016-02-03-lightrix.md | 13 - supporting-docs/projects/2016-02-03-mcat.md | 13 - .../projects/2016-02-03-polynomial.md | 13 - .../projects/2016-02-03-redpill.md | 14 - .../projects/2016-02-05-headjack.md | 14 - .../2016-02-05-net-async-matrix-perl.md | 10 - .../projects/2016-02-05-try-matrix-now.md | 216 ----- .../projects/2016-02-06-vector-desktop.md | 10 - .../projects/2016-02-08-h4x.no-blog.md | 11 - .../2016-02-10-matrix-appservice-gitter.md | 12 - .../projects/2016-03-18-matrix-dotnet-sdk.md | 12 - supporting-docs/projects/2016-03-19-mpd-dj.md | 17 - .../projects/2016-04-05-libqmatrixclient.md | 12 - ...-concourse-matrix-notification-resource.md | 12 - .../projects/2016-05-11-goMatrix.md | 10 - .../projects/2016-05-23-twitter-bridge.md | 10 - .../2016-06-19-matrix-appservice-discord.md | 14 - .../2016-06-30-hdd-space-calc-for-synapse.md | 13 - supporting-docs/projects/2016-07-03-nachat.md | 14 - supporting-docs/projects/2016-07-05-revolt.md | 14 - supporting-docs/projects/2016-07-29-go-neb.md | 13 - ...2016-07-29-matrix-appservice-rocketchat.md | 12 - ...-08-10-matrix-appservice-gitter-twisted.md | 16 - .../projects/2016-08-11-nervewire.md | 11 - .../projects/2016-08-27-interlocutor.md | 13 - .../projects/2016-09-04-hello-matrix-bot.md | 29 - .../projects/2016-09-05-node-red-nodes.md | 15 - .../projects/2016-09-13-telematrix.md | 12 - .../projects/2016-09-17-drupal-matrix-api.md | 12 - .../2016-10-04-matrix-dotnet-framework.md | 14 - .../projects/2016-10-04-matrix-ircd.md | 17 - supporting-docs/projects/2016-10-07-mm.md | 29 - .../projects/2016-10-12-freebird.md | 13 - .../projects/2016-10-16-hangouts-bridge.md | 12 - .../projects/2016-10-16-matrix-esp8266.md | 13 - supporting-docs/projects/2016-10-18-riotic.md | 13 - .../projects/2016-10-22-journal.md | 15 - supporting-docs/projects/2016-10-30-mxpp.md | 12 - supporting-docs/projects/2016-11-12-matrex.md | 11 - .../projects/2016-11-20-matrix-rocketchat.md | 14 - .../projects/2016-11-27-matrix-pushgw.md | 13 - .../2016-11-27-synapse-password-reset.md | 13 - .../projects/2016-11-29-gomatrix.md | 13 - .../projects/2016-11-29-matrix-live.md | 17 - .../2016-12-03-matrix-appservice-imessage.md | 13 - .../projects/2016-12-11-riotchat-ansible.md | 13 - .../projects/2016-12-12-matrix-fb-chat.md | 18 - .../projects/2016-12-17-matrix-email-bot.md | 14 - .../projects/2016-12-21-tiny-matrix-bot.md | 30 - .../projects/2016-12-26-matrix-music-bot.md | 13 - .../2016-12-30-matrix-appservice-facebook.md | 12 - .../projects/2017-01-03-matrigram.md | 17 - .../projects/2017-01-05-synpurge.md | 13 - supporting-docs/projects/2017-01-23-mxisd.md | 27 - .../projects/2017-01-29-rocket-sheep.md | 16 - .../projects/2017-01-31-matrix-recorder.md | 18 - .../2017-02-02-matrix-appservice-minecraft.md | 14 - supporting-docs/projects/2017-02-05-navi.md | 17 - .../projects/2017-02-06-matrixclient.md | 15 - .../projects/2017-02-06-smartparking.md | 13 - .../2017-02-17-python-matrix-bot-api.md | 16 - .../2017-02-23-matrix-appservice-instagram.md | 14 - .../2017-03-18-matrix-embedded-federation.md | 14 - .../projects/2017-03-19-matrix-voyager-bot.md | 16 - supporting-docs/projects/2017-04-21-gyr.md | 15 - .../2017-04-27-matrix-sync-java-sdk.md | 14 - supporting-docs/projects/2017-05-02-circle.md | 61 -- .../projects/2017-05-02-dendrite.md | 12 - .../2017-05-02-glitch-in-the-matrix.md | 12 - .../2017-05-02-matrix-knowledge-base.md | 12 - .../projects/2017-05-02-matrix-relay.md | 13 - .../projects/2017-05-02-matrixcraft-bridge.md | 12 - supporting-docs/projects/2017-05-02-neo.md | 15 - supporting-docs/projects/2017-05-02-nheko.md | 17 - .../projects/2017-05-02-ruma-gtk.md | 15 - .../projects/2017-05-02-swift-matrix-sdk.md | 13 - supporting-docs/projects/2017-05-02-sydent.md | 25 - .../2017-05-02-synapse-diaspora-auth.md | 13 - .../projects/2017-05-02-thunderbird.md | 13 - .../projects/2017-05-18-matrix-pollbot.md | 14 - .../2017-05-24-matrix-appservice-email.md | 19 - .../projects/2017-05-25-matrix-dimension.md | 13 - .../projects/2017-06-20-koma-im.md | 16 - .../projects/2017-06-27-matrix-topic-bot.md | 14 - .../projects/2017-07-03-matrix-wishlist.md | 11 - .../2017-07-08-matrix-appservice-webhooks.md | 14 - .../projects/2017-08-09-matrix-static.md | 14 - .../2017-08-18-matrix-appservice-twilio.md | 14 - .../projects/2017-08-21-matterbridge.md | 13 - .../projects/2017-08-31-fractal.md | 16 - .../projects/2017-09-13-godot-matrix.md | 13 - .../projects/2017-10-12-SmsMatrix.md | 13 - .../projects/2017-10-14-morpheus.md | 21 - supporting-docs/projects/README.md | 6 - .../projects/images/200px-druplicon.png | Bin 14256 -> 0 bytes .../images/circle-fe-term+matrix-small.png | Bin 21579 -> 0 bytes .../projects/images/circle-fe-term+matrix.png | Bin 86769 -> 0 bytes .../projects/images/concourse-ci-logo.png | Bin 20629 -> 0 bytes supporting-docs/projects/images/discord.png | Bin 793286 -> 0 bytes .../projects/images/fractal-large.png | Bin 182399 -> 0 bytes .../projects/images/fractal-small.png | Bin 14136 -> 0 bytes .../images/koma-preview-thumbnail.png | Bin 16274 -> 0 bytes .../projects/images/koma-preview.png | Bin 54047 -> 0 bytes ...rix-console-android-2016-02-16-cropped.png | Bin 12077 -> 0 bytes ...atrix-console-android-2016-02-16-large.png | Bin 141463 -> 0 bytes ...atrix-console-android-2016-02-16-small.png | Bin 14616 -> 0 bytes .../matrix-console-ios-2016-02-16-cropped.png | Bin 15252 -> 0 bytes .../matrix-console-ios-2016-02-16-large.png | Bin 116080 -> 0 bytes .../matrix-console-ios-2016-02-16-small.png | Bin 17866 -> 0 bytes .../projects/images/matrix-rocketchat.png | Bin 205787 -> 0 bytes .../projects/images/matrixclient.png | Bin 305661 -> 0 bytes supporting-docs/projects/images/morpheus.png | Bin 27507 -> 0 bytes .../projects/images/nachat005-150.jpg | Bin 12517 -> 0 bytes supporting-docs/projects/images/nachat005.jpg | Bin 201101 -> 0 bytes supporting-docs/projects/images/pto.png | Bin 12611 -> 0 bytes .../projects/images/riot-web-featured.png | Bin 47871 -> 0 bytes .../projects/images/riot-web-large.png | Bin 623569 -> 0 bytes .../projects/images/riot-web-small.png | Bin 16526 -> 0 bytes .../images/vector-android-featured.png | Bin 18119 -> 0 bytes .../projects/images/vector-android-large.png | Bin 141769 -> 0 bytes .../projects/images/vector-android-small.png | Bin 11745 -> 0 bytes .../projects/images/vector-iOS-featured.png | Bin 15484 -> 0 bytes .../projects/images/vector-iOS-large.png | Bin 114425 -> 0 bytes .../projects/images/vector-iOS-small.png | Bin 10308 -> 0 bytes supporting-docs/projects/template.md | 16 - 211 files changed, 3 insertions(+), 6075 deletions(-) delete mode 100644 supporting-docs/examples/application-services.rst delete mode 100644 supporting-docs/guides/2015-08-14-getting_involved.md delete mode 100644 supporting-docs/guides/2015-08-19-faq.md delete mode 100644 supporting-docs/guides/2015-08-21-application_services.md delete mode 100644 supporting-docs/guides/2016-01-01-index.md delete mode 100644 supporting-docs/guides/2016-01-05-code_of_conduct.md delete mode 100644 supporting-docs/guides/2016-03-15-lets-encrypt.rst delete mode 100644 supporting-docs/guides/2016-05-05-client-server-migrating-from-v1.rst delete mode 100644 supporting-docs/guides/2016-05-05-client-server.rst delete mode 100644 supporting-docs/guides/2016-10-18-e2e_implementation.rst delete mode 100644 supporting-docs/guides/2017-03-11-types-of-bridging.md delete mode 100644 supporting-docs/howtos/2014-06-09-client-server.md delete mode 100644 supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.css delete mode 100644 supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.html delete mode 100644 supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.js delete mode 100644 supporting-docs/howtos/jsfiddles/event_stream/demo.css delete mode 100644 supporting-docs/howtos/jsfiddles/event_stream/demo.html delete mode 100644 supporting-docs/howtos/jsfiddles/event_stream/demo.js delete mode 100644 supporting-docs/howtos/jsfiddles/example_app/demo.css delete mode 100644 supporting-docs/howtos/jsfiddles/example_app/demo.details delete mode 100644 supporting-docs/howtos/jsfiddles/example_app/demo.html delete mode 100644 supporting-docs/howtos/jsfiddles/example_app/demo.js delete mode 100644 supporting-docs/howtos/jsfiddles/register_login/demo.css delete mode 100644 supporting-docs/howtos/jsfiddles/register_login/demo.html delete mode 100644 supporting-docs/howtos/jsfiddles/register_login/demo.js delete mode 100644 supporting-docs/howtos/jsfiddles/room_memberships/demo.css delete mode 100644 supporting-docs/howtos/jsfiddles/room_memberships/demo.html delete mode 100644 supporting-docs/howtos/jsfiddles/room_memberships/demo.js delete mode 100644 supporting-docs/projects/2014-06-09-riot.md delete mode 100644 supporting-docs/projects/2014-06-09-vector.md delete mode 100644 supporting-docs/projects/2014-08-12-synapse.md delete mode 100644 supporting-docs/projects/2014-09-10-neb.md delete mode 100644 supporting-docs/projects/2014-09-30-matrix.org-android-sdk.md delete mode 100644 supporting-docs/projects/2014-09-30-matrix.org-ios-sdk.md delete mode 100644 supporting-docs/projects/2014-11-03-pallium.md delete mode 100644 supporting-docs/projects/2014-11-04-matrix.org-angularjs-sdk.md delete mode 100644 supporting-docs/projects/2014-12-06-perl-matrix-irc-bridge.md delete mode 100644 supporting-docs/projects/2014-12-10-ivar2-matrix-irc-bot.md delete mode 100644 supporting-docs/projects/2015-01-01-index.md delete mode 100644 supporting-docs/projects/2015-01-06-matrix.org-python-sdk.md delete mode 100644 supporting-docs/projects/2015-02-26-openmarkets-sms-gateway.md delete mode 100644 supporting-docs/projects/2015-02-26-weechat.md delete mode 100644 supporting-docs/projects/2015-02-27-matrix.org-as-sdk.md delete mode 100644 supporting-docs/projects/2015-03-04-matrix.org-js-sdk.md delete mode 100644 supporting-docs/projects/2015-03-10-irc-bridge.md delete mode 100644 supporting-docs/projects/2015-03-15-redpill-irc-bridge.md delete mode 100644 supporting-docs/projects/2015-03-17-jsynapse.md delete mode 100644 supporting-docs/projects/2015-03-18-gomatrix-irc-bridge.md delete mode 100644 supporting-docs/projects/2015-04-01-matrix.org-matrixkit-ios.md delete mode 100644 supporting-docs/projects/2015-04-02-riot-ios.md delete mode 100644 supporting-docs/projects/2015-04-03-vector-ios.md delete mode 100644 supporting-docs/projects/2015-04-18-project-clearwater-matrix-gateway.md delete mode 100644 supporting-docs/projects/2015-05-06-newlisp-matrix-client.md delete mode 100644 supporting-docs/projects/2015-06-02-matrix-erlang-sdk.md delete mode 100644 supporting-docs/projects/2015-06-02-riot-android.md delete mode 100644 supporting-docs/projects/2015-06-02-vector-android.md delete mode 100644 supporting-docs/projects/2015-06-09-matrix.org-react-sdk.md delete mode 100644 supporting-docs/projects/2015-06-26-tensor.md delete mode 100644 supporting-docs/projects/2015-06-27-quaternion.md delete mode 100644 supporting-docs/projects/2015-07-01-xmpptrix.md delete mode 100644 supporting-docs/projects/2015-08-19-matrix-appservice-bridge.md delete mode 100644 supporting-docs/projects/2015-09-10-matrix-appservice-respoke.md delete mode 100644 supporting-docs/projects/2015-09-10-vertobridge.md delete mode 100644 supporting-docs/projects/2015-09-17-bullettime.md delete mode 100644 supporting-docs/projects/2015-09-18-matrix-appservice-slack.md delete mode 100644 supporting-docs/projects/2015-10-04-matrix-xmpp-bridge.md delete mode 100644 supporting-docs/projects/2015-10-06-node-purple.md delete mode 100644 supporting-docs/projects/2015-10-09-slackbridge.md delete mode 100644 supporting-docs/projects/2015-10-13-purple-matrix.md delete mode 100644 supporting-docs/projects/2015-10-23-bender.md delete mode 100644 supporting-docs/projects/2015-11-10-mero.md delete mode 100644 supporting-docs/projects/2015-11-28-matrixtool.md delete mode 100644 supporting-docs/projects/2015-11-29-ruma.md delete mode 100644 supporting-docs/projects/2015-12-04-hubot-matrix.md delete mode 100644 supporting-docs/projects/2015-12-10-glib-sdk.md delete mode 100644 supporting-docs/projects/2015-12-10-pto.md delete mode 100644 supporting-docs/projects/2016-01-02-matrix-console-ios.md delete mode 100644 supporting-docs/projects/2016-01-03-matrix-console-android.md delete mode 100644 supporting-docs/projects/2016-01-04-matrix-console.md delete mode 100644 supporting-docs/projects/2016-01-05-glowing-bear-and-weechat-plugin.md delete mode 100644 supporting-docs/projects/2016-01-13-dendron.md delete mode 100644 supporting-docs/projects/2016-01-30-rocket-chat-federation.md delete mode 100644 supporting-docs/projects/2016-02-01-unplug.md delete mode 100644 supporting-docs/projects/2016-02-03-feedbot.md delete mode 100644 supporting-docs/projects/2016-02-03-lightrix.md delete mode 100644 supporting-docs/projects/2016-02-03-mcat.md delete mode 100644 supporting-docs/projects/2016-02-03-polynomial.md delete mode 100644 supporting-docs/projects/2016-02-03-redpill.md delete mode 100644 supporting-docs/projects/2016-02-05-headjack.md delete mode 100644 supporting-docs/projects/2016-02-05-net-async-matrix-perl.md delete mode 100644 supporting-docs/projects/2016-02-05-try-matrix-now.md delete mode 100644 supporting-docs/projects/2016-02-06-vector-desktop.md delete mode 100644 supporting-docs/projects/2016-02-08-h4x.no-blog.md delete mode 100644 supporting-docs/projects/2016-02-10-matrix-appservice-gitter.md delete mode 100644 supporting-docs/projects/2016-03-18-matrix-dotnet-sdk.md delete mode 100644 supporting-docs/projects/2016-03-19-mpd-dj.md delete mode 100644 supporting-docs/projects/2016-04-05-libqmatrixclient.md delete mode 100644 supporting-docs/projects/2016-04-30-concourse-matrix-notification-resource.md delete mode 100644 supporting-docs/projects/2016-05-11-goMatrix.md delete mode 100644 supporting-docs/projects/2016-05-23-twitter-bridge.md delete mode 100644 supporting-docs/projects/2016-06-19-matrix-appservice-discord.md delete mode 100644 supporting-docs/projects/2016-06-30-hdd-space-calc-for-synapse.md delete mode 100644 supporting-docs/projects/2016-07-03-nachat.md delete mode 100644 supporting-docs/projects/2016-07-05-revolt.md delete mode 100644 supporting-docs/projects/2016-07-29-go-neb.md delete mode 100644 supporting-docs/projects/2016-07-29-matrix-appservice-rocketchat.md delete mode 100644 supporting-docs/projects/2016-08-10-matrix-appservice-gitter-twisted.md delete mode 100644 supporting-docs/projects/2016-08-11-nervewire.md delete mode 100644 supporting-docs/projects/2016-08-27-interlocutor.md delete mode 100644 supporting-docs/projects/2016-09-04-hello-matrix-bot.md delete mode 100644 supporting-docs/projects/2016-09-05-node-red-nodes.md delete mode 100644 supporting-docs/projects/2016-09-13-telematrix.md delete mode 100644 supporting-docs/projects/2016-09-17-drupal-matrix-api.md delete mode 100644 supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md delete mode 100644 supporting-docs/projects/2016-10-04-matrix-ircd.md delete mode 100644 supporting-docs/projects/2016-10-07-mm.md delete mode 100644 supporting-docs/projects/2016-10-12-freebird.md delete mode 100644 supporting-docs/projects/2016-10-16-hangouts-bridge.md delete mode 100644 supporting-docs/projects/2016-10-16-matrix-esp8266.md delete mode 100644 supporting-docs/projects/2016-10-18-riotic.md delete mode 100644 supporting-docs/projects/2016-10-22-journal.md delete mode 100644 supporting-docs/projects/2016-10-30-mxpp.md delete mode 100644 supporting-docs/projects/2016-11-12-matrex.md delete mode 100644 supporting-docs/projects/2016-11-20-matrix-rocketchat.md delete mode 100644 supporting-docs/projects/2016-11-27-matrix-pushgw.md delete mode 100644 supporting-docs/projects/2016-11-27-synapse-password-reset.md delete mode 100644 supporting-docs/projects/2016-11-29-gomatrix.md delete mode 100644 supporting-docs/projects/2016-11-29-matrix-live.md delete mode 100644 supporting-docs/projects/2016-12-03-matrix-appservice-imessage.md delete mode 100644 supporting-docs/projects/2016-12-11-riotchat-ansible.md delete mode 100644 supporting-docs/projects/2016-12-12-matrix-fb-chat.md delete mode 100644 supporting-docs/projects/2016-12-17-matrix-email-bot.md delete mode 100644 supporting-docs/projects/2016-12-21-tiny-matrix-bot.md delete mode 100644 supporting-docs/projects/2016-12-26-matrix-music-bot.md delete mode 100644 supporting-docs/projects/2016-12-30-matrix-appservice-facebook.md delete mode 100644 supporting-docs/projects/2017-01-03-matrigram.md delete mode 100644 supporting-docs/projects/2017-01-05-synpurge.md delete mode 100644 supporting-docs/projects/2017-01-23-mxisd.md delete mode 100644 supporting-docs/projects/2017-01-29-rocket-sheep.md delete mode 100644 supporting-docs/projects/2017-01-31-matrix-recorder.md delete mode 100644 supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md delete mode 100644 supporting-docs/projects/2017-02-05-navi.md delete mode 100644 supporting-docs/projects/2017-02-06-matrixclient.md delete mode 100644 supporting-docs/projects/2017-02-06-smartparking.md delete mode 100644 supporting-docs/projects/2017-02-17-python-matrix-bot-api.md delete mode 100644 supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md delete mode 100644 supporting-docs/projects/2017-03-18-matrix-embedded-federation.md delete mode 100644 supporting-docs/projects/2017-03-19-matrix-voyager-bot.md delete mode 100644 supporting-docs/projects/2017-04-21-gyr.md delete mode 100644 supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md delete mode 100644 supporting-docs/projects/2017-05-02-circle.md delete mode 100644 supporting-docs/projects/2017-05-02-dendrite.md delete mode 100644 supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md delete mode 100644 supporting-docs/projects/2017-05-02-matrix-knowledge-base.md delete mode 100644 supporting-docs/projects/2017-05-02-matrix-relay.md delete mode 100644 supporting-docs/projects/2017-05-02-matrixcraft-bridge.md delete mode 100644 supporting-docs/projects/2017-05-02-neo.md delete mode 100644 supporting-docs/projects/2017-05-02-nheko.md delete mode 100644 supporting-docs/projects/2017-05-02-ruma-gtk.md delete mode 100644 supporting-docs/projects/2017-05-02-swift-matrix-sdk.md delete mode 100644 supporting-docs/projects/2017-05-02-sydent.md delete mode 100644 supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md delete mode 100644 supporting-docs/projects/2017-05-02-thunderbird.md delete mode 100644 supporting-docs/projects/2017-05-18-matrix-pollbot.md delete mode 100644 supporting-docs/projects/2017-05-24-matrix-appservice-email.md delete mode 100644 supporting-docs/projects/2017-05-25-matrix-dimension.md delete mode 100644 supporting-docs/projects/2017-06-20-koma-im.md delete mode 100644 supporting-docs/projects/2017-06-27-matrix-topic-bot.md delete mode 100644 supporting-docs/projects/2017-07-03-matrix-wishlist.md delete mode 100644 supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md delete mode 100644 supporting-docs/projects/2017-08-09-matrix-static.md delete mode 100644 supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md delete mode 100644 supporting-docs/projects/2017-08-21-matterbridge.md delete mode 100644 supporting-docs/projects/2017-08-31-fractal.md delete mode 100644 supporting-docs/projects/2017-09-13-godot-matrix.md delete mode 100644 supporting-docs/projects/2017-10-12-SmsMatrix.md delete mode 100644 supporting-docs/projects/2017-10-14-morpheus.md delete mode 100644 supporting-docs/projects/README.md delete mode 100644 supporting-docs/projects/images/200px-druplicon.png delete mode 100644 supporting-docs/projects/images/circle-fe-term+matrix-small.png delete mode 100644 supporting-docs/projects/images/circle-fe-term+matrix.png delete mode 100644 supporting-docs/projects/images/concourse-ci-logo.png delete mode 100644 supporting-docs/projects/images/discord.png delete mode 100644 supporting-docs/projects/images/fractal-large.png delete mode 100644 supporting-docs/projects/images/fractal-small.png delete mode 100644 supporting-docs/projects/images/koma-preview-thumbnail.png delete mode 100644 supporting-docs/projects/images/koma-preview.png delete mode 100644 supporting-docs/projects/images/matrix-console-android-2016-02-16-cropped.png delete mode 100644 supporting-docs/projects/images/matrix-console-android-2016-02-16-large.png delete mode 100644 supporting-docs/projects/images/matrix-console-android-2016-02-16-small.png delete mode 100644 supporting-docs/projects/images/matrix-console-ios-2016-02-16-cropped.png delete mode 100644 supporting-docs/projects/images/matrix-console-ios-2016-02-16-large.png delete mode 100644 supporting-docs/projects/images/matrix-console-ios-2016-02-16-small.png delete mode 100644 supporting-docs/projects/images/matrix-rocketchat.png delete mode 100644 supporting-docs/projects/images/matrixclient.png delete mode 100644 supporting-docs/projects/images/morpheus.png delete mode 100644 supporting-docs/projects/images/nachat005-150.jpg delete mode 100644 supporting-docs/projects/images/nachat005.jpg delete mode 100644 supporting-docs/projects/images/pto.png delete mode 100644 supporting-docs/projects/images/riot-web-featured.png delete mode 100644 supporting-docs/projects/images/riot-web-large.png delete mode 100644 supporting-docs/projects/images/riot-web-small.png delete mode 100644 supporting-docs/projects/images/vector-android-featured.png delete mode 100644 supporting-docs/projects/images/vector-android-large.png delete mode 100644 supporting-docs/projects/images/vector-android-small.png delete mode 100644 supporting-docs/projects/images/vector-iOS-featured.png delete mode 100644 supporting-docs/projects/images/vector-iOS-large.png delete mode 100644 supporting-docs/projects/images/vector-iOS-small.png delete mode 100644 supporting-docs/projects/template.md diff --git a/README.rst b/README.rst index 0fef5d1aa..4b7d2fac1 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,7 @@ -This repository contains the documentation for Matrix. +This repository contains the Matrix specification. -Primarily, that means the Matrix protocol specifcation, but this repo also -comtains a lot of supporting documents, including some introductions to Matrix, -and, notably, a list of projects using Matrix which is visible on the -`matrix.org website <https://matrix.org/docs/projects/try-matrix-now.html>`_. +Note that the Matrix Project lists, which were previously kept in this +repository, are now in https://github.com/matrix-org/matrix.org. Structure of this repository ============================ @@ -24,8 +22,6 @@ Structure of this repository - ``scripts``: scripts to generate formatted versions of the documentation, typically HTML. - ``specification``: the specification split up into sections. -- ``supporting-docs``: additional documents which explain design - decisions, examples, use cases, etc. - ``templating``: the templates and templating system used to generate the spec. diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index 89d62bd5b..2f8acc5d2 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -12,9 +12,6 @@ mkdir -p assets # and the swagger ./scripts/dump-swagger.py -o assets/spec/client_server/unstable.json -# also need the supporting-docs, which become the jekyll posts. -cp -rT supporting-docs assets/jekyll-posts - # create a tarball of the assets. Exclude the spec index for now, as # we want to leave it pointing at the release versions of the specs. # (XXX: how to maintain this?) diff --git a/supporting-docs/examples/application-services.rst b/supporting-docs/examples/application-services.rst deleted file mode 100644 index fae3613d7..000000000 --- a/supporting-docs/examples/application-services.rst +++ /dev/null @@ -1,129 +0,0 @@ -Application Services -==================== - -This file contains examples of some application service - -IRC Bridge ----------- -Pre-conditions: - - Server admin stores the AS token "T_a" on the homeserver. - - Homeserver has a token "T_h". - - Homeserver has the domain "hsdomain.com" - -1. Application service registration - -:: - - AS -> HS: Registers itself with the homeserver - POST /register - { - url: "https://someapp.com/matrix", - as_token: "T_a", - namespaces: { - users: [ - { - "exclusive": true, - "regex": "@irc\.freenode\.net/.*" - } - ], - aliases: [ - { - "exclusive": true, - "regex": "#irc\.freenode\.net/.*" - } - ] - } - } - - Returns 200 OK: - { - hs_token: "T_h" - } - -2. IRC user "Bob" says "hello?" on "#matrix" at timestamp 1421416883133: - -:: - - - AS stores message as potential scrollback. - - Nothing happens as no Matrix users are in the room. - -3. Matrix user "@alice:hsdomain.com" wants to join "#matrix": - -:: - - User -> HS: Request to join "#irc.freenode.net/#matrix:hsdomain.com" - - HS -> AS: Room Query "#irc.freenode.net/#matrix:hsdomain.com" - GET /rooms/%23irc.freenode.net%2F%23matrix%3Ahsdomain.com?access_token=T_h - [Starts blocking] - AS -> HS: Creates room. Gets room ID "!aasaasasa:hsdomain.com". - AS -> HS: Sets room name to "#matrix". - AS -> HS: Sends message as ""@irc.freenode.net/Bob:hsdomain.com" - PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message - ?access_token=T_a - &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com - &ts=1421416883133 - { - body: "hello?" - msgtype: "m.text" - } - HS -> AS: User Query "@irc.freenode.net/Bob:hsdomain.com" - GET /users/%40irc.freenode.net%2FBob%3Ahsdomain.com?access_token=T_h - [Starts blocking] - AS -> HS: Creates user using CS API extension. - POST /register?access_token=T_a - { - type: "m.login.application_service", - user: "irc.freenode.net/Bob" - } - AS -> HS: Set user display name to "Bob". - [Finishes blocking] - [Finished blocking] - - - HS sends room information back to client. - -4. @alice:hsdomain.com says "hi!" in this room: - -:: - - User -> HS: Send message "hi!" in room !aasaasasa:hsdomain.com - - - HS sends message. - - HS sees the room ID is in the AS namespace and pushes it to the AS. - - HS -> AS: Push event - PUT /transactions/1?access_token=T_h - { - events: [ - { - content: { - body: "hi!", - msgtype: "m.text" - }, - origin_server_ts: <generated by hs>, - user_id: "@alice:hsdomain.com", - room_id: "!aasaasasa:hsdomain.com", - type: "m.room.message" - } - ] - } - - - AS passes this through to IRC. - - -5. IRC user "Bob" says "what's up?" on "#matrix" at timestamp 1421418084816: - -:: - - IRC -> AS: "what's up?" - AS -> HS: Send message via CS API extension - PUT /rooms/%21aasaasasa%3Ahsdomain.com/send/m.room.message - ?access_token=T_a - &user_id=%40irc.freenode.net%2FBob%3Ahsdomain.com - &ts=1421418084816 - { - body: "what's up?" - msgtype: "m.text" - } - - - HS modifies the user_id and origin_server_ts on the event and sends it. diff --git a/supporting-docs/guides/2015-08-14-getting_involved.md b/supporting-docs/guides/2015-08-14-getting_involved.md deleted file mode 100644 index ff6637c73..000000000 --- a/supporting-docs/guides/2015-08-14-getting_involved.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -layout: post -title: Getting involved -categories: guides ---- - -# How can I get involved? -Matrix is an ecosystem consisting of several apps written by lots of people. We at Matrix.org have written one server and a few clients, and people in the community have also written several clients, servers, and Application Services. We are collecting [a list of all known Matrix-apps](https://matrix.org/blog/try-matrix-now/). - -| - -You have a few options when it comes to getting involved: if you just want to use Matrix, you can [register an account on a public server using a public webclient](#reg). If you have a virtual private server (VPS) or similar, you might want to [run a server and/or client yourself](#run). If you want to look under the hood, you can [checkout the code and modify it - or write your own client or server](#checkout). Or you can write an [Application Service](#as), for example a bridge to an existing ecosystem. - -| - -We very much welcome [contributions](https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.rst) to any of our projects, which you can find in our [github space](https://github.com/matrix-org/). - -| - -<a class="anchor" id="reg"></a> - -## Access Matrix via a public webclient/server - -The easiest thing to do if you want to just have a play, is to use the [Riot.im -webclient](https://riot.im). You can use it as a guest, or register for an -account. For details of other clients, see -[https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now). - -<a class="anchor" id="run"></a> - -## Run a server and/or client yourself - -You can clone our open source projects and run clients and servers yourself. Here is how: - -### Running your own client: - -You can run your own Matrix client; there are [numerous clients -available](https://matrix.org/blog/try-matrix-now/). You can easily [run your -own copy](https://github.com/vector-im/vector-web#getting-started) of the -Riot.im web client. - -### Running your own homeserver: - -One of the core features of Matrix is that anyone can run a homeserver and join the federated network on equal terms (there is no hierarchy). If you want to set up your own homeserver, please see the relevant docs of the server you want to run. If you want to run Matrix.org's reference homeserver, please consult the [readme of the Synapse project](https://github.com/matrix-org/synapse/blob/master/README.rst). - -| - -Note that Synapse comes with a bundled Matrix.org webclient - but you can tell it to use your [development checkout snapshot instead](https://github.com/matrix-org/matrix-angular-sdk#matrix-angular-sdk) (or to not run a webclient at all via the "web_client: false" config option). - -| - -<a class="anchor" id="checkout"></a> - -## Checkout our code - or write your own - -As described above, you can clone our code and [run a server and/or client yourself](#run). Infact, all the code that we at Matrix.org write is available from [our github](http://github.com/matrix-org) - and other servers and clients may also be open sourced - see [our list of all known Matrix-apps](https://matrix.org/blog/try-matrix-now/). - -| - -You can also implement your own client or server - after all, Matrix is at its core "just" a specification of a protocol. - -| - -### Write your own client: - -The [client-server API -spec](http://matrix.org/docs/spec/client_server/latest.html) describes what API -calls are available to clients, and there is a [HOWTO -guide](http://matrix.org/docs/guides/client-server.html) which provides an -introduction to using the API along with some common operations. A quick -step-by-step guide would include: - -| - -1. Get a user either by registering your user in an existing client or running the [new-user script](https://github.com/matrix-org/synapse/blob/master/scripts/register_new_matrix_user) if you are running your own Synapse homeserver. - -2. Assuming the homeserver you are using allows logins by password, log in via the login API: - - ``` - curl -XPOST -d '{"type":"m.login.password", "user":"example", "password":"wordpass"}' "http://localhost:8008/_matrix/client/api/v1/login" - ``` - -3. If successful, this returns the following, including an `access_token`: - - { - "access_token": "QGV4YW1wbGU6bG9jYWxob3N0.vRDLTgxefmKWQEtgGd", - "home_server": "localhost", - "user_id": "@example:localhost" - } - -4. This ``access_token`` will be used for authentication for the rest of your API calls. Potentially the next step you want is to make a call to the sync API and get the last few events from each room your user is in: - - ``` - curl -XGET "http://localhost:8008/_matrix/client/r0/sync?access_token=YOUR_ACCESS_TOKEN" - ``` - -5. The above will return something like this: - - { - "next_batch": "s72595_4483_1934", - "rooms": { - "join": { - "!726s6s6q:example.com": { - "state": { - "events": [ - ... - ] - }, - "timeline": { - "events": [ - ... - ] - } - }, - ... - } - } - } - - - You can then use the "next_batch" token to start listening for new events like so: - - ``` - curl -XGET "http://localhost:8008/_matrix/client/r0/sync?access_token=YOUR_ACCESS_TOKEN&since=s72595_4483_1934" - ``` - -6. This request will block waiting for an incoming event, timing out after several seconds if there is no event. This ensures that you only get new events. Now you have the initial room states, and a stream of events - a good client should be able to process all these events and present them to the user. And potentially you might want to add functionality to generate events as well (such as messages from the user, for example)! - -### Write your own server: - -We are still working on the server-server spec, so the best thing to do if you are interested in writing a server, is to come talk to us in [#matrix:matrix.org](https://matrix.to/#/#matrix:matrix.org). - -If you are interested in how federation works, please see the [Server-Server API spec](http://matrix.org/docs/spec/server_server/unstable.html). - -| - -<a class="anchor" id="as"></a> - -## Write an Application Service: - -Information about Application services and how they can be used can be found in the [Application services](./application_services.html) document! (This is based on Kegan's excellent blog posts, but now lives here so it can be kept up-to-date!) diff --git a/supporting-docs/guides/2015-08-19-faq.md b/supporting-docs/guides/2015-08-19-faq.md deleted file mode 100644 index 246752a22..000000000 --- a/supporting-docs/guides/2015-08-19-faq.md +++ /dev/null @@ -1,691 +0,0 @@ ---- -layout: post -title: FAQ -date: 2015-08-19 16:58:07 -categories: guides ---- -<link href="/docs/css/faq.css" type="text/css" rel="stylesheet" /> - -# FAQ -{:.no_toc} - -Categories ----------- -{:.no_toc} - -[General](#general) - -[Quick Start](#quick-start) - -[Standard](#standard) - -[Servers](#servers) - -[Clients](#clients) - -| - -FAQ Content ------------ -{:.no_toc} - - -* TOC -{:toc .toc} - -### General - -##### What is Matrix? - -Matrix is an open standard for interoperable, decentralised, -real-time communication over IP. It can be used to power Instant -Messaging, VoIP/WebRTC signalling, Internet of Things communication - or anywhere -you need a standard HTTP API for publishing and subscribing to -data whilst tracking the conversation history. - -| - -Matrix defines the standard, and provides open source reference implementations -of Matrix-compatible Servers, Clients, Client SDKs and Application Services -to help you create new communication solutions or extend the capabilities -and reach of existing ones. - -##### What is Matrix's Mission? - -Matrix's initial goal is to fix the problem of fragmented IP communications: -letting users message and call each other without having to care what app -the other user is on - making it as easy as sending an email. - -| - -The longer term goal is for Matrix to act as a generic HTTP messaging and data -synchronisation system for the whole web - allowing people, services and devices -to easily communicate with each other, empowering users to own and control their -data and select the services and vendors they want to use. - -##### What does Matrix provide? - -Matrix provides: - -- [Open Standard](/docs/spec) HTTP APIs for transferring JSON messages (e.g. instant messages, WebRTC signalling), including: - - [Client\<-\>Server API](/docs/spec#client-server-api-v1) - defines how Matrix compatible clients communicate with Matrix homeservers. - - [Server\<-\>Server API](/docs/spec#federation-api) - defines how Matrix homeservers exchange messages and synchronise history with each other. - - [Application Service API](/docs/spec/#application-service-api) - defines how to extend the functionality of Matrix with 'integrations' and bridge to other networks. - - [Modules](/docs/spec/#modules) - specifies features that must be implemented by particular classes of clients. -- Open source reference implementations of: - - Clients (Web (React), iOS, Android) - - Client SDKs (Javascript, Web (React), iOS, Android) - - Homeservers (Synapse) - - Application Services (bridges to IRC, Slack, Skype, Lync and more...) -- The actual ecosystem and community of everyone running Matrix servers and services -- Loads of 3rd party contributions of clients, SDKs, servers and services. - -You can find the full list of Matrix enabled projects at [https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now). - -##### What does this mean for users? - -The aim is to provide an analogous ecosystem to email - one where you -can communicate with pretty much anyone, without caring what app or -server they are using, using whichever app & server you chose to use, -and use a neutral identity system like an e-mail address or phone -number to discover people to talk to. - -##### What kind of company is Matrix.org? - -Matrix.org is an open initiative which acts as a neutral and independent custodian -of the Matrix standard. As of Sept 2017 we are finally in the process of incorporating -it as a dedicated non-profit entity (most likely a limited by guarantee UK private company -called the Matrix.org Foundation). - -##### Who is funding Matrix.org? - -Matrix.org is currently (Sept 2017) funded by the community, through a -combination of community support (via -[Patreon](https://patreon.com/matrixdotorg), -[Liberapay](https://liberapay.com/matrixdotorg), Bitcoin and Ethereum), -corporate sponsorship, and grant funding. Current Elliptic-level supporters on -Patreon and corporate sponsors can be found on our [supporters -page](https://matrix.org/blog/supporters). If you would like to support the core -Matrix team as a member of the community, please visit our -[Patreon](https://patreon.com/matrixdotorg) or -[Liberapay](https://liberapay.com/matrixdotorg) pages, or you can send us -Bitcoin at 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE or Ethereum at ETH -0xA5f9a4f9E024F6D727f7afdA9257e22329A97485. If you would like to sponsor the -team as a corporation, or are interested in paying for prioritised or custom -development, please [get in touch](mailto:matthew@matrix.org). - -For the first three years of Matrix's development (2014-2017), most of the core -contributors worked for [Amdocs](https://www.amdocs.com), who paid for them to -work fulltime on Matrix. In July 2017, Amdocs considered the project to be -sufficiently successful that it could now self-support and so stopped funding. -The majority of the core team is now employed by New Vector, an independent company -set up to hire the team and support Matrix's development. Other contributors -are funded by their own employers or donate their own time to the project. - -##### Who is building Matrix? - -The core team is ~12 people with extensive experience in building custom -VoIP and Messaging apps for mobile network operators. Most of us work for New Vector, -but there are an increasing number of contributors from other companies and -folks all over the internet. - -##### Why are you called Matrix? - -We are called Matrix because we provide a structure in which all -communication can be matrixed together. - -| - -No, it's nothing to do with the film (although you could go and build virtual -worlds on top of Matrix if you wanted :) - -##### Why have you released this as open source? - -We believe that any open standard defining interoperable communication -needs to be justified, demonstrated and validated with transparent open -source implementations. For Matrix to achieve its mission of making all -communications services interoperable we believe it needs to be truly -open, giving people access to take all the code we produce and to use -and build on top of it. - -##### What do you mean by open? - -Matrix is an open standard, meaning that we have freely published the -details for how to communicate interoperably using the Matrix set of -HTTP APIs. We encourage anyone and everyone to use the APIs and build -their own projects which implement them and so benefit from -interoperability with the rest of the Matrix ecosystem. We also -ensure the standard is not encumbered by any known patent licensing -requirements. - -| - -Matrix is also open source, meaning that we have released the source -code of the reference servers, clients and services to the public domain -under the [Apache Licence v2](http://www.apache.org/licenses/LICENSE-2.0.html), to -encourage anyone and everyone to run their own servers and clients, and -enhance them and contribute their enhancements as they see fit. - -##### What does federated mean? - -Federation allows separate deployments of a communication service to -communicate with each other - for instance a mail server run by Google -federates with a mail server run by Microsoft when you send email from -@gmail.com to @hotmail.com. - -| - -Federation is different to interoperability, as interoperable clients -may simply be running on the same deployment - whereas in federation the -deployments themselves are exchanging data in a compatible manner. - -| - -Matrix provides open federation - meaning that anyone on the internet -can join into the Matrix ecosystem by deploying their own server. - -##### How is this like e-mail? - -When email was first set up in the early ‘80s, companies like Compuserve -and AT&T and Sprint set up isolated email communities which only allowed -you to exchange mail with users on the same system.  If you got your -email from one service and your friend from another, then you couldn't -message each other.  This is basically the situation we're in today with -VoIP and IM. - -##### Why has no-one done this before? - -There have been several attempts before including SIP, XMPP and RCS. - All of these have had some level of success, but many different -technological/usability/economic factors have ended up limiting their -success. Unfortunately, we've not ended up in a world where everyone -has a SIP URI or Jabber ID on their business card, or a phone that -actually uses RCS. - -##### What is the difference between Matrix and IRC? - -We love IRC.  In fact, as of today the core Matrix team still uses it as -our primary communication tool. Between us we've written IRCds, IRC bots -and admined dreamforge, UnrealIRCd, epona, ircservices and several -others. That said, it has some limitations that Matrix seeks to improve -on: - -- Text only -- No history -- No multiple-device support -- No presence support -- Fragmented identity model -- No open federation -- No standard APIs, just a rather limited TCP line protocol -- Non-standardised federation protocol -- No built-in end-to-end encryption -- Disruptive net-splits -- Non-extensible - -[IRCv3](http://ircv3.net) exists and is addressing some of these issues; -this is great news and we wish them well. It's almost a contradiction -in terms to get competitive between openly interoperable communication -projects - we look forward to increasing the richness of Matrix\<-\>IRC -bridges as the project progresses. - -##### What is the difference between Matrix and XMPP? - -The Matrix team used XMPP (Openfire, ejabberd, spectrum, asmack, -XMPPFramework) for IM before starting to experiment with open HTTP APIs -as an alternative in around 2012. The main issues with XMPP that -drove us in this direction **as of 2012** were: - -- Not particularly web-friendly - you can't easily speak XMPP from a - web browser. *N.B. Nowadays you have options like XMPP-FTW and - Stanza.io that help loads with letting browsers talk XMPP* -- Single logical server per MUC is a single point of control and - availability. *MUCs can be distributed over multiple physical - servers, but they still sit behind a single logical JID and domain. - FMUC improves this with a similar approach to Matrix, but as of Oct - 2015 there are no open source implementations. The MIX XMPP extension - also aims to address this limitation*. -- History synchronisation is very much a second class citizen feature -- Bridging to other protocols and defragmenting existing communication - apps and networks is very much a second class citizen feature -- Stanzas aren't framed or reliably delivered without extensions. *See - [wiki.xmpp.org](http://wiki.xmpp.org/web/Myths#Myth_Four:_XMPP_is_unreliable_without_a_bunch_of_extensions.) - for an XMPP take on this* -- Multiple device support is limited. *Carbons and MAM aim to resolve this* -- Baseline feature set is so minimal that fragmentation of features - between clients and servers is common, especially as interoperability - profiles for features have fallen behind (as of July 2015) -- No strong identity system (i.e. no standard E2E PKI, unless you - count X.509 certs, which [are - questionable](http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/)) -- Not particularly well designed for mobile use cases: push; - bandwidth-efficient transports. *Since the time of writing a [Push - XEP has appeared](http://xmpp.org/extensions/xep-0357.html), and - [wiki.xmpp.org](http://wiki.xmpp.org/web/Myths#Myth_Three:_It.27s_too_bandwidth-inefficient_for_mobile.) - states that XMPP is usable over a 9600bps + 30s latency link.* - -This said, the whole area of XMPP vs Matrix is quite subjective. -Rather than fighting over which open interoperable communication -standard works the best, we should just collaborate and bridge everything -together. The more federation and interoperability the better. - -| - -We think of Matrix and XMPP as being quite different; at its core -Matrix can be thought of as an eventually consistent global JSON db with -an HTTP API and pubsub semantics - whilst XMPP can be thought of as a -message passing protocol. You can use them both to build chat systems; -you can use them both to build pubsub systems; each comes with different -tradeoffs. Matrix has a deliberately extensive 'kitchen sink' baseline -of functionality; XMPP has a deliberately minimal baseline set of -functionality. If XMPP does what you need it to do, then we're genuinely -happy for you :) Meanwhile, rather than competing, an XMPP Bridge like -[Skaverat's xmpptrix beta](https://github.com/SkaveRat/xmpptrix) or -[jfred's matrix-xmpp-bridge](https://github.com/jfrederickson/matrix-xmpp-bridge) -or Matrix.org's own [purple-matrix](https://github.com/matrix-org/purple-matrix/) -has potential to let both environments coexist and make the most of each -other's benefits. - -##### What is the difference between Matrix and PSYC? - -PSYC is a open federated messaging protocol loosely inspired by IRC.  In -version 1 it was a standalone protocol, and in version 2 it is being -reutilised as a messaging layer on top of GNUnet.  We honestly don't -know that much about it, beyond trying to use psycd as an XMPP\<-\>IRC -bridge in 2010. Matrix differentiates primarily by providing simple HTTP -APIs rather than the more exotic compact line protocol in PSYC v1 or the -comprehensive GNUnet stack in v2, and Matrix focuses more on decentralised -conversation history rather than just decentralised chat servers. -On the other hand, Matrix doesn't provide the metadata protection -guarantees that GNUnet/PSYC aims for. - -| - -See [http://about.psyc.eu/Matrix](http://about.psyc.eu/Matrix) for -PSYC's views on Matrix. - -##### What is the difference between Matrix and Tox? - -Tox.chat looks to be a very cool clone of Skype - a fully decentralised -peer-to-peer network.  Matrix is deliberately not a 'pure' peer-to-peer -system; instead each user has a well-defined homeserver which stores -his data and that he can depend upon.  Matrix provides HTTP APIs; -Tox.chat provides C APIs. As of October 2015 Tox doesn't seem to have an -answer yet for decentralised conversation history storage. - -##### How does Matrix compare with something like Trillian or Pidgin? - -Trillian and Pidgin and similar aggregating IM clients merge all your IM -activity into a single app.  However, your history and -identity is still fragmented across the networks.  People can't find you -easily, and your history is fragmented (other than on the device -where the client runs).   And rather than being able to chose the right -app for the job when communicating with people, you are pushed towards -relying on a specific aggregation app. - -Matrix lets you get the best of both worlds by linking to all the -different networks (XMPP, AIM, ICQ, Lync, Skype etc) on the serverside, -using bridges which can be run by anyone. Matrix then provides a simple -standard HTTP API to access any of these networks, and lets you choose -whichever client you prefer (either as a 'native' Matrix client or using -a non-Matrix client from one of the networks which has been bridged in). - -##### What Matrix compliant apps are there? - -Quite a few, ranging from the glossy mass-market to the geeky command-line. There's even an emacs macro. Check out [https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now) for the current -list of Matrix enabled projects. - -##### What bridges to other networks are available? - -The number of 'bridges' which integrate existing communication networks into -Matrix are growing on a daily basis - both written by the Matrix core team -and contributed by the wider community. The full list can be seen at -[https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now), but the core ones as of Oct 2015 include: - - * [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) - an increasingly comprehensive Matrix\<-\>IRC bridge - * [matrix-appservice-verto](https://github.com/matrix-org/matrix-appservice-verto) - links from Matrix to FreeSWITCH via the Verto protocol - * [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) - a basic bridge to Slack - * [node-purple](https://github.com/matrix-org/node-purple) - lets you access any of the 20+ protocols supported by - [libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple), including - Skype, Lync, XMPP, etc) - * [matrix-appservice-bridge](https://github.com/matrix-org/matrix-appservice-bridge) - a general NodeJS framework for writing bridges - -Writing new bridges is incredibly fun and easy - see the [matrix-appservice-bridge HOWTO](https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md) -for an example of how to write a fully functional Slack bridge in less than 100 lines of code! - -##### Why do you think existing apps will ever join this officially? - -We firmly believe it is what is right for the consumer. As people begin -to use interoperable communications tools, service providers will see the -benefit and compete on quality of service, security and features rather -than relying on locking people into their walled garden. We believe as -soon as users see the availability and benefits of interoperable -services they will demand it. - -##### Why aren't you doing this through the IETF? or W3C? or 3GPP? - -We do recognise the advantages of working with existing standards -bodies. We have been focused on writing code and getting it out, and the standard has been evolving rapidly since initial release in September 2014. -Once the standard has matured sufficiently it may well be appropriate to work with an official -standard body to maintain it going forwards. - -### Quick Start - -##### How do I get an account and get started? - -The quickest way is to pick a client from [https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now) and sign up. -Please note that you can point clients to access any homeserver - you don't have to use matrix.org, -although as of day 1, matrix.org is the only communal homeserver -available. - -##### What can I actually do with this? - -A typical client provides a simple chatroom interface to Matrix - -letting the user interact with users and rooms anywhere within the -Matrix federation.  Text and image messages are supported, and basic -voice-only VoIP calling via WebRTC is supported in one-to-one rooms. -(As of October 2015, experimental multi-way calling is also available -on Riot.im). - -##### How do I connect my homeserver to the public Matrix network? - -See -[http://github.com/matrix-org/synapse](http://github.com/matrix-org/synapse) -for details - -##### How do I Matrix-enable my existing app? - -If your app doesn't have any communication capability already, you'll want -to use one of the Matrix client SDKs to add it in. These come in different -levels of sophistication - ranging from a simple HTTP API wrapper (like matrix-js-sdk, matrix-ios-sdk or matrix-android-sdk) -through to reusable UI components (like matrix-react-sdk and matrix-ios-kit). Pick -the one for your platform, or a 3rd party one if none of the above work for you, -and get plugging it in. You'll probably also want to read the [Client-Server API -HOWTO](http://matrix.org/docs/howtos/client-server.html) too. - -If you already have communication infrastructure set up (XMPP, custom HTTP, or whatever), -then you'll want to run a bridge to expose it to the wider Matrix ecosystem. -See [matrix-appservice-bridge HOWTO](https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md) for a -guide of how to write bridges using the matrix-appservice-bridge framework, or co-opt one -from the list at [https://matrix.org/blog/try-matrix-now](https://matrix.org/blog/try-matrix-now). -[Application Service API](/docs/spec/#application-service-api) gives the details of the API -that bridges have to implement. - -##### How can I write a client on Matrix? - -See the [Client-Server API -HOWTO](http://matrix.org/docs/howtos/client-server.html) and the [API -docs](/docs/api) and [the Spec](/docs/spec) for all the details you need -to write a client. - -##### How can I help out with this? - -Come say hi on [\#matrix:matrix.org](https://matrix.to/#/#matrix:matrix.org)! Install synapse and tell us how you get on. Critique the spec.  Write -clients. Write bridges! Run bridges! Nose around in [Jira](https://matrix.org/jira) and -send us some pull requests on github to fix some bugs or add some features! You could even -try to write a homeserver (but be warned, Matrix's architecture makes homeservers orders of -magnitude harder than clients or bridges.) - -See [CONTRIBUTING.rst](http://github.com/matrix-org/synapse/tree/master/CONTRIBUTING.rst) for -full details on how to contribute to the project. All are welcome! - -##### Where can I get support? - -[\#matrix:matrix.org](https://matrix.to/#/#matrix:matrix.org) aka \#matrix on irc.freenode.is your best bet. - -##### How do I register custom matrix event types? - -We're not yet managing a registry of custom matrix event types.  If you -have any particularly good ones you want to tell the world about, please -let us know on #matrix-dev:matrix.org. - -##### How mature is this? - -We started working on Matrix in July 2014, and opened it to the -public in September 2014. We got all the core features in place in December 2014 -and entered beta, and since then have been iterating away on the beta refining the -architecture and APIs, fixing bugs and scalability, and adding new features, clients, -bridges etc. - -As of October 2015 (synapse 0.10) it's good for serious experimentation and -non-production services and can absolutely be used in the real world. However, we're -still in beta and we'll want to freeze the spec and implement clustering and other -nice features before we really declare it ready for production. - -### Standard - -##### What is a client? - -Users in Matrix use one or more clients to communicate. This could be any combination of a web client, a command line client, a mobile client - or embedded clients built into existing apps. It could even be a piece of hardware (e.g. a drone) that is Matrix enabled. - -##### Can I use Matrix without installing a Matrix client? - -Sure. An ever increasing number of protocols are being bridged into Matrix, so if you use something like IRC on Freenode you may well be indirectly benefiting from Matrix, as others may be connected into the IRC channel via Matrix. - -##### What is a home server? - -A user's clients connect to a single homeserver, which stores the communication history and account information for that user, and shares data with the wider Matrix ecosystem by synchronising communication history with other homeservers. - -##### What is a MXID? - -Matrix user IDs (MXID) are unique user IDs. They are in the format ```@username:homeserver.tld``` (this format is used to avoid confusing them with email addresses). They are intended to be fairly hidden (although right now they are not) - instead you will find and identify other users via 3PIDs. - -##### What is a 3PID? - -Third-party IDs (3PIDs) are IDs from other systems or contexts, such as email addresses, social network accounts and phone numbers. - -##### What is an identity server? - -Users in Matrix are identified internally via their matrix user ID (MXID). However, existing 3rd party ID (3PID) namespaces such as email addresses or phone numbers should be used publically to identify Matrix users, at least for invitation purposes. A Matrix "Identity" describes both the user ID and any other existing IDs from third party namespaces linked to their account. - -| - -Matrix users can link third-party IDs (3PIDs) to their user ID. Linking 3PIDs creates a mapping from a 3PID to a user ID. This mapping can then be used by Matrix users in order to discover the MXIDs of their contacts. - -| - -In order to ensure that the mapping from 3PID to user ID is genuine, a globally federated cluster of trusted "Identity Servers" (IS) are used to verify the 3PID and persist and replicate the mappings. -Usage of an IS is not required in order for a client application to be part of the Matrix ecosystem. However, without one clients will not be able to look up user IDs using 3PIDs. - -| - -The precise architecture of identity servers is currently in flux and subject to change as we work to fully decentralise them. - -##### Where do my conversations get stored? - -Each homeserver stores the communication history and account information for all of its clients, and shares data with the wider Matrix ecosystem by synchronising communication history with other homeservers and their clients. Clients typically communicate with each other by emitting events in the context of a virtual room. Room data is replicated across all of the homeservers *whose users are participating in a given room*. - -##### What are redactions? - -Since events are extensible it is possible for malicious users and/or servers to add keys that are, for example offensive or illegal. Since some events cannot be simply deleted (e.g. membership events) we instead 'redact' events, essentially stripping the event of all keys that are not required by the protocol. Redacting an event cannot be undone, allowing server owners to also delete the offending content from the databases. - -##### How do you do VoIP calls on Matrix? - -Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event. - -##### Are VoIP calls encrypted? - -WebRTC encrypts the media that's being sent. The signalling events that set up (and end) the call are encrypted if the room they were sent in has enabled encryption. - -##### Do I need a TURN server? - -VoIP calls should work if both parties are on public networks. However, in practice one (or both) devices are often behind NAT, and so having a [TURN](https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT) server is important to help set up the call. - -See [this guide](https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.rst) for setting up a TURN server with Synapse. - -##### Can I log into other homeservers with my username and password? - -Currently, no. We are looking at options for decentralising or migrating user accounts between multiple servers, and might add this feature at a later stage. - -##### Why Apache Licence? - -The Apache Licence is a permissive licence. We want the Matrix protocol itself to be free and open, but people are free to create both free and commercial apps and services that uses the protocol. In our opinion, any Matrix-service only enhances the Matrix ecosystem. - -##### Can I write a Matrix homeserver? - -Yes. Matrix is just a spec, so implementations of the spec are very welcome! It should be noted that as of October 2015, changes are still being made to the spec, so if you want to write a Matrix homeserver, it is strongly recommended that you chat to the Matrix.org devs in [\#matrix:matrix.org](https://matrix.to/#/#matrix:matrix.org) first! You can also read about the [Federation API here](https://matrix.org/docs/spec/server_server/unstable.html). - -##### How secure is this? - -Server-server traffic is mandatorily TLS from the outset. Server-client traffic mandates transport layer encryption other than for tinkering. Servers maintain a public/private key pair, and sign the integrity of all messages in the context of the historical conversation, preventing tampering. Server keys are distributed using a [Perspectives](https://perspectives-project.org/)-style system. - -End-to-end encryption is now available in the various [Riot.im](https://Riot.im) builds! This allows you to encrypt both 1:1 and group chats to protect user data stored on servers, using the [Olm](https://matrix.org/git/olm) cryptographic ratchet implementation. Read more on the [blog post](https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last/) that announced the feature! - -Privacy of metadata is not currently protected from server administrators - a malicious homeserver administrator can see who is talking to who and when, but not what is being said (once E2E encryption is enabled). See [this presentation from Jardin Entropique](http://matrix.org/~matthew/2015-06-26%20Matrix%20Jardin%20Entropique.pdf) for a more comprehensive discussion of privacy in Matrix. - -##### What is Perspectives? - -Rather than relying on Certificate Authorities (CAs) as in traditional SSL, a [Perspectives](https://perspectives-project.org/)-style system uses a more decentralized model for verifying keys. Perspectives uses notary servers to verify that the same key is seen across the network, making a man-in-the-middle attack much harder since an attacker must insert itself into multiple places. For federation in Matrix, each Home Server acts as a notary. When one Home Server connects to another Home Server that uses a key that it doesn't recognize, it contacts other Home Servers to ensure that they all see the same key from that Home Server. - -##### Why HTTP? Doesn't HTTP suck? Why don't you use websockets/CoAP/HTTP2/etc? - -HTTP is indeed not the most efficient transport, but it is ubiquitous, very well understood and has numerous implementations on almost every platform and language. It also has a simple upgrade path to HTTP/2, which is relatively bandwidth and round-trip efficient. - -It has thus been chosen as the mandatory baseline of the exchange, but it is still entirely possible to use more fancy protocols for communication between clients and server (see for example this [websocket transport draft](https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst)), and it's also possible in the future that negotiation of more efficient protocols will be added for the federation between servers, with HTTP+JSON remaining as the compability baseline. - -### Servers - -##### What is Synapse? - -Synapse is a reference "homeserver" implementation of Matrix from the core development team at matrix.org, written in Python 2/Twisted. It is intended to showcase the concept of Matrix and let folks see the spec in the context of a codebase and let you run your own homeserver and generally help bootstrap the ecosystem. - -##### How do I join the global Matrix federation? - -You can download and run one of the available Matrix servers - please see [this guide](http://matrix.org/docs/guides/getting_involved.html#run) for details! - -##### What ports do I have to open up to join the global Matrix federation? - -We recommend servers use port 8448 for server\<-\>server HTTPS traffic. Look at ["Setting up Federation"](https://github.com/matrix-org/synapse#setting-up-federation) in the Synapse readme file for details. - -Client\<-\>Server traffic can talk directly to Synapse via port 8448, but as by default Synapse creates a self-signed TLS certificate this can cause problems for clients which can't easily trust self-signed certificates (e.g. most web browsers). Instead, you can proxy access to Synapse's HTTP listener on port 8008 via an existing HTTPS proxy with a valid certificate (e.g. an nginx listening on port 443), or you can point Synapse at a valid X.509 signed TLS certificate. In future, Synapse will probably use letsencrypt to autogenerate valid certificates rather than self-signed ones during installation, simplifying this process enormously. - -You can also put Synapse entirely behind an existing TLS load balancer and not expose port 8448 at all. In this situation, Synapse will need to be configured to share the same *public* TLS certificate as the load balancer (as Synapse uses the public certificate for identity in other areas too, and it has to match the certificate that other servers see when they connect). - -##### How do I run my own homeserver? - -Follow the instructions for the homeserver you want to run. If you want to run Synapse, the reference homeserver from Matrix.org, follow [these instructions](https://github.com/matrix-org/synapse#synapse-installation). - -##### Can I run my own identity server? - -Yes - the reference implementation is -[sydent](https://github.com/matrix-org/sydent) and you can run your own ID server cluster that tracks 3rd party to Matrix ID mappings. This won't be very useful right now, though, and we don't recommend it. - -If you want your server to participate in the global replicated Matrix ID -service then please get in touch with us. Meanwhile, we are looking at -ways of decentralising the 'official' Matrix identity service so that -identity servers are 100% decentralised and can openly federate with -each other. **N.B. that you can use Matrix without ever using the -identity service - it exists only to map 3rd party IDs (e.g. email -addresses) to matrix IDs to aid user discovery**. - -##### What are Synapse's platform requirements? - -Synapse will use as much RAM as you give it in order to cache conversations in RAM to avoid hitting the database. For small deployments (<50 active users) around 512MB of RAM is probably okay. You can configure the amount of RAM used by synapse with the event_cache_size config parameter - the more events in the cache, the more RAM required. Synapse itself requires relatively little diskspace other than for logging (which as of October 2015 is quite verbose for debugging purposes), but as it caches the content of all the file attachments (images, videos etc) viewed by its users, you may need to size storage appropriately. Synapse is currently effectively single threaded, and will never use more than 1 core. - -| - -For better performance, one should back Synapse with a Postgres database rather than the default SQLite - see [https://github.com/matrix-org/synapse/tree/master/README.rst#using-postgresql](https://github.com/matrix-org/synapse/tree/master/README.rst#using-postgresql) for details. - -##### Why is Synapse in Python/Twisted? - -This is because both provide a mature and well known event-driven async IO framework for writing serverside code. Whilst this has been okay for our initial experimentation and proof of concept, it's likely that future homeserver work will be written in a more strongly typed language (e.g. Go). - -##### Why aren't you using an ORM layer like SqlAlchemy in Synapse? - -Synapse is *very* database dependent (as of Oct 2015; this is improving in the near future however), and we like having the flexibility to sculpt our own queries. - -##### Will Synapse share my chat data with other servers in the federation? - -Data is only shared between servers of participating users of a room. If all users in a room are on your server, no data is shared with other servers. - -##### Why can't I rename my homeserver? - -Currently, the homeserver name is assumed never to change. This means that if you rename your server, other servers will think it's a different server. - -Perhaps in the future we will add an API for changing the homeserver name, but for now this is not supported. - -### Clients - -##### Where can I find a mobile app? - -Riot is available for Android and iOS. - -The iOS version can be downloaded from the [Apple store](https://itunes.apple.com/us/app/vector.im/id1083446067). - -The Android version can be downloaded from the [Google Play store](https://play.google.com/store/apps/details?id=im.vector.alpha) or [F-Droid](https://f-droid.org/repository/browse/?fdid=im.vector.alpha). If you are not sure which one to choose, install Riot from the [Google Play store](https://play.google.com/store/apps/details?id=im.vector.alpha). - -For the Android app, you can also install the latest development version -built by [Jenkins](http://matrix.org/jenkins/job/VectorAndroidDevelop). Use it at your own risk and only if you know what you are doing. - -##### I installed Riot via F-Droid, why is it draining my battery? - -The F-Droid release of Riot does not use [Google Cloud Messaging](https://developers.google.com/cloud-messaging/). This allows users that do not have or want Google Services installed to use Riot. - -The drawback is that Riot has to pull for new messages, which can drain your battery. To counter this, you can change the delay between polls in the settings. Higher delay means better battery life (but may delay receiving messages). You can also disable the background sync entirely (which means that you won't get any notifications at all). - -If you don't mind using Google Services, you might be better off installing the [Google Play store](https://play.google.com/store/apps/details?id=im.vector.alpha) version. - -##### Where can I find a web app? - -You can use [Riot.im](https://Riot.im) - a glossy web client written on top of [matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk). - -You can also run Vector, the code that Riot.im uses, on your own server. It's a static web application, just download the [last release](https://github.com/vector-im/vector-web/) and unpack it. - -##### Where can I find a desktop client? - -You can use the desktop build of [Riot.im](https://riot.im/desktop.html). - -There are also other desktop clients - check the list of clients on [matrix.org](http://matrix.org/docs/projects/try-matrix-now.html#clients). - -##### Why can't end-to-end encryption be turned off? - -When encryption is enabled in a room, a flag is set in the room state, so that -all clients know to encrypt any messages they send. The room state stores -information about the room like the topic, the avatar, and the membership list. - -Imagine if encryption could be turned off the same way as it is turned -on. Anyone with admin rights in the room could clear the flag and then messages -would start being transmitted unencrypted. It would be very easy for a user to -miss the change in configuration, and accidentally send a sensitive message -without encryption. - -Worse yet, anyone with sysadmin access to a server could also clear the flag -(remember that the main reason for using e2e encryption is that we don't trust -the sysadmins), and could then easily read any sensitive content which was -sent. - -The solution we have taken for now is to make clients ignore any requests to -disable encryption. We might experiment with ways to improve this in the future -- for instance, by alerting the user next time they try to send a message in -the room if encryption has been disabled. - -##### Why isn't end-to-end encryption enabled by default? - -We are deliberately keeping E2E opt-in during the beta as there is a small risk of undecryptable messages, and we don’t want to lull folks into a false sense of security. As soon as we are out of beta, we will turn E2E on for any room with private history by default. Another consideration is to give other clients a chance to catch up with E2E support before it's used by default. - -| - -### QUESTIONS TO BE ANSWERED! - -This FAQ is a constant work in progress - patches and pull requests are *very* welcome to help us improve it. Some of the frequent questions where we need to write an answer include: - - * How do I change the TLS key of my server? - * How do I maintain my synapse's DB (e.g. prune old conversations)? - * How do I maintain my synapse's content repository (e.g. prune old content)? - * Why is the spec so big, especially relative to the XMPP baseline spec? - * How do I contribute to the spec? - * What is the privacy policy on Matrix.org? - * How precisely does E2E work? - * How does Matrix actually work architecturally? - * What IOT use cases are there for Matrix? - * Why is are the Matrix reference implementations written in so many different languages? - * How does push work? - * What's on the roadmap? - * How can I use Matrix to talk on Freenode or other IRC networks? - * Where can I learn more about Matrix? (link to PDFs of other presentations etc) - * Why is synapse so resource intensive immediately after federating for the first time? - * \[your question goes here...\] - -| - -Any other questions? Please contact us in -[\#matrix:matrix.org](https://matrix.to/#/#matrix:matrix.org). diff --git a/supporting-docs/guides/2015-08-21-application_services.md b/supporting-docs/guides/2015-08-21-application_services.md deleted file mode 100644 index 7e52fc859..000000000 --- a/supporting-docs/guides/2015-08-21-application_services.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -layout: post -title: Application services -categories: guides ---- - -# Application services - -Application services are distinct modules which which sit alongside a homeserver providing arbitrary extensible functionality decoupled from the homeserver implementation. Just like the rest of Matrix, they communicate via HTTP using JSON. Application services function in a very similar way to traditional clients, but they are given much more power than a normal client. They can reserve entire namespaces of room aliases and user IDs for their own purposes. They can silently monitor events in rooms, or any events directed at any user ID. This power allows application services to have extremely useful abilities which overall enhance the end user experience. - -| - -One of the main use cases for application services is protocol bridges. Our Matrix server on Matrix.org links in to various IRC channels and networks. This functionality was initially implemented as a simple bot which resided as a user on the Matrix rooms we wanted to link to freenode channels (#matrix, #matrix-dev, #openwebrtc and #vuc etc). There was nothing special about this bot; it is just treated as a client. However, as we started to rely on it more and more though, we realised that there were things that were impossible for simple client-side bots to do by themselves - for example, the bot could not reserve the virtual user IDs it wanted to create, and could not lazily bridge arbitrary IRC rooms on-the-fly - and this spurred the development of Application Services. - -| - -### Some of the features of the IRC application service we have since implemented include: - -- Specific channel-to-matrix room bridging : This is what the original IRC bot did. You can specify specific channels and specific room IDs, and messages will be bridged. -- Dynamic channel-to-matrix room bridging : This allows Matrix users to join any channel on an IRC network, rather than being forced to use one of the specific channels configured. -- Two-way PM support : IRC users can PM the virtual "M-" users and private Matrix rooms will be created. Likewise, Matrix users can invite the virtual "@irc_Nick:domain" user IDs to a room and a PM to the IRC nick will be made. -- IRC nick changing support: Matrix users are no longer forced to use "M-" nicks and can change them by sending "!nick" messages directly to the bridge. -- Ident support: This allows usernames to be authenticated for virtual IRC clients, which means IRC bans can be targeted at the Matrix user rather than the entire application service. - -| - -### The use of the Application Services API means: - -- The bot can reserve user IDs. This prevents humans from registering for @irc_... user IDs which would then clash with the operation of the bot. -- The bot can reserve room aliases. This prevents humans from register for #irc_... aliases which would then clash with the operation of the bot. -- The bot can trivially manage hundreds of users. Events are pushed to the application service directly. If you tried to do this as a client-side bot, you would need one event stream connection per virtual user. -- The bot can lazily create rooms on demand. This means Matrix users can join non-existent room aliases and have the application service quickly track an IRC channel and create a room with that alias, allowing the join request to succeed. - -| - -### Implementation details: - -- Written in Node.js, designed to be run using <code>forever</code>. -- Built on the generic <a href="http://github.com/matrix-org/matrix-appservice-node">matrix-appservice-node</a> framework. -- Supports sending metrics in statsd format. -- Uses matrix-appservice-node to provide a standardised interface when writing application services, rather than an explicit web framework (though under the hood matrix-appservice-node is using Express). - -| - -At present, the IRC application service is in beta, and is being run on #matrix and #matrix-dev. If you want to give it a go, <a title="Matrix-IRC Application Service" href="https://github.com/matrix-org/matrix-appservice-irc">check it out on Github</a>! - -| - -# What Application services can do for you -Application services have enormous potential for creating new and exciting ways to transform and enhance the core Matrix protocol. For example, you could aggregate information from multiple rooms into a summary room, or create throwaway virtual user accounts to proxy messages for a fixed user ID on-the-fly. As you may expect, all of this power assumes a high degree of trust between application services and homeservers. Only homeserver admins can allow an application service to link up with their homeserver, and the application service is in no way federated to other homeservers. You can think of application services as additional logic on the homeserver itself, without messing around with the book-keeping that homeservers have to do. This makes adding useful functionality very easy. - -| - -### Example - -The application service (AS) API itself uses webhooks to communicate from the homeserver to the AS: - -- Room Alias Query API : The homeserver hits a URL on your application server to see if a room alias exists. -- User Query API : The homeserver hits a URL on your application server to see if a user ID exists. -- Push API : The homeserver hits a URL on your application server to notify you of new events for your users and rooms. - -A very basic application service may want to log all messages in rooms which have an alias starting with "#logged_" (side note: logging won't work if these rooms are using end-to-end encryption). - -Here's an example of a very basic application service using Python (with Flask and Requests) which logs room activity: - - # app_service.py: - - import json, requests  # we will use this later - from flask import Flask, jsonify, request - app = Flask(__name__) - - @app.route("/transactions/<transaction>", methods=["PUT"]) - def on_receive_events(transaction): - events = request.get_json()["events"] - for event in events: - print "User: %s Room: %s" % (event["user_id"], event["room_id"]) - print "Event Type: %s" % event["type"] - print "Content: %s" % event["content"] - return jsonify({}) - - if __name__ == "__main__": - app.run() - -Set your new application service running on port 5000 with: - - python app_service.py - -The homeserver needs to know that the application service exists before it will send requests to it. This is done via a registration YAML file which is specified in Synapse's main config file e.g. <code>homeserver.yaml</code>. The server admin needs to add the application service registration configuration file as an entry to this file. - - # homeserver.yaml - app_service_config_files: - - "/path/to/appservice/registration.yaml" - -NB: Note the "-" at the start; this indicates a list element. The registration file <code>registration.yaml</code> should look like: - - # registration.yaml - - # An ID which is unique across all application services on your homeserver. This should never be changed once set. - id: "something-good" - - # this is the base URL of the application service - url: "http://localhost:5000" - - # This is the token that the AS should use as its access_token when using the Client-Server API - # This can be anything you want. - as_token: wfghWEGh3wgWHEf3478sHFWE - - # This is the token that the HS will use when sending requests to the AS. - # This can be anything you want. - hs_token: ugw8243igya57aaABGFfgeyu - - # this is the local part of the desired user ID for this AS (in this case @logging:localhost) - sender_localpart: logging - namespaces: - users: [] - rooms: [] - aliases: - - exclusive: false - regex: "#logged_.*" - -**You will need to restart the homeserver after editing the config file before it will take effect.** - -| - -To test everything is working correctly, go ahead and explicitly create a room with the alias "#logged_test:localhost" and send a message into the room: the HS will relay the message to the AS by PUTing to /transactions/<tid> and you should see your AS print the event on the terminal. This will monitor any room which has an alias prefix of "#logged_", but it won't lazily create room aliases if they don't already exist. This means it will only log messages in the room you created before: #logged_test:localhost. Try joining the room "#logged_test2:localhost" without creating it, and it will fail. Let's fix that and add in lazy room creation: - - @app.route("/rooms/<alias>") - def query_alias(alias): - alias_localpart = alias.split(":")[0][1:] - requests.post( - # NB: "TOKEN" is the as_token referred to in registration.yaml - "http://localhost:8008/_matrix/client/api/v1/createRoom?access_token=TOKEN", - json.dumps({ - "room_alias_name": alias_localpart - }), - headers={"Content-Type":"application/json"} - ) - return jsonify({}) - -This makes the application service lazily create a room with the requested alias whenever the HS queries the AS for the existence of that alias (when users try to join that room), allowing any room with the alias prefix #logged_ to be sent to the AS. Now try joining the room "#logged_test2:localhost" and it will work as you'd expect.  You can see that if this were a real bridge, the AS would have checked for the existence of #logged_test2 in the remote network, and then lazily-created it in Matrix as required. - -| - -Application services are powerful components which extend the functionality of homeservers, but they are limited. They can only ever function in a "passive" way. For example, you cannot implement an application service which censors swear words in rooms, because there is no way to prevent the event from being sent. Aside from the fact that censoring will not work when using end-to-end encryption, all federated homeservers would also need to reject the event in order to stop developing an inconsistent event graph. To "actively" monitor events, another component called a "Policy Server" is required, which is beyond the scope of this post.  Also, Application Services can result in a performance bottleneck, as all events on the homeserver must be ordered and sent to the registered application services.  If you are bridging huge amounts of traffic, you may be better off having your bridge directly talk the Server-Server federation API rather than the simpler Application Service API. - -I hope this demonstrates how easy it is to create an application service, along with a few ideas of the kinds of things you can do with them. Obvious uses include build protocol bridges, search engines, invisible bots, etc. For more information on the AS HTTP API, check out the new <a href="http://matrix.org/docs/spec/#application-service-api">Application Service API</a> section in the spec, or the raw drafts and spec in <a href="https://github.com/matrix-org/matrix-doc/" target="_blank">https://github.com/matrix-org/matrix-doc/</a>. diff --git a/supporting-docs/guides/2016-01-01-index.md b/supporting-docs/guides/2016-01-01-index.md deleted file mode 100644 index 01cf5e022..000000000 --- a/supporting-docs/guides/2016-01-01-index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: default -categories: guides ---- -<div class="home"> - - <h1>Guides</h1> - - <p>Here is a collection of guides that might help you get involved with Matrix.</p> - <p>First, there is the <a href="./getting_involved.html" title="Getting Involved">Getting Involved</a> guide, which explains various ways of getting started with Matrix, and the <a href="./faq.html" title="FAQ">FAQ</a>, which tries to answer all your questions relating to Matrix.</p> - <p>The <a href="/docs/guides/client-server.html" title="Client-Server API">Client-Server API</a> guide explains in detail how to use the CS API, which is useful if you want to write a client (or modify an existing one) - or if you're just interested in how it works "under the hood".</p> - <p>If you were using the old v1 CS API, there is also the <a href="/docs/guides/client-server-migrating-from-v1.html">v1 migration guide</a> which justs lists the changes from v1 to r0.</p> - <p><a href="./lets-encrypt.html">Let's Encrypt Matrix</a> explains how to use Let's Encrypt's certificates with your Synapse installation. This guide was written by William A Stevens.</p> - <p>The <a href="./application_services.html" title="Application services">Application services</a> guide introduces and explains Application services, and what they can be used for.</p> - <p><a href="./types-of-bridging.html">Types of Bridging</a> should be read by all bridge developers to ensure everyone has the same mental map of terminology when implementing bridges.</p> - <p>The <a href="./e2e_implementation.html">End-to-end Encryption Implementation Guide</a> is intended for client developers who wish to add support for end-to-end encryption.</p> - -</div> diff --git a/supporting-docs/guides/2016-01-05-code_of_conduct.md b/supporting-docs/guides/2016-01-05-code_of_conduct.md deleted file mode 100644 index b2ad373a7..000000000 --- a/supporting-docs/guides/2016-01-05-code_of_conduct.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: post -version: v1.0 -title: Code of Conduct -categories: guides ---- -<link href="/docs/css/faq.css" type="text/css" rel="stylesheet" /> - - -# Matrix Code of Conduct - -This code of conduct outlines our expectations for participants within the Matrix community, as well as steps for reporting unacceptable behaviour. We are committed to providing a welcoming and inspiring community for all, and expect our code of conduct to be honoured. Anyone who violates this code of conduct may be banned from the community. - -This applies to conversation in the #matrix* rooms (#matrix:matrix.org, #matrix-dev:matrix.org, #matrix-spam:matrix.org) and commits and comments relating to any project in the [matrix-org](https://github.com/matrix-org) github space. - -Our open source community strives to: - -* **Be friendly and patient.** -* **Be welcoming**: We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. -* **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. -* **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behaviour and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one. -* **Be careful in the words that we choose**: Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behaviour aren't acceptable. -* **Try to understand why we disagree**: Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of our community comes from its diversity, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes. - -| - -## Definitions - -Harassment includes, but is not limited to: - -- Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, age, regional discrimination, political or religious affiliation -- Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment -- Deliberate misgendering. This includes deadnaming or persistently using a pronoun that does not correctly reflect a person's gender identity. You must address people by the name they give you when not addressing them by their username or handle -- Physical contact and simulated physical contact (eg, textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop -- Threats of violence, both physical and psychological -- Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm -- Deliberate intimidation -- Stalking or following -- Harassing photography or recording, including logging online activity for harassment purposes -- Sustained disruption of discussion -- Unwelcome sexual attention, including gratuitous or off-topic sexual images or behaviour -- Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others -- Continued one-on-one communication after requests to cease -- Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect others from intentional abuse -- Publication of non-harassing private communication - -| - -We will not act on complaints regarding: - -- Good faith and non-malicious conduct whose object is to ameliorate the conditions of disadvantaged individuals or groups including those that are disadvantaged because of race, national or ethnic origin, colour, religion, sex, age or mental or physical disability. -- Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you” -- Refusal to explain or debate social justice concepts -- Communicating in a ‘tone’ you don’t find congenial -- Criticizing racist, sexist, cissexist, or otherwise oppressive behaviour or assumptions - -| - -### Diversity Statement - -We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong. - -Although this list cannot be exhaustive, we explicitly honour diversity in age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability. We will not tolerate discrimination based on any of the protected -characteristics above, including participants with disabilities. - -| - -### Reporting Issues - -If you experience or witness unacceptable behaviour — or have any other concerns — please report it by contacting us via abuse@matrix.org. All reports will be handled with discretion. In your report please include: - -- Your contact information. -- Names (usernames and nicks, real names, and/or pseudonyms) of any individuals involved. If there are additional witnesses, please -include them as well. Your account of what occurred, and if you believe the incident is ongoing. -- The date and time of the incident (or start of incident). -- Any additional information that may be helpful. - -After filing a report, a representative will contact you personally, review the incident, follow up with any additional questions, and make a decision as to how to respond. If the person who is harassing you is part of the response team, they will recuse themselves from handling your incident. If the complaint originates from a member of the response team, it will be handled by a different member of the response team. We will respect confidentiality requests for the purpose of protecting victims of abuse. - -| - -### Attribution & Acknowledgements - -This Code of Conduct is based on the [TODO Group](https://twitter.com/todogroup)'s [Open Code of Conduct template](https://github.com/todogroup/opencodeofconduct), but with some modifications. - diff --git a/supporting-docs/guides/2016-03-15-lets-encrypt.rst b/supporting-docs/guides/2016-03-15-lets-encrypt.rst deleted file mode 100644 index 824e2ed20..000000000 --- a/supporting-docs/guides/2016-03-15-lets-encrypt.rst +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -title: Let's Encrypt Matrix -categories: guides ---- - -==================== -Let's Encrypt Matrix -==================== - -Let's Encrypt is a free Certificate Authority that makes it easy to secure your server's internet traffic. This makes it really easy to secure your Matrix homeserver, and this guide will explain exactly how you do this. Guide written by William A Stevens - thanks! - -0: Prerequisites -================ -* Install Synapse_. -* Install (or Download) certbot_ - -1: Get certificates -=================== -When executing the Let's Encrypt client, it will ask for the domain name of your server, and your email address. The domain list can include multiple names and should include any domain you want to access the server from. - -Also, the certificates will be in a folder under /etc/letsencrypt (see below) and owned by root. - -:: - -# certbot certonly --standalone - -A note about renewal --------------------- -These certificates will expire in 3 months. To renew certificates, run ```certbot renew```. It is recommended to create a cronjob, which attempts renewal twice a day. Depending on your distribution, that could be already configured. - -2: Install Certificates -======================= -At the top of your homeserver.yaml there should be two keys, ```tls_certificate_path``` and ```tls_private_key_path```. These should be changed so that instead of pointing to the default keys, they now point to the Let's Encrypt keys. ```tls_certificate_path``` should point to ```/etc/letsencrypt/live/(your domain name)/fullchain.pem```. ```tls_private_key_path``` should point to ```/etc/letsencrypt/live/(your domain name)/privkey.pem```. ```tls_dh_params_path``` can stay the same as before. - -.. _Synapse: https://github.com/matrix-org/synapse/blob/master/README.rst#synapse-installation -.. _certbot: https://certbot.eff.org/ diff --git a/supporting-docs/guides/2016-05-05-client-server-migrating-from-v1.rst b/supporting-docs/guides/2016-05-05-client-server-migrating-from-v1.rst deleted file mode 100644 index e35191a2c..000000000 --- a/supporting-docs/guides/2016-05-05-client-server-migrating-from-v1.rst +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: post -title: Migrating from Client Server API v1 -categories: guides ---- - -Migrating from client-server API v1 -=================================== - -This guide assists developers of API clients that target the ``v1`` version of -the API to migrate their code to the later ``r0``. It does not aim to introduce -new concepts that were added in ``r0`` except where these replace things that -were removed since ``v1``. - -Updated Version In Path -======================= - -The new version of the API is ``r0``; this should be used in paths where -``v1`` used to appear. Additionally, the ``/api`` path component has now been -removed. API endpoint paths are now:: - - POST /_matrix/client/r0/register - GET /_matrix/client/r0/login - etc... - -New Registration and Login Endpoints -==================================== - -The ``r0`` version of the ``/register`` and ``/login`` endpoints is different -to the ``v1`` version. See the updated API documentation for details on how the -new API works. In brief, the changes are that the new version returns extra -information in the form of the ``params`` object, and that a sequence of -multiple calls may be statefully chained together by the ``session`` parameter. - -Additionally, whereas in ``v1`` the client performed a ``GET`` request to -discover the list of supported flows for ``/register``, in ``r0`` this is done -by sending a ``POST`` request with an empty data body. The ``/login`` endpoint -continues to use the ``GET`` method as before. - -Deprecated Endpoints -==================== - -The following endpoints are now deprecated and replaced by the ``/sync`` API:: - - /initialSync - /events - /rooms/:roomId/initialSync - -The new ``/sync`` API takes an optional ``since`` parameter to distinguish the -initial sync from subsequent updates for more events. - -The return value takes a different structure to that from the previous -``/initialSync`` API. For full details see the API documentation, but the -following summary may be useful to compare with ``v1``: - - * ``/initialSync`` returned a ``state`` key containing the most recent state - in the room, whereas the new ``/sync`` API's ``state`` corresponds to the - room state at the start of the returned timeline. This makes it easier for - clients to represent state changes that occur within the region of returned - timeline. - - * In ``/events``, if more events occurred since the ``since`` token than the - ``limit`` parameter allowed, then events from the start of this range were - returned and the client had to perform another fetch to incrementally obtain - more of them. In the ``/sync`` API the result always contains the most - recent events, creating a gap if this would be more events than the - requested limit. If this occurs then the client can use the ``prev_batch`` - token as a reference to obtaining more. - - * The ``state`` contained in the response to a ``/sync`` request that has a - ``since`` parameter will contain only keys that have changed since the - basis given in the ``since`` parameter, rather than containing a full set - values. - -The ``/initialSync`` API allowed a parameter called ``limit`` to limit the -number of events returned. To apply this limit to the new ``/sync`` API, you -can supply an ad-hoc filter:: - - GET .../sync?filter={"room":{"timeline":{"limit:$limit}}} - -There is no direct replacement for the per-room ``/rooms/:roomId/initialSync`` -endpoint, but the behaviour can be recreated by applying an ad-hoc filter using -the ``filter`` parameter to ``/sync`` that selects only the required room ID:: - - GET .../sync?filter={"room":{"rooms":[$room_id]}} - -However, the way that the new ``/sync`` API works should remove any need to do -this kind of query, in the situations where the ``v1`` API needed it. -Specifically, on joining a new room the initial information about that room is -sent in the next ``/sync`` batch, so it should not be necessary to query that -one room specially. - -The following endpoint is deprecated and has no direct replacement:: - - /events/:eventId - -However, if the client knows the room ID of the room that the event is in, it -can use the ``/rooms/:roomId/context/:eventId`` request to fetch the event -itself. By giving the ``limit`` parameter of ``0`` the client can save using -extra bandwidth by actually returning additional context events around the -requested one. - -Removed POST Endpoint -===================== - -The room message sending API endpoint in ``v1`` accepted both ``PUT`` and -``POST`` methods, where the client could specify a message ID in the ``PUT`` -path for de-duplication purposes, or have the server allocate one during -``POST``. In ``r0`` this latter form no longer exists. Clients will now have -to generate these IDs locally. - -The following URLs have therefore been removed:: - - POST .../rooms/:roomId/send/:messageType diff --git a/supporting-docs/guides/2016-05-05-client-server.rst b/supporting-docs/guides/2016-05-05-client-server.rst deleted file mode 100644 index c58cf6c02..000000000 --- a/supporting-docs/guides/2016-05-05-client-server.rst +++ /dev/null @@ -1,394 +0,0 @@ ---- -layout: post -title: Client Server API -categories: guides ---- - - -.. TODO kegan - Room config (specifically: message history, - public rooms). - -How to use the client-server API -================================ - -.. NOTE:: - The git version of this document is ``{% project_version %}`` - -This guide focuses on how the client-server APIs *provided by the reference -homeserver* can be used. Since this is specific to a homeserver -implementation, there may be variations in relation to registering/logging in -which are not covered in extensive detail in this guide. - -If you haven't already, get a homeserver up and running on -``https://localhost:8448``. - - -Accounts -======== -Before you can send and receive messages, you must **register** for an account. -If you already have an account, you must **login** into it. - -.. NOTE:: - `Try out the fiddle`__ - - .. __: http://jsfiddle.net/gh/get/jquery/1.8.3/matrix-org/matrix-doc/tree/master/supporting-docs/howtos/jsfiddles/register_login - -Registration ------------- -The aim of registration is to get a user ID and access token which you will need -when accessing other APIs:: - - curl -XPOST -d '{"username":"example", "password":"wordpass", "auth": {"type":"m.login.dummy"}}' "https://localhost:8448/_matrix/client/r0/register" - - { - "access_token": "QGV4YW1wbGU6bG9jYWxob3N0.AqdSzFmFYrLrTmteXc", - "home_server": "localhost", - "user_id": "@example:localhost" - } - -NB: If a ``user`` is not specified, one will be randomly generated for you. -If you do not specify a ``password``, you will be unable to login to the account -if you forget the ``access_token``. - -Implementation note: The matrix specification does not enforce how users -register with a server. It just specifies the URL path and absolute minimum -keys. The reference homeserver uses a username/password to authenticate user, -but other homeservers may use different methods. This is why you need to -specify the ``type`` of method. - -Login ------ -The aim when logging in is to get an access token for your existing user ID:: - - curl -XGET "https://localhost:8448/_matrix/client/r0/login" - - { - "flows": [ - { - "type": "m.login.password" - } - ] - } - - curl -XPOST -d '{"type":"m.login.password", "user":"example", "password":"wordpass"}' "https://localhost:8448/_matrix/client/r0/login" - - { - "access_token": "QGV4YW1wbGU6bG9jYWxob3N0.vRDLTgxefmKWQEtgGd", - "home_server": "localhost", - "user_id": "@example:localhost" - } - -Implementation note: Different homeservers may implement different methods for -logging in to an existing account. In order to check that you know how to login -to this homeserver, you must perform a ``GET`` first and make sure you -recognise the login type. If you do not know how to login, you can -``GET /login/fallback`` which will return a basic webpage which you can use to -login. The reference homeserver implementation support username/password login, -but other homeservers may support different login methods (e.g. OAuth2). - - -Communicating -============= - -In order to communicate with another user, you must **create a room** with that -user and **send a message** to that room. - -.. NOTE:: - `Try out the fiddle`__ - - .. __: http://jsfiddle.net/gh/get/jquery/1.8.3/matrix-org/matrix-doc/tree/master/supporting-docs/howtos/jsfiddles/create_room_send_msg - -Creating a room ---------------- -If you want to send a message to someone, you have to be in a room with them. To -create a room:: - - curl -XPOST -d '{"room_alias_name":"tutorial"}' "https://localhost:8448/_matrix/client/r0/createRoom?access_token=YOUR_ACCESS_TOKEN" - - { - "room_alias": "#tutorial:localhost", - "room_id": "!asfLdzLnOdGRkdPZWu:localhost" - } - -The "room alias" is a human-readable string which can be shared with other users -so they can join a room, rather than the room ID which is a randomly generated -string. You can have multiple room aliases per room. - -.. TODO(kegan) - How to add/remove aliases from an existing room. - - -Sending messages ----------------- -You can now send messages to this room:: - - curl -XPOST -d '{"msgtype":"m.text", "body":"hello"}' "https://localhost:8448/_matrix/client/r0/rooms/%21asfLdzLnOdGRkdPZWu:localhost/send/m.room.message?access_token=YOUR_ACCESS_TOKEN" - - { - "event_id": "YUwRidLecu" - } - -The event ID returned is a unique ID which identifies this message. - -NB: There are no limitations to the types of messages which can be exchanged. -The only requirement is that ``"msgtype"`` is specified. The Matrix -specification outlines the following standard types: ``m.text``, ``m.image``, -``m.audio``, ``m.video``, ``m.location``, ``m.emote``. See the specification for -more information on these types. - -Users and rooms -=============== - -Each room can be configured to allow or disallow certain rules. In particular, -these rules may specify if you require an **invitation** from someone already in -the room in order to **join the room**. In addition, you may also be able to -join a room **via a room alias** if one was set up. - -.. NOTE:: - `Try out the fiddle`__ - - .. __: http://jsfiddle.net/gh/get/jquery/1.8.3/matrix-org/matrix-doc/tree/master/supporting-docs/howtos/jsfiddles/room_memberships - -Inviting a user to a room -------------------------- -You can directly invite a user to a room like so:: - - curl -XPOST -d '{"user_id":"@myfriend:localhost"}' "https://localhost:8448/_matrix/client/r0/rooms/%21asfLdzLnOdGRkdPZWu:localhost/invite?access_token=YOUR_ACCESS_TOKEN" - -This informs ``@myfriend:localhost`` of the room ID -``!CvcvRuDYDzTOzfKKgh:localhost`` and allows them to join the room. - -Joining a room via an invite ----------------------------- -If you receive an invite, you can join the room:: - - curl -XPOST -d '{}' "https://localhost:8448/_matrix/client/r0/rooms/%21asfLdzLnOdGRkdPZWu:localhost/join?access_token=YOUR_ACCESS_TOKEN" - -NB: Only the person invited (``@myfriend:localhost``) can change the membership -state to ``"join"``. Repeatedly joining a room does nothing. - -Joining a room via an alias ---------------------------- -Alternatively, if you know the room alias for this room and the room config -allows it, you can directly join a room via the alias:: - - curl -XPOST -d '{}' "https://localhost:8448/_matrix/client/r0/join/%21asfLdzLnOdGRkdPZWu:localhost?access_token=YOUR_ACCESS_TOKEN" - - { - "room_id": "!CvcvRuDYDzTOzfKKgh:localhost" - } - -You will need to use the room ID when sending messages, not the room alias. - -NB: If the room is configured to be an invite-only room, you will still require -an invite in order to join the room even though you know the room alias. As a -result, it is more common to see a room alias in relation to a public room, -which do not require invitations. - -Getting events -============== -An event is some interesting piece of data that a client may be interested in. -It can be a message in a room, a room invite, etc. There are many different ways -of getting events, depending on what the client already knows. - -.. NOTE:: - `Try out the fiddle`__ - - .. __: http://jsfiddle.net/gh/get/jquery/1.8.3/matrix-org/matrix-doc/tree/master/supporting-docs/howtos/jsfiddles/event_stream - -Getting all state ------------------ -If the client doesn't know any information on the rooms the user is -invited/joined on, they can get all the user's state for all rooms:: - - curl -XGET "https://localhost:8448/_matrix/client/r0/sync?access_token=YOUR_ACCESS_TOKEN" - - { - "account_data": { - "events": [ - { - ... - } - ] - }, - "next_batch": "s9_3_0_1_1_1", - "presence": { - "events": [ - { - "content": { - "currently_active": true, - "last_active_ago": 19, - "presence": "online" - }, - "sender": "@example:localhost", - "type": "m.presence" - } - ] - }, - "rooms": { - "invite": {}, - "join": { - "!asfLdzLnOdGRkdPZWu:localhost": { - "account_data": { - "events": [] - }, - "ephemeral": { - "events": [] - }, - "state": { - "events": [] - }, - "timeline": { - "events": [ - { - "content": { - "creator": "@example:localhost" - }, - "event_id": "$14606534990LhqHt:localhost", - "origin_server_ts": 1460653499699, - "sender": "@example:localhost", - "state_key": "", - "type": "m.room.create", - "unsigned": { - "age": 239192 - } - }, - { - "content": { - "avatar_url": null, - "displayname": null, - "membership": "join" - }, - "event_id": "$14606534991nsZKk:localhost", - "membership": "join", - "origin_server_ts": 1460653499727, - "sender": "@example:localhost", - "state_key": "@example:localhost", - "type": "m.room.member", - "unsigned": { - "age": 239164 - } - }, - ... - ], - "limited": false, - "prev_batch": "s9_3_0_1_1_1" - }, - "unread_notifications": {} - } - }, - "leave": {} - } - } - -This returns all the room information the user is invited/joined on, as well as -all of the presences relevant for these rooms. This can be a LOT of data. You -may just want the most recent event for each room. This can be achieved by -applying a filter that asks for a limit of 1 timeline event per room:: - - curl --globoff -XGET 'https://localhost:8448/_matrix/client/r0/sync?filter={"room":{"timeline":{"limit":1}}}&access_token=YOUR_ACCESS_TOKEN' - - { - ... - "rooms": { - "invite": {}, - "join": { - "!asfLdzLnOdGRkdPZWu:localhost": { - ... - "timeline": { - "events": [ - { - "content": { - "body": "hello", - "msgtype": "m.text" - }, - "event_id": "$14606535757KCGXo:localhost", - "origin_server_ts": 1460653575105, - "sender": "@example:localhost", - "type": "m.room.message", - "unsigned": { - "age": 800348 - } - } - ], - "limited": true, - "prev_batch": "t8-8_7_0_1_1_1" - }, - "unread_notifications": {} - } - }, - "leave": {} - } - } - -(additionally we have to ask ``curl`` not to try to interpret any ``{}`` -characters in the URL, which is what the ``--globoff`` option is for) - -Getting live state ------------------- -In the response to this ``sync`` request the server includes a token that can -be used to obtain updates since this point under the object key ``next_batch``. -To use this token, specify its value as the ``since`` parameter to another -``/sync`` request.:: - - curl -XGET "https://localhost:8448/_matrix/client/r0/sync?since=s9_7_0_1_1_1&access_token=YOUR_ACCESS_TOKEN" - - { - "account_data": { - "events": [] - }, - "next_batch": "s9_9_0_1_1_1", - "presence": { - "events": [ - { - "content": { - "currently_active": true, - "last_active_ago": 12, - "presence": "online" - }, - "sender": "@example:localhost", - "type": "m.presence" - } - ] - }, - "rooms": { - "invite": {}, - "join": {}, - "leave": {} - } - } - -By default this request will not wait in the server, always returning a value -even if nothing interesting happened. However, by applying the ``timeout`` -query parameter, which gives a duration in miliseconds, we can ask the server -to wait for up to that amount of time before it returns. If no interesting -events have happened since then, the response will be relatively empty.:: - - curl -XGET "https://localhost:8448/_matrix/client/r0/sync?since=s9_13_0_1_1_1&access_token=YOUR_ACCESS_TOKEN" - { - "account_data": { - "events": [] - }, - "next_batch": "s9_13_0_1_1_1", - "presence": { - "events": [] - }, - "rooms": { - "invite": {}, - "join": {}, - "leave": {} - } - } - -Example application -------------------- -The following example demonstrates registration and login, live event streaming, -creating and joining rooms, sending messages, getting member lists and getting -historical messages for a room. This covers most functionality of a messaging -application. - -.. NOTE:: - `Try out the fiddle`__ - - .. __: http://jsfiddle.net/gh/get/jquery/1.8.3/matrix-org/matrix-doc/tree/master/supporting-docs/howtos/jsfiddles/example_app diff --git a/supporting-docs/guides/2016-10-18-e2e_implementation.rst b/supporting-docs/guides/2016-10-18-e2e_implementation.rst deleted file mode 100644 index 05b58d4fc..000000000 --- a/supporting-docs/guides/2016-10-18-e2e_implementation.rst +++ /dev/null @@ -1,797 +0,0 @@ ---- -layout: post -title: End-to-End Encryption implementation guide -categories: guides ---- - -Implementing End-to-End Encryption in Matrix clients -==================================================== - -This guide is intended for authors of Matrix clients who wish to add -support for end-to-end encryption. It is highly recommended that readers -be familiar with the Matrix protocol and the use of access tokens before -proceeding. - -.. contents:: - -The libolm library ------------------- - -End-to-end encryption in Matrix is based on the Olm and Megolm -cryptographic ratchets. The recommended starting point for any client -authors is with the `libolm <http://matrix.org/git/olm>`__ library, -which contains implementations of all of the cryptographic primitives -required. The library itself is written in C/C++, but is architected in -a way which makes it easy to write wrappers for higher-level languages. - -Devices -------- - -We have a particular meaning for “device”. As a user, I might have -several devices (a desktop client, some web browsers, an Android device, -an iPhone, etc). When I first use a client, it should register itself as -a new device. If I log out and log in again as a different user, the -client must register as a new device. Critically, the client must create -a new set of keys (see below) for each “device”. - -The longevity of devices will depend on the client. In the web client, -we create a new device every single time you log in. In a mobile client, -it might be acceptable to reuse the device if a login session expires, -**provided** the user is the same. **Never** share keys between -different users. - -Devices are identified by their ``device_id`` (which is unique within -the scope of a given user). By default, the ``/login`` and ``/register`` -endpoints will auto-generate a ``device_id`` and return it in the -response; a client is also free to generate its own ``device_id`` or, as -above, reuse a device, in which case the client should pass the -``device_id`` in the request body. - -The lifetime of devices and ``access_token``\ s are closely related. In -the simple case where a new device is created each time you log in, -there is a one-to-one mapping between a ``device_id`` and an -``access_token``. If a client reuses a ``device_id`` when logging -in, there will be several ``access_token``\ s associated with a -given ``device_id`` - but still, we would expect only one of these to be -active at once (though we do not currently enforce that in Synapse). - -Keys used in End-to-End encryption ----------------------------------- - -There are a number of keys involved in encrypted communication: a -summary of them follows. - -Ed25519 fingerprint key pair -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Ed25519 is a public-key cryptographic system for signing messages. In -Matrix, each device has an Ed25519 key pair which serves to identify -that device. The private part of the key pair should never leave the -device, but the public part is published to the Matrix network. - -Curve25519 identity key pair -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Curve25519 is a public-key cryptographic system which can be used to -establish a shared secret. In Matrix, each device has a long-lived -Curve25519 identity key which is used to establish Olm sessions with -that device. Again, the private key should never leave the device, but -the public part is signed with the Ed25519 fingerprint key and published -to the network. - -Theoretically we should rotate the Curve25519 identity key from time to -time, but we haven't implemented this yet. - -Curve25519 one-time keys -~~~~~~~~~~~~~~~~~~~~~~~~ - -As well as the identity key, each device creates a number of Curve25519 -key pairs which are also used to establish Olm sessions, but can only be -used once. Once again, the private part remains on the device. - -At startup, Alice creates a number of one-time key pairs, and publishes -them to her homeserver. If Bob wants to establish an Olm session with -Alice, he needs to claim one of Alice’s one-time keys, and creates a new -one of his own. Those two keys, along with Alice’s and Bob’s identity -keys, are used in establishing an Olm session between Alice and Bob. - -Megolm encryption keys -~~~~~~~~~~~~~~~~~~~~~~ - -The Megolm key is used to encrypt group messages (in fact it is used to -derive an AES-256 key, and an HMAC-SHA-256 key). It is initialised with -random data. Each time a message is sent, a hash calculation is done on -the Megolm key to derive the key for the next message. It is therefore -possible to share the current state of the Megolm key with a user, -allowing them to decrypt future messages but not past messages. - -Ed25519 Megolm signing key pair -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When a sender creates a Megolm session, he also creates another Ed25519 -signing key pair. This is used to sign messages sent via that Megolm -session, to authenticate the sender. Once again, the private part of the -key remains on the device. The public part is shared with other devices -in the room alongside the encryption key. - -Creating and registering device keys ------------------------------------- - -This process only happens once, when a device first starts. - -It must create the Ed25519 fingerprint key pair and the Curve25519 -identity key pair. This is done by calling ``olm_create_account`` in -libolm. The (base64-encoded) keys are retrieved by calling -``olm_account_identity_keys``. The account should be stored for future -use. - -It should then publish these keys to the homeserver. To do this, it -should construct a JSON object as follows: - -.. code:: json - - { - "algorithms": ["m.olm.v1.curve25519-aes-sha2", "m.megolm.v1.aes-sha2"], - "device_id": "<device_id>", - "keys": { - "curve25519:<device_id>": "<curve25519_key>", - "ed25519:<device_id>": "<ed25519_key>" - }, - "user_id: <user_id>" - } - -The object should be formatted as `Canonical -JSON <http://matrix.org/docs/spec/server_server/unstable.html#canonical-json>`__, -then signed with ``olm_account_sign``; the signature should be added to -the JSON as ``signatures.<user_id>.ed25519:<device_id>``. - -The signed JSON is then uploaded via -``POST /_matrix/client/unstable/keys/upload``. - -Creating and registering one-time keys --------------------------------------- - -At first start, and at regular intervals -thereafter\ [#]_, the client should check how -many one-time keys the homeserver has stored for it, and, if necessary, -generate and upload some more. - -.. [#] Every 10 minutes is suggested. - -The number of one-time keys currently stored is returned by -``POST /_matrix/client/unstable/keys/upload``. (Post an empty JSON object -``{}`` if you don’t want to upload the device keys.) - -The maximum number of active keys supported by libolm is returned by -``olm_account_max_number_of_one_time_keys``. The client should try to -maintain about half this number on the homeserver. - -To generate new one-time keys: - -* Call ``olm_account_generate_one_time_keys`` to generate new keys. - -* Call ``olm_account_one_time_keys`` to retrieve the unpublished keys. This - returns a JSON-formatted object with the single property ``curve25519``, - which is itself an object mapping key id to base64-encoded Curve25519 - key. For example: - - .. code:: json - - { - "curve25519": { - "AAAAAA": "wo76WcYtb0Vk/pBOdmduiGJ0wIEjW4IBMbbQn7aSnTo", - "AAAAAB": "LRvjo46L1X2vx69sS9QNFD29HWulxrmW11Up5AfAjgU" - } - } - -* Each key should be signed with the account key. To do this: - - * Construct a JSON object as follows: - - .. code:: json - - { - "key": "<curve25519_key>" - } - - * Call ``olm_account_sign`` to calculate the signature. - - * Add the signature should be added to the JSON as - ``signatures.<user_id>.ed25519:<device_id>``. - - * The complete key object should now look like: - - .. code:: json - - { - "key": "wo76WcYtb0Vk/pBOdmduiGJ0wIEjW4IBMbbQn7aSnTo", - "signatures": { - "@alice:example.com": { - "ed25519:JLAFKJWSCS": "dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA" - } - } - } - - -* Aggregate all the signed one-time keys into a single JSON object as follows: - - .. code:: json - - { - "one_time_keys": { - "signed_curve25519:<key_id>": { - "key": "<curve25519_key>", - "signatures": { - "<user_id>": { - "ed25519:<device_id>": "<signature>" - } - } - }, - "signed_curve25519:<key_id>": { - ... - }, - ... - } - } - -* Upload the object via ``POST /_matrix/client/unstable/keys/upload``. - -* Call ``olm_account_mark_keys_as_published`` to tell the olm library not to - return the same keys from a future call to ``olm_account_one_time_keys``. - -Configuring a room to use encryption ------------------------------------- - -To enable encryption in a room, a client should send a state event of -type ``m.room.encryption``, and content ``{ "algorithm": -"m.megolm.v1.aes-sha2" }``. - -.. |m.room.encryption| replace:: ``m.room.encryption`` -.. _`m.room.encryption`: - -Handling an ``m.room.encryption`` state event ---------------------------------------------- - -When a client receives an ``m.room.encryption`` event as above, it -should set a flag to indicate that messages sent in the room should be -encrypted. - -This flag should **not** be cleared if a later ``m.room.encryption`` -event changes the configuration. This is to avoid a situation where a -MITM can simply ask participants to disable encryption. In short: once -encryption is enabled in a room, it can never be disabled. - -The event should contain an ``algorithm`` property which defines which -encryption algorithm should be used for encryption. Currently only -``m.megolm.v1-aes-sha2`` is permitted here. - -The event may also include other settings for how messages sent in the room -should be encrypted (for example, ``rotation_period_ms`` to define how often -the session should be replaced). - -Handling an ``m.room.encrypted`` event --------------------------------------- - -Encrypted events have a type of ``m.room.encrypted``. They have a -content property ``algorithm`` which gives the encryption algorithm in -use, as well as other properties specific to the algorithm [#]_. - -.. [#] Note that a redacted event will have an empty content, and hence the - content will have no ``algorithm`` property. Thus a client should check - whether an event is redacted before checking for the ``algorithm`` property. - -The encrypted payload is a JSON object with the properties ``type`` -(giving the decrypted event type), and ``content`` (giving the decrypted -content). Depending on the algorithm in use, the payload may contain -additional keys. - -There are currently two defined algorithms: - -``m.olm.v1.curve25519-aes-sha2`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Encrypted events using this algorithm should have a ``sender_key`` and a -``ciphertext`` property. - -The ``sender_key`` property of the event content gives the Curve25519 -identity key of the sender. Clients should maintain a list of known Olm -sessions for each device they speak to; it is recommended to index them -by Curve25519 identity key. - -Olm messages are encrypted separately for each recipient device. -``ciphertext`` is an object mapping from the Curve25519 identity key for -the recipient device. The receiving client should, of course, look for -its own identity key in this object. (If it isn't listed, the message -wasn't sent for it, and the client can't decrypt it; it should show an -error instead, or similar). - -This should result in an object with the properties ``type`` and -``body``. Messages of type '0' are 'prekey' messages which are used to -establish a new Olm session between two devices; type '1' are normal -messages which are used once a message has been received on the session. - -When a message (of either type) is received, a client should first -attempt to decrypt it with each of the known sessions for that sender. -There are two steps to this: - -- If (and only if) ``type==0``, the client should call - ``olm_matches_inbound_session`` with the session and ``body``. This - returns a flag indicating whether the message was encrypted using - that session. - -- The client calls ``olm_decrypt``, with the session, ``type``, and - ``body``. If this is successful, it returns the plaintext of the - event. - -If the client was unable to decrypt the message using any known sessions -(or if there are no known sessions yet), **and** the message had type 0, -**and** ``olm_matches_inbound_session`` wasn't true for any existing -sessions, then the client can try establishing a new session. This is -done as follows: - -- Call ``olm_create_inbound_session_from`` using the olm account, and - the ``sender_key`` and ``body`` of the message. - -- If the session was established successfully: - - - call ``olm_remove_one_time_keys`` to ensure that the same - one-time-key cannot be reused. - - - Call ``olm_decrypt`` with the new session - - - Store the session for future use - -At the end of this, the client will hopefully have successfully -decrypted the payload. - -As well as the ``type`` and ``content`` properties, the payload should -contain a number of other properties. Each of these should be checked as -follows [#]_. - -``sender`` - The user ID of the sender. The client should check that this matches the - ``sender`` in the event. - -``recipient`` - The user ID of the recipient. The client should check that this matches the - local user ID. - -``keys`` - an object with a property ``ed25519``, The client should check that the - value of this property matches the sender's fingerprint key when `marking - the event as verified`_\ . - -``recipient_keys`` - an object with a property ``ed25519``. The client should check that the - value of this property matches its own fingerprint key. - -.. [#] These tests prevent an attacker publishing someone else's curve25519 - keys as their own and subsequently claiming to have sent messages which they - didn't. - -``m.megolm.v1.aes-sha2`` -~~~~~~~~~~~~~~~~~~~~~~~~ - -Encrypted events using this algorithm should have ``sender_key``, -``session_id`` and ``ciphertext`` content properties. If the -``room_id``, ``sender_key`` and ``session_id`` correspond to a known -Megolm session (see `below`__), the ciphertext can be -decrypted by passing the ciphertext into ``olm_group_decrypt``. - -__ `m.room_key`_ - -In order to avoid replay attacks a client should remember the megolm -``message_index`` returned by ``olm_group_decrypt`` of each event they decrypt -for each session. If the client decrypts an event with the same -``message_index`` as one that it has already received using that session then -it should treat the message as invalid. However, care must be taken when an -event is decrypted multiple times that it is not flagged as a replay attack. -For example, this may happen when the client decrypts an event, the event gets -purged from the client's cache, and then the client backfills and re-decrypts -the event. One way to handle this case is to ensure that the record of -``message_index``\ es is appropriately purged when the client's cache of events -is purged. Another way is to remember the event's ``event_id`` and -``origin_server_ts`` along with its ``message_index``. When the client decrypts -an event with a ``message_index`` matching that of a previously-decrypted -event, it can then compare the ``event_id`` and ``origin_server_ts`` that it -remembered for that ``message_index``, and if those fields match, then the -message should be decrypted as normal. - -The client should check that the sender's fingerprint key matches the -``keys.ed25519`` property of the event which established the Megolm session -when `marking the event as verified`_. - -.. _`m.room_key`: - -Handling an ``m.room_key`` event --------------------------------- - -These events contain key data to allow decryption of other messages. -They are sent to specific devices, so they appear in the ``to_device`` -section of the response to ``GET /_matrix/client/r0/sync``. They will -also be encrypted, so will need decrypting as above before they can be -seen. (These events are generated by other clients - see `starting a megolm -session`_). - -The event content will contain an 'algorithm' property, indicating the -encryption algorithm the key data is to be used for. Currently, this -will always be ``m.megolm.v1.aes-sha2``. - -Room key events for Megolm will also have ``room_id``, ``session_id``, and -``session_key`` keys. They are used to establish a Megolm session. The -``room_id`` identifies which room the session will be used in. The ``room_id``, -together with the ``sender_key`` of the ``room_key`` event before it was -decrypted, and the ``session_id``, uniquely identify a Megolm session. If they -do not represent a known session, the client should start a new inbound Megolm -session by calling ``olm_init_inbound_group_session`` with the ``session_key``. - -The client should remember the value of the keys property of the payload -of the encrypted ``m.room_key`` event and store it with the inbound -session. This is used as above when marking the event as verified. - -.. _`download the device list`: - -Downloading the device list for users in the room -------------------------------------------------- - -Before an encrypted message can be sent, it is necessary to retrieve the -list of devices for each user in the room. This can be done proactively, -or deferred until the first message is sent. The information is also -required to allow users to `verify or block devices`__. - -__ `blocking`_ - -The client should build a JSON query object as follows: - -.. code:: json - - { - "device_keys": { - "<user_id>": {}, - [...] - } - } - -Each member in the room should be included in the query. This is then -sent via ``POST /_matrix/client/unstable/keys/query.`` - -The result includes, for each listed user id, a map from device ID to an -object containing information on the device, as follows: - -.. code:: json - - { - "algorithms": [...], - "device_id": "<device_id>", - "keys": { - "curve25519:<device_id>": "<curve25519_key>", - "ed25519:<device_id>": "<ed25519_key>" - }, - "signatures": { - "<userId>": { - "ed25519:<device_id>": "<signature>" - }, - }, - "unsigned": { - "device_display_name": "<display name>" - }, - "user_id: <user_id>" - } - -The client should first check the signature on this object. To do this, -it should remove the ``signatures`` and ``unsigned`` properties, format -the remainder as Canonical JSON, and pass the result into -``olm_ed25519_verify``, using the Ed25519 key for the ``key`` parameter, -and the corresponding signature for the ``signature`` parameter. If the -signature check fails, no further processing should be done on the -device. - -The client must also check that the ``user_id`` and ``device_id`` fields in the -object match those in the top-level map [#]_. - -The client should check if the ``user_id``/``device_id`` correspond to a device -it had seen previously. If it did, the client **must** check that the Ed25519 -key hasn't changed. Again, if it has changed, no further processing should be -done on the device. - -Otherwise the client stores the information about this device. - -.. [#] This prevents a malicious or compromised homeserver replacing the keys - for the device with those of another. - -Sending an encrypted event --------------------------- - -When sending a message in a room `configured to use encryption`__, a client -first checks to see if it has an active outbound Megolm session. If not, it -first `creates one as per below`__. If an outbound session exists, it should -check if it is time to `rotate`__ it, and create a new one if so. - -__ `Configuring a room to use encryption`_ -__ `Starting a Megolm session`_ -__ `Rotating Megolm sessions`_ - -The client then builds an encryption payload as follows: - -.. code:: json - - { - "type": "<event type>", - "content": "<event content>", - "room_id": "<id of destination room>" - } - -and calls ``olm_group_encrypt`` to encrypt the payload. This is then packaged -into event content as follows: - -.. code:: json - - { - "algorithm": "m.megolm.v1.aes-sha2", - "sender_key": "<our curve25519 device key>", - "ciphertext": "<encrypted payload>", - "session_id": "<outbound group session id>", - "device_id": "<our device ID>" - } - -Finally, the encrypted event is sent to the room with ``POST -/_matrix/client/r0/rooms/<room_id>/send/m.room.encrypted/<txn_id>``. - -Starting a Megolm session -~~~~~~~~~~~~~~~~~~~~~~~~~ - -When a message is first sent in an encrypted room, the client should -start a new outbound Megolm session. This should **not** be done -proactively, to avoid proliferation of unnecessary Megolm sessions. - -To create the session, the client should call -``olm_init_outbound_group_session``, and store the details of the -outbound session for future use. - -The client should then call ``olm_outbound_group_session_id`` to get the -unique ID of the new session, and ``olm_outbound_group_session_key`` to -retrieve the current ratchet key and index. It should store these -details as an inbound session, just as it would when `receiving them via -an m.room_key event`__. - -__ `m.room_key`_ - -The client must then share the keys for this session with each device in the -room. It must therefore `download the device list`_ if it hasn't already done -so, and for each device in the room which has not been `blocked`__, the client -should: - -__ `blocking`_ - -* Build a content object as follows: - - .. code:: json - - { - "algorithm": "m.megolm.v1.aes-sha2", - "room_id": "<id of destination room>", - "session_id": "<session id>", - "session_key": "<session_key>" - } - -- Encrypt the content as an ``m.room_key`` event using Olm, as below. - -Once all of the key-sharing event contents have been assembled, the -events should be sent to the corresponding devices via -``PUT /_matrix/client/unstable/sendToDevice/m.room.encrypted/<txnId>``. - -Rotating Megolm sessions -~~~~~~~~~~~~~~~~~~~~~~~~ - -Megolm sessions may not be reused indefinitely. - -The number of messages which can be sent before a session should be rotated is -given by the ``rotation_period_msgs`` property of the |m.room.encryption|_ -event, or ``100`` if that property isn't present. - -Similarly, the maximum age of a megolm session is given, in milliseconds, by -the ``rotation_period_ms`` property of the ``m.room.encryption`` -event. ``604800000`` (a week) is the recommended default here. - -Once either the message limit or time limit have been reached, the client -should start a new session before sending any more messages. - - -Encrypting an event with Olm -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Olm is not used for encrypting room events, as it requires a separate -copy of the ciphertext for each device, and because the receiving device -can only decrypt received messages once. However, it is used for -encrypting key-sharing events for Megolm. - -When encrypting an event using Olm, the client should: - -- Build an encryption payload as follows: - - .. code:: json - - { - "type": "<event type>", - "content": "<event content>", - "sender": "<our user ID>", - "sender_device": "<our device ID>", - "keys": { - "ed25519": "<our ed25519 fingerprint key>" - }, - "recipient": "<recipient user ID>", - "recipient_keys": { - "ed25519": "<recipient's ed25519 fingerprint key>" - }, - } - -- Check if it has an existing Olm session; if it does not, `start a new - one`__. If it has several (as may happen due to - races when establishing sessions), it should use the one with the - first session_id when sorted by their ASCII codepoints (ie, 'A' - would be before 'Z', which would be before 'a'). - - __ `Starting an Olm session`_ - -- Encrypt the payload by calling ``olm_encrypt``. - -- Package the payload into event content as follows: - - .. code:: json - - { - "algorithm": "m.olm.v1.curve25519-aes-sha2", - "sender_key": "<our curve25519 identity key>", - "ciphertext": "<encrypted payload>" - } - -Starting an Olm session -~~~~~~~~~~~~~~~~~~~~~~~ - -To start a new Olm session with another device, a client must first -claim one of the other device's one-time keys. To do this, it should -create a query object as follows: - -.. code:: json - - { - "<user id>": { - "<device_id>": "signed_curve25519", - ... - }, - ... - } - -and send this via ``POST /_matrix/client/unstable/keys/claim``. Claims -for multiple devices should be aggregated into a single request. - -This will return a result as follows: - -.. code:: json - - { - "one_time_keys": { - "<user id>": { - "<device_id>": { - "signed_curve25519:<key_id>": { - "key": "<curve25519_key>", - "signatures": { - "<user_id>": { - "ed25519:<device_id>": "<signature>" - } - } - }, - }, - ... - }, - ... - } - } - -The client should first check the signatures on the signed key objects. As with -checking the signatures on the device keys, it should remove the ``signatures`` -and (if present) ``unsigned`` properties, format the remainder as Canonical -JSON, and pass the result into ``olm_ed25519_verify``, using the Ed25519 device -key for the ``key`` parameter. - -Provided the key object passes verification, the client should then pass the -key, along with the Curve25519 Identity key for the remote device, into -``olm_create_outbound_session``. - -Handling membership changes ---------------------------- - -The client should monitor rooms which are configured to use encryption for -membership changes. - -When a member leaves a room, the client should invalidate any active outbound -Megolm session, to ensure that a new session is used next time the user sends a -message. - -When a new member joins a room, the client should first `download the device -list`_ for the new member, if it doesn't already have it. - -After giving the user an opportunity to `block`__ any suspicious devices, the -client should share the keys for the outbound Megolm session with all the new -member's devices. This is done in the same way as `creating a new session`__, -except that there is no need to start a new Megolm session: due to the design -of the Megolm ratchet, the new user will only be able to decrypt messages -starting from the current state. The recommended method is to maintain a list -of members who are waiting for the session keys, and share them when the user -next sends a message. - -__ `blocking`_ -__ `Starting a Megolm session`_ - -Sending New Device announcements --------------------------------- - -When a user logs in on a new device, it is necessary to make sure that -other devices in any rooms with encryption enabled are aware of the new -device. This is done as follows. - -Once the initial call to the ``/sync`` API completes, the client should -iterate through each room where encryption is enabled. For each user -(including the client's own user), it should build a content object as -follows: - -.. code:: json - - { - "device_id": "<our device ID>", - "rooms": ["<shared room id 1>", "<room id 2>", ... ] - } - -Once all of these have been constructed, they should be sent to all of the -relevant user's devices (using the wildcard ``*`` in place of the -``device_id``) via ``PUT -/_matrix/client/unstable/sendToDevice/m.new_device/<txnId>.`` - -Handling an ``m.new_device`` event ----------------------------------- - -As with ``m.room_key`` events, these will appear in the ``to_device`` -section of the ``/sync`` response. - -The client should `download the device list`_ of the sender, to get the details -of the new device. - -The event content will contain a ``rooms`` property, as well as the -``device_id`` of the new device. For each room in the list, the client -should check if encryption is enabled, and if the sender of the event is -a member of that room. If so, the client should share the keys for the -outbound Megolm session with the new device, in the same way as -`handling a new user in the room`__. - -__ `Handling membership changes`_ - -.. _`blocking`: - -Blocking / Verifying devices ----------------------------- - -It should be possible for a user to mark each device belonging to -another user as 'Blocked' or 'Verified'. - -When a user chooses to block a device, this means that no further -encrypted messages should be shared with that device. In short, it -should be excluded when sharing room keys when `starting a new Megolm -session <#_p5d1esx6gkrc>`__. Any active outbound Megolm sessions whose -keys have been shared with the device should also be invalidated so that -no further messages are sent over them. - -Verifying a device involves ensuring that the device belongs to the -claimed user. Currently this must be done by showing the user the -Ed25519 fingerprint key for the device, and prompting the user to verify -out-of-band that it matches the key shown on the other user's device. - -.. _`marking the event as verified`: - -Marking events as 'verified' -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Once a device has been verified, it is possible to verify that events -have been sent from a particular device. See the section on `Handling an -m.room.encrypted event`_ for notes on how to do this -for each algorithm. Events sent from a verified device can be decorated -in the UI to show that they have been sent from a verified device. diff --git a/supporting-docs/guides/2017-03-11-types-of-bridging.md b/supporting-docs/guides/2017-03-11-types-of-bridging.md deleted file mode 100644 index d9ddbd07a..000000000 --- a/supporting-docs/guides/2017-03-11-types-of-bridging.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -layout: post -version: v1.0 -title: Types of Bridging -categories: guides ---- -<link href="/docs/css/faq.css" type="text/css" rel="stylesheet" /> - -# Types of bridging - -Bridges come in many flavours, and we need consistent terminology within the Matrix community to ensure everyone (users, developers, core team) is on the same page. This post is primarily intended for bridge developers to refer to when building bridges. - -*The most recent version of this document is [here](https://matrix.org/docs/guides/types-of-bridging.html) ([source](https://github.com/matrix-org/matrix-doc/blob/master/supporting-docs/guides/2017-03-11-types-of-bridging.md)) but we’re also posting it as a blog post for visibility.* - -## Types of rooms - -### Portal rooms - -Bridges can register themselves as controlling chunks of room aliases namespace, letting Matrix users join remote rooms transparently if they /join #freenode_#wherever:matrix.org or similar. The resulting Matrix room is typically automatically bridged to the single target remote room. Access control for Matrix users is typically managed by the remote network’s side of the room. This is called a portal room, and is useful for jumping into remote rooms without any configuration needed whatsoever - using Matrix as a ‘bouncer’ for the remote network. - -### Plumbed rooms - -Alternatively, an existing Matrix room can be can plumbed into one or more specific remote rooms by configuring a bridge (which can be run by anyone). For instance, #matrix:matrix.org is plumbed into #matrix on Freenode, matrixdotorg/#matrix on Slack, etc. Access control for Matrix users is necessarily managed by the Matrix side of the room. This is useful for using Matrix to link together different communities. - -Migrating rooms between a portal & plumbed room is currently a bit of a mess, as there’s not yet a way for users to remove portal rooms once they’re created, so you can end up with a mix of portal & plumbed users bridged into a room, which looks weird from both the Matrix and non-Matrix viewpoints. https://github.com/matrix-org/matrix-appservice-irc/issues/387 tracks this. - -## Types of bridges (simplest first): - -### Bridgebot-based bridges - -The simplest way to exchange messages with a remote network is to have the bridge log into the network using one or more predefined users called bridge bots - typically called MatrixBridge or MatrixBridge[123] etc. These relay traffic on behalf of the users on the other side, but it’s a terrible experience as all the metadata about the messages and senders is lost. This is how the [telematrix](https://github.com/SijmenSchoon/telematrix) matrix<->telegram bridge currently works. - -### Bot-API (aka Virtual user) based bridges - -Some remote systems support the idea of injecting messages from ‘fake’ or ‘virtual’ users, which can be used to represent the Matrix-side users as unique entities in the remote network. For instance, Slack’s inbound webhooks lets remote bots be created on demand, letting Matrix users be shown cosmetically correctly in the timeline as virtual users. However, the resulting virtual users aren’t real users on the remote system, so don’t have presence/profile and can’t be tab-completed or direct-messaged etc. They also have no way to receive typing notifs or other richer info which may not be available via bot APIs. This is how the current [matrix-appservice-slack](https://github.com/matrix-org/matrix-appservice-slack) bridge works. - -### Simple puppeted bridge - -This is a richer form of bridging, where the bridge logs into the remote service as if it were a real 3rd party client for that service. As a result, the Matrix user has to already have a valid account on the remote system. In exchange, the Matrix user ‘puppets’ their remote user, such that other users on the remote system aren’t even aware they are speaking to a user via Matrix. The full semantics of the remote system are available to the bridge to expose into Matrix. However, the bridge has to handle the authentication process to log the user into the remote bridge. - -This is essentially how the current [matrix-appservice-irc](https://github.com/matrix-org/matrix-appservice-irc) bridge works (if you configure it to log into the remote IRC network as your ‘real’ IRC nickname). [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) is being extended to support both puppeted and bridgebot-based operation. It’s how the experimental [matrix-appservice-tg](https://github.com/matrix-org/matrix-appservice-tg) bridge works. - -Going forwards we’re aiming for all bridges to be at least simple puppeted, if not double-puppeted. - -### Double-puppeted bridge - -A simple ‘puppeted bridge’ allows the Matrix user to control their account on their remote network. However, ideally this puppeting should work in both directions, so if the user logs into (say) their native telegram client and starts conversations, sends messages etc, these should be reflected back into Matrix as if the user had done them there. This requires the bridge to be able to puppet the Matrix side of the bridge on behalf of the user. - -This is the holy-grail of bridging because both the Matrix account and the third party account are accurately represented on their respective networks, with all user metadata intact. This is in contrast to a relaybot which would appear as a separate user from whom it represents. - -Several obstacles exist to the proper implementation of double-puppeted bridges. On the Matrix side, we need an elegant way of having the bridge auth with Matrix as the matrix user (which requires some kind of scoped access_token delegation). On the third-party network, unique problems exist depending on the limitations of that particular network network. For example, many third party networks will lack the ability to represent other Matrix users than the one being puppeted (see hybrid relaybot). - -[matrix-puppet-bridge](https://github.com/matrix-hacks/matrix-puppet-bridge) is a community project that tries to facilitate development of double-puppeted bridges, having done so, without a bridgebot feature, for [several networks](https://github.com/matrix-hacks/matrix-puppet-bridge#examples). A downside to their approach is the assumption that an individual will run the bridge on their own homeserver, thus working around the problem of sharing auth credentials on a shared homeserver. - -### Hybrid Relaybot Puppet Bridge - -This type of bridge is a combination single or double puppet bridge which tries to solve the problem of representing other users by means of the bridgebot technique. [matrix-appservice-gitter](https://github.com/matrix-org/matrix-appservice-gitter) works in this way. - -### Server-to-server bridging - -Some remote protocols (IRC, XMPP, SIP, SMTP, NNTP, GnuSocial etc) support federation - either open or closed. The most elegant way of bridging to these protocols would be to have the bridge participate in the federation as a server, directly bridging the entire namespace into Matrix. - -We’re not aware of anyone who’s done this yet. - -### One-way bridging - -One-way bridging is rare, but can be used to represent a bridge that is bridging from the remote system into matrix. This is common when the remote system does not permit message posting, or is simply not capable of handling posting outside their system. The users bridged from the remote system often appear as virtual users in matrix, as is the case with [matrix-appservice-instagram](https://github.com/turt2live/matrix-appservice-instagram). - -### Sidecar bridge - -Finally: the types of bridging described above assume that you are synchronising the conversation history of the remote system into Matrix, so it may be decentralised and exposed to multiple users within the wider Matrix network. - -This can cause problems where the remote system may have arbitrarily complicated permissions (ACLs) controlling access to the history, which will then need to be correctly synchronised with Matrix’s ACL model, without introducing security issues such as races. We already see some problems with this on the IRC bridge, where history visibility for +i and +k channels have to be carefully synchronised with the Matrix rooms. - -You can also hit problems with other network-specific features not yet having equivalent representation in the Matrix protocol (e.g. ephemeral messages, or op-only messages - although arguably that’s a type of ACL). - -One solution could be to support an entirely different architecture of bridging, where the Matrix client-server API is mapped directly to the remote service, meaning that ACL decisions are delegated to the remote service, and conversations are not exposed into the wider Matrix. This is effectively using the bridge purely as a 3rd party client for the network (similar to Bitlbee). The bridge is only available to a single user, and conversations cannot be shared with other Matrix users as they aren’t actually Matrix rooms. (Another solution could be to use Active Policy Servers at last as a way of centralising and delegating ACLs for a room) - -This is essentially an entirely different product to the rest of Matrix, and whilst it could be a solution for some particularly painful ACL problems, we’re focusing on non-sidecar bridges for now. diff --git a/supporting-docs/howtos/2014-06-09-client-server.md b/supporting-docs/howtos/2014-06-09-client-server.md deleted file mode 100644 index d62f86d72..000000000 --- a/supporting-docs/howtos/2014-06-09-client-server.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Try Matrix Now! -categories: howtos ---- - -<html> - <head> - <meta http-equiv="refresh" content="0; url=../guides/client-server.html" /> - </head> -</html> diff --git a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.css b/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.css deleted file mode 100644 index 48a55f372..000000000 --- a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.css +++ /dev/null @@ -1,17 +0,0 @@ -.loggedin { - visibility: hidden; -} - -p { - font-family: monospace; -} - -table -{ - border-spacing:5px; -} - -th,td -{ - padding:5px; -} diff --git a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.html b/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.html deleted file mode 100644 index b7e874c2c..000000000 --- a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.html +++ /dev/null @@ -1,30 +0,0 @@ -<div> - <p>This room creation / message sending demo requires a homeserver to be running on http://localhost:8008</p> -</div> -<form class="loginForm"> - <input type="text" id="userLogin" placeholder="Username"></input> - <input type="password" id="passwordLogin" placeholder="Password"></input> - <input type="button" class="login" value="Login"></input> -</form> -<div class="loggedin"> - <form class="createRoomForm"> - <input type="text" id="roomAlias" placeholder="Room alias (optional)"></input> - <input type="button" class="createRoom" value="Create Room"></input> - </form> - <form class="sendMessageForm"> - <input type="text" id="roomId" placeholder="Room ID"></input> - <input type="text" id="messageBody" placeholder="Message body"></input> - <input type="button" class="sendMessage" value="Send Message"></input> - </form> - <table id="rooms"> - <tbody> - <tr> - <th>Room ID</th> - <th>My state</th> - <th>Room Alias</th> - <th>Latest message</th> - </tr> - </tbody> - </table> -</div> - diff --git a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.js b/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.js deleted file mode 100644 index c16395acb..000000000 --- a/supporting-docs/howtos/jsfiddles/create_room_send_msg/demo.js +++ /dev/null @@ -1,113 +0,0 @@ -var accountInfo = {}; - -var showLoggedIn = function(data) { - accountInfo = data; - getCurrentRoomList(); - $(".loggedin").css({visibility: "visible"}); -}; - -$('.login').live('click', function() { - var user = $("#userLogin").val(); - var password = $("#passwordLogin").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/login", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - showLoggedIn(data); - }, - error: function(err) { - var errMsg = "To try this, you need a homeserver running!"; - var errJson = $.parseJSON(err.responseText); - if (errJson) { - errMsg = JSON.stringify(errJson); - } - alert(errMsg); - } - }); -}); - -var getCurrentRoomList = function() { - var url = "http://localhost:8008/_matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; - $.getJSON(url, function(data) { - var rooms = data.rooms; - for (var i=0; i<rooms.length; ++i) { - rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; - addRoom(rooms[i]); - } - }).fail(function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - }); -}; - -$('.createRoom').live('click', function() { - var roomAlias = $("#roomAlias").val(); - var data = {}; - if (roomAlias.length > 0) { - data.room_alias_name = roomAlias; - } - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - data.membership = "join"; // you are automatically joined into every room you make. - data.latest_message = ""; - addRoom(data); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); - -var addRoom = function(data) { - row = "<tr>" + - "<td>"+data.room_id+"</td>" + - "<td>"+data.membership+"</td>" + - "<td>"+data.room_alias+"</td>" + - "<td>"+data.latest_message+"</td>" + - "</tr>"; - $("#rooms").append(row); -}; - -$('.sendMessage').live('click', function() { - var roomId = $("#roomId").val(); - var body = $("#messageBody").val(); - var msgId = $.now(); - - if (roomId.length === 0 || body.length === 0) { - return; - } - - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomid", encodeURIComponent(roomId)); - - var data = { - msgtype: "m.text", - body: body - }; - - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - $("#messageBody").val(""); - // wipe the table and reload it. Using the event stream would be the best - // solution but that is out of scope of this fiddle. - $("#rooms").find("tr:gt(0)").remove(); - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); diff --git a/supporting-docs/howtos/jsfiddles/event_stream/demo.css b/supporting-docs/howtos/jsfiddles/event_stream/demo.css deleted file mode 100644 index 48a55f372..000000000 --- a/supporting-docs/howtos/jsfiddles/event_stream/demo.css +++ /dev/null @@ -1,17 +0,0 @@ -.loggedin { - visibility: hidden; -} - -p { - font-family: monospace; -} - -table -{ - border-spacing:5px; -} - -th,td -{ - padding:5px; -} diff --git a/supporting-docs/howtos/jsfiddles/event_stream/demo.html b/supporting-docs/howtos/jsfiddles/event_stream/demo.html deleted file mode 100644 index 3de7b0813..000000000 --- a/supporting-docs/howtos/jsfiddles/event_stream/demo.html +++ /dev/null @@ -1,23 +0,0 @@ -<div> - <p>This event stream demo requires a homeserver to be running on http://localhost:8008</p> -</div> -<form class="loginForm"> - <input type="text" id="userLogin" placeholder="Username"></input> - <input type="password" id="passwordLogin" placeholder="Password"></input> - <input type="button" class="login" value="Login"></input> -</form> -<div class="loggedin"> - <form class="sendMessageForm"> - <input type="button" class="sendMessage" value="Send random message"></input> - </form> - <p id="streamErrorText"></p> - <table id="rooms"> - <tbody> - <tr> - <th>Room ID</th> - <th>Latest message</th> - </tr> - </tbody> - </table> -</div> - diff --git a/supporting-docs/howtos/jsfiddles/event_stream/demo.js b/supporting-docs/howtos/jsfiddles/event_stream/demo.js deleted file mode 100644 index 65b118d27..000000000 --- a/supporting-docs/howtos/jsfiddles/event_stream/demo.js +++ /dev/null @@ -1,145 +0,0 @@ -var accountInfo = {}; - -var eventStreamInfo = { - from: "END" -}; - -var roomInfo = []; - -var longpollEventStream = function() { - var url = "http://localhost:8008/_matrix/client/api/v1/events?access_token=$token&from=$from"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$from", eventStreamInfo.from); - - $.getJSON(url, function(data) { - eventStreamInfo.from = data.end; - - var hasNewLatestMessage = false; - for (var i=0; i<data.chunk.length; ++i) { - if (data.chunk[i].type === "m.room.message") { - for (var j=0; j<roomInfo.length; ++j) { - if (roomInfo[j].room_id === data.chunk[i].room_id) { - roomInfo[j].latest_message = data.chunk[i].content.body; - hasNewLatestMessage = true; - } - } - } - } - - if (hasNewLatestMessage) { - setRooms(roomInfo); - } - $("#streamErrorText").text(""); - longpollEventStream(); - }).fail(function(err) { - $("#streamErrorText").text("Event stream error: "+JSON.stringify($.parseJSON(err.responseText))); - setTimeout(longpollEventStream, 5000); - }); -}; - -var showLoggedIn = function(data) { - accountInfo = data; - longpollEventStream(); - getCurrentRoomList(); - $(".loggedin").css({visibility: "visible"}); -}; - -$('.login').live('click', function() { - var user = $("#userLogin").val(); - var password = $("#passwordLogin").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/login", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - $("#rooms").find("tr:gt(0)").remove(); - showLoggedIn(data); - }, - error: function(err) { - var errMsg = "To try this, you need a homeserver running!"; - var errJson = $.parseJSON(err.responseText); - if (errJson) { - errMsg = JSON.stringify(errJson); - } - alert(errMsg); - } - }); -}); - -var getCurrentRoomList = function() { - $("#roomId").val(""); - var url = "http://localhost:8008/_matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; - $.getJSON(url, function(data) { - var rooms = data.rooms; - for (var i=0; i<rooms.length; ++i) { - if ("messages" in rooms[i]) { - rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; - } - } - roomInfo = rooms; - setRooms(roomInfo); - }).fail(function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - }); -}; - -$('.sendMessage').live('click', function() { - if (roomInfo.length === 0) { - alert("There is no room to send a message to!"); - return; - } - - var index = Math.floor(Math.random() * roomInfo.length); - - sendMessage(roomInfo[index].room_id); -}); - -var sendMessage = function(roomId) { - var body = "jsfiddle message @" + $.now(); - - if (roomId.length === 0) { - return; - } - - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomid", encodeURIComponent(roomId)); - - var data = { - msgtype: "m.text", - body: body - }; - - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - $("#messageBody").val(""); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}; - -var setRooms = function(roomList) { - // wipe existing entries - $("#rooms").find("tr:gt(0)").remove(); - - var rows = ""; - for (var i=0; i<roomList.length; ++i) { - row = "<tr>" + - "<td>"+roomList[i].room_id+"</td>" + - "<td>"+roomList[i].latest_message+"</td>" + - "</tr>"; - rows += row; - } - - $("#rooms").append(rows); -}; - diff --git a/supporting-docs/howtos/jsfiddles/example_app/demo.css b/supporting-docs/howtos/jsfiddles/example_app/demo.css deleted file mode 100644 index 4c1e157cc..000000000 --- a/supporting-docs/howtos/jsfiddles/example_app/demo.css +++ /dev/null @@ -1,43 +0,0 @@ -.roomListDashboard, .roomContents, .sendMessageForm { - visibility: hidden; -} - -.roomList { - background-color: #909090; -} - -.messageWrapper { - background-color: #EEEEEE; - height: 400px; - overflow: scroll; -} - -.membersWrapper { - background-color: #EEEEEE; - height: 200px; - width: 50%; - overflow: scroll; -} - -.textEntry { - width: 100% -} - -p { - font-family: monospace; -} - -table -{ - border-spacing:5px; -} - -th,td -{ - padding:5px; -} - -.roomList tr:not(:first-child):hover { - background-color: orange; - cursor: pointer; -} diff --git a/supporting-docs/howtos/jsfiddles/example_app/demo.details b/supporting-docs/howtos/jsfiddles/example_app/demo.details deleted file mode 100644 index 3f96d3e74..000000000 --- a/supporting-docs/howtos/jsfiddles/example_app/demo.details +++ /dev/null @@ -1,7 +0,0 @@ - name: Example Matrix Client - description: Includes login, live event streaming, creating rooms, sending messages and viewing member lists. - authors: - - matrix.org - resources: - - http://matrix.org - normalize_css: no \ No newline at end of file diff --git a/supporting-docs/howtos/jsfiddles/example_app/demo.html b/supporting-docs/howtos/jsfiddles/example_app/demo.html deleted file mode 100644 index a183f61db..000000000 --- a/supporting-docs/howtos/jsfiddles/example_app/demo.html +++ /dev/null @@ -1,56 +0,0 @@ -<div class="signUp"> - <p>Matrix example application: Requires a local homeserver running at http://localhost:8008</p> - <form class="registrationForm"> - <p>No account? Register:</p> - <input type="text" id="userReg" placeholder="Username"></input> - <input type="password" id="passwordReg" placeholder="Password"></input> - <input type="button" class="register" value="Register"></input> - </form> - <form class="loginForm"> - <p>Got an account? Login:</p> - <input type="text" id="userLogin" placeholder="Username"></input> - <input type="password" id="passwordLogin" placeholder="Password"></input> - <input type="button" class="login" value="Login"></input> - </form> -</div> - -<div class="roomListDashboard"> - <form class="createRoomForm"> - <input type="text" id="roomAlias" placeholder="Room alias"></input> - <input type="button" class="createRoom" value="Create Room"></input> - </form> - <table id="rooms" class="roomList"> - <tbody> - <tr> - <th>Room</th> - <th>My state</th> - <th>Latest message</th> - </tr> - </tbody> - </table> -</div> - -<div class="roomContents"> - <p id="roomName">Select a room</p> - <div class="messageWrapper"> - <table id="messages"> - <tbody> - </tbody> - </table> - </div> - <form class="sendMessageForm"> - <input type="text" class="textEntry" id="body" placeholder="Enter text here..." onkeydown="javascript:if (event.keyCode == 13) document.getElementById('sendMsg').focus()"></input> - <input type="button" class="sendMessage" id="sendMsg" value="Send"></input> - </form> -</div> - -<div> - <p>Member list:</p> - <div class="membersWrapper"> - <table id="members"> - <tbody> - </tbody> - </table> - </div> -</div> - diff --git a/supporting-docs/howtos/jsfiddles/example_app/demo.js b/supporting-docs/howtos/jsfiddles/example_app/demo.js deleted file mode 100644 index d10badbc0..000000000 --- a/supporting-docs/howtos/jsfiddles/example_app/demo.js +++ /dev/null @@ -1,327 +0,0 @@ -var accountInfo = {}; - -var eventStreamInfo = { - from: "END" -}; - -var roomInfo = []; -var memberInfo = []; -var viewingRoomId; - -// ************** Event Streaming ************** -var longpollEventStream = function() { - var url = "http://localhost:8008/_matrix/client/api/v1/events?access_token=$token&from=$from"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$from", eventStreamInfo.from); - - $.getJSON(url, function(data) { - eventStreamInfo.from = data.end; - - var hasNewLatestMessage = false; - var updatedMemberList = false; - var i=0; - var j=0; - for (i=0; i<data.chunk.length; ++i) { - if (data.chunk[i].type === "m.room.message") { - console.log("Got new message: " + JSON.stringify(data.chunk[i])); - if (viewingRoomId === data.chunk[i].room_id) { - addMessage(data.chunk[i]); - } - - for (j=0; j<roomInfo.length; ++j) { - if (roomInfo[j].room_id === data.chunk[i].room_id) { - roomInfo[j].latest_message = data.chunk[i].content.body; - hasNewLatestMessage = true; - } - } - } - else if (data.chunk[i].type === "m.room.member") { - if (viewingRoomId === data.chunk[i].room_id) { - console.log("Got new member: " + JSON.stringify(data.chunk[i])); - addMessage(data.chunk[i]); - for (j=0; j<memberInfo.length; ++j) { - if (memberInfo[j].state_key === data.chunk[i].state_key) { - memberInfo[j] = data.chunk[i]; - updatedMemberList = true; - break; - } - } - if (!updatedMemberList) { - memberInfo.push(data.chunk[i]); - updatedMemberList = true; - } - } - if (data.chunk[i].state_key === accountInfo.user_id) { - getCurrentRoomList(); // update our join/invite list - } - } - else { - console.log("Discarding: " + JSON.stringify(data.chunk[i])); - } - } - - if (hasNewLatestMessage) { - setRooms(roomInfo); - } - if (updatedMemberList) { - $("#members").empty(); - for (i=0; i<memberInfo.length; ++i) { - addMember(memberInfo[i]); - } - } - longpollEventStream(); - }).fail(function(err) { - setTimeout(longpollEventStream, 5000); - }); -}; - -// ************** Registration and Login ************** -var onLoggedIn = function(data) { - accountInfo = data; - longpollEventStream(); - getCurrentRoomList(); - $(".roomListDashboard").css({visibility: "visible"}); - $(".roomContents").css({visibility: "visible"}); - $(".signUp").css({display: "none"}); -}; - -$('.login').live('click', function() { - var user = $("#userLogin").val(); - var password = $("#passwordLogin").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/login", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - onLoggedIn(data); - }, - error: function(err) { - alert("Unable to login: is the homeserver running?"); - } - }); -}); - -$('.register').live('click', function() { - var user = $("#userReg").val(); - var password = $("#passwordReg").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/register", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - onLoggedIn(data); - }, - error: function(err) { - var msg = "Is the homeserver running?"; - var errJson = $.parseJSON(err.responseText); - if (errJson !== null) { - msg = errJson.error; - } - alert("Unable to register: "+msg); - } - }); -}); - -// ************** Creating a room ****************** -$('.createRoom').live('click', function() { - var roomAlias = $("#roomAlias").val(); - var data = {}; - if (roomAlias.length > 0) { - data.room_alias_name = roomAlias; - } - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(response) { - $("#roomAlias").val(""); - response.membership = "join"; // you are automatically joined into every room you make. - response.latest_message = ""; - - roomInfo.push(response); - setRooms(roomInfo); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); - -// ************** Getting current state ************** -var getCurrentRoomList = function() { - var url = "http://localhost:8008/_matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; - $.getJSON(url, function(data) { - var rooms = data.rooms; - for (var i=0; i<rooms.length; ++i) { - if ("messages" in rooms[i]) { - rooms[i].latest_message = rooms[i].messages.chunk[0].content.body; - } - } - roomInfo = rooms; - setRooms(roomInfo); - }).fail(function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - }); -}; - -var loadRoomContent = function(roomId) { - console.log("loadRoomContent " + roomId); - viewingRoomId = roomId; - $("#roomName").text("Room: "+roomId); - $(".sendMessageForm").css({visibility: "visible"}); - getMessages(roomId); - getMemberList(roomId); -}; - -var getMessages = function(roomId) { - $("#messages").empty(); - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/" + - encodeURIComponent(roomId) + "/messages?access_token=" + accountInfo.access_token + "&from=END&dir=b&limit=10"; - $.getJSON(url, function(data) { - for (var i=data.chunk.length-1; i>=0; --i) { - addMessage(data.chunk[i]); - } - }); -}; - -var getMemberList = function(roomId) { - $("#members").empty(); - memberInfo = []; - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/" + - encodeURIComponent(roomId) + "/members?access_token=" + accountInfo.access_token; - $.getJSON(url, function(data) { - for (var i=0; i<data.chunk.length; ++i) { - memberInfo.push(data.chunk[i]); - addMember(data.chunk[i]); - } - }); -}; - -// ************** Sending messages ************** -$('.sendMessage').live('click', function() { - if (viewingRoomId === undefined) { - alert("There is no room to send a message to!"); - return; - } - var body = $("#body").val(); - sendMessage(viewingRoomId, body); -}); - -var sendMessage = function(roomId, body) { - var msgId = $.now(); - - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/$roomid/send/m.room.message?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomid", encodeURIComponent(roomId)); - - var data = { - msgtype: "m.text", - body: body - }; - - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - $("#body").val(""); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}; - -// ************** Navigation and DOM manipulation ************** -var setRooms = function(roomList) { - // wipe existing entries - $("#rooms").find("tr:gt(0)").remove(); - - var rows = ""; - for (var i=0; i<roomList.length; ++i) { - row = "<tr>" + - "<td>"+roomList[i].room_id+"</td>" + - "<td>"+roomList[i].membership+"</td>" + - "<td>"+roomList[i].latest_message+"</td>" + - "</tr>"; - rows += row; - } - - $("#rooms").append(rows); - - $('#rooms').find("tr").click(function(){ - var roomId = $(this).find('td:eq(0)').text(); - var membership = $(this).find('td:eq(1)').text(); - if (membership !== "join") { - console.log("Joining room " + roomId); - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/$roomid/join?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomid", encodeURIComponent(roomId)); - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({membership: "join"}), - dataType: "json", - success: function(data) { - loadRoomContent(roomId); - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); - } - else { - loadRoomContent(roomId); - } - }); -}; - -var addMessage = function(data) { - - var msg = data.content.body; - if (data.type === "m.room.member") { - if (data.content.membership === undefined) { - return; - } - if (data.content.membership === "invite") { - msg = "<em>invited " + data.state_key + " to the room</em>"; - } - else if (data.content.membership === "join") { - msg = "<em>joined the room</em>"; - } - else if (data.content.membership === "leave") { - msg = "<em>left the room</em>"; - } - else if (data.content.membership === "ban") { - msg = "<em>was banned from the room</em>"; - } - } - if (msg === undefined) { - return; - } - - var row = "<tr>" + - "<td>"+data.user_id+"</td>" + - "<td>"+msg+"</td>" + - "</tr>"; - $("#messages").append(row); -}; - -var addMember = function(data) { - var row = "<tr>" + - "<td>"+data.state_key+"</td>" + - "<td>"+data.content.membership+"</td>" + - "</tr>"; - $("#members").append(row); -}; - diff --git a/supporting-docs/howtos/jsfiddles/register_login/demo.css b/supporting-docs/howtos/jsfiddles/register_login/demo.css deleted file mode 100644 index 11781c250..000000000 --- a/supporting-docs/howtos/jsfiddles/register_login/demo.css +++ /dev/null @@ -1,7 +0,0 @@ -.loggedin { - visibility: hidden; -} - -p { - font-family: monospace; -} diff --git a/supporting-docs/howtos/jsfiddles/register_login/demo.html b/supporting-docs/howtos/jsfiddles/register_login/demo.html deleted file mode 100644 index bfcec3e47..000000000 --- a/supporting-docs/howtos/jsfiddles/register_login/demo.html +++ /dev/null @@ -1,20 +0,0 @@ -<div> - <p>This registration/login demo requires a homeserver to be running on http://localhost:8008</p> -</div> -<form class="registrationForm"> - <input type="text" id="user" placeholder="Username"></input> - <input type="password" id="password" placeholder="Password"></input> - <input type="button" class="register" value="Register"></input> -</form> -<form class="loginForm"> - <input type="text" id="userLogin" placeholder="Username"></input> - <input type="password" id="passwordLogin" placeholder="Password"></input> - <input type="button" class="login" value="Login"></input> -</form> -<div class="loggedin"> - <p id="welcomeText"></p> - <input type="button" class="testToken" value="Test token"></input> - <input type="button" class="logout" value="Logout"></input> - <p id="imSyncText"></p> -</div> - diff --git a/supporting-docs/howtos/jsfiddles/register_login/demo.js b/supporting-docs/howtos/jsfiddles/register_login/demo.js deleted file mode 100644 index f0f65e747..000000000 --- a/supporting-docs/howtos/jsfiddles/register_login/demo.js +++ /dev/null @@ -1,79 +0,0 @@ -var accountInfo = {}; - -var showLoggedIn = function(data) { - accountInfo = data; - $(".loggedin").css({visibility: "visible"}); - $("#welcomeText").text("Welcome " + accountInfo.user_id+". Your access token is: " + - accountInfo.access_token); -}; - -$('.register').live('click', function() { - var user = $("#user").val(); - var password = $("#password").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/register", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - showLoggedIn(data); - }, - error: function(err) { - var errMsg = "To try this, you need a homeserver running!"; - var errJson = $.parseJSON(err.responseText); - if (errJson) { - errMsg = JSON.stringify(errJson); - } - alert(errMsg); - } - }); -}); - -var login = function(user, password) { - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/login", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - showLoggedIn(data); - }, - error: function(err) { - var errMsg = "To try this, you need a homeserver running!"; - var errJson = $.parseJSON(err.responseText); - if (errJson) { - errMsg = JSON.stringify(errJson); - } - alert(errMsg); - } - }); -}; - -$('.login').live('click', function() { - var user = $("#userLogin").val(); - var password = $("#passwordLogin").val(); - $.getJSON("http://localhost:8008/_matrix/client/api/v1/login", function(data) { - if (data.flows[0].type !== "m.login.password") { - alert("I don't know how to login with this type: " + data.type); - return; - } - login(user, password); - }); -}); - -$('.logout').live('click', function() { - accountInfo = {}; - $("#imSyncText").text(""); - $(".loggedin").css({visibility: "hidden"}); -}); - -$('.testToken').live('click', function() { - var url = "http://localhost:8008/_matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; - $.getJSON(url, function(data) { - $("#imSyncText").text(JSON.stringify(data, undefined, 2)); - }).fail(function(err) { - $("#imSyncText").text(JSON.stringify($.parseJSON(err.responseText))); - }); -}); diff --git a/supporting-docs/howtos/jsfiddles/room_memberships/demo.css b/supporting-docs/howtos/jsfiddles/room_memberships/demo.css deleted file mode 100644 index 48a55f372..000000000 --- a/supporting-docs/howtos/jsfiddles/room_memberships/demo.css +++ /dev/null @@ -1,17 +0,0 @@ -.loggedin { - visibility: hidden; -} - -p { - font-family: monospace; -} - -table -{ - border-spacing:5px; -} - -th,td -{ - padding:5px; -} diff --git a/supporting-docs/howtos/jsfiddles/room_memberships/demo.html b/supporting-docs/howtos/jsfiddles/room_memberships/demo.html deleted file mode 100644 index dab7e9bf9..000000000 --- a/supporting-docs/howtos/jsfiddles/room_memberships/demo.html +++ /dev/null @@ -1,37 +0,0 @@ -<div> - <p>This room membership demo requires a homeserver to be running on http://localhost:8008</p> -</div> -<form class="loginForm"> - <input type="text" id="userLogin" placeholder="Username"></input> - <input type="password" id="passwordLogin" placeholder="Password"></input> - <input type="button" class="login" value="Login"></input> -</form> -<div class="loggedin"> - <form class="createRoomForm"> - <input type="button" class="createRoom" value="Create Room"></input> - </form> - <form class="changeMembershipForm"> - <input type="text" id="roomId" placeholder="Room ID"></input> - <input type="text" id="targetUser" placeholder="Target User ID"></input> - <select id="membership"> - <option value="invite">invite</option> - <option value="join">join</option> - <option value="leave">leave</option> - </select> - <input type="button" class="changeMembership" value="Change Membership"></input> - </form> - <form class="joinAliasForm"> - <input type="text" id="roomAlias" placeholder="Room Alias (#name:domain)"></input> - <input type="button" class="joinAlias" value="Join via Alias"></input> - </form> - <table id="rooms"> - <tbody> - <tr> - <th>Room ID</th> - <th>My state</th> - <th>Room Alias</th> - </tr> - </tbody> - </table> -</div> - diff --git a/supporting-docs/howtos/jsfiddles/room_memberships/demo.js b/supporting-docs/howtos/jsfiddles/room_memberships/demo.js deleted file mode 100644 index 899bce21a..000000000 --- a/supporting-docs/howtos/jsfiddles/room_memberships/demo.js +++ /dev/null @@ -1,141 +0,0 @@ -var accountInfo = {}; - -var showLoggedIn = function(data) { - accountInfo = data; - getCurrentRoomList(); - $(".loggedin").css({visibility: "visible"}); - $("#membership").change(function() { - if ($("#membership").val() === "invite") { - $("#targetUser").css({visibility: "visible"}); - } - else { - $("#targetUser").css({visibility: "hidden"}); - } -}); -}; - -$('.login').live('click', function() { - var user = $("#userLogin").val(); - var password = $("#passwordLogin").val(); - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/login", - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({ user: user, password: password, type: "m.login.password" }), - dataType: "json", - success: function(data) { - $("#rooms").find("tr:gt(0)").remove(); - showLoggedIn(data); - }, - error: function(err) { - var errMsg = "To try this, you need a homeserver running!"; - var errJson = $.parseJSON(err.responseText); - if (errJson) { - errMsg = JSON.stringify(errJson); - } - alert(errMsg); - } - }); -}); - -var getCurrentRoomList = function() { - $("#roomId").val(""); - // wipe the table and reload it. Using the event stream would be the best - // solution but that is out of scope of this fiddle. - $("#rooms").find("tr:gt(0)").remove(); - - var url = "http://localhost:8008/_matrix/client/api/v1/initialSync?access_token=" + accountInfo.access_token + "&limit=1"; - $.getJSON(url, function(data) { - var rooms = data.rooms; - for (var i=0; i<rooms.length; ++i) { - addRoom(rooms[i]); - } - }).fail(function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - }); -}; - -$('.createRoom').live('click', function() { - var data = {}; - $.ajax({ - url: "http://localhost:8008/_matrix/client/api/v1/createRoom?access_token="+accountInfo.access_token, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - data.membership = "join"; // you are automatically joined into every room you make. - data.latest_message = ""; - addRoom(data); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); - -var addRoom = function(data) { - row = "<tr>" + - "<td>"+data.room_id+"</td>" + - "<td>"+data.membership+"</td>" + - "<td>"+data.room_alias+"</td>" + - "</tr>"; - $("#rooms").append(row); -}; - -$('.changeMembership').live('click', function() { - var roomId = $("#roomId").val(); - var member = $("#targetUser").val(); - var membership = $("#membership").val(); - - if (roomId.length === 0) { - return; - } - - var url = "http://localhost:8008/_matrix/client/api/v1/rooms/$roomid/$membership?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomid", encodeURIComponent(roomId)); - url = url.replace("$membership", membership); - - var data = {}; - - if (membership === "invite") { - data = { - user_id: member - }; - } - - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify(data), - dataType: "json", - success: function(data) { - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); - -$('.joinAlias').live('click', function() { - var roomAlias = $("#roomAlias").val(); - var url = "http://localhost:8008/_matrix/client/api/v1/join/$roomalias?access_token=$token"; - url = url.replace("$token", accountInfo.access_token); - url = url.replace("$roomalias", encodeURIComponent(roomAlias)); - $.ajax({ - url: url, - type: "POST", - contentType: "application/json; charset=utf-8", - data: JSON.stringify({}), - dataType: "json", - success: function(data) { - getCurrentRoomList(); - }, - error: function(err) { - alert(JSON.stringify($.parseJSON(err.responseText))); - } - }); -}); diff --git a/supporting-docs/projects/2014-06-09-riot.md b/supporting-docs/projects/2014-06-09-riot.md deleted file mode 100644 index 3083b5ea0..000000000 --- a/supporting-docs/projects/2014-06-09-riot.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: project -title: Riot -categories: projects client -thumbnail: /docs/projects/images/riot-web-small.png -author: Riot.im -description: Riot is a glossy web client with an emphasis on performance and usability -maturity: Released ---- - -![screenshot](/docs/projects/images/riot-web-large.png "{{ page.title }}") - -# {{ page.title }} -[Riot](https://riot.im) is a glossy Matrix client built on top of [matrix-react-sdk](http://matrix.org/docs/projects/sdk/matrix.org-react-sdk.html) with an emphasis on performance and usability. - -You can use it at [https://riot.im/app](https://riot.im/app), read more at [https://riot.im](https://riot.im) and get the source from [github](https://github.com/vector-im/vector-web)! - -There is also a desktop version, which is available at [riot.im](https://riot.im/desktop.html). Taw has created RPM package builds for Fedora, CentOS, and Red Hat Enterprise Linux which are available via [GitHub](https://github.com/taw00/riot-rpm/) and [FedoraCorp](https://copr.fedorainfracloud.org/coprs/taw/Riot/). - -Josué Tille has contributed a [Yunohost app](https://github.com/Josue-T/riot_ynh). diff --git a/supporting-docs/projects/2014-06-09-vector.md b/supporting-docs/projects/2014-06-09-vector.md deleted file mode 100644 index 4f0ea2f5a..000000000 --- a/supporting-docs/projects/2014-06-09-vector.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Try Matrix Now! ---- - -<html> - <head> - <meta http-equiv="refresh" content="0; url=./riot.html" /> - </head> -</html> diff --git a/supporting-docs/projects/2014-08-12-synapse.md b/supporting-docs/projects/2014-08-12-synapse.md deleted file mode 100644 index c01e5ad2e..000000000 --- a/supporting-docs/projects/2014-08-12-synapse.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: project -title: Synapse -categories: projects server -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-29-at-00.28.25-400x284.png -author: Matrix.org team -maturity: Late beta ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-29-at-00.28.25-1080x579.png "{{ page.title }}") - -# {{ page.title }} -Matrix.org’s reference server – Synapse: [https://github.com/matrix-org/synapse](https://github.com/matrix-org/synapse) - -Apt repo: [https://matrix.org/packages/debian/](https://matrix.org/packages/debian/) - -Dockerfile from Silvio Fricke: [https://registry.hub.docker.com/u/silviof/docker-matrix/](https://registry.hub.docker.com/u/silviof/docker-matrix/) - -ArchLinux package from Ivan Shapovalov: [https://www.archlinux.org/packages/community/any/matrix-synapse/](https://www.archlinux.org/packages/community/any/matrix-synapse/) - -There is a FreeBSD package on [freshports.org](http://www.freshports.org/net/py-matrix-synapse/). - -Martin Giess has created an auto-deployment process with vagrant/ansible, tested with VirtualBox/AWS/DigitalOcean – see [https://github.com/EMnify/matrix-synapse-auto-deploy](https://github.com/EMnify/matrix-synapse-auto-deploy) for details. - -Synapse is also on the [Open Build Service](https://obs.infoserver.lv/project/show/matrix-synapse). - -Synapse is available for the [Nix package manager](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/matrix-synapse.nix). - -You can get Synapse on [Yunohost](https://github.com/YunoHost-Apps/synapse_ynh) - -There is also a [handy spreadsheet](http://matrix.org/docs/projects/other/hdd-space-calc-for-synapse.html) to calculate HDD space for your Synapse instance. - diff --git a/supporting-docs/projects/2014-09-10-neb.md b/supporting-docs/projects/2014-09-10-neb.md deleted file mode 100644 index b85c19473..000000000 --- a/supporting-docs/projects/2014-09-10-neb.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: NEB (N. E. Bot) -categories: projects other -description: Our dear Matrix Bot -author: Kegsay -maturity: Late beta ---- - -# {{ page.title }} -Kegsay's general-purpose Python Matrix Bot framework ([github](https://github.com/Kegsay/Matrix-NEB)) diff --git a/supporting-docs/projects/2014-09-30-matrix.org-android-sdk.md b/supporting-docs/projects/2014-09-30-matrix.org-android-sdk.md deleted file mode 100644 index 936abddca..000000000 --- a/supporting-docs/projects/2014-09-30-matrix.org-android-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org Android SDK -categories: projects sdk -author: Matrix.org team -maturity: Late beta ---- - -# {{ page.title }} -Matrix.org's Android SDK ([github](https://github.com/matrix-org/matrix-android-sdk)) diff --git a/supporting-docs/projects/2014-09-30-matrix.org-ios-sdk.md b/supporting-docs/projects/2014-09-30-matrix.org-ios-sdk.md deleted file mode 100644 index 25532c3ce..000000000 --- a/supporting-docs/projects/2014-09-30-matrix.org-ios-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org iOS SDK -categories: projects sdk -author: Matrix.org team -maturity: Late beta ---- - -# {{ page.title }} -Matrix.org's iOS SDK ([github](https://github.com/matrix-org/matrix-ios-sdk)) diff --git a/supporting-docs/projects/2014-11-03-pallium.md b/supporting-docs/projects/2014-11-03-pallium.md deleted file mode 100644 index 544b96654..000000000 --- a/supporting-docs/projects/2014-11-03-pallium.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Pallium -categories: projects server -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/pallium.png -author: KoFish -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/pallium.png "{{ page.title }}") - -# {{ page.title }} -KoFish’s homeserver written in Go – Pallium ([github](https://github.com/KoFish/pallium)) diff --git a/supporting-docs/projects/2014-11-04-matrix.org-angularjs-sdk.md b/supporting-docs/projects/2014-11-04-matrix.org-angularjs-sdk.md deleted file mode 100644 index 710c9ad65..000000000 --- a/supporting-docs/projects/2014-11-04-matrix.org-angularjs-sdk.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Matrix.org AngularJS SDK -categories: projects sdk -author: Matrix.org team -maturity: DEPRECATED ---- - -# {{ page.title }} -AngularJS services from Matrix.org for building communication apps in Angular based on Matrix: [https://github.com/matrix-org/matrix-angular-sdk](https://github.com/matrix-org/matrix-angular-sdk) - -These are no longer being actively maintained. diff --git a/supporting-docs/projects/2014-12-06-perl-matrix-irc-bridge.md b/supporting-docs/projects/2014-12-06-perl-matrix-irc-bridge.md deleted file mode 100644 index 248dc069e..000000000 --- a/supporting-docs/projects/2014-12-06-perl-matrix-irc-bridge.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Perl Matrix-IRC Bridge -categories: projects other -description: The first Matrix/IRC bridge -author: Tom Molesworth / Paul Evans -maturity: Beta ---- - -# {{ page.title }} -The first Matrix/IRC bridge, originally written by Tom Molesworth using Paul Evans' Net::Async::Matrix Perl client SDK and then later maintained by Paul Evans. Nowadays superceded by the [matrix-appservice-irc Node IRC bridge AS](../as/irc-bridge.html). diff --git a/supporting-docs/projects/2014-12-10-ivar2-matrix-irc-bot.md b/supporting-docs/projects/2014-12-10-ivar2-matrix-irc-bot.md deleted file mode 100644 index 880cbe31e..000000000 --- a/supporting-docs/projects/2014-12-10-ivar2-matrix-irc-bot.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: ivar2 Matrix/IRC Bot -categories: projects other -description: IRC bot with native Matrix support -author: haste / Tor -maturity: Beta ---- - -# {{ page.title }} -ivar2 is a very comprehensive IRC bot written in Lua which has native support for Matrix! [https://github.com/torhve/ivar2](https://github.com/torhve/ivar2) diff --git a/supporting-docs/projects/2015-01-01-index.md b/supporting-docs/projects/2015-01-01-index.md deleted file mode 100644 index ecc07043d..000000000 --- a/supporting-docs/projects/2015-01-01-index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Try Matrix Now! -categories: projects ---- - -<html> - <head> - <meta http-equiv="refresh" content="0; url=./try-matrix-now.html" /> - </head> -</html> diff --git a/supporting-docs/projects/2015-01-06-matrix.org-python-sdk.md b/supporting-docs/projects/2015-01-06-matrix.org-python-sdk.md deleted file mode 100644 index 7235bd58d..000000000 --- a/supporting-docs/projects/2015-01-06-matrix.org-python-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org Python SDK -categories: projects sdk -author: Matrix.org team -maturity: Alpha ---- - -# {{ page.title }} -Matrix.org's Python SDK ([github](https://github.com/matrix-org/matrix-python-sdk)) diff --git a/supporting-docs/projects/2015-02-26-openmarkets-sms-gateway.md b/supporting-docs/projects/2015-02-26-openmarkets-sms-gateway.md deleted file mode 100644 index 4658c05b3..000000000 --- a/supporting-docs/projects/2015-02-26-openmarkets-sms-gateway.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: OpenMarket's SMS Gateway -categories: projects as -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/omlogo-400x284.jpg -author: OpenMarket -maturity: Late beta ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/omlogo.jpg "{{ page.title }}") - -# {{ page.title }} -OpenMarket’s SMS Gateway is an Application Service that enables Matrix-users to send SMS. [More info here](http://matrix.org/blog/2015/02/26/welcoming-the-openmarket-matrix-gateway/). diff --git a/supporting-docs/projects/2015-02-26-weechat.md b/supporting-docs/projects/2015-02-26-weechat.md deleted file mode 100644 index 0e5059a6e..000000000 --- a/supporting-docs/projects/2015-02-26-weechat.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: project -title: WeeChat script -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-22-at-21.43.01-400x284.png -description: For fans of command line interfaces, a nice Matrix script for WeeChat, an IRSSI like CLI -author: Tor -maturity: Late beta ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-22-at-21.43.01.png "{{ page.title }}") - -# {{ page.title }} -[WeeChat](http://weechat.org/) is a super powerful CLI chat client that is extensible in many languages to allow for new protocols like Matrix. @torhve contributed this great WeeChat script for Matrix which is getting a good feedback from more geeky users. - -To use it, you will need to sign up for a Matrix account on a server using the [Console Web](./matrix-console.html) or [Vector](./vector.html) clients, as WeeChat doesn’t support registration yet. - -To run it, grab the code from [@torhve's github repo](https://github.com/torhve/weechat-matrix-protocol-script). diff --git a/supporting-docs/projects/2015-02-27-matrix.org-as-sdk.md b/supporting-docs/projects/2015-02-27-matrix.org-as-sdk.md deleted file mode 100644 index 73096bce0..000000000 --- a/supporting-docs/projects/2015-02-27-matrix.org-as-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org AS Node SDK -categories: projects as -author: Matrix.org team -maturity: Early beta ---- - -# {{ page.title }} -A framework from Matrix.org for building Application Services in Node.js/Express: [https://github.com/matrix-org/matrix-appservice-node](https://github.com/matrix-org/matrix-appservice-node) diff --git a/supporting-docs/projects/2015-03-04-matrix.org-js-sdk.md b/supporting-docs/projects/2015-03-04-matrix.org-js-sdk.md deleted file mode 100644 index 3e5fc8436..000000000 --- a/supporting-docs/projects/2015-03-04-matrix.org-js-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org JS SDK -categories: projects sdk -author: Matrix.org team -maturity: Early beta ---- - -# {{ page.title }} -Matrix.org's JS SDK ([github](https://github.com/matrix-org/matrix-js-sdk)) diff --git a/supporting-docs/projects/2015-03-10-irc-bridge.md b/supporting-docs/projects/2015-03-10-irc-bridge.md deleted file mode 100644 index 5abb19926..000000000 --- a/supporting-docs/projects/2015-03-10-irc-bridge.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Matrix.org IRC Bridge -categories: projects as -description: -author: Matrix.org team -maturity: Early beta ---- - -# {{ page.title }} -An application service gateway from Matrix.org for bridging between IRC networks and Matrix, written using [matrix-appservice-node](http://matrix.org/blog/project/matrix-appservice-node/). You can get the [code on github](https://github.com/matrix-org/matrix-appservice-irc). - -Supports dynamically bridging IRC channels on demand; synchronised user-lists, and other goodness. - diff --git a/supporting-docs/projects/2015-03-15-redpill-irc-bridge.md b/supporting-docs/projects/2015-03-15-redpill-irc-bridge.md deleted file mode 100644 index 366ed8045..000000000 --- a/supporting-docs/projects/2015-03-15-redpill-irc-bridge.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: redpill IRC bridge -categories: projects as -author: Tjgillies -maturity: Alpha ---- - -# {{ page.title }} -Kodo's IRC<->matrix GW written in Ruby ([github](https://github.com/tjgillies/redpill)) diff --git a/supporting-docs/projects/2015-03-17-jsynapse.md b/supporting-docs/projects/2015-03-17-jsynapse.md deleted file mode 100644 index ed7f0437e..000000000 --- a/supporting-docs/projects/2015-03-17-jsynapse.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: jSynapse -categories: projects server -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/jsynapse2.png -author: Swarmcom -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/jsynapse2.png "{{ page.title }}") - -# {{ page.title }} -Swarmcom’s Java homeserver – jSynapse ([github](https://github.com/swarmcom/jSynapse/)) diff --git a/supporting-docs/projects/2015-03-18-gomatrix-irc-bridge.md b/supporting-docs/projects/2015-03-18-gomatrix-irc-bridge.md deleted file mode 100644 index 608fe19f2..000000000 --- a/supporting-docs/projects/2015-03-18-gomatrix-irc-bridge.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: gomatrix IRC bridge -categories: projects as -author: Tor -maturity: Alpha ---- - -# {{ page.title }} -Tor's IRC<->Matrix bridge written in the Go language ([github](https://github.com/torhve/gomirc)) diff --git a/supporting-docs/projects/2015-04-01-matrix.org-matrixkit-ios.md b/supporting-docs/projects/2015-04-01-matrix.org-matrixkit-ios.md deleted file mode 100644 index 47549f371..000000000 --- a/supporting-docs/projects/2015-04-01-matrix.org-matrixkit-ios.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix.org MatrixKit (iOS) -categories: projects sdk -author: Matrix.org team -maturity: Late beta ---- - -# {{ page.title }} -Matrix.org's reusable UI interfaces for iOS ([github](https://github.com/matrix-org/matrix-ios-kit)) diff --git a/supporting-docs/projects/2015-04-02-riot-ios.md b/supporting-docs/projects/2015-04-02-riot-ios.md deleted file mode 100644 index e9dcb3b9e..000000000 --- a/supporting-docs/projects/2015-04-02-riot-ios.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: Riot iOS -categories: projects client -thumbnail: /docs/projects/images/vector-iOS-small.png -description: Riot is a glossy client with an emphasis on performance and usability -author: Riot.im -maturity: Released ---- - -![screenshot](/docs/projects/images/vector-iOS-large.png "{{ page.title }}") - -# {{ page.title }} -The iOS version of the [Riot](https://matrix.org/docs/projects/client/riot.html) web client. Riot is a glossy client with focus on performance and usability. - -The code is available from [github](https://github.com/vector-im/vector-ios), and the app is available from the Apple [app store](https://itunes.apple.com/gb/app/vector.im/id1083446067?mt=8). diff --git a/supporting-docs/projects/2015-04-03-vector-ios.md b/supporting-docs/projects/2015-04-03-vector-ios.md deleted file mode 100644 index 11fc618ef..000000000 --- a/supporting-docs/projects/2015-04-03-vector-ios.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Try Matrix Now! ---- - -<html> - <head> - <meta http-equiv="refresh" content="0; url=./riot-ios.html" /> - </head> -</html> diff --git a/supporting-docs/projects/2015-04-18-project-clearwater-matrix-gateway.md b/supporting-docs/projects/2015-04-18-project-clearwater-matrix-gateway.md deleted file mode 100644 index 230a9e408..000000000 --- a/supporting-docs/projects/2015-04-18-project-clearwater-matrix-gateway.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Project Clearwater / Matrix Gateway -categories: projects as -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/clearwter-400x284.jpg -author: Matt Williams -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/clearwter.jpg "{{ page.title }}") - -![demo](https://matrix.org/blog/wp-content/uploads/2015/04/projectclearwatermatrixgateway1.jpg "Matt presenting his hack at TADHack London") - -# {{ page.title }} -Matt Williams’ IMS->Matrix gateway ([github](https://github.com/matt-williams/sprout/tree/matrix)) diff --git a/supporting-docs/projects/2015-05-06-newlisp-matrix-client.md b/supporting-docs/projects/2015-05-06-newlisp-matrix-client.md deleted file mode 100644 index 92916caea..000000000 --- a/supporting-docs/projects/2015-05-06-newlisp-matrix-client.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: newlisp-matrix-client -categories: projects sdk -author: Ingo Hohmann -maturity: Early beta ---- - -# {{ page.title }} -Client SDK for newlisp available at [https://github.com/IngoHohmann/newlisp-matrix-client](https://github.com/IngoHohmann/newlisp-matrix-client) diff --git a/supporting-docs/projects/2015-06-02-matrix-erlang-sdk.md b/supporting-docs/projects/2015-06-02-matrix-erlang-sdk.md deleted file mode 100644 index 73da06693..000000000 --- a/supporting-docs/projects/2015-06-02-matrix-erlang-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: matrix-erlang-sdk -categories: projects sdk -author: Andreas Hallberg -maturity: Alpha ---- - -# {{ page.title }} -Andreas Hallberg's client SDK for Erlang [https://github.com/anhallbe/matrix-erlang-sdk](https://github.com/anhallbe/matrix-erlang-sdk) diff --git a/supporting-docs/projects/2015-06-02-riot-android.md b/supporting-docs/projects/2015-06-02-riot-android.md deleted file mode 100644 index cedf4454e..000000000 --- a/supporting-docs/projects/2015-06-02-riot-android.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: project -title: Riot Android -categories: projects client -thumbnail: /docs/projects/images/vector-android-small.png -description: Riot is a glossy client with an emphasis on performance and usability -author: Riot.im -maturity: Released ---- - -![screenshot](/docs/projects/images/vector-android-large.png "{{ page.title }}") - -# {{ page.title }} -The Android version of the [Riot](https://matrix.org/docs/projects/client/riot.html) web client. Riot is a glossy client with focus on performance and usability. - -The code is available from [github](https://github.com/vector-im/vector-android), and the app is available from the [Google Play store](https://play.google.com/store/apps/details?id=im.vector.alpha) and [F-Droid](https://f-droid.org/repository/browse/?fdfilter=vector&fdid=im.vector.alpha). - -If you want to help test the app, you can download development versions from [Jenkins](https://matrix.org/jenkins/job/VectorAndroidDevelop/). diff --git a/supporting-docs/projects/2015-06-02-vector-android.md b/supporting-docs/projects/2015-06-02-vector-android.md deleted file mode 100644 index 9d4e585ea..000000000 --- a/supporting-docs/projects/2015-06-02-vector-android.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Try Matrix Now! ---- - -<html> - <head> - <meta http-equiv="refresh" content="0; url=./riot-android.html" /> - </head> -</html> diff --git a/supporting-docs/projects/2015-06-09-matrix.org-react-sdk.md b/supporting-docs/projects/2015-06-09-matrix.org-react-sdk.md deleted file mode 100644 index 2db5cd69e..000000000 --- a/supporting-docs/projects/2015-06-09-matrix.org-react-sdk.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Matrix.org React SDK -categories: projects sdk -author: Matrix.org team -maturity: Early beta ---- - -# {{ page.title }} -[matrix-react-sdk](https://github.com/matrix-org/matrix-react-sdk) is our next-generation Web SDK for Matrix, providing both a large hierarchy of reusable UI components and a simple neutral reference application. It's suitable both for building standalone applications and embedding Matrix clients into existing web apps, irrespective of the host app's framework. - diff --git a/supporting-docs/projects/2015-06-26-tensor.md b/supporting-docs/projects/2015-06-26-tensor.md deleted file mode 100644 index f2c7d4998..000000000 --- a/supporting-docs/projects/2015-06-26-tensor.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Tensor -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/11/tensor1-400x284.png -description: QML-based Matrix client -author: David A Roberts -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/11/tensor1.png "{{ page.title }}") - -# {{ page.title }} -Tensor is a cross-platform native Matrix client, based on QtQuick/QML and libqmatrixclient (formerly matrix-js-sdk). It has been tested on Desktop GNU/Linux, OS X, Windows, Android, SailfishOS and Ubuntu Touch. Get it from [github](https://github.com/davidar/tensor). diff --git a/supporting-docs/projects/2015-06-27-quaternion.md b/supporting-docs/projects/2015-06-27-quaternion.md deleted file mode 100644 index 9e9899d67..000000000 --- a/supporting-docs/projects/2015-06-27-quaternion.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Quaternion -categories: projects client -thumbnail: https://raw.githubusercontent.com/QMatrixClient/Quaternion/master/quaternion.png -author: Felix Rohrbach, Kitsune Ral -description: Quaternion is an IM client for the Matrix protocol -maturity: Late alpha ---- - -![screenshot](https://raw.githubusercontent.com/QMatrixClient/Quaternion/master/quaternion.png "{{ page.title }}") - -# {{ page.title }} -Quaternion is a Qt/QML-based IM client for the Matrix protocol in development. ([github](https://github.com/QMatrixClient/Quaternion)) diff --git a/supporting-docs/projects/2015-07-01-xmpptrix.md b/supporting-docs/projects/2015-07-01-xmpptrix.md deleted file mode 100644 index 97a2103b6..000000000 --- a/supporting-docs/projects/2015-07-01-xmpptrix.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: xmpptrix -categories: projects as -author: SkaveRat -maturity: Alpha ---- - -# {{ page.title }} -XMPP<->Matrix gateway application service written in Node JS: [https://github.com/SkaveRat/xmpptrix](https://github.com/SkaveRat/xmpptrix). diff --git a/supporting-docs/projects/2015-08-19-matrix-appservice-bridge.md b/supporting-docs/projects/2015-08-19-matrix-appservice-bridge.md deleted file mode 100644 index 00f2e49c1..000000000 --- a/supporting-docs/projects/2015-08-19-matrix-appservice-bridge.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-bridge -categories: projects as -author: Kegsay -maturity: Early beta ---- - -# {{ page.title }} -This library sits on top of the [core application service library](https://github.com/matrix-org/matrix-appservice-node) and provides an API for setting up bridges quickly. - -Get it from [github](https://github.com/matrix-org/matrix-appservice-bridge) and have a look at the [HOW-TO](https://github.com/matrix-org/matrix-appservice-bridge/blob/master/HOWTO.md) for a step-by-step tutorial on setting up a new bridge! diff --git a/supporting-docs/projects/2015-09-10-matrix-appservice-respoke.md b/supporting-docs/projects/2015-09-10-matrix-appservice-respoke.md deleted file mode 100644 index 0a3f9d3d3..000000000 --- a/supporting-docs/projects/2015-09-10-matrix-appservice-respoke.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-respoke -categories: projects as -author: Matrix.org team -maturity: Alpha ---- - -# {{ page.title }} -An incredibly hacky Matrix --> Asterisk bridge via chan_respoke. - -Get it from [github](https://github.com/matrix-org/matrix-appservice-respoke)! diff --git a/supporting-docs/projects/2015-09-10-vertobridge.md b/supporting-docs/projects/2015-09-10-vertobridge.md deleted file mode 100644 index 40fe05404..000000000 --- a/supporting-docs/projects/2015-09-10-vertobridge.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Vertobridge -categories: projects as -author: Matthew / Kegan -maturity: Alpha ---- - -# {{ page.title }} -A Matrix <--> Verto bridge, designed for conferencing via Freeswitch. [https://github.com/matrix-org/matrix-appservice-verto](https://github.com/matrix-org/matrix-appservice-verto) diff --git a/supporting-docs/projects/2015-09-17-bullettime.md b/supporting-docs/projects/2015-09-17-bullettime.md deleted file mode 100644 index 535cca64a..000000000 --- a/supporting-docs/projects/2015-09-17-bullettime.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: bullettime -categories: projects server -author: Patrik Oldsberg -maturity: Alpha ---- - -# {{ page.title }} -An experimental golang Matrix homeserver ([github](https://github.com/matrix-org/bullettime)) diff --git a/supporting-docs/projects/2015-09-18-matrix-appservice-slack.md b/supporting-docs/projects/2015-09-18-matrix-appservice-slack.md deleted file mode 100644 index 0681d529e..000000000 --- a/supporting-docs/projects/2015-09-18-matrix-appservice-slack.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-slack -categories: projects as -author: illicitonion -maturity: Early beta ---- - -# {{ page.title }} -This project bridges [Slack](https://slack.com) to Matrix, all in a 100 lines of code! It's currently quite barebones, but at the same time it shows how quickly a bridge can be written. - -Get it from [github](https://github.com/matrix-org/matrix-appservice-slack)! diff --git a/supporting-docs/projects/2015-10-04-matrix-xmpp-bridge.md b/supporting-docs/projects/2015-10-04-matrix-xmpp-bridge.md deleted file mode 100644 index 34a9b32d0..000000000 --- a/supporting-docs/projects/2015-10-04-matrix-xmpp-bridge.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Matrix-XMPP Bridge -categories: projects as -author: jfrederickson -maturity: Alpha ---- - -# {{ page.title }} -This project creates a bridge between a Matrix room and an XMPP MUC: [https://github.com/jfrederickson/matrix-xmpp-bridge](https://github.com/jfrederickson/matrix-xmpp-bridge) - -Update: there is also a forked and refactored version at [pztrn's GitHub space](https://github.com/pztrn/matrix-xmpp-bridge) diff --git a/supporting-docs/projects/2015-10-06-node-purple.md b/supporting-docs/projects/2015-10-06-node-purple.md deleted file mode 100644 index d4914c71e..000000000 --- a/supporting-docs/projects/2015-10-06-node-purple.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: node-purple -categories: projects as -author: Matrix.org team / tjfontaine -maturity: Early beta ---- - -# {{ page.title }} -[node-purple](https://github.com/tjfontaine/node-purple) provides basic FFI bindings for libpurple. In our fork, [appservice](https://github.com/matrix-org/node-purple/tree/master/appservice) connects node-purple to the AS API, so you can talk from Matrix to libpurple's connections. - diff --git a/supporting-docs/projects/2015-10-09-slackbridge.md b/supporting-docs/projects/2015-10-09-slackbridge.md deleted file mode 100644 index b6a03b1cc..000000000 --- a/supporting-docs/projects/2015-10-09-slackbridge.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: slackbridge -categories: projects as -author: illicitonion -maturity: Alpha ---- - -# {{ page.title }} -illicitonion's early Slack bridge, written in Go. - -Check it out on [github](https://github.com/illicitonion/slackbridge) diff --git a/supporting-docs/projects/2015-10-13-purple-matrix.md b/supporting-docs/projects/2015-10-13-purple-matrix.md deleted file mode 100644 index c10a069cf..000000000 --- a/supporting-docs/projects/2015-10-13-purple-matrix.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: purple-matrix -categories: projects client -description: A plugin for libpurple -author: Matrix.org team -maturity: Alpha ---- - -# {{ page.title }} -This project is a plugin for [libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple) which adds the ability to communicate with matrix.org homeservers to any libpurple-based clients (such as [Pidgin](http://www.pidgin.im/)). - -Get it at [github](https://github.com/matrix-org/purple-matrix/). diff --git a/supporting-docs/projects/2015-10-23-bender.md b/supporting-docs/projects/2015-10-23-bender.md deleted file mode 100644 index 17386d304..000000000 --- a/supporting-docs/projects/2015-10-23-bender.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Bender -categories: projects other -description: A simple/flexible bot framework -author: Dylan Griffith -maturity: Alpha ---- - -# {{ page.title }} -Bender is a Matrix bot framework written in Elixir: [https://github.com/DylanGriffith/bender](https://github.com/DylanGriffith/bender) diff --git a/supporting-docs/projects/2015-11-10-mero.md b/supporting-docs/projects/2015-11-10-mero.md deleted file mode 100644 index 81c273df8..000000000 --- a/supporting-docs/projects/2015-11-10-mero.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Mero -categories: projects as -description: NodeJS based XMPP facade bridge for matrix.org -author: SkaveRat -maturity: Alpha ---- - -# {{ page.title }} -NodeJS based XMPP facade bridge for matrix.org - -This Matrix Application Server will pretend to be a XMPP (jabber) server and mirror all actions to and from Matrix. - -Check it out on [github](https://github.com/SkaveRat/mero) diff --git a/supporting-docs/projects/2015-11-28-matrixtool.md b/supporting-docs/projects/2015-11-28-matrixtool.md deleted file mode 100644 index 8acc0df77..000000000 --- a/supporting-docs/projects/2015-11-28-matrixtool.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: MatrixTool -categories: projects other -description: Commands to interact with a Matrix homeserver -author: LeoNerd -maturity: Alpha ---- -# {{ page.title }} - -The tool provides a wrapper around a number of sub-commands that provide useful interactions with a Matrix homeserver. - -You can grab it from [CPAN](http://search.cpan.org/~pevans/App-MatrixTool/). diff --git a/supporting-docs/projects/2015-11-29-ruma.md b/supporting-docs/projects/2015-11-29-ruma.md deleted file mode 100644 index 075c69f1b..000000000 --- a/supporting-docs/projects/2015-11-29-ruma.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Ruma -categories: projects server -author: Jimmy Cuadra -maturity: Alpha ---- - - -# {{ page.title }} -Ruma is a server written in Rust ([github](https://github.com/ruma/ruma)) diff --git a/supporting-docs/projects/2015-12-04-hubot-matrix.md b/supporting-docs/projects/2015-12-04-hubot-matrix.md deleted file mode 100644 index c510aed32..000000000 --- a/supporting-docs/projects/2015-12-04-hubot-matrix.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Hubot-Matrix -categories: projects other -description: A Matrix-adapter for Hubot -author: David A Roberts -maturity: Alpha ---- - -# {{ page.title }} -A Matrix-adapter for Hubot: [https://github.com/davidar/hubot-matrix/](https://github.com/davidar/hubot-matrix/) diff --git a/supporting-docs/projects/2015-12-10-glib-sdk.md b/supporting-docs/projects/2015-12-10-glib-sdk.md deleted file mode 100644 index 65b955553..000000000 --- a/supporting-docs/projects/2015-12-10-glib-sdk.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Matrix Client SDK for GLib -categories: projects sdk -author: Gergely Polonkai -maturity: Alpha ---- - -# {{ page.title }} -A Matrix.org client-server SDK for GLib >= 2.40. It contains both raw API calls and a signal based asynchronous client. Get it from [github](https://github.com/gergelypolonkai/matrix-glib-sdk)! diff --git a/supporting-docs/projects/2015-12-10-pto.md b/supporting-docs/projects/2015-12-10-pto.md deleted file mode 100644 index 454536c58..000000000 --- a/supporting-docs/projects/2015-12-10-pto.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Perpetually Talking Online (PTO) -categories: projects client -description: PTO is an IRC frontend to the federated Matrix network. -author: tdfischer -maturity: Abandoned ---- - -# {{ page.title }} -Perpetually Talking Online (PTO) is an IRC frontend to the federated Matrix network. It aims to enable as many people as possible to use an existing Matrix homeserver with their existing IRC clients, and provides a radically expanded feature set for existing IRC communities looking to migrate to Matrix. - -See [pto.im](http://pto.im) for more info - or grab the code from [GitHub](https://github.com/tdfischer/pto). - -Unfortunately, it appears that this project is no longer being worked on. Check out [matrix-ircd](./matrix-ircd.html) instead! diff --git a/supporting-docs/projects/2016-01-02-matrix-console-ios.md b/supporting-docs/projects/2016-01-02-matrix-console-ios.md deleted file mode 100644 index adb60e2ff..000000000 --- a/supporting-docs/projects/2016-01-02-matrix-console-ios.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: project -title: Matrix Console iOS -categories: projects client -thumbnail: /docs/projects/images/matrix-console-ios-2016-02-16-cropped.png -description: A neutral iOS client showcasing Matrix capabilities and implementation. -author: Matrix.org team -maturity: No longer maintained ---- - -![screenshot](/docs/projects/images/matrix-console-ios-2016-02-16-large.png "{{ page.title }}") - -# {{ page.title }} -Matrix.org's reference iOS client. - -This client is meant to be a showcase of Matrix capabilities, a reference implementation of the Matrix standard and an easy entry to the Matrix ecosystem from iOS devices for less techy users, with a relatively neutral branding. This client is built using [MatrixKit](http://matrix.org/blog/project/matrix-ios-matrixkit/). - -The code can be retrieved from [github](https://github.com/matrix-org/matrix-ios-console). - -Also available from the Apple [app store](https://itunes.apple.com/gb/app/matrix-console/id970074271?mt=8). diff --git a/supporting-docs/projects/2016-01-03-matrix-console-android.md b/supporting-docs/projects/2016-01-03-matrix-console-android.md deleted file mode 100644 index ceeec13f2..000000000 --- a/supporting-docs/projects/2016-01-03-matrix-console-android.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: project -title: Matrix Console Android -categories: projects client -thumbnail: /docs/projects/images/matrix-console-android-2016-02-16-cropped.png -description: A neutral Android client showcasing Matrix capabilities and implementation. -author: Matrix.org team -maturity: No longer maintained ---- - -![screenshot](/docs/projects/images/matrix-console-android-2016-02-16-large.png "{{ page.title }}") - -# {{ page.title }} -Matrix.org’s reference Android client. - -This client is meant to be a showcase of Matrix capabilities, a reference implementation of the Matrix standard and an easy entry to the Matrix ecosystem from Android devices for less techy users, with a relatively neutral branding. - -The code can be retrieved from [github](https://github.com/matrix-org/matrix-android-console). - -Also available from the [Google Play store](https://play.google.com/store/apps/details?id=org.matrix.androidsdk.alpha). - -Folks wanting to live on the bleeding edge can also pull APKs of the develop (and master) branches straight out of the [Jenkins build server](http://matrix.org/jenkins/job/AndroidConsoleDevelop/). diff --git a/supporting-docs/projects/2016-01-04-matrix-console.md b/supporting-docs/projects/2016-01-04-matrix-console.md deleted file mode 100644 index 2ed0d738c..000000000 --- a/supporting-docs/projects/2016-01-04-matrix-console.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: project -title: Matrix Console Web -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/syweb2-400x284.png -description: Matrix.org’s legacy AngularJS web client. -author: Matrix.org team -maturity: No longer maintained ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/syweb2-1080x806.png "{{ page.title }}") - -# {{ page.title }} -Matrix.org’s original reference AngularJS webclient. The implementation has major performance issues and is not being actively maintained. Please see [Vector](https://matrix.org/blog/project/vector) and [matrix-react-sdk](https://matrix.org/blog/project/matrix-react-sdk) for better alternatives. - -The code can be retrieved from [github](https://github.com/matrix-org/matrix-angular-sdk). - -Public hosts running this client: - -[https://matrix.org/beta](https://matrix.org/beta) - diff --git a/supporting-docs/projects/2016-01-05-glowing-bear-and-weechat-plugin.md b/supporting-docs/projects/2016-01-05-glowing-bear-and-weechat-plugin.md deleted file mode 100644 index 88de94036..000000000 --- a/supporting-docs/projects/2016-01-05-glowing-bear-and-weechat-plugin.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Glowing Bear + WeeChat Script -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-21-at-17.36.43-400x284.png -author: glowing-bear.org -description: A great IRC-style web interface to Matrix. -maturity: Late beta ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-04-21-at-17.36.43-1080x581.png "{{ page.title }}") - -# {{ page.title }} -[Glowing Bear](http://glowing-bear.org/) combined with [@torhve’s Matrix script for WeeChat](./weechat.html) makes for a great IRC-style web interface to Matrix. diff --git a/supporting-docs/projects/2016-01-13-dendron.md b/supporting-docs/projects/2016-01-13-dendron.md deleted file mode 100644 index 1fe313603..000000000 --- a/supporting-docs/projects/2016-01-13-dendron.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Dendron -categories: projects server -author: Matrix.org team -maturity: Obsolete ---- - -# {{ page.title }} -Dendron was the start of an experimental Matrix homeserver written in Go, built as a 'strangler pattern' implementation on top of Synapse. It was discontinued in favour of Dendrite. - -The code lives on at [github](https://github.com/matrix-org/dendron)! diff --git a/supporting-docs/projects/2016-01-30-rocket-chat-federation.md b/supporting-docs/projects/2016-01-30-rocket-chat-federation.md deleted file mode 100644 index 23394481b..000000000 --- a/supporting-docs/projects/2016-01-30-rocket-chat-federation.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Rocket Chat Federation -categories: projects as -thumbnail: https://raw.githubusercontent.com/Sing-Li/bbug/master/images/rcsnynapse.png -author: Rocket.Chat -maturity: Alpha ---- - -![screenshot](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/rcsnynapse.png "{{ page.title }}") - -# {{ page.title }} -Rocket.Chat have written a bot called Freddie that pairs a Synapse server with a Rocket.Chat server ([github](https://github.com/RocketChat/Rocket.Chat.Federation/tree/develop/matrix.org/hubot-freddie)) diff --git a/supporting-docs/projects/2016-02-01-unplug.md b/supporting-docs/projects/2016-02-01-unplug.md deleted file mode 100644 index 00385dcbe..000000000 --- a/supporting-docs/projects/2016-02-01-unplug.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Unplug -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/unplug-0.1.5-400x284.png -description: Experimental Kotlin client -author: hrjet -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/unplug-0.1.5.png "{{ page.title }}") - -# {{ page.title }} -hrjet's Kotlin/JVM client – unplug ([github](https://github.com/UprootLabs/unplug)) diff --git a/supporting-docs/projects/2016-02-03-feedbot.md b/supporting-docs/projects/2016-02-03-feedbot.md deleted file mode 100644 index 6201125c9..000000000 --- a/supporting-docs/projects/2016-02-03-feedbot.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: feedbot -categories: projects other -description: Connects to RSS and Twitter feeds -author: Ryan Rix -maturity: Early beta ---- - -# {{ page.title }} -Connect to RSS and Twitter feeds via Ryan Rix's feedbot! - -Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/matrix-feedbot) diff --git a/supporting-docs/projects/2016-02-03-lightrix.md b/supporting-docs/projects/2016-02-03-lightrix.md deleted file mode 100644 index 0e5690ac3..000000000 --- a/supporting-docs/projects/2016-02-03-lightrix.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Lightrix -categories: projects other -description: Drive Adafruit Neopixels over Matrix -author: Ryan Rix -maturity: Early beta ---- - -# {{ page.title }} -Control Adafruit Neopixels via Matrix! - -Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/lightrix) or watch it in action on [YouTube](https://www.youtube.com/watch?v=4YG9Fk5aP24) diff --git a/supporting-docs/projects/2016-02-03-mcat.md b/supporting-docs/projects/2016-02-03-mcat.md deleted file mode 100644 index 3ea8df12f..000000000 --- a/supporting-docs/projects/2016-02-03-mcat.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: mcat -categories: projects other -description: Pipe to/from a Matrix room via the Python SDK -author: Ryan Rix -maturity: Early beta ---- - -# {{ page.title }} -Pipe in to and out of a Matrix room using the [Matrix Python SDK](https://github.com/matrix-org/matrix-python-sdk). - -Check it out from [Ryan's git repo](https://fort.kickass.systems/git/rrix/matrix-cat) diff --git a/supporting-docs/projects/2016-02-03-polynomial.md b/supporting-docs/projects/2016-02-03-polynomial.md deleted file mode 100644 index 7029d20e2..000000000 --- a/supporting-docs/projects/2016-02-03-polynomial.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Polynomial -description: A Decentralized Webring -categories: projects other -author: Ryan Rix -maturity: Early beta ---- - -# {{ page.title }} -Webring software built on top of Matrix.org which means it doesn't have a central point of failure. - -Check it out at [Ryan's blog](http://whatthefuck.computer/blog/2015/12/06/polynomial-a-decentralized-webring/) and grab the code from [Ryan's git repo](https://fort.kickass.systems/git/rrix/polynomial) diff --git a/supporting-docs/projects/2016-02-03-redpill.md b/supporting-docs/projects/2016-02-03-redpill.md deleted file mode 100644 index 7a6abc845..000000000 --- a/supporting-docs/projects/2016-02-03-redpill.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: redpill -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/04/redpill0.7-400x284.png -description: A Python2 CLI client -author: oddvar -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/04/redpill0.7.png "{{ page.title }}") - -# {{ page.title }} -Oddvar's Python2 CLI client – redpill ([github](https://github.com/oddvar/redpill)) diff --git a/supporting-docs/projects/2016-02-05-headjack.md b/supporting-docs/projects/2016-02-05-headjack.md deleted file mode 100644 index 038144646..000000000 --- a/supporting-docs/projects/2016-02-05-headjack.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Headjack -categories: projects client -thumbnail: https://matrix.org/blog/wp-content/uploads/2015/05/headjack-400x284.png -description: Experimental Chrome App client -author: SkaveRat -maturity: Alpha ---- - -![screenshot](https://matrix.org/blog/wp-content/uploads/2015/05/headjack.png "{{ page.title }}") - -# {{ page.title }} -Experimental Chrome App desktop client for Matrix, using [matrix-angular-sdk](https://github.com/matrix-org/matrix-angular-sdk). Available from [github](https://github.com/SkaveRat/headjack). diff --git a/supporting-docs/projects/2016-02-05-net-async-matrix-perl.md b/supporting-docs/projects/2016-02-05-net-async-matrix-perl.md deleted file mode 100644 index 32105dbcb..000000000 --- a/supporting-docs/projects/2016-02-05-net-async-matrix-perl.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Net::Async::Matrix (Perl) -categories: projects sdk -author: LeoNerd -maturity: Late beta ---- - -# {{ page.title }} -LeoNerd's Net::Async::Matrix client SDK library for Perl: [https://metacpan.org/release/Net-Async-Matrix](https://metacpan.org/release/Net-Async-Matrix) diff --git a/supporting-docs/projects/2016-02-05-try-matrix-now.md b/supporting-docs/projects/2016-02-05-try-matrix-now.md deleted file mode 100644 index fb4c69ca7..000000000 --- a/supporting-docs/projects/2016-02-05-try-matrix-now.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -layout: project -title: Try Matrix Now! -categories: projects ---- - -<div class='font18'> -Matrix is a whole ecosystem of matrix-enabled clients, servers, gateways, application services, bots, etc. -</div> - -| - -<div class='font18 bold'> -The easiest way to get started is to pick a client that appeals and join #matrix:matrix.org: -</div> - -<p> </p> - -<table class='bigtable'> - <tr> - <td class='bigproject'> - <a href='./client/weechat.html' class='font18 bold'> - Weechat/Matrix - </a><br /> - If you like command line clients, try the Weechat plugin.<br /><br /> - <a href='./client/weechat.html'> - <img src='https://matrix.org/blog/wp-content/uploads/2015/04/Screen-Shot-2015-08-07-at-13.31.29-300x209.png' class='featured_screenshot'> - </a> - </td> - <td class='bigproject'> - <a href='./client/riot.html' class='font18 bold'> - Riot - </a><br /> - If you like glossy and feature-rich web clients, try Riot.<br /><br /> - <a href='./client/riot.html'> - <img src='/docs/projects/images/riot-web-featured.png' class='featured_screenshot'> - </a> - </td> - <td class='bigproject'> - <a href='./client/riot-ios.html' class='font18 bold'> - Riot iOS - </a><br /> - You can also access Matrix on your iOS phone via Riot iOS.<br /><br /> - <a href='./client/riot-ios.html'> - <img src='/docs/projects/images/vector-iOS-featured.png' class='featured_screenshot'> - </a> - </td> - <td class='bigproject'> - <a href='./client/riot-android.html' class='font18 bold'> - Riot Android - </a><br /> - Riot is also available on Android devices!<br /><br /> - <a href='./client/riot-android.html'> - <img src='/docs/projects/images/vector-android-featured.png' class='featured_screenshot'> - </a> - </td> - </tr> -</table> - - -This page aims to collect all known Matrix projects - if you want to add a new one (or update an existing one), you can submit a PR to the [matrix-doc](https://github.com/matrix-org/matrix-doc) project on github - the existing projects can be found [here](https://github.com/matrix-org/matrix-doc/tree/master/supporting-docs/projects) - or just let us know in the #matrix:matrix.org room. - -| - -<div class='font18'> -Projects using Matrix: -</div> - -* TOC -{:toc .toc} - -| - -Clients -======= - -<table> - {% assign post_nr = '0' %} - {% for post in site.categories.client reversed limit:100 %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}<tr>{% endif %} - <td class='project'> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - <img class='thumbnail' src='{{ post.thumbnail }}'> - </a> - <br /> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - {{ post.title }} - </a><br /> - <div style='margin-bottom: 8px;'> - {{ post.description }} - </div> - Author: {{ post.author }}<br /> - Maturity: {{ post.maturity }} - </td> - {% assign post_nr = post_nr | plus: '1' %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}</tr>{% endif %} - {% endfor %} - - </tr> -</table> - -| - -Servers -======= - -<table> - {% assign post_nr = '0' %} - {% for post in site.categories.server reversed limit:100 %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}<tr>{% endif %} - <td class='project'> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - {{ post.title }} - </a><br /> - <div style='margin-bottom: 8px;'> - {{ post.description }} - </div> - Author: {{ post.author }}<br /> - Maturity: {{ post.maturity }} - </td> - {% assign post_nr = post_nr | plus: '1' %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}</tr>{% endif %} - {% endfor %} - - </tr> -</table> - - -| - -Application Services -==================== - -<table> - {% assign post_nr = '0' %} - {% for post in site.categories.as reversed limit:100 %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}<tr>{% endif %} - <td class='project'> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - {{ post.title }} - </a><br /> - <div style='margin-bottom: 8px;'> - {{ post.description }} - </div> - Author: {{ post.author }}<br /> - Maturity: {{ post.maturity }} - </td> - {% assign post_nr = post_nr | plus: '1' %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}</tr>{% endif %} - {% endfor %} - - </tr> -</table> - -| - -Client SDKs -=========== - -<table> - {% assign post_nr = '0' %} - {% for post in site.categories.sdk reversed limit:100 %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}<tr>{% endif %} - <td class='project'> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - {{ post.title }} - </a><br /> - <div style='margin-bottom: 8px;'> - {{ post.description }} - </div> - Author: {{ post.author }}<br /> - Maturity: {{ post.maturity }} - </td> - {% assign post_nr = post_nr | plus: '1' %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}</tr>{% endif %} - {% endfor %} - - </tr> -</table> - -| - -Other -===== - -<table> - {% assign post_nr = '0' %} - {% for post in site.categories.other reversed limit:100 %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}<tr>{% endif %} - <td class='project'> - <a href='/docs{{ BASE_PATH }}{{ post.url }}'> - {{ post.title }} - </a><br /> - <div style='margin-bottom: 8px;'> - {{ post.description }} - </div> - Author: {{ post.author }}<br /> - Maturity: {{ post.maturity }} - </td> - {% assign post_nr = post_nr | plus: '1' %} - {% assign add_new_row_test = post_nr | modulo:6 %} - {% if add_new_row_test == 0 %}</tr>{% endif %} - {% endfor %} - - </tr> -</table> - diff --git a/supporting-docs/projects/2016-02-06-vector-desktop.md b/supporting-docs/projects/2016-02-06-vector-desktop.md deleted file mode 100644 index 7355ccfc4..000000000 --- a/supporting-docs/projects/2016-02-06-vector-desktop.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Vector Desktop -description: Desktop version of Vector -author: Steven Hammerton -maturity: Alpha ---- - -# {{ page.title }} -Desktop version of the [Vector](./vector.html) web client. Basically it's Vector wrapped in an [Electron](https://github.com/atom/electron) app. Source here: [https://github.com/stevenhammerton/vector-desktop](https://github.com/stevenhammerton/vector-desktop) diff --git a/supporting-docs/projects/2016-02-08-h4x.no-blog.md b/supporting-docs/projects/2016-02-08-h4x.no-blog.md deleted file mode 100644 index 4fd99f024..000000000 --- a/supporting-docs/projects/2016-02-08-h4x.no-blog.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Matrix Blog -categories: projects client -description: Read-only blog-style Matrix interface -author: simeng -maturity: Alpha ---- - -# {{ page.title }} -An example read-only blog-style interface to a Matrix room ([github](https://github.com/simeng/matrix-blog)). diff --git a/supporting-docs/projects/2016-02-10-matrix-appservice-gitter.md b/supporting-docs/projects/2016-02-10-matrix-appservice-gitter.md deleted file mode 100644 index 9081f619c..000000000 --- a/supporting-docs/projects/2016-02-10-matrix-appservice-gitter.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-gitter -categories: projects as -author: LeoNerd -maturity: Early beta ---- - -# {{ page.title }} -This project bridges [Gitter](https://gitter.im) to Matrix, via the AS API on the Matrix side, and a Gitter user on the Gitter side. - -Get it from [github](https://github.com/matrix-org/matrix-appservice-gitter). diff --git a/supporting-docs/projects/2016-03-18-matrix-dotnet-sdk.md b/supporting-docs/projects/2016-03-18-matrix-dotnet-sdk.md deleted file mode 100644 index 5ea272905..000000000 --- a/supporting-docs/projects/2016-03-18-matrix-dotnet-sdk.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Matrix .NET SDK -categories: projects sdk -author: Half-Shot -maturity: Alpha ---- -# {{ page.title }} - -The .NET SDK provides an object oriented library to interact with Matrix. It is currently mature enough to be used for simple clients and bots. - -[Github](https://github.com/Half-Shot/matrix-dotnet-sdk) diff --git a/supporting-docs/projects/2016-03-19-mpd-dj.md b/supporting-docs/projects/2016-03-19-mpd-dj.md deleted file mode 100644 index e43cc5a98..000000000 --- a/supporting-docs/projects/2016-03-19-mpd-dj.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: MPD DJ -categories: projects other -description: A bot for controlling MPD over matrix. -author: Half-Shot -maturity: Alpha ---- - -# {{ page.title }} - -Ever wanted to control a MPD instance over matrix? Now you can! - -Supports a selection (with more coming soon) of mpd commands with the ability to play Youtube links. - -Development is steadily ongoing at [Github](https://github.com/Half-Shot/matrix-mpd-dj) - diff --git a/supporting-docs/projects/2016-04-05-libqmatrixclient.md b/supporting-docs/projects/2016-04-05-libqmatrixclient.md deleted file mode 100644 index 93fb41001..000000000 --- a/supporting-docs/projects/2016-04-05-libqmatrixclient.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: libqmatrixclient -categories: projects sdk -author: Kitsune Ral, Felix Rohrbach -maturity: Late alpha ---- - -# {{ page.title }} -libqmatrixclient is a Qt-based library to make IM clients for the Matrix protocol. It is used by [Quaternion](https://matrix.org/docs/projects/client/quaternion.html) and is a part of the QMatrixClient project. Recent builds of [Tensor](https://matrix.org/docs/projects/client/tensor.html) are also made on top of libqmatrixclient. - -The project lives in QMatrixClient [github space](https://github.com/QMatrixClient/libqmatrixclient). diff --git a/supporting-docs/projects/2016-04-30-concourse-matrix-notification-resource.md b/supporting-docs/projects/2016-04-30-concourse-matrix-notification-resource.md deleted file mode 100644 index 50ee59b3b..000000000 --- a/supporting-docs/projects/2016-04-30-concourse-matrix-notification-resource.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Concourse/Matrix notification resource -categories: projects other -thumbnail: /docs/projects/images/concourse-ci-logo.png -description: Post notifications from Concourse CI jobs -author: freelock -maturity: beta ---- - -# {{ page.title }} -Create a Concourse custom resource type using [freelock/matrix-notification-resource](https://hub.docker.com/r/freelock/matrix-notification-resource/) from Docker Hub, or fork/contribute on [github](https://github.com/freelock/matrix-notification-resource) diff --git a/supporting-docs/projects/2016-05-11-goMatrix.md b/supporting-docs/projects/2016-05-11-goMatrix.md deleted file mode 100644 index bb8450a6d..000000000 --- a/supporting-docs/projects/2016-05-11-goMatrix.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: goMatrix -categories: projects sdk -author: geir54 -maturity: Alpha ---- - -# {{ page.title }} -A Matrix library for go currently in development. [https://github.com/geir54/goMatrix](https://github.com/geir54/goMatrix) diff --git a/supporting-docs/projects/2016-05-23-twitter-bridge.md b/supporting-docs/projects/2016-05-23-twitter-bridge.md deleted file mode 100644 index 55d53ddaf..000000000 --- a/supporting-docs/projects/2016-05-23-twitter-bridge.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: Twitter bridge -categories: projects as -author: Half-Shot -maturity: Alpha ---- - -# {{ page.title }} -Read tweets and tweet from any Matrix client via this Twitter bridge! Source available at [github](https://github.com/Half-Shot/matrix-appservice-twitter). diff --git a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md b/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md deleted file mode 100644 index a5a5bcb4b..000000000 --- a/supporting-docs/projects/2016-06-19-matrix-appservice-discord.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-appservice-discord -categories: projects as -author: Half-Shot -maturity: Alpha ---- - -![screenshot](/docs/projects/images/discord.png "{{ page.title }}") - -# {{ page.title }} -This project bridges [Discord](https://discordapp.com) to Matrix via the Application API - -Get it from [GitHub](https://github.com/Half-Shot/matrix-appservice-discord). diff --git a/supporting-docs/projects/2016-06-30-hdd-space-calc-for-synapse.md b/supporting-docs/projects/2016-06-30-hdd-space-calc-for-synapse.md deleted file mode 100644 index 3b3cf84d8..000000000 --- a/supporting-docs/projects/2016-06-30-hdd-space-calc-for-synapse.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Synapse HDD space calculator -categories: projects other -description: Hard Disk Space Capacity Calculation for Matrix.org Synapse Homeserver -author: Rick Cogley -maturity: Early beta ---- -# {{ page.title }} - -A handy spreadsheet to help calculate how much disc space you need for your Synapse instance. - -You can copy it from [Google Docs](https://docs.google.com/spreadsheets/d/1clrE4WFT7A5NS5AJUdU-mbDZ9rS9fzl6QEbUFJezo7U/edit#gid=0) diff --git a/supporting-docs/projects/2016-07-03-nachat.md b/supporting-docs/projects/2016-07-03-nachat.md deleted file mode 100644 index dfe6b820c..000000000 --- a/supporting-docs/projects/2016-07-03-nachat.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: NaChat -categories: projects client -thumbnail: /docs/projects/images/nachat005-150.jpg -description: Desktop Qt client -author: Ralith -maturity: Alpha ---- - -![screenshot](/docs/projects/images/nachat005.jpg "{{ page.title }}") - -# {{ page.title }} -A Matrix desktop client written in C++ and Qt - source at [github](https://github.com/Ralith/nachat). diff --git a/supporting-docs/projects/2016-07-05-revolt.md b/supporting-docs/projects/2016-07-05-revolt.md deleted file mode 100644 index 159ac24db..000000000 --- a/supporting-docs/projects/2016-07-05-revolt.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Revolt -categories: projects client -description: Revolt wraps Riot to provide better integration with desktop environments. -author: Adrian Perez -maturity: Alpha ---- - -# {{ page.title }} -Revolt is a small application which wraps [Riot](./riot.html) to provide better integration with desktop environments in general, and GNOME in particular. - -Check it out on [GitHub](https://github.com/aperezdc/revolt)! - diff --git a/supporting-docs/projects/2016-07-29-go-neb.md b/supporting-docs/projects/2016-07-29-go-neb.md deleted file mode 100644 index a6fd22809..000000000 --- a/supporting-docs/projects/2016-07-29-go-neb.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Go-NEB -categories: projects other -description: Our dear Matrix Bot (v2) -author: Kegsay -maturity: Late beta ---- - -# {{ page.title }} -Go-NEB is a Matrix bot written in Go. It is the successor to [Matrix-NEB](/docs/projects/other/neb.html), the original Matrix bot written in Python. - -Follow development on [GitHub](https://github.com/matrix-org/go-neb)! diff --git a/supporting-docs/projects/2016-07-29-matrix-appservice-rocketchat.md b/supporting-docs/projects/2016-07-29-matrix-appservice-rocketchat.md deleted file mode 100644 index fb827692b..000000000 --- a/supporting-docs/projects/2016-07-29-matrix-appservice-rocketchat.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-rocketchat -categories: projects as -author: oddvar -maturity: Early beta ---- - -# {{ page.title }} -This project bridges [Rocket Chat](https://rocket.chat) to Matrix. This uses Rocket Chat's webhooks directly (there is also a Hubot-solution - see the [Rocket Chat federation](http://matrix.org/docs/projects/as/rocket-chat-federation.html) project). - -Get it from [github](https://github.com/matrix-org/matrix-appservice-rocketchat). diff --git a/supporting-docs/projects/2016-08-10-matrix-appservice-gitter-twisted.md b/supporting-docs/projects/2016-08-10-matrix-appservice-gitter-twisted.md deleted file mode 100644 index 6a071757e..000000000 --- a/supporting-docs/projects/2016-08-10-matrix-appservice-gitter-twisted.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: matrix-appservice-gitter-twisted -categories: projects as -author: Remi Rampin -maturity: Alpha ---- - -# {{ page.title }} -This is a Python 2 application using Twisted that bridges the Matrix chat network with the Gitter system. - -This is supposed to be deployed as a Matrix application service alongside a homeserver. It allows users to log in to their personal Gitter accounts and chat in Gitter rooms via their Matrix client. - -Contrary to other bridges, this doesn't link a public Matrix room with a Gitter one. You won't be able to join a Gitter room without a Gitter account. On the other hand, Gitter users won't see the difference between a Matrix user and a normal Gitter user, since they will appear to be chatting natively. - -Find it on [GitHub](https://github.com/remram44/matrix-appservice-gitter-twisted/). diff --git a/supporting-docs/projects/2016-08-11-nervewire.md b/supporting-docs/projects/2016-08-11-nervewire.md deleted file mode 100644 index 6c0ef2c49..000000000 --- a/supporting-docs/projects/2016-08-11-nervewire.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Nervewire -categories: projects other -description: A Matrix.org image deck -author: Ryan Rix -maturity: Early beta ---- -# {{ page.title }} - -Nervewire collects images from a specified room, and dumps them on to a page so that they can be used for external purposes (perhaps as a screensaver or wallpaper). More information at [Ryan's blog](http://notes.whatthefuck.computer/1465799340.0-note.html), code at [Ryan's cgit](http://fort.kickass.systems:10082/cgit/personal/rrix/pub/nervewire.git/). diff --git a/supporting-docs/projects/2016-08-27-interlocutor.md b/supporting-docs/projects/2016-08-27-interlocutor.md deleted file mode 100644 index 675992864..000000000 --- a/supporting-docs/projects/2016-08-27-interlocutor.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Interlocutor -description: Free, decentralized comment software for the web -categories: projects other -author: Alexander Maznev -maturity: Alpha ---- - -# {{ page.title }} -Interlocutor is a decentralized comment software built on top of Matrix as a Polymer Webcomponent, it is under active development and not yet ready for production use. - -Check it on [GitHub](https://github.com/pik/interlocutor). diff --git a/supporting-docs/projects/2016-09-04-hello-matrix-bot.md b/supporting-docs/projects/2016-09-04-hello-matrix-bot.md deleted file mode 100644 index 68506c102..000000000 --- a/supporting-docs/projects/2016-09-04-hello-matrix-bot.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: project -title: Hello Matrix Bot -categories: projects other -description: Bot with an array of plugins -author: Alexander Rudyk -maturity: Alpha ---- - -# {{ page.title }} -This project is a simple attempt at providing a friendly face to as many popular services as possible, making them accessible from any Matrixroom. "Hello Matrix" is written as NodeJS application, building on matrix-js-sdk, the JavaScript SDK from the creators of Matrix. It is a hobby project and as such far from feature complete, in fact it is all very basic right now - hopefully this will change over the coming months. - -You can either use the "Hello Matrix" bot running on our server (just invite @hello-matrix:matrix.org into your Matrix room) or you can check out the code from this repository and run your own instance of "Hello Matrix" (also providing your own API keys to the services you want to use). - -"Hello Matrix" currently supports the following services: - -* Sending and receiving messages using Bitmessage -* Numeric calculations using Wolfram Alpha -* Throwing the dice (generating a random number) -* Adding tasks to your Kanban board from Kanban Tool and getting notified of task status changes -* Tracerouting a given IP -* Weather from OpenWeatherMap -* Providing WHOIS information on a domain or IP address -* Adding tasks and monitoring progress on Wunderlist lists -* The goal is to add at least generic web hook functionality in the coming months, which would immediately make a large number of other integrations possible. We’ll keep you updated on any progress. - -| - -Follow the progress and grab the code from [gitlab](https://gitlab.com/argit/hello-matrix-bot)! diff --git a/supporting-docs/projects/2016-09-05-node-red-nodes.md b/supporting-docs/projects/2016-09-05-node-red-nodes.md deleted file mode 100644 index 90de2114f..000000000 --- a/supporting-docs/projects/2016-09-05-node-red-nodes.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Matrix bot nodes for Node-RED -description: Visual bot creation using Node-RED -categories: projects other -author: mlopezr -maturity: Alpha ---- - -# {{ page.title }} -It's very easy to create simple interactions with a Matrix chatroom without programming. Discover Node-RED, a visual tool to wire together APIs. We have extended Node-RED with nodes to listen and talk in Matrix chatrooms. - -![image](https://github.com/mlopezr/node-red-contrib-matrixbot/raw/master/docs/nodered-twitter.png) - -Check it out on [GitHub](https://github.com/mlopezr/node-red-contrib-matrixbot). diff --git a/supporting-docs/projects/2016-09-13-telematrix.md b/supporting-docs/projects/2016-09-13-telematrix.md deleted file mode 100644 index 29c465541..000000000 --- a/supporting-docs/projects/2016-09-13-telematrix.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: telematrix -categories: projects as -author: SijmenSchoon -maturity: Alpha ---- - -# {{ page.title }} -This project bridges [Telegram Messenger](https://telegram.org/) to Matrix. It's currently in early development, and not considered to be in a usable state yet. - -Get it and report issues at [github](https://github.com/SijmenSchoon/telematrix)! diff --git a/supporting-docs/projects/2016-09-17-drupal-matrix-api.md b/supporting-docs/projects/2016-09-17-drupal-matrix-api.md deleted file mode 100644 index 3b4a5cc25..000000000 --- a/supporting-docs/projects/2016-09-17-drupal-matrix-api.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Drupal matrix_api module -categories: projects sdk -thumbnail: /docs/projects/images/200px-druplicon.png -description: A Drupal 8 integration module/SDK -author: freelock -maturity: Alpha ---- - -# {{ page.title }} -A Drupal API module to facilitate posting messages into Matrix rooms. [Drupal.org](https://drupal.org/project/matrix_api) diff --git a/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md b/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md deleted file mode 100644 index 05c182a30..000000000 --- a/supporting-docs/projects/2016-10-04-matrix-dotnet-framework.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-dotnet-framework -categories: projects other -description: Bot framework for matrix-dotnet-sdk -author: Half-Shot -maturity: Early beta ---- - -# {{ page.title }} - -A .NET framework for making Matrix bots with [matrix-dotnet-sdk](https://github.com/Half-Shot/matrix-dotnet-sdk). - -The project lives on [GitHub](https://github.com/Half-Shot/matrix-dotnet-framework) diff --git a/supporting-docs/projects/2016-10-04-matrix-ircd.md b/supporting-docs/projects/2016-10-04-matrix-ircd.md deleted file mode 100644 index 5d52a004a..000000000 --- a/supporting-docs/projects/2016-10-04-matrix-ircd.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: matrix-ircd -categories: projects client -description: An IRCd implementation backed by Matrix. -author: Erik -maturity: Alpha ---- - -# {{ page.title }} -An IRCd implementation backed by Matrix. Inspired by [PTO](./pto.html)! - -This is a work in progress. Matrix IRCd should be stable enough to hack on and test, but has not been tested in production or for any length of time. - -See the [GitHub issues page](https://github.com/matrix-org/matrix-ircd/issues) for a more detailed breakdown of what is left to do, and/or join the discussion on the Matrix channel: [#matrix-ircd:matrix.org](https://matrix.to/#/#matrix-ircd:matrix.org) - -You can check out the code from [GitHub](https://github.com/matrix-org/matrix-ircd). diff --git a/supporting-docs/projects/2016-10-07-mm.md b/supporting-docs/projects/2016-10-07-mm.md deleted file mode 100644 index e1892a80e..000000000 --- a/supporting-docs/projects/2016-10-07-mm.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: project -title: mm -categories: projects client -author: Meutraa -description: A minimalistic client written in Go -maturity: Alpha ---- - -# {{ page.title }} -A minimalistic client written in Go - -Features - -* Less than 250 lines of code. -* Fetching last ten messages of each room on start. -* Receiving messages by long polling sync call. -* Sending messages through named pipes. -* Marking latest event as read (the recommendation to only mark this as read when the user has read the message seems iffy here. An IMAP type tagging system could work, but would be as complex as the program itself). At least this way, users of other clients will know your computer has recieved the message. -* Online presence. -* Message modification time set to message timestamp minus five seconds. -* List of new messages (file paths) written to stdout - -Planned - -* Syncing all message history without gaps. - - -Above list fetched from [gitlab](https:///gitlab.com/meutraa/mm/tree/master)! diff --git a/supporting-docs/projects/2016-10-12-freebird.md b/supporting-docs/projects/2016-10-12-freebird.md deleted file mode 100644 index bc28d8b64..000000000 --- a/supporting-docs/projects/2016-10-12-freebird.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Freebird -categories: projects other -description: Matrix based Twitter clone -author: tjgillies -maturity: Alpha ---- - -# {{ page.title }} -Matrix based Twitter clone. Try it [here](http://freebird.tyler.cat/)! - -The code can be found on [GitHub](https://github.com/tjgillies/freebird/). diff --git a/supporting-docs/projects/2016-10-16-hangouts-bridge.md b/supporting-docs/projects/2016-10-16-hangouts-bridge.md deleted file mode 100644 index fcd1bba2b..000000000 --- a/supporting-docs/projects/2016-10-16-hangouts-bridge.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Hangouts Bridge -categories: projects as -author: ImmanuelBaskaran -maturity: Alpha ---- - -# {{ page.title }} -This project creates a bridge between Google Hangouts and Matrix. It was originally developed as part of the 2016 Global TADHack - see related [blogpost](https://matrix.org/blog/2016/10/20/tadhack-global-2016/) and [video of the presentation](https://www.youtube.com/watch?v=X41RbOKTrbE&t=17m31s). - -You can get the source from [GitHub](https://github.com/ImmanuelBaskaran/Hangouts-Bridge) diff --git a/supporting-docs/projects/2016-10-16-matrix-esp8266.md b/supporting-docs/projects/2016-10-16-matrix-esp8266.md deleted file mode 100644 index 61f0b11b6..000000000 --- a/supporting-docs/projects/2016-10-16-matrix-esp8266.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: matrix-esp8266 -categories: projects other -description: Tiny matrix client for the esp8266 microcontroller -author: Matt Williams -maturity: Alpha ---- - -# {{ page.title }} -Originally made for [TADHack 2016](https://www.youtube.com/watch?v=X41RbOKTrbE&t=11m30s), this hack is a tiny Matrix client for the esp8266 microcontroller. - -Grab the code from [GitHub](https://github.com/matt-williams/matrix-esp8266/). diff --git a/supporting-docs/projects/2016-10-18-riotic.md b/supporting-docs/projects/2016-10-18-riotic.md deleted file mode 100644 index a79dda1ad..000000000 --- a/supporting-docs/projects/2016-10-18-riotic.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -categories: projects client -title: Riotic -description: macOS native webkitwrapper of Riot -author: Joakim Ahlen -maturity: Alpha ---- - -# {{ page.title }} - - -Riotic is a macOS native webkitwrapper of [Riot](./riot.html). Source at [Bitbucket](https://bitbucket.org/riotic/riotic/). diff --git a/supporting-docs/projects/2016-10-22-journal.md b/supporting-docs/projects/2016-10-22-journal.md deleted file mode 100644 index ad460926a..000000000 --- a/supporting-docs/projects/2016-10-22-journal.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: journal -description: A web client for writing news stories, personal blogs and more, built on matrix. -categories: projects client -author: Luke Bernard -maturity: Early beta ---- - -# {{ page.title }} -A web client for writing news stories, personal blogs and more, built on matrix. Formally known as `j`. - -![image](https://camo.githubusercontent.com/86738201a4ebcb15f9254e6438524e8cc0b50d9b/68747470733a2f2f6d61747269782e6f72672f5f6d61747269782f6d656469612f76312f646f776e6c6f61642f6d61747269782e6f72672f7a4b42724c74646c5a6e7471766352735864545755446c7a) - -Check it out from [Luke's GitHub repo](https://github.com/lukebarnard1/journal). diff --git a/supporting-docs/projects/2016-10-30-mxpp.md b/supporting-docs/projects/2016-10-30-mxpp.md deleted file mode 100644 index 6adaa4613..000000000 --- a/supporting-docs/projects/2016-10-30-mxpp.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: mxpp -categories: projects other -description: Bot for bridging Matrix and one-to-one XMPP chats -author: anewusername -maturity: Alpha ---- - -# {{ page.title }} -[mxpp](https://github.com/anewusername/mxpp) is a bot for bridging XMPP and Matrix. It creates one Matrix room per user on your XMPP roster, and then passes messages between the Matrix room and XMPP user. - diff --git a/supporting-docs/projects/2016-11-12-matrex.md b/supporting-docs/projects/2016-11-12-matrex.md deleted file mode 100644 index d146b3389..000000000 --- a/supporting-docs/projects/2016-11-12-matrex.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Matrex -categories: projects server -author: Ryan Johnson -maturity: Alpha ---- - - -# {{ page.title }} -A WIP toy Matrix server implementation in Elixir. Find it on [GitHub](https://github.com/bismark/matrex). diff --git a/supporting-docs/projects/2016-11-20-matrix-rocketchat.md b/supporting-docs/projects/2016-11-20-matrix-rocketchat.md deleted file mode 100644 index 426a5d6ac..000000000 --- a/supporting-docs/projects/2016-11-20-matrix-rocketchat.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-rocketchat -categories: projects as -author: exul -maturity: Alpha ---- - -![screenshot](/docs/projects/images/matrix-rocketchat.png "{{ page.title }}") - -# {{ page.title }} -This is an application service that bridges Matrix to Rocket.Chat, written in Rust. - -Find it on [GitHub](https://github.com/exul/matrix-rocketchat). diff --git a/supporting-docs/projects/2016-11-27-matrix-pushgw.md b/supporting-docs/projects/2016-11-27-matrix-pushgw.md deleted file mode 100644 index 18a602dea..000000000 --- a/supporting-docs/projects/2016-11-27-matrix-pushgw.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: matrix-pushgw -description: A custom push gateway -categories: projects other -author: Sergio L. Pascual -maturity: Alpha ---- - -# {{ page.title }} -matrix-pushgw is a custom push gateway for Matrix, written in Go. - -Get the source from [GitHub](https://github.com/slp/matrix-pushgw). diff --git a/supporting-docs/projects/2016-11-27-synapse-password-reset.md b/supporting-docs/projects/2016-11-27-synapse-password-reset.md deleted file mode 100644 index fe8234cd1..000000000 --- a/supporting-docs/projects/2016-11-27-synapse-password-reset.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: synapse-password-reset -description: A tool to manage Synapse password resets -categories: projects other -author: Euan Kemp -maturity: Alpha ---- - -# {{ page.title }} -A small tool that creates a new access_token in the database so that a user can reset their password. - -Check it out on [GitHub](https://github.com/euank/synapse-password-reset). diff --git a/supporting-docs/projects/2016-11-29-gomatrix.md b/supporting-docs/projects/2016-11-29-gomatrix.md deleted file mode 100644 index f50e42401..000000000 --- a/supporting-docs/projects/2016-11-29-gomatrix.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: gomatrix -categories: projects sdk -description: Official Golang Matrix client SDK -author: Matrix.org -maturity: Stable ---- - -# {{ page.title }} -Official Golang Matrix client SDK, as used by [go-neb](https://github.com/matrix-org/go-neb) and others - -Find it on [GitHub](https://github.com/matrix-org/gomatrix). diff --git a/supporting-docs/projects/2016-11-29-matrix-live.md b/supporting-docs/projects/2016-11-29-matrix-live.md deleted file mode 100644 index e95a95b2a..000000000 --- a/supporting-docs/projects/2016-11-29-matrix-live.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: Matrix Live -description: Liveblogging based on Matrix -categories: projects other -author: ar -maturity: Alpha ---- - -# {{ page.title }} -Liveblogging is reporting about events -- with text and pictures -- as they happen. Matrix is a new, powerful messaging platform for instant communication. We believe the two belong together. That's why we have created Matrix Live. - -With Matrix Live, you can create a room in Matrix, and while you use your favorite Matrix client (such as Riot) to write text and post pictures in this room, your users will see them appear live on the web - either here or right on your blog or website. - -How does it look like in practice? You can try it out. We have prepared two demo versions for you, which are both fully functional Matrix Live implementations - check them out [here](https://live.hello-matrix.net/live.html#matrix.hello-matrix.net/!sBcCeweWXOjVViEiIY%3Ahello-matrix.net/Hello%2C%20Matrix!) and [here](https://live.hello-matrix.net/demo2.html). - -For more information, visit [live.hello-matrix.net](https://live.hello-matrix.net/) or look at the source code on [gitlab](https://gitlab.com/argit/matrix-live). diff --git a/supporting-docs/projects/2016-12-03-matrix-appservice-imessage.md b/supporting-docs/projects/2016-12-03-matrix-appservice-imessage.md deleted file mode 100644 index 05c769e33..000000000 --- a/supporting-docs/projects/2016-12-03-matrix-appservice-imessage.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: imessage bridge -categories: projects as -author: Keyvan Fatehi -maturity: Alpha ---- - -# {{ pagae.title }} -This is a Matrix bridge for Apple iMessage. It connects your homeserver to Messages.app - -Find the source on [GitHub](https://github.com/kfatehi/matrix-appservice-imessage). - diff --git a/supporting-docs/projects/2016-12-11-riotchat-ansible.md b/supporting-docs/projects/2016-12-11-riotchat-ansible.md deleted file mode 100644 index 765950620..000000000 --- a/supporting-docs/projects/2016-12-11-riotchat-ansible.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: riotchat-ansible -categories: projects other -description: Ansible playbook for matrix/riot.im setup -author: kultsinuppeli -maturity: Alpha ---- - -# {{ page.title }} -This playbook sets up Matrix and Riot.im on a single server or two separate servers. The servers will request Let's Encrypt certificates for the hostnames assigned to them. - -Find the source on [GitHub](https://github.com/kultsinuppeli/riotchat). diff --git a/supporting-docs/projects/2016-12-12-matrix-fb-chat.md b/supporting-docs/projects/2016-12-12-matrix-fb-chat.md deleted file mode 100644 index 74f46b889..000000000 --- a/supporting-docs/projects/2016-12-12-matrix-fb-chat.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: project -title: matrix-fb-chat -categories: projects other -author: Half-Shot -maturity: Alpha ---- - -# {{ page.title }} -This project connects Matrix rooms with Facebook conversations. It's very much a PoC in its current state. - -What can it do? - -* Bridge one conversation to one room. -* Send text messages from matrix. -* Recieve messages and urls from facebook. - -Find the source on [GitHub](https://github.com/Half-Shot/matrix-fb-chat/). diff --git a/supporting-docs/projects/2016-12-17-matrix-email-bot.md b/supporting-docs/projects/2016-12-17-matrix-email-bot.md deleted file mode 100644 index e2ea52c0c..000000000 --- a/supporting-docs/projects/2016-12-17-matrix-email-bot.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-email-bot -categories: projects other -description: Posts links to emails in Matrix rooms. Ideal for newsletter distribution. -author: Travis Ralston -maturity: Early beta ---- - -# {{ page.title }} - -Uses [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk) and [mailin](http://mailin.io/) to receive emails and post messages in chat. Ideal for having your newsletters also land in a chat room. - -The source can be found on [GitHub](https://github.com/turt2live/matrix-email-bot). diff --git a/supporting-docs/projects/2016-12-21-tiny-matrix-bot.md b/supporting-docs/projects/2016-12-21-tiny-matrix-bot.md deleted file mode 100644 index 4db6b49e2..000000000 --- a/supporting-docs/projects/2016-12-21-tiny-matrix-bot.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: project -title: tiny-matrix-bot -categories: projects other -description: Bot with plugins -author: Ander Punnar -maturity: Alpha ---- - -# {{ page.title }} -Simple and dirty matrix.org bot based on matrix-python-sdk - -<del>no manual</del>, no support, no warranty - -pull requests are welcome! - -manual: - -* git clone https://github.com/4nd3r/tiny-matrix-bot -* git clone https://github.com/matrix-org/matrix-python-sdk -* cd tiny-matrix-bot -* ln -s ../matrix-python-sdk/matrix_client -* cp tiny-matrix-bot.cfg.sample tiny-matrix-bot.cfg -* vim tiny-matrix-bot.cfg -* screen ./tiny-matrix-bot.py tiny-matrix-bot.cfg -* scripts must have execute bit - chmod +x - -| - -Follow the progress and grab the code from [GitHub](https://github.com/4nd3r/tiny-matrix-bot/)! diff --git a/supporting-docs/projects/2016-12-26-matrix-music-bot.md b/supporting-docs/projects/2016-12-26-matrix-music-bot.md deleted file mode 100644 index 59a4527e6..000000000 --- a/supporting-docs/projects/2016-12-26-matrix-music-bot.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: matrix-music-bot -categories: projects other -description: last.fm scrobbler -author: Falko -maturity: Alpha ---- - -# {{ page.title }} -A small bot that lets you look up artists using lastfm's API. - -Follow the progress and grab the code from [GitHub](https://github.com/select/matrix-music-bot) diff --git a/supporting-docs/projects/2016-12-30-matrix-appservice-facebook.md b/supporting-docs/projects/2016-12-30-matrix-appservice-facebook.md deleted file mode 100644 index eec144c10..000000000 --- a/supporting-docs/projects/2016-12-30-matrix-appservice-facebook.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: matrix-appservice-facebook -categories: projects as -author: Keyvan Fatehi -maturity: Alpha ---- - -# {{ page.title }} -This is a puppeted Facebook bridge for Matrix. - -Get it from [GitHub](https://github.com/kfatehi/matrix-appservice-facebook). diff --git a/supporting-docs/projects/2017-01-03-matrigram.md b/supporting-docs/projects/2017-01-03-matrigram.md deleted file mode 100644 index 2d9043fef..000000000 --- a/supporting-docs/projects/2017-01-03-matrigram.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: matrigram -categories: projects other -author: GalPressman & YuvalFatael -maturity: Alpha ---- - -# {{ page.title }} -This project bridges between matrix and telegram. - -Telegram users can now participate in matrix rooms, while choosing -which room to "focus" (send and receive messages) at a time. -Our goal is to provide full matrix user experience, including support of -all media types, relaying "typing..." messages, etc.. - -Find the source on [GitHub](https://github.com/GalPressman/matrigram/). diff --git a/supporting-docs/projects/2017-01-05-synpurge.md b/supporting-docs/projects/2017-01-05-synpurge.md deleted file mode 100644 index 29dde3b20..000000000 --- a/supporting-docs/projects/2017-01-05-synpurge.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: synpurge -categories: projects other -description: Purges Matrix room history room using the HTTP API -author: Adrian Perez de Castro -maturity: Alpha ---- - -# {{ page.title }} -Utility to remove history of Matrix rooms using the purge_history API of Synapse. - -Find it on [PyPI](https://pypi.python.org/pypi/synpurge/4). diff --git a/supporting-docs/projects/2017-01-23-mxisd.md b/supporting-docs/projects/2017-01-23-mxisd.md deleted file mode 100644 index 2a1b6fb6a..000000000 --- a/supporting-docs/projects/2017-01-23-mxisd.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: project -title: mxisd -categories: projects other -description: Federated Identity, Authentication and Directory service -author: Kamax.io -maturity: Late beta ---- - -# {{ page.title }} -mxisd is a federated Matrix Identity Server for self-hosted Matrix servers with enhanced features. - -It provides the following features for your Matrix Homeserver: - -- Link to an already existing Identity store - No more duplication of data that would already be in your AD/LDAP, forums, CRM, etc. -- Link to the central Matrix Identity servers (vector.im & matrix.org) to provide native experience -- Search people by name (or anything else!), looking in your Identity store and your homeserver (integration with Directory API) -- Invite people by e-mail, phone number, etc. instead of Matrix IDs -- Show who's using Matrix and their ID on your smartphone when looking to invite people to a Direct chat or Group chat -- Allow people to link identifiers (e-mail, phone number) to their Matrix account to be locally or globally searchable -- Provide an all-in-one authentication backend for synapse using the [REST auth module](https://github.com/kamax-io/matrix-synapse-rest-auth) - -mxisd is is an implementation of the [Identity Service API](http://matrix.org/docs/spec/identity_service/unstable.html) which aims to provide an alternative to [sydent](https://github.com/matrix-org/sydent) with much added value and features. - -Come talk to us on Matrix at [#mxisd:kamax.io](https://matrix.to/#/#mxisd:kamax.io)! - -Follow the progress and grab the code from [GitHub](https://github.com/kamax-io/mxisd). diff --git a/supporting-docs/projects/2017-01-29-rocket-sheep.md b/supporting-docs/projects/2017-01-29-rocket-sheep.md deleted file mode 100644 index 6ce4bc356..000000000 --- a/supporting-docs/projects/2017-01-29-rocket-sheep.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: rocket-sheep -categories: projects other -description: A bot to connect makerspaces with their members -author: Travis Ralston -maturity: Released ---- - -# {{ page.title }} - -Rocket Sheep is a matrix bot intended for makerspaces/hackerspaces. Through use of a message queue, Rocket Sheep can announce when people enter the building. In combination with Blue Iris, Rocket Sheep can provide snapshots of your cameras for members to see what is going on at the space. - -More functionality is planned, and recommendations are welcome. - -The source (and more information) can be found on [GitHub](https://github.com/ENTS-Source/rocket-sheep). Pop by [#ents:tang.ents.ca](https://matrix.to/#/#ents:tang.ents.ca) with any questions. diff --git a/supporting-docs/projects/2017-01-31-matrix-recorder.md b/supporting-docs/projects/2017-01-31-matrix-recorder.md deleted file mode 100644 index 806b26420..000000000 --- a/supporting-docs/projects/2017-01-31-matrix-recorder.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: project -title: Matrix Recorder -categories: projects other -description: Enables you to keep a record of all messages you have received. -author: ar -maturity: Alpha ---- - -# {{ page.title }} - -While Matrix homeservers store your message history so that you can retrieve them on all your devices, currently there is no easy way to download and backup this message history. This is especially relevant for end-to-end (E2E) encrypted rooms because their history cannot be decrypted anymore if you lose your encryption keys (which is as easy as logging out of your Riot client). - -This is where Matrix Recorder jumps in. This tool (written in Node.js) retrieves all messages you receive or send just as a regular client would. It uses your existing Matrix account but registers as a new device with its own encryption keys, which means that it can decrypt messages sent to you after Matrix Recorder has been registered. You don’t need to keep it running all the time but can just start it from time to time - it will continue from where it left off when you start it the next time. - -All timeline events retrieved that way will be stored in an sqlite database which you can just keep as a backup or use to create your own archive. Matrix Recorder comes with a small utility that extracts messages from this database into HTML files that can be viewed in your browser. - -Follow the progress and grab the code from [GitLab](https://gitlab.com/argit/matrix-recorder). diff --git a/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md b/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md deleted file mode 100644 index 847851396..000000000 --- a/supporting-docs/projects/2017-02-02-matrix-appservice-minecraft.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-appservice-minecraft -categories: projects as -description: Bridges Minecraft server chat to and from Matrix -author: Travis Ralston -maturity: Alpha ---- - -# {{ page.title }} - -This is a Node.js application that bridges Minecraft chat with Matrix. The project is still in early development and is not intended for production use (yet). - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-minecraft). diff --git a/supporting-docs/projects/2017-02-05-navi.md b/supporting-docs/projects/2017-02-05-navi.md deleted file mode 100644 index 0c563ca60..000000000 --- a/supporting-docs/projects/2017-02-05-navi.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: Navi -categories: projects other -description: A minimal Matrix notification bot -author: Maximilian Fricke -maturity: Alpha ---- - -# {{ page.title }} -Navi is a tiny bot for Matrix that sends notifications to users. It is builtupon the [Matrix Python SDK](https://github.com/matrix-org/matrix-python-sdk). - -The motivation behind Navi is to send notifications from anywhere to everywhere. This includes the push services GCM and APNs that [Riot](https://riot.im/) bridges to, without having to rely on services such as Pushbullet or Pushover. - -The first time you use it, Navi creates a new room and invites your user to it. The room will be reused afterwards. If you leave the room, so will Navi, and invite you to a new room. - -Follow the progress and grab the code from [GitHub](https://github.com/madmax28/navi)! diff --git a/supporting-docs/projects/2017-02-06-matrixclient.md b/supporting-docs/projects/2017-02-06-matrixclient.md deleted file mode 100644 index 7b1b5ca0a..000000000 --- a/supporting-docs/projects/2017-02-06-matrixclient.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: MatrixClient -categories: projects client -description: Matrix Client for macOS -author: Avery Pierce -maturity: Alpha ---- - -![screenshot](/docs/projects/images/matrixclient.png "{{ page.title }}") - -# {{ page.title }} -MatrixClient (working title) is a native Matrix client for macOS. - -Get the code from [GitHub](https://github.com/aapierce0/MatrixClient). diff --git a/supporting-docs/projects/2017-02-06-smartparking.md b/supporting-docs/projects/2017-02-06-smartparking.md deleted file mode 100644 index 6568b8538..000000000 --- a/supporting-docs/projects/2017-02-06-smartparking.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: SmartParking -categories: projects other -description: A parking system PoC using Matrix -author: Natan Bagrov, Ran Moshe -maturity: Alpha ---- - -# {{ page.title }} -A proof of concept of a Smart Parking system, where each parking space is monitored and connected to the Smart Parking Manager via Matrix. This project was written for a hackathon. - -Check it out on [GitHub](https://github.com/NatanBagrov/SmartParking). diff --git a/supporting-docs/projects/2017-02-17-python-matrix-bot-api.md b/supporting-docs/projects/2017-02-17-python-matrix-bot-api.md deleted file mode 100644 index baf8c19de..000000000 --- a/supporting-docs/projects/2017-02-17-python-matrix-bot-api.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: python-matrix-bot-api -categories: projects other -description: A Python API for making Matrix bots -author: Shawn Anastasio -maturity: Early beta ---- - -# {{ page.title }} - -A Python API for making Matrix bots. - -Requires [matrix-python-sdk](https://github.com/matrix-org/matrix-python-sdk). - -The project lives on [GitHub](https://github.com/shawnanastasio/python-matrix-bot-api/) diff --git a/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md b/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md deleted file mode 100644 index 1f61c0c4c..000000000 --- a/supporting-docs/projects/2017-02-23-matrix-appservice-instagram.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-appservice-instagram -categories: projects as -description: Bridges Instagram to Matrix -author: Travis Ralston -maturity: Alpha ---- - -# {{ page.title }} - -matrix-appservice-instagram bridges Instagram media to Matrix rooms. Due to limitations with Instagram, it cannot handle direct messages and requires authorization in order to post media to a room. Useful for brands looking to populate their rooms with their Instagram posts. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-instagram). diff --git a/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md b/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md deleted file mode 100644 index 34d62ae89..000000000 --- a/supporting-docs/projects/2017-03-18-matrix-embedded-federation.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-embedded-federation -categories: projects other -description: A lightweight homeserver SDK intended for enhanced bridging -author: Travis Ralston -maturity: Alpha ---- - -# {{ page.title }} - -matrix-embedded-federation is a work in progress Java library that will provide in-code interfaces for clients to reach out to the greater matrix ecosystem. Currently being baked into [matrix-minecraft-plugin](https://github.com/turt2live/matrix-minecraft-plugin) for a better player experience. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-embedded-federation). diff --git a/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md b/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md deleted file mode 100644 index d39c69f6a..000000000 --- a/supporting-docs/projects/2017-03-19-matrix-voyager-bot.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: matrix-voyager-bot -categories: projects other -description: Maps the Matrix network as it discovers rooms -author: Travis Ralston -maturity: Alpha ---- - -# {{ page.title }} - -Voyager is a bot that travels the network by looking for rooms it can join. When the bot sees a message with a room alias, it will try to join the room to gather more links to rooms. - -Check out [the current graph](https://voyager.t2bot.io), or ask questions in [#voyager:t2l.io](https://matrix.to/#/#voyager:t2l.io). Voyager is not meant to be an intrusive bot, and is more than happy to automatically de-list a room when kicked or banned. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-voyager-bot). diff --git a/supporting-docs/projects/2017-04-21-gyr.md b/supporting-docs/projects/2017-04-21-gyr.md deleted file mode 100644 index 9ed6e3468..000000000 --- a/supporting-docs/projects/2017-04-21-gyr.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Gyr -categories: projects as -description: Python framework for application services -author: Adam Beckmeyer -maturity: Alpha ---- - - -# {{ page.title }} - -A framework and library for building Application Services with python3. Find the -[source on Github](https://github.com/non-Jedi/gyr) or install [the library with -pip](https://pypi.python.org/pypi/gyr). diff --git a/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md b/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md deleted file mode 100644 index e747cc292..000000000 --- a/supporting-docs/projects/2017-04-27-matrix-sync-java-sdk.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: Matrix Java SDK -categories: projects sdk -author: Kamax.io -maturity: Alpha ---- -# {{ page.title }} - -The Java SDK provides a low level (I/O synchronous) object oriented library to interact with Matrix. It is aimed to regular clients, bots, bridges and generic Application Services. - -It is currently work in progress, is incomplete and is early alpha. - -[Github](https://github.com/kamax-io/matrix-java-sdk) diff --git a/supporting-docs/projects/2017-05-02-circle.md b/supporting-docs/projects/2017-05-02-circle.md deleted file mode 100644 index 601a9a630..000000000 --- a/supporting-docs/projects/2017-05-02-circle.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: project -title: Circle -description: A thin client and server for group chat, supporting IRC & Matrix -categories: projects client -thumbnail: /docs/projects/images/circle-fe-term+matrix-small.png -author: LeoNerd -maturity: Beta ---- - -# {{ page.title }} -Circle is an IRC & Matrix client which merges the best attributes of a local client and the common screen+irssi recipe. - - * Keep IRC connects and state on a backend server, allowing disconnections from local UI. - * Interact with a real local GUI for the frontend, instead of incurring SSH roundtrips for every keypress. - * Supports IRC, Matrix, - -![image](http://www.leonerd.org.uk/code/circle/circle-two-fes.png) -![image](/docs/projects/images/circle-fe-term+matrix.png) - -First, get the code from CPAN: - -``` -$ cpan Circle -$ cpan Circle::Net::Matrix - -$ cpan Circle::FE::Term -``` - -Now you can run the backend. Personally I keep UNIX sockets in `$HOME/var/run` but of course feel free to use whatever path you like. - -``` -$ mkdir -p ~/var/run -$ cd circle-be -$ ./circle-be --socket ~/var/run/circle.sock -``` - -Now you can run the frontend, which connects to the backend server via ssh and connects to that UNIX socket. - -``` -$ cd circle-fe-term -$ ./circle-fe-term sshunix://server/var/run/circle.sock -``` - -Then in the Global tab, create a new Matrix network: - -``` -/networks add -type matrix Matrix -``` - -Then in the new MyNet tab for that network, configure it and connect: - -``` -/set homeserver example.org -/set user_id @me:example.org -/set access_token MDAxABCDE... - -/connect -``` - -(for now, you'll have to steal the access token from another Matrix client, such as Riot or [App::MatrixTool](https://metacpan.org/pod/App::MatrixTool)) diff --git a/supporting-docs/projects/2017-05-02-dendrite.md b/supporting-docs/projects/2017-05-02-dendrite.md deleted file mode 100644 index 8346ac3b0..000000000 --- a/supporting-docs/projects/2017-05-02-dendrite.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Dendrite -categories: projects server -author: Matrix.org team -maturity: Alpha ---- - -# {{ page.title }} -Dendrite (aka 'Dendron done Right') is a next-generation homeserver written in Golang, implemented in a highly horizontally scalable manner using modular components connected via append only logs. - -Find the code at [github](https://github.com/matrix-org/dendrite)! diff --git a/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md b/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md deleted file mode 100644 index e70dc67a6..000000000 --- a/supporting-docs/projects/2017-05-02-glitch-in-the-matrix.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Glitch in the Matrix -categories: projects sdk -author: eta -maturity: Alpha ---- - -# {{ page.title }} -Glitch in the Matrix is a set of (minimal) Matrix bindings for Rust. - -https://github.com/eeeeeta/glitch-in-the-matrix diff --git a/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md b/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md deleted file mode 100644 index e96610447..000000000 --- a/supporting-docs/projects/2017-05-02-matrix-knowledge-base.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Matrix Knowledge Base -categories: projects other -author: Coffee -description: FAQs and more. Bot-friendly collection of Matrix knowledge. Also suitable for humans. -maturity: Alpha ---- -# {{ page.title }} -A community-supported collection of FAQs and more on all things [Matrix](https://matrix.org). Its primary use is to serve as botfood for a yet-to-be-written FAQbot, but it is also suitable for human consumption. - -https://github.com/Matrixcoffee/matrix-knowledge-base diff --git a/supporting-docs/projects/2017-05-02-matrix-relay.md b/supporting-docs/projects/2017-05-02-matrix-relay.md deleted file mode 100644 index b94146998..000000000 --- a/supporting-docs/projects/2017-05-02-matrix-relay.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: matrix-relay -categories: projects as -description: Relays messages between rooms using AS API -author: Adam Beckmeyer -maturity: Alpha ---- - - -# {{ page.title }} -Relays messages between matrix rooms via the AS API. -Built on https://github.com/non-Jedi/gyr. diff --git a/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md b/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md deleted file mode 100644 index f9b20d8e3..000000000 --- a/supporting-docs/projects/2017-05-02-matrixcraft-bridge.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: project -title: Matrixcraft bridge -categories: projects as -author: paftree -maturity: Alpha ---- - -# {{ page.title }} -Some Python code for plumbing together a Matrix room and a Minecraft server chat - -https://github.com/paftree/matrixcraft-bridge diff --git a/supporting-docs/projects/2017-05-02-neo.md b/supporting-docs/projects/2017-05-02-neo.md deleted file mode 100644 index c6c217999..000000000 --- a/supporting-docs/projects/2017-05-02-neo.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: Neo -categories: projects client -author: f0x -description: A Linux Python3 + GTK+ Client -maturity: Alpha ---- - -# {{ page.title }} - -Neo is a GTK+ and Python3 Matrix client, designed for GNU/Linux systems. -Current functionality is basic message receiving and sending, in a relatively decent GUI - -Get it from https://git.omnius.zone/neo/neo-gtk diff --git a/supporting-docs/projects/2017-05-02-nheko.md b/supporting-docs/projects/2017-05-02-nheko.md deleted file mode 100644 index 2e313648d..000000000 --- a/supporting-docs/projects/2017-05-02-nheko.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: project -title: nheko -description: A Qt/C++11 desktop client for Matrix -categories: projects client -author: mujx -maturity: Late Alpha ---- - -# {{ page.title }} -The motivation behind the project is to provide a native desktop app for Matrix that feels more like a mainstream chat app (Riot, Telegram etc) and less like an IRC client. - -Join the discussion on Matrix [#nheko:matrix.org](https://matrix.to/#/#nheko:matrix.org) - -![image](https://matrix.org/_matrix/media/v1/download/matrix.org/EqTYfFxtEWQMnTsIYmBnqySI) - -Get the code from https://github.com/mujx/nheko diff --git a/supporting-docs/projects/2017-05-02-ruma-gtk.md b/supporting-docs/projects/2017-05-02-ruma-gtk.md deleted file mode 100644 index 188b107ca..000000000 --- a/supporting-docs/projects/2017-05-02-ruma-gtk.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: project -title: ruma-gtk -description: A Gtk/Rust Matrix client using ruma-client-api -categories: projects client -author: jplatte -maturity: Early Alpha ---- - -# {{ page.title }} -A WIP matrix client implemented using gtk and ruma-client-api - -![image](https://matrix.org/_matrix/media/v1/download/matrix.org/LYClTFMAbxWkHKzUSUrusqWU) - -Get the code from https://github.com/jplatte/ruma-gtk diff --git a/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md b/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md deleted file mode 100644 index 11ba00d5e..000000000 --- a/supporting-docs/projects/2017-05-02-swift-matrix-sdk.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Swift MatrixSDK -categories: projects sdk -author: gperdomor -maturity: Alpha ---- - -# {{ page.title }} - -Unofficial SDK to build apps compatible with Matrix using swift - -https://github.com/gperdomor/matrix-sdk diff --git a/supporting-docs/projects/2017-05-02-sydent.md b/supporting-docs/projects/2017-05-02-sydent.md deleted file mode 100644 index e2939249c..000000000 --- a/supporting-docs/projects/2017-05-02-sydent.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: project -title: sydent -categories: projects other -description: The official Matrix Identity Server implementation -author: Matrix.org team -maturity: Stable ---- - -# {{ page.title }} -sydent is an implementation of the Matrix Identity Server API in Python, supporting: - - * Validation of 3PIDs (email and MSISDNs) for signup and discovery - * Binding of 3PIDs to MXIDs (for discovery) - * Lookup of 3PIDs to MXIDs - * Storing unresolved 3PID invites. - * Replication of assertions across a closed federation. - -Instances currently run at matrix.org and vector.im; meanwhile others are free to run their own but they will not be able to participate in the global directory lookup table. - -N.B. use of the Identity Server API is stricly optional in Matrix - it's only used to resolve 3PIDs to MXIDs. - -Get the code from [GitHub](https://github.com/matrix-org/sydent) - -Alternatively, [slipeer](https://githcub.com/slipeer) maintains a [fork with LDAP lookup](https://github.com/slipeer/sydent). diff --git a/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md b/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md deleted file mode 100644 index cadacda09..000000000 --- a/supporting-docs/projects/2017-05-02-synapse-diaspora-auth.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: synapse-diaspora-auth -categories: projects other -description: A diaspora authenticator for synapse -author: Shamil K Muhammed -maturity: Stable ---- - -# {{ page.title }} -A diaspora authenticator for matrix synapse. - -https://git.fosscommunity.in/necessary129/synapse-diaspora-auth diff --git a/supporting-docs/projects/2017-05-02-thunderbird.md b/supporting-docs/projects/2017-05-02-thunderbird.md deleted file mode 100644 index 16e0dab34..000000000 --- a/supporting-docs/projects/2017-05-02-thunderbird.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Mozilla Thunderbird -description: A free email & chat app -categories: projects client -author: Frédéric Wang -maturity: Beta ---- - -# {{ page.title }} -Initial support for Matrix in [Mozilla Thunderbird](https://www.mozilla.org/en-US/thunderbird/), available in Nightly since March 2017, and due to land in Instantbird/Thunderbird 54. - -To enable, turn `chat.prpls.prpl-matrix.disable` to `false` in the advanced config editor. diff --git a/supporting-docs/projects/2017-05-18-matrix-pollbot.md b/supporting-docs/projects/2017-05-18-matrix-pollbot.md deleted file mode 100644 index acc6f804d..000000000 --- a/supporting-docs/projects/2017-05-18-matrix-pollbot.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-pollbot -categories: projects other -description: A bot for creating polls -author: Shawn Anastasio -maturity: Early Beta ---- - -# {{ page.title }} - -Pollbot is a Matrix bot written using [python-matrix-bot-api](https://github.com/shawnanastasio/python-matrix-bot-api/) that allows you to create polls that can be voted on by members of a room. - -The project lives on [GitHub](https://github.com/shawnanastasio/matrix-pollbot). diff --git a/supporting-docs/projects/2017-05-24-matrix-appservice-email.md b/supporting-docs/projects/2017-05-24-matrix-appservice-email.md deleted file mode 100644 index dee6d6dfc..000000000 --- a/supporting-docs/projects/2017-05-24-matrix-appservice-email.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: project -title: Matrix Email Bridge -categories: projects as -description: Two ways Email<->Matrix bridge -author: Kamax.io and Open-Xchange -maturity: Alpha ---- - -# {{ page.title }} -An application service gateway for bridging between Email and Matrix, written using Spring Boot (Java) using [matrix-java-sdk](https://github.com/kamax-io/matrix-java-sdk). -You can get the [code on github](https://github.com/kamax-io/matrix-appservice-email). - -Features: - - Matrix to Email forwarding - - Email to Matrix forwarding - - Email <-> Matrix <-> Email forwarding, if several bridge users are present within a room - - Fully configuration notification templates, per event - - Subscription portal where E-mail users can manage their notifications diff --git a/supporting-docs/projects/2017-05-25-matrix-dimension.md b/supporting-docs/projects/2017-05-25-matrix-dimension.md deleted file mode 100644 index 8f09268c5..000000000 --- a/supporting-docs/projects/2017-05-25-matrix-dimension.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: Dimension -categories: projects other -author: Travis Ralston -description: An alternative integrations manager for Riot -maturity: Alpha ---- -# {{ page.title }} - -The integrations manager in Riot is the piece that provides an easy way to add bots, bridges, widgets, and more to your room. Dimension replaces Riot's default manager, Modular, and offers the option of self-hosting your own integrations. Dimension offers a generic interface for custom solutions to be added and acts as the UI for configuring the various integrations you host. - -Learn more about Dimension on [Github](https://github.com/turt2live/matrix-dimension). diff --git a/supporting-docs/projects/2017-06-20-koma-im.md b/supporting-docs/projects/2017-06-20-koma-im.md deleted file mode 100644 index ab47c751b..000000000 --- a/supporting-docs/projects/2017-06-20-koma-im.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: Koma -categories: projects client -thumbnail: /docs/projects/images/koma-preview-thumbnail.png -description: A modern client designed to launch fast and help you find information in large amounts of messages -author: wilpeters -maturity: Alpha ---- - -![screenshot](/docs/projects/images/koma-preview.png "{{ page.title }}") - -# {{ page.title }} -An instant messaging application written specifically for the matrix protocol to take advantage of its modern features. Designed to be lightweight but not dependent on fast Internet: the state is stored locally so you don't have to wait every time you open it. Highly versatile notification options keep you informed without getting distracted. -While it's still in early stages and far from feature-complete, the chat window has taken shape, feel free to try it out and give us feedback and feature requests. -The project is hosted on [github](https://github.com/koma-im/koma). diff --git a/supporting-docs/projects/2017-06-27-matrix-topic-bot.md b/supporting-docs/projects/2017-06-27-matrix-topic-bot.md deleted file mode 100644 index 255745f22..000000000 --- a/supporting-docs/projects/2017-06-27-matrix-topic-bot.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-topic-bot -categories: projects other -description: A simple bot that provides dynamic topics -author: Travis Ralston -maturity: Released ---- - -# {{ page.title }} - -[@topic:t2bot.io](https://matrix.to/#/@topic:t2bot.io) is a simple bot that updates your room topic based on some conditions. Useful for rooms that have membership counts or dynamic topics. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-topic-bot). diff --git a/supporting-docs/projects/2017-07-03-matrix-wishlist.md b/supporting-docs/projects/2017-07-03-matrix-wishlist.md deleted file mode 100644 index 69e2c17e3..000000000 --- a/supporting-docs/projects/2017-07-03-matrix-wishlist.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: project -title: Matrix Wishlist -categories: projects other -author: Travis Ralston -description: A github repository tracking community requests for bridges, bots, and more. -maturity: Stable ---- -# {{ page.title }} - -Check out the [Github issue list](https://github.com/turt2live/matrix-wishlist/issues) for a list of currently-requested bridges, bots, tools, sdks, and other ecosystem components. If you're looking to jump into developing something for matrix, this is a good place to get ideas. diff --git a/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md b/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md deleted file mode 100644 index 1ce2b04e9..000000000 --- a/supporting-docs/projects/2017-07-08-matrix-appservice-webhooks.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-appservice-webhooks -categories: projects as -description: Slack-compatible webhooks for Matrix -author: Travis Ralston -maturity: Beta ---- - -# {{ page.title }} - -Through exposing a small web server, the webhooks bridge is able to interpret Slack webhooks and post them to designated rooms in Matrix. Additional fields are present for a more matrix-feeling message, if desired. Future plans include outgoing webhooks to notify external services of particular events in rooms. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-webhooks). diff --git a/supporting-docs/projects/2017-08-09-matrix-static.md b/supporting-docs/projects/2017-08-09-matrix-static.md deleted file mode 100644 index 28a4586ee..000000000 --- a/supporting-docs/projects/2017-08-09-matrix-static.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-static -categories: projects client -description: A static golang generated preview of public world readable Matrix rooms -author: Michael Telatynski -maturity: Released ---- - -# {{ page.title }} - -[matrix-static](https://view.matrix.org) is a static read-only Matrix Client, useful for peeking into Public Rooms and designed to be spidered/indexed. - -The source (and more information) can be found on [GitHub](https://github.com/t3chguy/matrix-static). diff --git a/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md b/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md deleted file mode 100644 index 77a084149..000000000 --- a/supporting-docs/projects/2017-08-18-matrix-appservice-twilio.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: project -title: matrix-appservice-twilio -categories: projects as -description: Bridges Twilio (SMS) to Matrix -author: Travis Ralston -maturity: Alpha ---- - -# {{ page.title }} - -The Twilio bridge is a work in progress that allows you to bridge SMS/MMS messages to Matrix. Eventual plans include briding phone calls and other media types. - -The source (and more information) can be found on [GitHub](https://github.com/turt2live/matrix-appservice-twilio). diff --git a/supporting-docs/projects/2017-08-21-matterbridge.md b/supporting-docs/projects/2017-08-21-matterbridge.md deleted file mode 100644 index ff898d52b..000000000 --- a/supporting-docs/projects/2017-08-21-matterbridge.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: matterbridge -categories: projects other -description: Bot for bridging Matrix and Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Steam. -author: 42wim -maturity: Stable ---- - -# {{ page.title }} -This project implements bridges between Matrix rooms and Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Steam. - -Get it and report issues at [github](https://github.com/42wim/matterbridge) diff --git a/supporting-docs/projects/2017-08-31-fractal.md b/supporting-docs/projects/2017-08-31-fractal.md deleted file mode 100644 index 0fa058ecf..000000000 --- a/supporting-docs/projects/2017-08-31-fractal.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: Fractal -categories: projects client -thumbnail: /docs/projects/images/fractal-small.png -author: danigm -description: Fractal is a Matrix Client written in Rust. -maturity: Early alpha ---- - -![screenshot](/docs/projects/images/fractal-large.png "{{ page.title }}") - -# {{ page.title }} -Fractal is a Gtk+ Matrix Client written in Rust. - -Get the code from [github](https://gitlab.gnome.org/danigm/fractal). diff --git a/supporting-docs/projects/2017-09-13-godot-matrix.md b/supporting-docs/projects/2017-09-13-godot-matrix.md deleted file mode 100644 index 86edfb5df..000000000 --- a/supporting-docs/projects/2017-09-13-godot-matrix.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: godot-matrix -categories: projects sdk -# valid categories are client, server, as (application service), sdk (client sdk), and other -description: Godot Engine module for Matrix client -author: vurpo -maturity: Alpha ---- - -# {{ page.title }} -Module for [Godot Engine](https://godotengine.org) that lets you easily integrate a Matrix client into a game developed using Godot (for example for in-game chat, matchmaking, lobbies, or something else entirely). [Source](https://gitlab.com/vurpo/godot-matrix) - diff --git a/supporting-docs/projects/2017-10-12-SmsMatrix.md b/supporting-docs/projects/2017-10-12-SmsMatrix.md deleted file mode 100644 index b36949adb..000000000 --- a/supporting-docs/projects/2017-10-12-SmsMatrix.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: project -title: SmsMatrix -categories: projects other -description: A simple Android SMS (text message) <--> Matrix bridge. -author: Gerben Droogers -maturity: Alpha ---- - -# {{ page.title }} -A simple Android SMS (text message) <--> Matrix bridge. With this bridge you can get all your text messages on Matrix and reply to them. - -Get it and report issues at [github](https://github.com/tijder/SmsMatrix) diff --git a/supporting-docs/projects/2017-10-14-morpheus.md b/supporting-docs/projects/2017-10-14-morpheus.md deleted file mode 100644 index 46870858b..000000000 --- a/supporting-docs/projects/2017-10-14-morpheus.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: project -title: Morpheus -categories: projects client -# valid categories are client, server, as (application service), sdk (client sdk), and other -thumbnail: /docs/projects/images/morpheus.png -description: A windows focused QT Client written in Golang. -author: MTRNord -maturity: Alpha ---- - -![screenshot](/docs/projects/images/morpheus.png "{{ page.title }}") - -# {{ page.title }} -Morpheus is a windows focused native desktop Matrix client. - -It currently is in early stages (alpha) and provides a few features only. -Current features are receving and sending messages, as well as a cache for messages. Planned is the most that's possible, even encryption. To make it progress faster any help is appreciated. -You can find its sourcecode at [github](https://github.com/Nordgedanken/Morpheus/). - -If you want to join the discussion a chatroom can be joined at [#Morpheus:matrix.ffslfl.net](https://matrix.to/#/#Morpheus:matrix.ffslfl.net) diff --git a/supporting-docs/projects/README.md b/supporting-docs/projects/README.md deleted file mode 100644 index dd6bf4856..000000000 --- a/supporting-docs/projects/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Matrix Projects -We are using [jekyll](https://jekyllrb.com/) to generate the [try matrix now](https://matrix.org/docs/projects/try-matrix-now.html) page and the project pages. - -Feel free to send us a PR to add or update a project entry. You can start with the [template](./template.md), and you can upload a thumbnail and/or a main picture to the [images](./images/) subfolder - these will be accessible from https://matrix.org/docs/projects/images/ - -Jekyll requires a date in the project filename; we use the date to sort the various project lists (oldest projects first). Please submit new entries with the starting date of the project. diff --git a/supporting-docs/projects/images/200px-druplicon.png b/supporting-docs/projects/images/200px-druplicon.png deleted file mode 100644 index 86ac136836b017ee63f804f0cb40bfe21081c9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14256 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 G$o~M%YnSc- diff --git a/supporting-docs/projects/images/circle-fe-term+matrix-small.png b/supporting-docs/projects/images/circle-fe-term+matrix-small.png deleted file mode 100644 index dc88b736d69645a92dd19a351edef6148502e9b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21579 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 diff --git a/supporting-docs/projects/images/circle-fe-term+matrix.png b/supporting-docs/projects/images/circle-fe-term+matrix.png deleted file mode 100644 index c09095a8b22e407f801d0c3e5f6b3d58dcb33346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86769 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 diff --git a/supporting-docs/projects/images/concourse-ci-logo.png b/supporting-docs/projects/images/concourse-ci-logo.png deleted file mode 100644 index b7a2cc4fd869f093c78dfee64fe0beb8a07b28c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20629 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 Dz2$ow diff --git a/supporting-docs/projects/images/discord.png b/supporting-docs/projects/images/discord.png deleted file mode 100644 index 68c159a3cb2f100472f6ea05a75ae672c48d8303..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 793286 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 j{ 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%0A_`MaO=Uy{20HV6H$yPw-|fBsLI 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¨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%0A5+qoLFjHiXsmmD% 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%0A#Q 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 diff --git a/supporting-docs/projects/images/fractal-large.png b/supporting-docs/projects/images/fractal-large.png deleted file mode 100644 index 77d3aa604dd31f5ddf8e0f38ac3c14cb1ccc7f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182399 zcmb5WWmuHm8a7M_NC`?xia~dGN=OPwr*wC>gh)$+l#<dS%>aYI&?(*B&CvNRo@ej< zy+7VR@4?|Pj5GII_qEnl=XtIPd#@;sjX{EefPjGgPUfu&0s`_X0s_+S$Ee^H-CKMm z@C(&QPWmmv{lm}qrh<6z3c7=gmNNnZCf>t8M1*hY#Nb6Vmv;)1XiJ!g7;MkhM>-b} z5MCg>dn@+AV|sVa-2)#++H!QDFUQ<Oq%9-<O!hJP)??bo7}+Y1P@dxBZYhMn3`f~Q z%6>^J`?TZ&S^0z4!HbOd5^~}gx%y>$2Qe*TGLK)7&kw>^Kh4c#%w=RW)w`RUX=pWh zC0f<a@cLe16&3w0nHs69um3S-^;G;ZRWL4iXfLgpvN16+`DN05KpQSToGm$IQANw3 z!K{Hp9-e18V)h6H<zwa4ubI8cJ-2SIe?JtAyG&@wNy15jtzDXA+!_7bX-)R!t5-uA z{I1_RqSA1QiN8$QNU5oHGyU)V-1VcIwv|(~TI>m(l%f4;JUJCJd*IsdSegHs2Y8qj zD=ISLPD4kh3o9z3?e2b8R9UGU==i@&Fu%t~iKiod!@;4NXsG+2`3KiQ#Of856Rc~Z zvv?gNM+%faR%^eh-B;z$h|ZRbc>3%aeJWLO*G5;YW?XzcYpQ(Qb8(qlFy^u!W>@(s z=P4ddbnLfp;(ODlLp!H&I_Go|u-0gD9mL$fgyO519jYpE=uemfrE+4iJZT4yK4yAk zhnWPA9stu(h`K?@=c<JTeXsDxiYHzR2`O|WFLdHdQqdPN3b@%MV(2`Mm3DH9d$bbM z<w>Xl#iR=MVAX?bd>gZZne-$X-Ut^I(YrzPJ`+5qI%Z3ie-?>Jbqc{1|8kvD_6w(c zEJJVBz=pf9Bm{R^`N`~m29^Ko^74NcLk_9=+N<XdOtgGQ?OF{M^ymxfs=Y0`cn)F{ zs!MpF7$zz?ueF*BKS7TApYLizR%)F5L))Uo%EOif=~agB@lUi_Ekws?Kd20JJ%88~ zuU`=T^9bFK2^h`E%@PPP(8RZ!zvH#8+N`D@;76gsCO-K-HqB;1;KJ|lmwuCz1iv&~ z3{5I3Tpd|E3RMk}(MkNj^OF(v(-S%Q`8hs~R53g}-v2RM)b#rX6@_eib+K|a)@}TB zP7E*d&8o#*)gjBhO)jvbhPFhNKX8%|pqze2J}xO?)UG}dy`LBI%>IbX7XfbXvDd~e z&e8FSiD*_PSW2)9JT8!qcie)U-QHx&duGxTb%#W9a@$>Gj`|k=)ZLSgL`5OevvYTA zQt#d?DpMV@B5;|WO>%5P#g7V9M`Yqz*i$SXn;S3ll8}yk&H5ssS;$+a8?1phElp>i zeT2XH{T~T30Y9=PMWy%eUsPL<e;;0X*ebQA0$W>KyL0|uQ#OCs)zt}p^>nRmC>i|5 zkxc1-H^x>vY(cBenQ}Pf@Quq>eCn_Ad5NNeoSgCbyzhr1TzE^SG+4D~Ul&~7*bmCA zZ!RJ8s(o4PmK|=KZ=kbNj&W@H{zpx2|H3iK>qtqgpfYD-y(Y;Tm`gNA_eKKd6(mAm zHd{V(DUoa8@bu>9)<iH9c#s6mvLgG(WAhXyv+c1m$#@!)xOn6B&5D&0-KM0DC_96} zpLMDQ&+oVJJNyL0<KD>1i0VIXnhyvK6`+jqqC_YjYyBe;ss-^Avd8uhjb^FN8FOYL z?<HbT!3VJo^4p(AF>^JCZ6$@@@&?(PA_P|)EHQldeY;%;E~Rw%uwu2-o5QoeafYhS zI!)CiF5%&dX#A3r-i0vT2kWbe76$|dW?R%v*w2uSLRpHeXaodwWIuzMBb!BpIA$qQ zgB9=-T4*0Tb+R_UZK!?|w9f`CU-*j^0UyOEJI8XNhRa~!;+t0G#xuPdvb>y^2*m6^ zMYz*4`uZXTnhmr|3A=2oAGR<>YQSvo_l?A_FDMw++diw(IG#CdOb+Z3({oA|jAf5a zDs$3%DeU7-o?>h=yD5c6u!w0mGn}^We=lFC3p4Q7X+NsNdxVCnQfwCG)B9jQm_OrE z-_#>ULJq1o;c%<aCkYHXr~#iOLY3L5Klhc`)YvX4I?2+*!U=!qBo8DosgeX_-d?G` zrcG&XVs<aTHiuyl-rk`dp@#*BCcggtf$mPLB9J+QfB3t;p7b<9Pv_V4xYp<l$S=*( z4~3eaDCQb|e;lFqyLYB@q)~cCj4PU~SpL3HJTgI$DwwwAo{)u#>lEn#DkP}H>c>P^ zNY{6<F5tF%m5gagM629LT<+=>@@ps#p+u|plgRyDTIErgCZm}wK1)Y0OS4Ss-&px? z{86r?+=#3en*s=&wl|M547Og-WaAP>TpnZNJMZ5c>|L-IPn4}dJmD9cP40-B^TkS; z{H}{bAFFKU)7zcj-JA}J=+=GhnAPGKw&2{ItdBquxowR#?mUE_E){kt{axNNqYYo4 z9RCzl(U&2T^{O*^W!2;b{mVEvTYbYnO3+_kd;ADqC;Moka5JUhy=rEJb_%}MT~9cl z(+RP5>E|w$yv-X~wD3o00)Lq;7U<P~wjAMgUiuv83U)$mV6yoNS$`U}I2=KcMFQ@G z^Fup^=XJghXO47JOmZ?20@2^U#N5kzZo9LvtHj;|MNz*dJ2TX=j_$e<PRqXmM%_fb z&9)prPP5iOxRI!9WX+!LVYm_O1}G@M-!oME@Ln_mRZW@2u6S|JcKUbX@Cx<NcRwM1 zSD)t*u)c6LYv#Ql#^mPa=9w0gU!6>4gR+-;%gv6LQXKnIxCwHGpGQgc9w!!Cj{ZUv zYH)>p=VA3-pNOR3$$XyW|5?9Wx_B&m#FE^yOuI7roofCtxRD0v9Z9EBdxdAO`aqVF zL;*z5PcLWqxYNLYWIbfVGha(pF@wK<buhoeu~)sdP297>l|fKY@M3-DfLO>5$-w_8 zHPR7J{0q|VY;{^^k=mb`nVru`F-pABuoU73H$Rk0SnKSi$U}&br?^Kai9&7Cmo6pY zq9ss&h97c3bkjchE<TmpQn0*nG_!|*fqf0m@_e)$2NsUHvb=oNvNknGVWu{8_WSp5 zi#r$9=5LqS+-cZRQbCFZ66F&DNfTDC^0&)!t!=HFcURUP9v<ImF=lEGR&QgZN476F zHWvzru5rj#M+&okAoOS1p|(IF=d4Dfp`1SrVg@q!v&S|kf7_D!H8-E^jKxb~lN|2< z#36<chXyBMIgSo{pY3hz#U7|a%oK!)`H(=O?$cWM>)m1~oW_}n;D2wuuOlTz-6qx8 z8&<~)Hu^sA_-PuqYOR}XdV0Famo!{)!Q57HiA(o$3a?YjmIU+_W&DtNWYnkL7py<t z$jy)2&Z&q}Sh%z;Ohll-{Y+}dq%d`;DI|m5m1sWIt09+E{x$u9(M^CGf*mmy-fi`& z&5F9$rn8Lgt8t|h^{aR?NYAgIH+ubk7h6R1Y9%c*5~#-PYu{<#|M2llD%A`t(tpym zGg|aXD(8<?H4+AJH_-#cAYKahz`wDv2njLF(#ab9y1J<R?p`4uU(K(LZgC`F(ZwEg zv<zbU=SiJfo$QSvN5I5Gj@K-2-b!TJj&Tq6BLrBf(T~)OVQQ8V_Pmw+Z9Ktzwma7e zZmz4lTTD%@p?N%Y{ua&g<RWaA6b%H%<54~kPgJU%V5Is5He0mXBL1GUzq=FqS1m{0 zDZYa(3?`F|6|ZSE+ZGcMvu#T#rboV_e~DyZK#72abaPylA}gxDm{e9Tq^5?B_4q}n z4K*F#bAJ&i(m9JDV<a73hcUaUaqSFST7Td5k~GO^x%Bx2zcG92Lri)|AGHhq8>war zh!<`Hg7g|CU0*&*boKNgeRuirT1zW6Ah5XjDFP3VhOS=Z<Q}MwqCluu$#=o0jPwZw z^#H!)(ukw6=Z`r#pZhkYll|e_Z`Wp(Qx49~#&e&e@LANc0{Z&oYYry6yJ|x}*3PVD z6NrBa9UXm#w>e))BppqWqj8T&8{WF~N}BE&Szkif%7MP9pU^8849Oe4)GQM-RU5%G zz0e^I#q}@l^dw`S2h7^6YT}G*KaQrcT2$wnrge7>w0FY3)TVJ{@`o6@zyHASwRUXM zhTD1b@Z;6Vu9%lsgR!5OaU+XsTII~1iJ9rgiuGm*CZ@e(FE_}Xax8M4UP()(!sQ4@ zsyvwhMW-{9_Se+Zt(2@-<wH$g$eg0v*;<vaj}IuhJ<n!fDUhZT#^*VpVnso5bsLLz z!dwaPZFEN7?JJSLIqJW@&B}<9N}EBsy1B%RTdJMPLr}}HD6fx%W>Ibo7U-8jm<XT1 zI*vV>_{qYfT>H*X4qvdbg{7yH;YWR*d?ighTF$aDm^G+zfIMk)7IAIpJnO=v!`MzC z+}G0F1TQI|H3Li7c}6aPImZ*wxie-8%-lHHK!A`|W7B5HimNJ2qK4!I$}kI0Z_gvx zC|&e-vKPFxUs&=LJ0?0eYUZ(^d4$K>;pF|@n1ZUKq^dtTG8HmIme)L{8B#H~EKRiJ zQ}7dQBEm{?O(NYe5sOgNxN^D?<a7zOOHnJ;F}1O+hB!R`D#<F=6Z1j{FHBAubSgm_ zg7GZ$n=X7p_Cz`>hO}<nicF-G$9Yv8ySZ`e8_!rZ-zdYWH4Pi;MNq%m*@-`PB#4rd zI5L9q`L6H!E3JmJbs`ifW-USL;d~C8@0%NzJ~qTUy4R>)oGE4r2gUyhC@(+f+R=l| zWt#Kz@jX{lyL9T9K*>+FWsl9sh$<@bsDl`sYnGS5RaI2LN?netsu57y+sDPlVf<sK z@sCGwB4l&p6ZW$*w+*iEF*Vgevn8QkTV%*eOa?#k62j=Qy}tvtadKAVpU!o8sq$=V zV=GFkJdXT(XM)#b9#wvdB2>s+v|2$Rjs+)wWLajq5+q>EOsv4YbJOVU&T8aTdOV9S zW!7v`^eDr=4bf{Zu0%wM&#J{z*!hZNF)=YX+-Xtjd-_*{o$KB~Glakh*X?hUO}9jP zH;2lw_xJZ}6UHy$8_$miARh`pgvGXnF0QSG^_%5LXCcN7yDx_JF7zg=*2t%(X%BV^ z)DpF!y;{gS!o!C9W~QXb48R<33yD<h>1{;}41ineI;k`df*uPU1Eax?#8g&#X>AR5 z6_s{$di1fg%>UAG^)Y$}Xl1C9)8oX;{g8S6mV=G^E-F?!x2DQPRB03(+QVyu*1ZU9 zKKkFM*uK`W-7L|ndy@roUEjD+$PBNY4}cV~6sboPLx}9k$~Lj2(jx~}Q=Eq^xE>KP zg~wzOO%dYF+}$Rxj^_Go2|PbZz(W7HcZGc^3~{2wp%ju*RDALfat#ASw4<CHb*Bj2 zdCMH-H3lF~&ztm>wz_1-Z6_U~Tru>^e|e&mdPD9&SM~Amrm~-nB+BP*Y$8RTuQoy5 zZq6`YFOBFiCR12UEss~zj}}vBr#>7PRv(@_jG6hsEWf46BfQ2ltAb+fZ<q!PhC@$P zvLE$olr8q9a$Me(s59_qBpv=@<+h#I?rJV18qDctQz{;Nrd)&%-ZW5Y6Ft@U&2^`c z7|(gmxKfjm)9c0&OsuPeNr#nRK($Oh6_T{^&`Y*Au`QPVh&H^5D2%@}+BOlFOIm%a zOLmKfQ(rpM0DLZlFp;C^b3Xs$(Vw*IHdVzMIqr^9wx^uh8cM$_*@sC_EPll&e3Nqc zD$-omoLf-vv3ldH+mhf9Sj6(umfm7a<dZ!ElhMvB*3*bB!Qn$k(U0(?QqLqz98AfA z5w?{yEy0m0^lrM1OL#fd?h<Xly1cn{ap^#JzNYB6Q$Ii553u1vdHML*ekmzY%V&0c zU$TdLWbh}@Dw9=CwGJD1@_KBt9>fs4NgSjxgX93P1WLcVL^FlV*Kbad<nHfi2H7e0 z?GP9Z>M<bw(M8kb<*oRaT8xBeyEAA3{bsNBS1oJyCjWpMVyIfq9Nd2wN6od=_Vj)^ zwBy&)10z;m<#IPBko);uuU=bjrE=Pz;R6t4uUg~z@fpPDcF%pZPz^J!zoQu$jZUKm zEAQ2-!@9||<pa}RwvCjE8MW-*#HFaR@&`Ld-n+0Xkn(g`RUWquLX9e?JnC;Fc&cJf zw@24ELNG5)m+n0p{e*0|i}4?UVAw?-9`%O(Wgs11r@(d!h=utYP(;s6Pp3}g<DI$G zsOsX}6x;MFy3r9awT$p$KGKzKE|28muGEf?uitdUr+j;>VukS$7GXFv#pis+sl`X_ z)JGUjz<{CsO4nG|wZF4yq;?~%FXfbpLA{i^Wg)90iUhO>EqMY5&BDTs=K~JS=|@}# zjrUX^-^l&FgK?9^2y~ArNw8R8d5XDrQPmbtr^E;^rX8%a9tXu79i3&n^?#e_%W52% zppfu86-K8Du44r0+%ZSQaOs{9evsL8W8a;%>B1j~j9jQ!{CTBXdjfCqKnbcZba5A& z_55;)CV^2oFo`L%S(9g#UcZD`iPIyUYlr98#}UFJjnbPIlvQ^)-HzqfR-=#;{#Su@ zsEh;d)4Z3Ul|+ioYlRDTou~-uc<7-M7-wI)-0+(D++tJ4kjLnOD&sK6ZjV3Ov^SZd zvz;yLaExc+@ccNDSAg&7GnK$ir~1+{SOh_iDSZ9r@_eC0ACjrfMUkUB_4lo0!g2&% z{N+vYmJg>JnUwjfwVa&G!=_l;pOZE<JL{$%nzV>_cj^4TpPQTJ6AFrfSG_X4?l}Ef z6h39+Hi}KLzwdKD2a1kAChT)Hwsg;*KSvo~E!HT1!T$S@@=gD%myYT$9zUL-<s4y1 zaN}A$9bnZp@WU<*Wg${|_D<0Ei;%bbGm>YmVI1aR5lXohu`d(Cu&6FuQB;^s7T4F` zX@&(FxEgbkIJ$8gv8S?<u-xv*o0;Xm;sBf0!PV8Z@rqGEfRu-ahn<}rlyiT2doe+Q zpsoGwm0puR=x}&I>h3gRTUlF+>No3$2elfqE^cp!s~5xUYMu9I`Lv;<v0}H^?<>7r z1CU1CTwP&PQ>m+~CY^$%>Jc$9EJV!d&_cps(uN4<O@z~JuCK+?k7GBy1qB-uOxh)O zyJFiWN{j7@aBv0%SFY5!c)nL__5rYPwRqy@_O?R1G&etAKmAD^Z$=!8Ee#FL?3|Dj zWlB!KnAIx*0R|=C-QC?t2n3B^&rT;0W<)I{lmY4vX}#U$xNBU^`0mxo=s$)nZEYh* ziY}FWp_oK}kE>jWYU~l<gg0Hk6B#b;I$RhDd-a4m|A}{Pr9*_kc~I=WPyG1)?5DDW zhM{VT$UJ!_j3@tb(n@i~b#hC8KhDJ0m-yIETJo(NoY+-LEO6<%!_wvWCGzP))kteq zsb9v$!Hh6w70t}3Q&UqdI7!$!oDBq$Vq?#lecasKnkRnf@nyutLF4+nyQ!$C?!ryu z;7p)=J)T8;*PIev98vtrA466^NJz*)?$eyzV5QIl`ldctN;m`GP=z-Umaw9uqiZM_ zK<*fRK7nehtE*>fB<nN1d6U<2b+PT$xaiB&XeW&Coq~G0EfDDc@aeKgs}nn@$vL#S zGkdw(dynd@SP6N4+ulQ8XNW|VL-78<0*{_BgejI&ZS^Uu{MMzt)s*1;#MLDuXEw18 zovPp9g++XRUoW1wV|TD!X6haU@KcROsSS{b5FVkR%G5f8QO?sxCEeA<jb1{|_w(Qk z<gd#Cd^2l+cv)_Sc^8m|L@G~@t(Zou-5Qa_vnORg(4kfEXX-l@bx+K%!^ijpaqct2 z6uO^vy6H!YZh6OwXX?LZC@f!&UYBKqEQLjRDSWy!o~N5it1_6i0jXb5%~N@U#Owyc z`v*?+_bAn>r2svI?B|5Ky|#XU5Ps3Y=t5LPW~Sflcf$(j!Par3Htv@lzk>@<k&tqa zb!E1>jZ;j===Ha@8S_X9;bZGdn|QF6%}b(V6$fOQv;97(q$F^IWO%u5|FVP=`dztF zp$2^_N@N(mtsZdq#Y%mEw-GPr24~c)$A>o^x5^$+UkYGq(quRGS2-=0P1_=p<+aia zCj(?6e!I;*WS|V#*~rR~xF#C5at)9L1%suf<#B@AgY{4fWA;lZH~Og<7>Zjq`X1nC zcg`2kdA)N0fD4bN<`mIyZCUD`+HgOtXme3<dxrC|NxDhk1D?zA52_mcXcbH;_-nue zc>V7qE{>mQ*~r!}?NYE4yYsHo`^|uhYO#wyjt#A><N)Asb0?(}`)A$l2ap%%qo{tB z1zR+^KzMmM^aJWSTYUFhpBpWJy}#iI#`S!Jiu#n&KPezU)P+C8q)S3pyDQHRfMG|t zsH;>|KXP+lSK2Swv9qrhnw>N7@VLKxmGc-KJ+Tj0eD#_FO-ANRrwRMJ&w|1DDC*_< z%+LP?qtU9F2fMny>g+ts{U6Fej~W>h?45uAMDP0V(=XCN17?-)nE&%OU>|`Og98I` zy8nGE)xMi(W@aXJ{fqws#It(=KHYJWahU(R_S}=MS1+?)69v~vCNgLw%K!V>WyG&v zzls_fF5W)<iv0HN+a9f_%Oc@XLa$T*bE!JZ<7tk6rw6Y6(2x9Q(EsD9jOhQUhX3Q~ z<NyB#z*Bq3$%)I$m)RF<$stZ1|GfwRIXSk+O9xN3M#x80^X2p2#pgSr+KI}_()-_C z5&<0eUnu%vOvL&+ohOvhc^c*V>B7F+>=OSm$G^b(KUZw`&x6E=LGSNq%?2}9QYZx6 z1i>B}tdxKI79U}*!PR)N<qqNIbYh_|g)Ke^4M!#WE&4Z3OI^b&i2K3E<@T`MnOe$H zbqRTStROU~q=kh{=9=67Y<KRv_$jDA<-mXx{fD2TgPB5KA|rEU6RljfPcWLiPF)zG zCf(1jPPRHfWA7Zn;d!n*HKRppLBYY!C3+CT2$($JZ=Q2)3nek%rqw%d;F5Z$EW;u= zOuBSN3sq-g$ET}zQn>e=&-P}d-@nJTovF!FEr_NKM-tr`w=L9zP;YHLFVU_J4-S6Y z+ScZIy|?tCR6E4)_Nvn3=m3G!{*DoWoWHT}%hLmg<JET^(d2{c{b}8OeXn1?4z97C z8T!%ItMdCln+XseT?T%arkNhg=m=M*JJM~Rqb%lco+A)4-y}wn@^E;abRyt0Y2yc& z_9l%~nzLkju3I*^?u7T7tqh7JugiJ&CNa6}PKJHPCT0ED>H$Do)dIzpDf2AT?l>4e z1AqyzNx6sXoz1^-`-Y?AQGXxVnr!ss@bkOlab<*Wuq=*g801Mttf%ujrsD`-d;!BK z*Vt(ByZaFU$H`Z`jTH910=$>g?A)AIr5TeR#4Sf6^a&P)V9M?F`SBk#O2D#hPF4iH z+B5Lel8GQ>A{O*u^=gU+V+|K;*sGUn|M^NKQD^`a4noB?o30vsjDyqJ*0!>&5V?<l zMb01m>lbS@rO4-^B9)^583m`StyLTy6BDJy(BUN~XRvm)71A%;8E&_|>AjR@lkL&L zpUOG>c+|Rf@5;3*QNgG^m9v|}S-9ln{a_8rO8du()N;gvK7*x>8qN_xG6Y-fL$NxO zl2?q7`fYwp9+;QQ!TjFxz4dR$6*ITp$v?C8mE<!#BpH?qccxFsctxwN#!@&fpD77n zzHa-BjriRNM*M_QxV10UU<19Y_(S3DCOLv(ZL!P29cpJZ`73(*@RyQ-h_w2RDX&B- zD;3&1DAwoP7uKfCbr9Y+`&1=ZIBF=|Uy=IJukN8O{rKS{Z2A}3H*$yDX1NJRBpaYY z@trY=@&CH6UD~x3mZw`yn2`6`P;R$s2y=40vDx{)P~%~%bF?9G3k((l2*_W?oliQQ zywCU7Qq41)_pV6*Az4)9S#z*KgwPU#X&LPs8O<!GtDC+uxUi5_X+9X2VcTFfeRp?9 zG*a)-ZyG6O-jm4C3*21`gj=&pE!j$34FFOZoi!e$3f!Z0WBn6f91R+Bm{uJf9osuQ zkqs*}zeEVYz?Mb?WGm;?)Kv7=;-aCnyEP@{f%u4myu7HI8WJ)x+?Nm^|E;(<5&}B< z(a$1T(SUnf5$-7J`zEZ?GbaZ>%NdlYG_<b1zIF?j=A|mkV;E5uhvi=rR2;vE^94%S zPPzLJiO}c?d5tduYu!@VTjOhENIk#L=22Fsrus5@D4X;L<ydNB<6r+1YbZ(se9m_H z`o5i(8hiZ-L}AqY^<t2nr72;?6{1sX*LWmlmwcF;yDC0%3WrN8<3Gb2T)W<#t$*9; z;o^TkOSrSTnjk&`fUMfv$=jP7gcM%KR&vW9P#5^elg*gT1t?_%5zE8&ovO0r;4mNf z8ppIxA0&3*QS<3Pp<DQIS11l;$Kg^N!cU!AVGsh|PL$~(rm&mRM-bf){LS-U)uIs; zOwW@`CcMgZ$Qe%kZQ6S{V}GAxJJZW#z{h6>;!*F>2RHCPU0pIsECvIZEP@7x+8~v@ zrly`hGj?}$q~hdESnJi8tqBkm5P-B?A|l?o?BCD>0HngW6EMQVTP`XMFkjRC8_E=+ z18<Vi;$A@9$jB;+6^tBdRu^GCpUi5Lj{be<A29{-7ojVx=NU%2LAH1grP!OU>fsP< zx2itgxhJeJ8nYTmkCIl~!$*ITFLvuy<+<cZ$Z{FqJtB<e<h{Y^x31OM0KKh4$Qi!O zuc7%j-Xjxzy(hA7zC^vf#xdC(TB@=f!3Y5HpJu@cIDhuB6Yl7LwE%L-6Ppv|B6~Bn zZAKOBw$q#dFc9+A_Y2Xwzq|EViK6hiSdtdJJ>dXwZ;kze6!6BM9}1s=UnaxZu=e)$ z_qj4pACdtuqJ3`#776E9o`u~oK=3Jv%wZ7`X#ii9x7zmPcir}A+w$=AL_BQ65djtg z?Jk9P3BPei<QwXIq&IR&ix)?{AlgR#&6AU3W!`UCxYz7C@L%;OZT<Pw9<F(66>SNb z8~B}AOg6&D$ER7Uju00Ye_=hvjsU<d!iW$&N5{TzLTFJ^OR(`$vYkdQpGVhE$hs;^ zUrEO-t?Wsp5oH1#t9@`HId^q-o?GLI&ag#7+BBdsA2Mc)yy$$Rr?ZOcAbhJJUaQW5 zN-`XOseVKI85vo+dHr;?HJkZ>jqvS>>b%E_g08OagB2nOqhN!B6BW8SQrM|{&Zw#d zejPC)cfrFJuV21QmrbPS3tX?NauL2X!5SDC_)w^l%B;uFVc625Bb-E&<r7#A&FrqS z%mVo;4S1%51FJ$BcT=GYD6cGMYOwFG7hc|7tl*IF_yvM%#bsvxxj0%0i;3wR8%v~D zqlb^{1m%4Y5tUbGn7g~clq^QccoL-_<FsYa^hB~iI%nb!%%32GLb6;sXDqwO?L#s7 zn3-ht6q)~|&ChYU5e*-+CM&*Tg0W0UbG%fWMt@c_L#HlPzM${?uGo7+gl@Xz(D?SZ z((r+yT3U^KPGMo;)zwu%DKQc<X|?_)C?-QZR)XF=fEkAl?gbm9b3b(}keHd7+i70& z23||WOcaP;T1-R#0<>!|y&R6SQa8K@`g~w-#{ycpBu152FJB%&$R9v!6O*pG4~`2F zQ9^ImderVm8ng%*lm>1oB(q2@7*HkbSpC3FAx2T1FEEIxy72#+aSqy*^RHpJv#%yN z*18kP(eL~n&9ZQEXW+G`1z6|@YVT4QB#~h&XUbh}_d6UP0dr<0F2A_DChz(8SD{A6 zTT}Kggy-k`vV<@L^Z{RSI7IasYgehQbH~7WE_c;LTJ-L^T;z6RuiJX?-^j)c`YaUT z7dQHK_Sf9joFo8U^bp-V;h&w=wdc!NW6-GZTQLKw5HTlN3~JT=9YmI<Plzurjd)JJ zetqU{>iuucDd>b)kGnj44AbDaSgVz^sMc;3ms4rh<pU+djN5KsWqL#e=4%?~)h^{$ z35kP?vwsGEDBr(G%UIgmr)Q+Uci}G~!A7f8xaVUcpj}xB(pOWq<#y^bJA-vDxOX-h zjgcUDoo_0RMA*wtR=OKBBh-su9=B%*cAum!Ebi{UJuOmmbaMkd3QCmJpUxRlgj-lB zsWt$*D0u-<s|<V#NNq@>)<4(&8&Dn^3Bi{i40SWKA3++7eoyhn+h*V9Gtt(5UG@gh z$Coq)sf_5#tu4+}q4Q>e{UWeA&wsDUU*5<O-XGDRHUU1i;xfs4qK1o<+x8_LUn-8& zM)X$mNy3TwHzCOb3VVe5a!#x#7|S+3g14wRe|ksaF)c0SQ(2=`mOk<{KD4}`tC`vw zDVVG=Ce_c>2UPeI0|V%_n*oQj&CTySGDwU$t~d92;=t2CQa#BoE0@}Lb^Ml;_3(n& zmyGSV(umDM_;Pa#_lvOVo%eQhOd;dYd$H2`1$h6y(D@$Q`PNj>nXS&s!A9p1o?|-= z_4{%~+rXf}W5$h*oi-v>>fzs#&VUxqnb;ZLIenW%FIkZdJ7&B-`}zm)Xc3@wO4ZT= ztRYory0hxcLk}8UmzBZq8xDFSP#kxCbG4R{p{=7??NA_1Wwk^Cecri=h&x$*OYw@E z!_Ak}Z<67Mik0D!z7_Q3*3yebY{%Q}db_+%OT*W5{!n34y)S66J-?oY><M@$=HSu9 z7Kgl$!{dIKXC|{$cs;~<$cDPFKjXKQIXe>}_nU&RvGGCUb_ERuXwCfOG$SKZNngL* z_7s%pl$@05#!|nLaMJ0rZ&Mxrr_yV0iuGWQZId=CRL|qLo+zby`7&-O?#E5D$<wGT zpY0+;A7t;d{X7^4Q_ATc4;IDAxZd2vUa0Ex(>dYH=<rn^S;1a)mZjZp&5|UW@Px+& z_A$|;MOvAD1||6#y(%A=*L<bVr89ps2iIAy&CWe1*Guv|LT|*y71dRIvNSNDDK2|B z-hA7Lr-e~Gr<gP*%crEIo)J|r*l-%>_>b4%{P4e@3(0N?Pwf4vS4`p0avdK|Kp&eK z8*5&FN;+QQJfZj*i=yKOWx=_Y)R;p-eg57J?KC3MsBQg}Y`QjTJBHwgUT?wCp@Z@5 zxTaL2$R{amQjWts!bbR<tQk&mXfZtJDX5K@+mYM#iu0<98JN!YJFP00P;YQmqqhip z-~-LKjC{VRCF<Lkmu&T3YS~RqQyCtL?1~S`W0}gBJFO5T1T8HsMx7&`K~8HiDJlN% z0Ja^nsxHxiM(+vK4i}xm`!2lrQJe4vt9|y%_BR4eD=w@vWMt)6FJd(tpxT+o!^&?Z zC7%)#zwKS$xU64(N$pn?y~&<eNT45#(u*@vueBw;EZ9TrL`A{6kQvqKbtE*krOu$k zlIz%!&_;O_7G1G!{p{JV$-Q8&x{ZOl4(sYuZKgMkO@%5YDJCTknXVl<x5JoAtJ&ze z*rz{@v&}&(_54rsvM+qQjnvDv`lB;uEat9Il5Q)>GSuaI&2{EaZ)g1$IqwvicVmQP zPPfGp==8#$!6I@-EGsk_iLp?7l9(k+wev1ayRE{#Ju7_g3#HcuWijh<aZ=)`@pO+; zcq-=x3U_T17?$lI7=&t)#jE~g>Djc88XBJME(g}eBSydii>BWg|Fab-UVt<sc=;AD ziRnH9q|PdSrjI|CIIS)op*`6*zm6_#oGfFyziGnKAkxURzHAkm8oZSrP=UV1RgX{n zWh8ZT>w9!~C^}4QVv?IPy$8gH@9EnUGav&W-=|OdzrKs*i+T1H^C+OA$aDE<7U9N= zfo^eYH@LPE4+OBkets$aW&`GF4kMPHB{EODHUEh_Xz~I62u$BL+{9|9Y$Cs1A-^(H z%5iew_tm%WjeFz2xVPmy80d%qd4pC7i&WnT);|dTV+f`|+XEYzCP4}M6CidFtiK_z z?Zxe89SuV1m+Js0>tX@x>R>M~+|AWseKp4s(qD!2)WwP6h<<{E#4^FjG~wAY`ar-3 zGz2XJ<|$L2(=AGP{A`Qymp<G(?%~%zQ~C)XxShEs^xKya-e1#`BL7&dZob1*FUB4# z%eHX7b}MotC?4xr;>9b=%uMHv7d2sXf50Aa%pR4ia$Z1)hY+at_tWbf5aXu;yUiqw zYjgU$Kg#csptzYo2$}%=L#P%KQv8JNd{8LTr;-k?L7De4LstH7*_-?Bf|-=3?Blrm zf?>7h(aFi;(G~XNC(YhXuNac)dj6V9qaQN1ev(LS&yZ~$8NnkWB0~86yE06`HM+_B z$A`jYGJfCShHA=;`Lu`Scptp9xMA|*eL<&O0nDm8`}<eh%BP#F@?+mc>AgISMy>vs z{YQbhOywXv_ckl6_op&dg1cAE;$W%c&nZhEs0-iHA20Qii->|WAqf)`eBpWFcA9qh z?ahJZ#F-=#(*A&Voq<;ay$I7>ba_9HIT4NU?J?t6ae)d%dtV}C!dAHZ3Y+Ng<fy%D zn$P75p%e@C!C2?XA0k4y3JdF%G@-=rAv-R)TBXDRv^+dcjOxrO{g1X>b4_#MRWUsL zlq}sqCk4_}Xk=0A42XOZ5uIHhB7Kgo^>qm_b;iq9D{BpMT{LkG`Y!@OuRUI()qjLX zWAXQbZn|kQbHU%By*Pt^A@SD5*>Sn8x&Jw*8PyWSQ{vh5$(pv-@lwZnv>%nr8yg`~ z#>OiZQG)j=AS*>u4K2ictF{t4*-+N^cEhQ*p2*a1@{*JKV%;?p?)&0Zyx;Yc?CfXD zyKmLp-Hm2-wUXm{aLfm?5v@EM*l2T!ktM=&)>DS`c6`nMS@Pvi-0oWxNH<OIDz>$L z3n#(pENvDVGS*LfpOI@}WhhG5(4i6KV0J2{8yen=?M_$6oA%y`<<vty8lG;(MUv0P z@s21z<50@BU_W%IUfO!%m658t5mT|&?&ZTpquf{6c(M$~B4tl$@;(PB7i6?lCkteC zf&2pbRM~iHg*DlR=qKd->?U2T-Cv}KoPSXD6&u8$t1;v#;|FGB{9Ig8<ic?eJn<?i zB9AC~X6%xmmc`Q+{^)OCZ@g%eKD*Mt;rRS|`c(o3OV4p>r;NP(o2605swDWy_F=B^ za~=&IpeFi4N7)9l1zhDid3dX8v|Qu9?7$w}0b}}XVnNzl!;?Xyg-fAbg<GN^dy@XF za6{2z+P_LR#xrF??KBx1srgZxryZm?x1I^iJLmO4_zT*E*Uyh0D+f5vxG&prF7Ipy zLgMkbe0|?nYxjvJ^(#I%7fRGk4;!^I5v=<s5Wm_C>6ByJDKK5N(5uMLc+;ZraaLN- zfnC=w-E#8R(*?hCCUSn4#d7G~vVR2O-v+fA@0vk7W<?ik)lfUzZTt(*qijhJ@5%RW z#p+d)GD2DO01B*?in-HdUsBEvOq*{hjKo614}o)&623t$R+p=*#8cDN`{L-<dWeg% zbh|(jSewjqfaNPU08Lk-Gse->KYh-d(h`918JmJO)jg}XuWz-!X753drNnJ@@t$G@ zG+!y#w>~N=Ds<!ou+W1j(c-Zl_goJPp^0BuMM9xdP}{{+n%?0&SD`8mS4kEE{ctyy z=Js+-BBP<5Lfyh1Utjs^ozbO;Eso8(Vze-HboW!sLmX4lySwY06d~_uW3S!GqeyZA z;X(GNPn8i|cE+PVAzvdO!Uv(O-e+WrnS$@8ew)%7Gz&s+ju`+P^g}X&5TVL$E(tVf z4-Hb0TCt3b%xloz*Dg>fjuj<iPVdio0}$cm_1PW}z~SQIwJrX!e@a5KteOA+hDTQH z|6lP)o*Vs*i;G86(LOOil<fdWu<Y!Y&-t8Q4-c;e%sQ?EPA9tMX0<yW+*T&gp~t7D zzLSx84A4vft0V)hE1e3yk`j)3iRL?PZ4%JeEoZpTQ@_p)HiiH=Z5eW~j!Wc@6i*il zun1Hf3K`IO+j-xG?{HXD;~$;8?&`(Nsl+3clt}8AV#|r8pQrfX=G=BGe68&GPF5B} zgy|-#U#BMStH%?-mw|%z3$xC*B&Kh8#JC8eU_6N1L7o$gSXWQ);L2~{#*G`(?<UMj zt>|#c`xS;R_0cRJzq>CoQ1NMu<m0Mjw`1q|R(5h*OwItBhyA-!d1$lELZNZf+}f7* z)?BZXfLZI?=&Ucs(*=0;7I*#Wq29hi;Sdddic#wuvlu=qw%DV1YE`JBZKnMtqgljd zH0p{IcG&eN^_(BBD?L?qy7fbA0L$H+fgB(^>ni8vXkMNF2KB`JFxx5%^oD)GPawh` znh_Ec!&9nV?IbU9K3n++4NV{)KufM{?{)hC#2FUN+!>6%Vlnic3Jr(iHNXlCuAn!+ zadU=4{sf_McpksD;U)#}bcYQ$@-Nd~!s#l@h+zwp*5D(bli|?UZ{EOnD+isnM+*fl z`?H_{ac?AuIo9#6&i2}}{O{hCYP((>by9B4UaIBGr$&Na&G+i$jgSy|0GIXn@zsuA zSah@*i0zHXvS=Mqq{$o9?WgI2p3e*n4CcM<U*pjzz7P@$ns2%`tewHsZPuyXCle;? z9r_`W!eh@o*U%JQP#~RYI$ow11R#`G($R*iT~7hrH&U|~5q*m~w1vfKJsvqIlGRb7 zWnj!oyg5}#1d2}g*Zz`!@KNXq=)|LzVd!q|omRCu(m%?eloBsnHw}LCo(c&a%ozHd z&o{Yv=Fsf$*kr3mkzj3(M9d2{sKP6@ZRVQea~aBJRvaB8uRJ)9!oq4B=KzoO%eHeM z?Y?!y;z1`l<4)MPU+cVX1nH>ONJ$f_5xqyax$&V4WA`hFK6OhfX#ESBo2ge;FHVd~ zt5rD&Cv6GohfcvA%A@6G=Z=qG7_9Jk_l3rgfgJz0%+~s)Y{-MYM4-X9{&O&HZ7;bk z6%Hom8%9QagrGlRLqoV$V@2pK0IHv?wyrh4ierJMD>iw#UM>bHBaD_CWNl>GzpJ*2 zS(AgxCiX<DyCOjJ^1RP^c-?l1m6eqvDQ?k+hlc_33>!AmE7b;Se~Yfs!VzMjt5=;3 zz>TuK&+Ulr4dMa3UkL!*^?{5%%?S&aeBbM2K8HmFfLt5@&3z|$xf+i}%Ka!HoWPjZ z=i)Jkxt{{SnSln&X0GA12tnSlN_=BqNzLnYdn;w2ug_$$MGP<uxDT+=+^!8?MMbFR z`JB7w+0<+%(ps<dMsM==Sn)`${es}g=?+hwhcngrDJlSdx+@hInw$PXy(t7`@?;Yq z+}wJ^igQve(Mk;Q0}j^r+_V|wiiN2uYGD$NXjuZI2Qi&gj&tVVOs%bNXU*+kxEi3M zvt{$bd8#v$3uu5`{nBckQTW<LJd-Apg3m3|ltF!Xx3Ggz|9FGEAM)vzBBPc;P`1-c zU~jTIA~F(dTlcgf*}6X&{$gznnh=3@Ndmn}QQ+ePjk5l6krEX^0%{MDMbZFEbo^It z?{4G@fY=DSbq=4>$v6O8v~+tey}l*9zq~BI(xCtt4(A`1D5$8}MOK-vw>L=4`C02S z(0B12?J(HdROr7*IMN4wuR@7T7i?5y0HHIxK$4@EwgYCtO6b=Amd_F<2jLOWQIUTP z>+G5V<){L95jXsyY>V2NcS=gq1-(od8v}3V5^o5IdV|#ECc@bg&W^;2J%4qC3<C5) zKA-IBbU&4a7&<L&+)?3lN`f%Indn`)Ic1)?-oLL0XM!BGAfn><rWK?K!$|cEAbZzy zmx<9XzLiAxC7NO@Qc+}Zb03a~pIwi)M~hNfUKlhx5kQ&lGDge?j4D#-o<D2dDR+C> zpgScVQ##o4r*Y_5>)Erxqt3t3I)^1Bk%6@SmLF}j&prfyy7l7lp7&|KUy=rjIVDYt zcQ4$DTdak=j!fE6C;EaULUA~(&&Z5$D1qYX8Nt&(I~fAXRb6Wp>J!t=QaMZIroEaM zP#6H%o>36Wet7%HpGilmcA{Zu^QbkevEjZ&tT{~}2B<6nx|8i<g3nTGEz$k;Mndfh z%GK^zl58{69Pf$gx7bx-d~ta-v|Cu<Q3m6PK8O=WMpLafLSe7`J@wm_;axW!5Vj^z z=s}+8mGvnk7RUjlHI;o&uEu6YYWornaE>1nq;p}k1b+P|%(;1b&H|vC5dZFvU}tA% zGus%_SHjqn6uk_jOsZh^2m2SnkIa04o!t(Au0{DZ?-w&At|ef8)Wx7-<99Oht0RtC ztMy`4UVB~-U|5O8e1$VgKQz|abIr3Z^@gEj*T9LHE{txZ*<@s#$;8xDxy(jue)o)D zjA*CQx<2-{SzoJeYUhVa2ytAzDu9U4%pwx405gBxPf?-={Uj-u<nWR?`g@CLgWFd6 z#^;68p53NqDNK4I>k0eC4Fms`%_C!cbd3BnHS8BWPJZ^U?=c%X>`!LzCg6^zZ2o63 z7eAdF0ff@&wI@s7jrw|^Lh|Sr)UWsIckMl^Zr)jEx;XkaF%+fC0l>`(q~p3e-sP1Q z#9x|>?XV1|M^*(&S=0goGi>B!WRXQhwJz@P9!id|F!Y~A+m9W}@&6%cTCodU!_>X& zmlb5bNUMz@b;2a<<Z83BSSl*e?2m~taC(|AmYt~;zV(3u<_Hu_9=E5=E}KI~4T!No zd-?8Na?l<~7>7rlS-)I&)Y&;W${!DnLE@mxMyV?JJwo60l56)S-!<`9J3>DZ-rDK$ zt2SAwb;zf5LE1urW>E8!@xEdfU)z^+;qO+7Jucp*aPp}G(CQDbcGFy}L-<C^Rnb5Z z0VHtUHG2Z7huxh3@A28$JoVb1D3$y0mhSyxn*9draa&BP5WIMYVkWmR>nS0LY{8Q~ zM`!2W^SQre3Jl}+lU;T1ve->qd8@RU;`9BY3ql2eO!ECA+wMFh`A^&Y4<J0pA{9i4 zfc4B?VtVAbi!^`ZhOyb*YtI-|SaGdTE9Ps(cQj5PnJz14nq5ber;GS6HC)y@Pe8HA z+2XuhtvGBB5nQy%AGTZP%=PDE|D780M))1Ac8$m92?6)z!`K|3qcJQ_j4GSqn`4|S z|D=&$e^y+!PB6SOqJjMT_|K+N%I&EJk8Wm}%esxA8iPi@dkhb&PG4X8DLG{%MH|nE z2-M8WEv;#2&t|GQXuUr(`#f##ozfsUWFj(Rf2iXFU)zXYoA*3GMreSJrvh5raeLIV z>?Wz{tJ|llD$ZRuNRAB<adX?uCeVnKaot1Hd(*n1tvz>nUK=N=9N@^7#6qS}-Pfdn z8%n?IgYQ&6w`-ibksU}QO{urcC5)S=S7{9tg!dH*>VraZZK$VwzE_L}K3qZAX|=c% z>TyKcH7$T9;DZw$F3}jL3OVzam6h@6njMUBX}_<Z{AI}j?n447g)L^TJWJF`fg@Zf zZJc{u`ZH{tLDORbqc6ua_}@2ru;u&Rz2Okf3Wq=hJ~Nz^eiv+>uOK?p)0pIPdF4qD zR2NJyvV^>!RGRtjr0D-LM8qUy?5ga`BV4tcYdBg@t3ODUla*~=v%S8&%%Q~y3)?vM zb=%i{2@3Zn*vah!!G|=cYqM2H8W<S(kejd04?2OpQUUYNZ9CluRIC_!EOc9BA3uI1 z3fgk6vbhulRJzGP`qahs^~VZLQ0NW&#zU9y+>b}!ZI3t4E*n*APq{COW}42<&7w0s z4=gXoK}7T;>UBVXVbB7Vx`E;3m-ELM7)G1l5j~M6guKs<HEg4|PO4l6woY##<}t>Z z5yK%5$aB>J`An_xRCwaeNw4^HwQYZ-y_qs7m)<5b^hWDJj+qQ<-RAASX8?}zzV@@z z$pu?aBAx1HMIsj6pA;Nv0*`ncQJ`J@WkBh5M%scSaxX3_ijY=oXL_?4<KW~(?~t*@ zVgB^Fa`@A>&%D~3J;@Bxq0HqR=JP(NCwqFEXB+nycw<E$^6krc5Pz!YVSqkt(L#&9 zFVepG4K@F_A3><R>o9y)mv!yt41t(wF6+Oga{JiHf0bj?c|GH@2=9_;zS9Dwsa{zf z)kh7rdGb>#8l?<s#;R4<-jOk*?B3xYw-M1>ySp~R&qZPZ>w$E0Tb`=_ai;LS@HY*8 zzpZc|+QHs(x22doe{i5C2@pUJfi%<JB}X}^6Y&e98od&Uu`pQ(5T?NofhNN}J}FbN ziQltVPYizFTi+PFb0pO(EDBBo@i&joSIA#FnQl$yG5E9S>~EqwRHscH>?DSy)l-0j z87&b+Sz4-v;wWx=^KH$y*U!(7q@!Jdf{*xcoHd$4MDfyT&91I*zSz3zyA#{_HA;KJ zpm&CP5pLUYVzJ%TjXul0{o3qZGF*9x4MH3h9WV*hi#YD*JAOC@2b1OJdhVsxn^MOg z9#idWiwgT(uztp&Ou9x<`!7XYueS^;`krMNw9;jZ(sTTwkl*^77hUlAUPCH}0|+vf zY8URLXKHN8;6Q=RsCPxA@Qt%M??g{m_c1oM>E$tjJJ$=S?$e8rdU!GLZJ;;_9kX(E z5rAsz>XL!}v%vRymQo&6NgXEaY=)vDvbsLuC;jt}>PIda_U*yp-n6mL>dt&$WCpto z7r!ofCKapau~Rmm@4JGt8%`eAP0Hy}G3FOv#V(PC!FdvWGSs*UAl)Xvk6}~`FO2V4 z7`nT@x&jJvri-OygCWuraE|olU`$zSv;YSK=9-aG( B0_wT8<KAz06L<LQ{dBb@ z44i%g<-&4E5);@di<EZYVB}<5=+>#!x!{~>l$81Qcv&})JQFtf#&@?@tk77@mrN;S zxmUu(cVl0j>`kqRB$9##@yDblsE+=m0&Pqd4yFA-hTKaUnvHKfR6f2=I*T0a9CmWg z&)}!72{Qo^ZH{(A3Y4-Tp_TWGV$v^^=>;QEMD8LXX{4@JV|^3ZKWSx~X~fF4YBQH% z;mX+_N8%d`J@q#%6E{&ww+R0Jph);_fBy*y`B-P}fT6dwUmxevp80x}G}EoHR@%#} z!=Jv={hFkyK^Ne;PsoMk%PHpeyDph_wHwEry_?{UP1dVW9~>f=-P$X?bAug#vp!lq z4?#q}f=^qQbGU3efTl2{sEASb0(ze?{#`6+^Y0oLkOe7$Rs5w{BA>>MT|6cW6i@b^ z258tM7yf7a0{r3Iwu=|;W;{*tk5teRpK0gT4&?<?t2|N;$5;M^fb^H~Cq9a@m{?vH zgACr&1j1Yy`@h}?GBPhv#IMZU=S5y#8^6OrM-t9*=H-V}y00gt_HmpKkk5PV*rsP> zSO7x!?Cc51b(wW_Gbj7Evatz+8(B*EPHXfD^lEXv$>qn_2MhojX_RDbwqNi|V$>2} z>q)%4KG^ZOyEFkxkgdrI38}?rWWkAv1c0fQDA#YQ^X%C}0pAqx@Am?5gri^*3cIZ_ zP#6>yEdwen>Zc6c9Grb9F=$%$7dw&8TIFl<MSEgsZyy8BB0z5%(s87seqH#%RC;5% zD5J?^%4>;`^%*WW*7XG3U*5#H-W;w7YS&`*9<}aoS6lbpEJ-V-^P3(~BPlR6viokq zm>KVV-_X$&Hr^~pOqCJg;RSV@w6-;ACJ|+5HN`IbRX92#@Cpd5c~j=(<P39SpBuq2 z5<0!1Ssdpy>wUL$Bj@kByQffB!&T~7P?W<h22hF2&6n*uQ<FQRF9SR=36Cx{R4?5+ z7#kXgVxR0~_Ht)Y$A@JA0e_8av95@JN<&|9V2v;MkdcuwW)rsXBq7C_$NNeT)SElQ zUoULWlqqtwsw2GZYaJZjnB%Vcw={hw8~RIyo%p3NDs4sj>i3mznjTIi>*tbi{v0gP z;<!AUIoKR4#(_n6|84Y)K+02t`Uw#-rVLIP`1h0AH-<Dd2|cuyV@2H|$Klb0OyA)C z_dKBo&DWV@#S7vioQ+LQmOzvjo1g&j8TSL~!?k3CXV0I91qC5<S$!~HmFZmsqJ!kU z8FyCGo(a(otYhO2AH)6Bqw{m~?NK_P%QcOY-KqHFwcZiv{Z2Zc^Lhon!I1|h27T`x zawsb?mX@$|N;zJv{-E@Md1I;J>NV(VS83IXKQRBjb$4(u?E3x*1dd2>QrOi0({s{Z zodYbOho6?ea}fmfJ#p05$?moGkNv?SE^E+#p&53U_j+)prFrec!hg_WusJ$v?OKz; z4!pU!7|y-YmhCp6wd?b+t-T8Yl%AY4>yDZQ(j#UC5-uP5n25R=$BXOBIii4iP_&7H z<7@-#r88P}Cg{>J<b!UjT>v4k_q~3CO_377P&`PP&kSGwIPGVnOO_{>NPohuIoT<p zTs0-_8EH1gyx-r3m)x6<E9q#*u+5!1!lsg93;Dj$Abolcux&)oPc{p7m$QFcKH2Lu z?(g_Tk#OY>`}$uP8Ly;pm`B6-<tR7VkRPKLCRjeJ{>Ej^>VK!ix38ma3Emi}jC1lg zkx`3X^$MG0v_K4T;kw@AC|f>jtW0mli1fVN*w(hc&awWS-^<&Z!*-g7uMCfHJn$E5 zFDZHdw>|o}V*;gu%sG9dnKSYmUVp?}uk#*P%`>6G`^InUejw=OYA4boaF$T^oII~g z;RC9C2~SL&+adl@oYMFee)GXB8gST3xZI_4Ba4U9#JwU_ZT@)Ks~vlNz(BM-bMBpj zg7Kf_EX()h%xi%`{X4U1C%x0t-`MkzFP-6L)3fImGT;8R49r0aDZjxbi%LtG{+Rau z_T4D6$vWtdj*7z0LqeK_PY6dm-==gq=x7ZB6~Phw)O2v(H-zvjQB@y2O<%tT&v6Bn zh(!+^N9yA-jUZs?z$BkB=6rq$^@M{XOY3L8_rZ2E?)$A1ooVc!J|+1}R9@VC+-5KE znJb3gRNY?R`U(YtGe>`$=bQ<%7JAJ;?w;TJ6H%^vbSd~v??N3P7IAlPmv-wQYv%w{ z8!GAQ*9|{4;qH|2TTMD|%-o?6{CupPKb7$+1bmZ$NX@f*PsMH+OwvmJOJ{IFD4GNs zv|qzO3CPgnIW0$VMJVl6M*csl-U6(uuH70oFhCRo5J>}(?ru~-q)R}$1f;t`2@#}0 zy1To(ySux)JHC7SzUTkXc`hF>r1sit&3VVT#~4$B#dhn~JJIM^hsm;~!)@Wb{pK^T z5Kkf@q5x~Bh;!%DtL&=J(>D$C)XbS9$BNH~_vJ`m-T=mm=!56|yQj;)z1`IZ!;Joz zo3zOr&<oF}XD2_I+3tRTHwGO2kzC#90m*jt$J0W!ZEYUn1a=<>I>Rq^F3rqX@h;B} z<|;uwvbwCiV>ix-)%TG6;`Di6fB$N4rf$~w#{Or~DJbu%&c3ly$kX3`cr}stR`h(l zSO$#~|M~^pw`=YIKCe%rOeS*!0#V4R9~<`;jj5Ju-2>jSILx6hw%^e_yG*aNr8(;F zHZsat9)(C;Sh(0WnBFj5DcHQcuQZJ&xpXQ(mAr||X6(e^n2~H}^w>|FDU{BV5;Qvn z+Cu{oTN~Hmf>2lO?C!pXp}$vn(PLTC8eGq5<>IuoJoRIPFed%5R4<Lg)A|8Ti&Kz` zUtC_8=%3#JVe7olA<lgiQb8EDaa}M!2T@+#7Ma_<@tyjD+It)uyT0KS1*4AhSe>bg zX6s|F?#gzWSCw(Z8)KI;Ro(h`#6!%(2Ty6s*`FU-a}=8@erXm{>a*X$4V}E;dJoL# zYiTr*72`8AzHGf#|C<u(@7ejV8ML_@Q845RG?1Z&p5Ly%ZUT7;ZK5De47_+4Q+~;f z@BOr%!t%wr`pqJ1ZbPlKKS-4(0<t2NRj%S1*~d#>8OT-K-5pfo$So>zAhbRp6?ZxY z`L+)ih02L7fdmn??{nx6>k<V|yX3!oam`*F2&J=QJ0z2m=9QL)roW*kcAM6*w;P1f z&-nT8J$<^-x!kxWoxazo6-{e6`@YE&$0srq4}(lfW#AxIE@;^KyHs}Di4T{?EKD%Y z>V4n|@>Q0Z?-f*=>kfar;8&N0Sm&sB@=P8F=X20OvYPAOjf1sbFSuKcDQL|*r^)lQ zmsJkhc$|3WG=ChfTz!f}xNm#d+Vtc&T=8LZ2!$@ctBfd`myScahlZ!Ib#W)f<9%V8 zv{nAK?$QH2=UQ$Flc!u)2hW%cdDXSF_&+tGR16gtTbCaXZ?;M%ySuw5_TJ8?*E;^s z1GdSzGSNNvrCC22!ecv`ZMKHyKJ81Yp7<lQrG3@$8E43jEy7CwHtW&=Wf-GQ$7H!> zXt5Cu&eg<6_qj%$-UGQm$f)}!24uhMGRE&M1}@ieW-nW0wXb1eb1p<G^xN-XrOQ@T zC<xu(B}jI0%kG1=k02cHv!GzS>GE@^QQp81lZf?<2q@~!!^6SR4q;>rL4Sgkw|=>~ z@n?M);+<u&+=9vNaG=v;(Snl`D^|<())q^*z6=3%5?=*WJQfs~@p0mE<n{C^loCZu zI$kzvsdKgVFN?}6e#YrgK3zyu3=tv%>8!DtnHA|8V|6o#CN$mwbNK1o&+M4zdn1Rw zI9^0w3$(jntQ5*=&&tTi2!OLsZ#=(X`;+&-U;76}p#I1Yh(~X#UN|k%x2n<)XLr0R z7)&gvz4$AtGzPWfwGFirEb(b|p8Kz&kbD%m4Yahv=Uoh6Ysm?t1FZ_pW~Vpi!E>tH zGn<PPu5Zjq&M6k(n3K6Yz8*yAH9q#zVxgj9Ge%%`hKaKzJT)$!54m*YlF0mwabahl z@FRgzvpUf(!2nnj|0D+p#h7@ufg+fK)H*eCK|T^bO#AzyXIq*CH&t-dkc1#r9&~~( z_~inVE>?Xl37}E_$1Y&OPZpSzN_~X*$G^|~F9pN@`tW}#82;CX|5wcLU)ne#*_MvB zQ(1zpfJfs0lW|;`pYa#Q0zV$;^Oj1Em*zK;gu}bm26bhN4Kl4GfzaL$JoP`*EX>Se zWo9~v@Az7X(%xSL33{a5lHhRNZEj)VU_eIAVShY-ne623jK+8_*#rsQ-}&CL;H!TZ ze}5Ng=kV})`_95C4bbo}E-t`=X`&LR8wP_f=(QhnUDEpiZGYkHe1Ex{#%P8c_~$&Q zdyCO$cmGaboSmJ`ZEn8hS9_&9c~+`d-7hz)I=|$VAO38Jdu)<zLRjQRW7rQ;a}vc| zM)R=>m*8lEv^14OCoho?*`zDzJ?k}}#l_6AZFqT-Z%Yq~VTfVe;k^@?7E6jk93y#y zmq%QfxQ5P~HTC7co4p%dY_Yl4{M`}1{YM2b>yhsKWuPk78}$#Okl!6QY~M%s{SzS^ zaT1FD{t2_u%#X&r;$kMC$J`i5kt7ILYcwh>u9u`y6Qc9=^>0`u3pQeC@^jFCo}~MC zCu_#7@R0%U<jdE4cWv%~FOx{`&hBCD@bClaM%>^0e0+~Ftl!MjG0eX}Cm<lOv#Sut zc*uKG?Dy~AGcdFo-J0gOE<7}tDB=0|u|YjND&tst?Zc35#aMn|e!*=y(XMXSN~Q1L zN!N!m)uA7rC^2@fsp0-wY~Yodnb~LqvyG*hT4xtGH`CR=w>HOH`d5_cn_Uqs0rC7k zeZ_{#jD}MkTTqNhCO>+^=h-4f`A#H4rOER}#X+B7Af;kiOPe*cE+6^%VN9Y7iHX^K z4IO5A3&814NJyZzIne$-l%cab4ii)p_(t-6Qxg-lnVO$02E$WRQ))N>6%oI99*enN zT3()SFv;2#&4u;@iXQ1SsoJ3-#_<bmFFsHlb;1Jt?d{E%JuI20AppyQ&lLrO_HX-8 zru=BW78=ZuWaZ^03%^UlTM*7wYs4SNdXJ2zoOtKXo#z5`5TDeqF78-=Eq1)V8c2Ws z8Tu*ssyZl!Dz46MJbn6f=ip!g;H!&W{*uPy_TcL-eggZCmuH73``yBr(}x?Q&NS+r z3yZ<!eo+Pq5{Vvq<3*7$$P~{~peAs<pn3J`Z^t?Tn?(ePWD+P?NX%IOf=Yl+t>F_i za~<nut9^gZ4nLIIGX2byFMf()9zd(vwo`j=TQdLK!y9)W+PJL`Uju@nEGGRI?x{q! zl44w(0npPQq5c9dHSLxX<LDfN$-9`83N@g<L9`D8DSq_YVgx^=)4%NYi#{l^IYfcx z3<j+5qU9jn`Sa?-uRNQ>F!KHJL_rxCi3)%Ghy+aDw~UNI)mLM}KKLBS_wTFBHFSqC z>a$Keayd^s$n%w&EZ!)w-p7QijD;s&aeZ|zHzcFfPMp5EZpI3Wy$h@)N-Q?9G048m zfPg~vbZ^>fyHcF}`eI*H>ZQZhgxt$ze3QYpyOn>QCw{)ulPq`pa~aFCne`7Hn^+c6 z%%8p57??AtL_4*j8%45J5;YDS*3Do1EKUm%lfJ`ylUJJdmU-kakvown9{x`f)&o6b z6eJm>czLsRZk&vB+M%7oHCP>uY9SbW%{~NFd3zhf*#xFb9kHOa(VHj{-#S19m$(`U zNy$)JO%#u~o-}DPPrf&^v$LR3{`CmN*Ir)Mligg`xWIG*sj6JA+MReluh-Pn)a_<o zd~cw;ql85XM1`<vhjTCU^`TfDY?wjE0a*ugou8MN=358W-G|s8VeIEYn2ok2skD!d zf$^7w0x%cg4y203-pZ~#`szL2+0M8piFORT4hQ~^H=b_-6f^+DYF1XvG&D4xFX-;x zyLWHDES$-3DOlMd7GNtWaFdDeZGk1N(;Ii^=;&za5a!EX+1XrgKL=Wok7@fI`5v$I z0*W1en_8pgaTudMU%AB#o_0im6~$rOSy@<BRiyxJY`d8d(X(JmMG$$V6?`A`-`O$h ziexi<Qjo1!9t4|dZ_0MN7j6w8Yqgfs_JVM;jKCiw+j4V^0h{4_3vk|rAZ!G@bF2kS zWwgYY1FB5JX-*~UL?+>I&UP7Pd-q!3ri0b#-YR?Bx_X)U<z+47XEUeE(OM0^pUBFs zp01^*qT(|D&Xi|Dq&Niya%1CSXg*TDH(gkBU01k(N^0j~f3w77k#@e>u?;b@Z}h-e z9WO@n_7)L}zM=pHTYV5kIH0fZvy0)H8KqM9P(9*y8lNlg9*y4~t+0LuPc8{=?C8=l zNEPDjPEAl>&|+z6JvU=*uhFadah0K5{nPIa|NeS*b<FTOl<KGk23a7XB5yxy5q+Uq zcnSN5?)!jtnT5UIs}FZgXY1aALV`y~sH6XUxJJ9iip^<Vrhn9-C+f=}S^O~SiA@R3 z(&X$&AW9RL#4Ap`4D%S7Ku@I|+xoui7iC$*C~0Z2k_;JAcX*R8pSfrut+Ucz5x~&s zz=O!q9g%c*qYF)!MF4MaY$kBji_#^bruGFLLP+)1*&jYH?9gF6PCI6gI3tM0z%%hv zFH07Qd`&{)4uj}$E{L6RdZT$4XY1KgSqd-s`J4H}hBJ;xsI1#asW}`jn4w6d*BhZ8 z-dxheIZbstXV4q*g*5*4pahme*laywjEfHq^IdKUiKp$sRLQ!-S>SfnP_gA)x#AQ5 z`eBP;@S_B?RnPJ_5PV^PE0(Q9>`PN|+~TLcq*;UOOTb|hSW+TO|8Q=eF6vda-6=}_ zuS!ACRDjRcYoPMfI@5g<0)G*$<*rD(%R{NpfjdBnzyTnTYyW6FRXUyM_Pr{7B@rQ^ zg-J`dXBZf+kSKv^@fw7FKrRa<tAZ@gey%5(BzoPY_PPL@A#H!F{KIy+aSV-04UR&Y znLDHrh<N+d*ud+$CR>7GJ^-}Wj#pfPp!_mf>3M}o8DTgT6&XnZL;o2NY9XQ_<cY5f zvyql}do$(HAiaG6Qh`Z_p_rH)Y^89L$JNcy6arV{6Ws1l7?D&}P3eslgho3mxkN_l z2UWNJTP&e;TD>XaADVm!?s3mId94nl-UdQnrOz8;52s&`(iaFP4vf~%7$)@X1-ylq zhNgs1(2o;J0v@CylYa5|rF2tTTs+Wo%1Ao-+krn>%u0(@(M7b1Vm2``_D=U>bG#SV z+#kfFD}GeKY#sEG7><sP|0+FvfT!6~zGQ|qHZ%jQ13|(MN_lxCC$vZTU9G^B0mWuJ zdIu=|{`zp9{RXvEA51Y7`XQR5kbTLRfwcp%@7AqbD-)%3jenlsQ#slgRj9HH1;L^0 zg#l1tKpX_AdIk5Ggv;87`p4110liO5=O$}$&YCKGFQj+aB*f^vt+e{Kwzfb)Dm7mZ zI?acxKx}OgDn*qrp2=1n=?$dxf<`a^pTmaMY=s(<dGpDxy3Qaes;;hXU0t1Q`4QUw z84i;{-PjoGI2##D>9ET7MCpg`-?4$HvF!Ss^{Z4Bpl+(F6f9;dV%|E|Ha21XWy8$d zXifR!RY^Laq~9UF5@p@RTn`f>+L|a;7ug@mTv6CxUR?aEPwj9W84u7fz&iAB&qSxI z>?yV~CaJ154`z-60s;VFLj_*fx#%U07`pC;G@c>Sy`FkGQR{nNm(AX@v)lZ;T2Zfd z7gXoEBWu6(=Jb)suC|;c%k-=Yzo_pwS4r&85y#Mzx}(cm3mFjo;CoYo;TPX0HR+$5 z9$QKUzT4RR)y;WMZdiTE2r8}M^nZ0OdPu7V6h=-UmeM){4h`+7cUPxi83^B!ppp!& zGBr0(gaTz_G~W$$sEZ+8kl_(5xS^q;gY{t_i0UTCTZ*ve4DngMmRsn@#mARgY=)g$ zf-nKZ=@IZt7ImWc$X>nr2{qfdwNMB2LnHVJsA`~~9!&}cLmrR=D=A%vC!E2nz^;xP zUI%RwbWtery~H<92h(Ln%Ppy3)itV68y&7qFD<SQX9q+?=qXiI`?<Ph&%(NiV6*%M zm-!gK>Q|Oxd04gMR%sD}Oac+*D&K)wRkbrWH@D02X3Dj$29qIQtj^b<dd7;1iafij zI$Dat8{^#<IFVg>v&!%@4wp*FP@4>7$b~;wwp)#EQnad!zI_+927oY7qEFeGau=<0 z=)IUM4_I7VJBvPZj!`9SY5keUXrrLGkuoQbOVL`BIU=tj@0s8HNPThTciI|l6dKd< z53K_eG7sd+xEL9R1CL*i9#-D9p+_$`znhw_jg7_du;2a~#pJca_2n^%OcpM*iX~-b zdrdfo8eg}8*9Eb{4Ro0ZgAIsg5RqVi#7q`X?#?&EI26j?7)a44CnqY1?)=kz)8($h zPy174P$uS|u!DmI@IS+V2c-&_J47`AhU=jzhHmED*(Ky35#T@q;k~A|_9rOpfFr2~ z<5N*kl0AC#2*h>}n3zCKwwT5XtH!ErqSW-BaDN^y>(<K3CrHF3BqXOI$55hzu2BNA z9(lFlL<!B$pFhdJ7TkBP_0?yE3_=DqNgR~8fmF&-zP^vAte5dJGBRW<S=EVlK$fNo zeuOmEJMeY{1O@X$A}EUO+k7Bs#^`)aTAm@`<$&br0@-wNB(?<5dt5v`<cF8jpVomQ z0gLVw)POG_Ie`pN6$*HA#j?PIgM;R>NX%8=!_)oe)RtT9`+NRx1!eOz+#6XZ%a4(+ zm{R4HfH!>4($aD$>+&`g6%_=j#^Y(n^Pcnd*;)5E;)x1tvOnB=L{PT)R5%$-Rq(n! ziqsw}AbEh<(cIsE+qt$TzZ=s4ZNJX-noYGMf+ZZX7>2-$NgUqCc$es0R8fOo&xPxW zIR2(Tc{1Qwg-5AbNo=`C%Oo1rD0ON0y=sq0M~9Cx8B1WuOnXO^JN+lgn}s1M3iTsK zbfGY(B<+-%%I1baPo^l%i=gYy93@|s3LfXXxGW|}H{f;wI0&J%t6*!|@ml{;ioTxS zCt=~m2KQ%nP`;<6eW&q6QQ2E)U9yPL!G_K#Ml_l;kV2lZ`4wMlYb(@U9zY%qEye&U zE6m9$#s)7z)~`Qx4U2rgldA=*at@xZloUD$Wr-*$y#Y>X`}+q`C7|~f#95ndLu&?0 zV|H^ha`6~S*?4|5BB78PNZ>25T$9XE@7|WlQiz2{1hcXSR<l&L(&WT$%J6#XmrQKv z!swGtXKHQ&YD3OiVltk5F;Z&!4jQXmETyZIwO8e;Ysb@`BUScnu=R36?o*PGAj4b! zTBL_y?sg7`0zIIntIK;i%64nl>zN1bE<CvIiT+J6?}GNOqaETt)Czq|i|5geU5AuT zO4r>B2D+m;s&Aljm7A&+5E1Dbz8V`Hm4F%>su`VKYY6nvi6%oXJEe4X!y`4`7@+}< zG8UuWedwWx#p95QiY!L&Qrs~HaUslj>)5tYmpYlIRUl`>Ga+xcV~4P?j-gm=FzHD4 z@*X{JcjST@Bb8!Tr#*j;htK?2Y5vBg{ms?l?ELLzSHj7vKdlLu`=YHUT2j<uH7ZU6 zW}i-%l}*at``>(uitT>as~rC5`1&Rp4ab<g6Mjo1{pK}^qrOpFAPHg(Kney@V^buX z<!^U)RcK&ChoFb15e%k$3n4u)5Jb_>toJ*au1j0<sr%0$xhz9h4vRVfHVvRsH*0_k z>p#zFf4T^iuA+ycqN0p?BZ%q?HZ<(!cjMFS=NtJ7V8zX5xn;D}@dEU!H?V+{yt})5 z-65Kb^5bxQ_!$lk*lq(@(;(R}IEcY34#eq}14U4Z7Znv@W>2&|fZhYqVQ;!0?eE81 z?=L~!%h^vhI^$T`B<F=~ZfZIY)(lIFkSm^GU^K$7q`^YPWwRjfH#)4?kW@m{Re&hm z;y_UtI5dJ5;9F-HFJ$CYXmuMcK@f{hr4&Iboi;Nw^CLd~jrrO@tZMx)NG8j<KF^{) z!6Ki9^^NeP2%@OZ0n&cTf#;tK<<Vk80>{fjrtVdc7DoUP5yS#wa3Rf*L97o4Wnd<? zyjeWmHOzUmHs}VGAJ+i2`^?Ns2wEYmhdAE2EKN|ozF^##6!NNwIUS@2V}j{;sDKYP z$K9?jm6PE^Ph1xNf`S6_{oNc*sC~tbwz+CndbdrX5PXEs-XfzcY@c@ha)hl+MP1ho z_}5)&e#WN3JL{?KSVAZ=S<3HDFK8x6rQXywg$~er4M@2L(tE+51S!`AsZXDOmXjE< zwSE**W9_x<FMVRTu&00fok3F0`u4}Gl86SX<n0|tH^ZINsC3V9Yj<O|tR-FL?T3EA zf%I?e2$P$9Yi?nY1c_p)JQw!F!PX?s%XYc_+qZ6Ybf1rmj`pTXzS~D;d{=#WgmZ(y z{@@8LAbx3SDd|LwR{znfB*gA=pLKF}?yL_({QV&b_96?|x<Y2Z<KQiXC@_3<V&c=R zY;8?<=Ng5k6)UWI=Q_Eq&95%3x27t?H|+$Ep~%MrN)bZe-%r;IvR`5kwJ6)QT9wPI z<8Q%K%J@JPL)<G!46rOPYb_m)NSI(bHq_TU!)%i4%i&`joOV#ArzlmjLT?;eb-cIN zw)eFQV%*%)FQf(66j(11sEkkdG+`XS&;1xjXgG^1?^`Ffl5Hked(dUrvKf>V%}#gr zfvd6P#WbY`m10S`ZO->W6n6HB{X!qOEM`_#jFr(nTj<I|S<O)p@l>ljsw3+1c6LSI zGfT_k_pRG?u76m75c2GugNI0RJrwQk&$#B{B4N(Y@h><qXp2Py7GSbF#|y1N{qHAl zD5f5s(0|tvie<lBM;b)f$=95E^3nTaqY?QYrm=DBM+L5S;YzyUr$Pz>JtbyLk^9B{ zEcRrPmBW%FW-RW1o7GPaTOMK(ly!9|E}z=9%Qa<kHH;jdpAuhCEp1mdT>Tk#FU6~m zEMdc%n<I`*l&B?rrF?F)ZM{}e^~Mxj^Ua_xhwMAMw)P!A(?57t;FyTGWA&7@#!jmg z7Vw=cXWRNP{0nER?froPsZtY!*LoD~Lu~pPh_aCG!??=r&l%xv5ckmaK~zt$+MRP| zh<@-tTmWm7*MQ}%4rSszr&Le@+5_e^@XTkIm%$tOQggSoR%HhA2tY&fNCgbv2OxLf z#$`4Fk~G=Z3P(1s^S}ULxgnfeAfBUW(iS@n)jJP=hi8l6PC&qd#=uYWEH*Y)q1=L^ zU)u%X*lRK$yk)m5aeeLcqfE?pL{GPSM$=;T5HgI`USL!lae;Pk#LiCPKxX)<x!ioS z4_)<_^(g2)G{0s;2@qNYkLcl2_cclLCY53tVZRncfAYSwrSR0!t8W7-Pdu?1>gMvH znE0CTZ#tWUiMdX%TSPW|@vX4(UVALRkHNu8FNGv0SaOEybK)m?Zs`o9yn^{}#demA zf_J@7wAnOsxpA-Wr`&;$8SOzeM<dp1&m@t#j+yQmOx3<!V1MW3{&9S|=F7dXS9j!j zYnAAX-?31rBmEA0Z+!2~R##C1YYLWxPy=Do>^H3sB$ia3sU#y~>##wrg3Ri~wM5fu zUBug`ea#IG4YQOg+n{PsQ7AR>UVj8d6u_lWV?*>rfh&6b_N^<>;LyLHT3cB?e(|Dp zs?t_xG%ry>5wU$=cmJG$PXHIeP^UlXA#fg`9G{<`|FAh$Na0jv`ymbNl{>C0nbNu@ zC&6c!*=*%8fKr|NM<3q5Pm#+f3TM=BJD7YxRZ+t<Z3igG1)?<toFxNXUgCQ{0rW&M zlqsE#DPN@b3cx=AbHllY=_$tT+XSPwwwWiY9l4;BI4u+R8`fVa#7`0d-JlR^wA~&u zoVh@c9ZI8q*K%tj7Ixy2{zQ4Iv0;J{So{EPq6siCkXmob$jBURO}0byc)@HGgS5cA zc(6(bwGZv^u#J1OvYJ}cPrGfF>0~b&4tH7$@5g=~>ZNl72j+`iULS9@xruf3`#k8v zSQRU#r)0EHsC?qARQMX?CnF8?5_&=*Lah_trNR<Ys5a6ck`q;hgc}6}Z%WU%$vx!Y z>yz*o5D;AS@M0iYCBlu^6!<JKJL>DRSCI|v{TxD$b$L9U3?+FWiR9gv?ZcuI;ZmFD z+tp0n9#!_|NAJ;E<O{zy!i9%|YYh(%58~b6;NZOYhOm_RjXOFrLT$C9f=ThU0k|1G z^j=U?msxHb?6#~!0;BEJp)*|)+P@YJqjwJp!7`YxirkK!h2h8|z<?l5k+V~ZeSZfM zSQB8ur(5OQIk~y9(Ema50v3zbAM^G=66f%69Plc@>=so9{^oz4iQ_MOa6thJinq$c z^VXAmO6#>#Q&CVdnxb7ov)}pb0lZ?X8e45`Eh^4YwR_6>;d(Qo?gmC@SkmnJdOJvK zP|Qy%fhYx?BKG<5wpNR8tx1ygEsm3|!~SGCKBPeM7dui*G6KSHCbd5bi+rr6_g5Wa zJU}7m*V}f`c2G(|A&eT~vrGFqFkmI-H9}H^v~s}AG8&-v`S$aNjToM*L=yddU~lt= z<n0R(^}z7{(=a?M?4h9|;xv!KLJYouyJZ&~v@|9QpP=2cL_jXk>VU#3B`s{RoE~xC zE3EgepmahkFsNNOrmL%a+6@O%#1TeOU>CEq*G>h_X*QKp?A`wiV?J7JY;Mw3iX8HE zhB3s;<ws1bnVsyYl77kf#Ld05J_sO5A7JL>j>{Vx9q`2SF0vrJqT+>}FARCaQ5(-S zkgLaSAkeb1>GJKW@a??LZpJ+cG*~BPjV2&cA}7jer^y*yU!AHfZ@lmHuJ##@FO~8Y zTT~Q2=Jxb6(O(cJ!R5&hUP$6!BW_4*JV*Hc!v|zk@<XX57IDE^#>v3lGFoR0##U@j zOEr@H!H)$|iqus*w~Dv<)ISN{))NpEz8n7w5CM)&%Cv7E#m!?#Qof)xPH>2s+4RxB zac?C_NFY+D#?G}gYG@n7uKbJPQHWt-!$EWWaI^IR7Z(@!EY$#X*a2&b1!gT!n+>GP z_&|h}&tOw;LWMD!EUYBJ#+xT6BLVV7Abx+eT=0W{6l{C6p?Yz$OD<pJ`TO^MNC14? z+}uf8+5b=`kM|(z)b2}g-v}U<`fPPVN<mC~;y$J$+^;>9aR+YsB5bCBuXc5W?~<Vv z<jMiE52ZrM51^z#J*f`i7@chCs9|w=qSW*FW067R<@rOI(e?X%I?QoD;$n1slhRhC z@fe2~6OJ4os<$s;ZRk^D3nwHI#Y>t^REBfY$e>A}A}0_gs?d_8uzva^#GNeD>$$4n zQ}rQ~+tI_?CMM>|^XJW8;k^@{<-$g*Hvm*w>D`Y^&ZD4!UKD@?KLnmKP4gc=sE-!^ z8#zB(cHej<gYF6-@@HL}_h7;FjU{!uUoW4h885*7v&|0o2cKU`lHC1bl3pWSVb0jb z&Sa6%{Q1SNI3{Z{<$D83<UB$~!im$I;+>y~_vV(AvZ`)t`}~oo>67$#7yMK=-s}dg zoS6;TRh0wY0qGMz@se_u*^RlAfuMCjwvkmFD*w3-x;z$rD(%7jJI=C4Tf_MYV{*Cz zbt+-3Z&pZ;(A~a54WVE31BKzlRd#Q`cThll+ci3#8Op?xknjh}$dbr}zQ=RZ*GCqp zyY9%c@~b&Ty^`q`!f^%)ACl7ui5g;4Q7pc&Vh^PKdZqaG<;#;);(B=TP{`Oofr0rM zxH0Kmz{BHivgQ2G2-vD`CGoxsv5k1hCngfY5c)Vz6pRBD9#V7};gQ(bq_+VE)N0qZ z%x}AuUZ4HV!fG!!;h3cqd6boq9R6EWU}h*%UUqcMHv)^_M1tmk6e<LaJ8yO^4UJ#D z4tv_@0Y1;J@gHdV`m$9d3f@&+K-lDi&aH?3p|mu`H#<WRZ53@Np#Pg@&lwYOfOp9) z9d6IN!@bM~eIvR9%!UIcx=v;fg;1~xJzorE+SwD2=iS~?O6-j{q1!{bOW{?o)vcm# z=#x3+A#qhj*w7r?FQ=}XI6pD?>EhzEnto#a)YQ!Yn#dJ4;}A1ey^JVtT3nbdV~|Qg zXZr}oFYn*K5204Q1x@LP>|onJ|GARZH!`_!C0~eBxWn!WXiw0S;(mCm)O)}0z$IlB zOE1&N?$UgN&(X81_l}{|=aYK@=#Bv+zxM-oO=c%t>FD)Gd|ghM{rk)&PR|X!qd9z% zWQ`YAbfPk+v7Eso-rg1_E%jYfp(W!aqIRdJ=jU|hYf?I&{`1<YuMu~_{|7FvSdKKe z^vj1{@?lMiZwS*?BaTSC=TDAvZ4=)ld{q17QKwS!APt#~iK?P~Fo9=&Xdv^;?aDYc z-9(d_m75!piY%rKx1RB(eMxUR#0f4nS|y)Ss+#aFZ;bj-{)vWA@XkMU^8PNCKR%dL z{LHdo4582Ai7!c;OLHcScdwRqjr@CIb@|s~r5)Y5<xfJh63_C+uhvn#fXHWIUT-{l zxslPBCIsm}_Ky2S1-T^4yu|8XnJBr-=>15c!sKQpXJkSH(o+dT<Bbh#)F!j1^M(Td zeM#UPJiZoY40G2OUMy>EX*@7f=*^LkeqEWldz3R@(>otnYX8iVNeg#FI%5+r$N1>u z_N?35%#YSUl+;};$+_Cz2V}*4R;MSiBN+Ah8Z2?yxQlhJ>MI+Y)M0wP>p~y-rkc8H z-A!s=N!<K*Q-SnJ+2GhumCA>XO00n@S3GQ1GS02z$cAo@{q9Yc>E77%h}=5yx8(ZX zre9ARH+D%^MQ8{_aq)1)3ee$LjV5n<Chf1;w-&z_z9*2yBfF<uK}ugY$oBj91KZJ} zMKpuA*xLOWoD6BhNg;pMtHX|adc>gOZ-kyW@fErsv{GQbi-7c2feYhEH2vT?rN+ic zE@BuDP+$%e#P7a4RYRpP2ha-O#L;8w8#;#JuF`IB`3QGN^w|C|WUV_DH`pGchKxj} z%^$QPVWZ2C914*bBoP{M5Mk>I5fUcOYioH;@;sEehtqamz9YnI_&F$DFr*&i^GRTB z2&U+m-?Z3fM9yxiXQ8~#XO8~guXqYSmD&DjSU^%!&o<gzV+muTh)%w=TME@;cDS(e zUWbM?9Om1(J?$w_oC0!8tJM|pI^7M}HFU;vAOCa%19la_VVK}FOid|a>pnqH@nJL3 z8&1J|HP}sL8+tPYu8IiHFp~BS3p;D*F1jZ6zS&y7APh?oOg1i-SAL++pksT7IYr*u zUFB0y^I8$+`|7|NCTowaY{z)>xjOmcAGW8_A$%Q^=vjQtrYk1o&6E>$&2RkKT31ib z6&jnfvAm0j<_sp|G(z84odq|Q$r@*{N7uGiVRgMtlVG20@QZg`vgU#+R#;6f&bm~& z+CeHs>?fcYa!5J6uU@{qp{zXpI{N__Dw`U90l<~t2Vb+!1sQCNX`#x~$>3c8)X!{d zBDCHOO%iZccx!;cfvXA(QaPXoIgtwNjc2_}xb4pbRXxHgBU;V*eO^**obNBEq@Qfq zIw?{qinj+@Lp@$GtoEeRwSUP}A6(5J*fFjd&PT%7_`~y+)Lq1ZoWmRo=jrTrII(RF zUvhKT6v}wDfkgR*HLf20#s;pDu}R`b?w6EGe~IxFn7Ys9inA8WyuH1FV$%l||7)uF zxE1s6JW4%1^1c2fVH|MXKfOBNe*4nV2};tNVsRhclZixq*06jl1g9YHvvcB)>ULu@ z>UF?RceKNgBx|-0`OxR*<{Dq@HroJ(K*m6YpGq9yXBFU%6yQEi^rl#dk1|Xsf+2Cg ziD2D2Nto$#AnH<~s``m~yU3AZNu%dx@CyQmh$qzs>J4qxCmOS~MfeppXU={Z)3$%i z&kb|;vT?{q?fzQhWbX_eI3HZ?JyvYqju~tjl(N;qP7FtlDG?of-9CJEd9E{<h5=n8 zf?Wn)6Cl|y6@rr&EWC=RZ2m|jeiqM=r2*boGmO0Onfd7x0DfIs1i2EJ26!YVzY`G= zaryNt&;HzE{}=|Kb1*nYG|$XHTPiitOcIS&im?L}W_D>QXmuZonEn!Db%bA>Z0>6q z#qjpi?;k_ki$J=ms!p6>CC_hdd4ppdI0{0a<qO65Gjw#9e{Amo6@bgEyOb?-Zj&ol zMSuWdeqrGwu*XkfSW7TBG2sg{F=}8j0U-n=c3@yw1OkC6wMw^C9~l0Jf>`i|81Prn zc@f~cHRbZXhq%m$pSdwJJNq+^xZ+~3y);N(X-rpJo0!0E=O*+oz%57nPk+t>P$1Xk z!82$K8(Ul5p*GBim95Zj3AzUtSJ&CqRRL&5SKw9^`M9!Mp)M2}?AdrO7NTBx6`iU~ z?c3Txix&zP&9%eCg;}X&=to%t<)Ik5E0m8*>53Y`%jcU@l{jo{Y%o-a)Y}gV-oIS~ z0WDQL{w|Cp>Gj6~Va$$jqXmvih`QVo!{x-@CAB7q&gN)PTL|uf8#!>yegZW?@w?J* zw*qh`g~B<vxL6BdtBxp+@RSr{7?m_Fwg*!TaaeBQ;^X53p6Co=#~5beYs1;m^PMy> zMJ%(}Yy-AK7jS?O{S-VWkZ|AV$x>tk%ZXN?C4i-%{0pGp2l1GT0JJ=kqk0>Bd0WkX zmIA$KtVmxFN?AEzNC4WQ21P4?9Gz;Fu+;Jat%9K;_yh^|teV~E2xmfrStmS~2KWq2 zn*ob+9T*s3U!*E80MuOo7Sw%U&;Y;#OpagBu&_%hX2};nf_Av-e2cB>@<<+0?!a^i zpaGHCfo6Ejt)g6)NHs7YY=U7oh~v@rq`QvK5BfzrYe(Imy#rHT4QQ%ag5({>)&U)c z^D@-H>d+I12^{W&5S<+?yBg^3WXsG*VAEHe%>BXCJcxm+wl_!h1K@&)+8^M?M72f_ zz~eB!Pc9r{wd=lMf22=W-E0X<6v38aGMu7!#KgykrK|xc116IdK(D+o(SnZh^!xKs zy!GQ@o^p##?a{oq%JzrS-ly%G7dckDYG4rj0RRoz0_`X8bMq^`@tCK!AqV^Z+fG5L z&@o^5y;_G8rVvviuvpMQ_<w)}FiflNqoN`b-o^CwWwiAqf_~EaE;=L_hf(j7iptCV zrOtT-3`~0o{fa!f54>HVLKq*ch^KwYY=ip}!f9Vtnp^-NqxIM}m}~4`O~J<d2tK|P zoH)Sg0CVEGcB*Qm7|7L2H&lCKc$N+Ut!@A)o=!1h82krdEZb3`M;od=UBv+@EEY%v zEK9%wvl&g|FqmKlytWRUVLGDWvOCmRsuBM#F`n;e2g3oPmoI-1IGoh7JJ!?>xPg2Z z3^0*i0&N3+$6|TJ_VU7lOS*2;`0dYu#6Qc+%Nvj7{=)Oqg?IIW!=|8A4|sxguo6bf z%+pVc0R^Tvm<R#&Zx8tKk{^S4pdWl<B+g*V3!S*5taY6xXqfh-c>Eiz-724L7`{A; z6lsQ$PY2WR7g%<H=OC~%1P%x{Njt0wz6A2(;r&U<Jhq{mFhLVY|B^|pSVj+?B=4n7 zx3*h0FLuD)7{T`0ZvlHE`TaJsY=|m;$+R65mlX@;F^FyY+R>xH&2D4F7`TmZh*NO= z{QQKXE)uOz!wr*+0ZiTBd#<c8A-vU>NCtSaCN%Ueu7z>mI>)fQ_`VOMG#2Ot)enLp z2r>#OznK}TFO7y_PmCqly5e`UOS;0_h=Lj64InLv0fd6g4a*C@vw0+UKH<)N@f$D= z0RSKxfG~NaV#Lbcse7<7Rms*o9ZW9g56?0OUR0r26S^2LF9u~K;6<t#8j1qUgD@P1 z@fqXs*@7#8DZnkz0Q_soR2TwY3cz0Qa}3LdzyyHdSR@o)A=lP`l^?E2183rfgM)*d zQViG1l!g_68Kq0GwSguu3Xm98#m;-bq3rBzDuCmlYT)4gN^nZDd|{O{fnQV!?9(`% zutvlD^zQRwYnZVq*{mk=e_>+5Q@=yv?3k{PnZQw6QnCZ~BzfNlNpHZQ4vHdmnA#zV z4&Y+lK;W$!8icTN+blyhEHmB_5$#Qwb|daIM33@Ym6@|wM}Z+Bp#N`%MQa~h7=GU0 zty}d#A_;0j{QMskP@q7J3Wi}1IL6_?go=^Ma$^J^;K+TGV9M+AH`lXn1i3)w`-S?V zV^~?Vv%is&`}*oOv*Q&m5CznF<6IB6udyj9yKVs58rB-Xb#De>5zWamE(9!-h<Ged zo;(Q=N+Q>K1Y@Q4e)U%nl%Z&SGrlbf_C5eS!r5B&larGd<nxuP{$w&)36Og$_Sz7H zUs|2M1ok^d$3*73Lm4jsU5SH-kRe~}4ZE1eVng;umU6Xsk`BDI2l&y3T~{7Y*=mP< ziLoZe-=Jxya2)-6UYSSs9bOUhrmXk?zj&ajc)@Un4V&ru&C1~7I4iPRXY+tyb#gAv z9p-{gr-EdFW%3*@Z4fa(PxAqs=8_`*1~Q&j)o2ksgU`W~!hcDnQ5M<nLc#qN0Z0Mo z?c`#=`+)_Gg|cm#4Dik_tWy3|p7(W&R_)9G&wVyq<z5?nkf>BCmXWCsfsC5!{5-e; zaF+_)$6|dK<uNgNi01(NO0wFal3kySg~b&@aDS$}<yf&}lvWgSEL1EAhUASv;#qee z(I!{F>S}^S!FzMFvy>Fvzi;gv9r1|=lHXo~#ryd2V_#it*nFc^C@T=ZfV}hoz(SB$ zH^2xwQpbrDFrcN5(0W*w*4vfGu>2){+AgE>#)`-DfqTtf^geG>$0Y0szWxHCYkZ4u z+Z78`WC+$z%f4v>+8bKhr;d)-uQPq(D3|N>vhR!%0lrb}QSje_06(}$&i7~lIDJ66 zN7$Z2Fo}a=1=IzILJKAeynqhFCux%<WjBGw69yR@frAE7Dz-sj$0yxBUc&nA;c+(H zJ$*_ci5O7HabHn8dhU&pIrso83m$?7P>ulQ3j;hYRq>U_@5o3z1fG0#af%t8oRE-X zce<w+om#mJ14abH1#W}Z=_RCSut`#bnjA2~+hEcIM~LKAmf*6Q5krPigFFid6+I^w zg@Z0@nw#&nV3o;bDX{E|b=Cz%UrcsGSp*eL9w36RGZ77#5xDgLee&zdp|K;CmUytK zYT>X`PI2)&C?|$17LN@FVR;R!lV@x0loWPe;7$Ww8K?}wz<kYtGmZCsx1q_Kn3w=B zEJl8BTpF}Y$_$I%B7OP&l<?<DRzH8<zK40jjsz1^6^E+xX-@pTe=BM)`_nt~a+||6 z>y^JSm{}XFMo@2jX(FgtSVk)V;EYUWyJ88YnYRTa`Cm`o@X=aqFe}+^O4}US-GLKP zQ*~aUj4nqzioheVf}t{E_zY|gb%6Dt7lGnIJ$DNzZNOA}1i5ShI#5q68Yf6q;4Gg_ z-v0<086kh7QEx&Z+kl{*z}$gi=mm`$5@M(ecLyO`g_FM|p+G*cvCq2M0}H!zIT4m7 zq5?pe9Pc-%-GGKK0ZK18+!g`T&d<!$v<AEb_Mz&|Of8zUg>|d4#gyZ<J%oCZYKO~} z@nS0AZ36PH^>w>nlnaqP^rk9C*<-(2Aja#^dZZ|pGr}nH8>B;+R3S1H`d9l290xY7 zE?f{|!8`+aiV2_EOJg<*bL`GmlL4#$2@T~=pCFYgH5P)|fEcyV)1$-6K$u)3D08sy zey$O5HOnfs&4?FtRuHf3PUfofLzO28f=!4?w?OjWTV}4ydA>nsXJ?lJZz;Cu&pF%U zs*62AFoUgu)|EoZK1lf)kr1NFTFQeNF(_{@$eKSmw1YnV;}yCN+9{BtSEef80p$h8 zb-$oK2nh}bt~3-69qqum?quKyXbqe{R#H+DiZ~$wy2h**(_L!aA+*u18FCjZW|;bF zK`{e{q6jiAqRMiA`W76FjFMuT;IYgi*ujwWD^8cf2eK5y@z^X>^z|b($AJEG0Raq` z-O3lX9<BAB#@$D_zoGHDk(!zcyvu#)O`#QP11&2L%xr)mq?>h)hl3;dAEXzV;%mW7 zX7SW(kkde22x4lneH$>cQvvD{9B$wQ9aj&?WQjzh6o|VSmV>Gz5H4?ER{jgB(O&44 zY>qbE<KxwnV$K1yP^hqiW8%=3bsUGXl|^M`v4B+)1Hm5iP!j794%@EN&8}<$-gSp* zH%Bv2US$^+6?%@o%0gJ-2Szl^E#HundjkDE2ZA^x%p1TqYaAaB2LndHyv1V5TDxh2 zf@!VL_34<<Ozj}o`MJ0t!4~#_l+CM%aNdGv`^UWlrCbpS35gme51g=E-LOsYF)^Ef z0|~Yp^f0|f4B>$}>$qsuVi<}72Y?g2Ww-l_i7s`p?WH%8L&ITf!BmZ@K31@rp;Y+` zI;yW3!$6@2_pDIb#yz|!SO)Lt3n-rvc`_l2=&qUC4<nVfGC|$W-7u*}5T;uLntRs| zHzv!2!O#x22bUyRTBX{H6GM6X08Yf{7Et}o55@vd2nY-vE{B~Fj1cH1O3YRzytfSv zMsi-kN`bCZ3gwVyKVeANKwlDF$jpo$T<u|o{{tp?f<IyD-ON-h$5vLpeqH`5T3NKi zwq<?rf#zV^Ac7hUQW2nBbVNIT6^Yn8T@FZ9C`AF#VqtGF{o?8zr7f7s5P!~Mdu|4n z7QzxOKp<Wua;%Tk^|2_fw6rOz6_H3p3-moEs7<aXOk+vJA-3^+5I>1rA)t%;y(4-_ zz<HrKH@^*OetBeU3@B;lO7?|Rzy^Mx!T#Ll7*3pZIDHFw4AE@E7x}z#RYl$~Glyg; zDr*3@2aXj9%E?&*oa9y1=j!XL^2QyBR}BHsbN`8*fp~f|1}0?^%m^x!wZ?}bSF5kB zzUI4x0k762nC5l^!oohoA_X|@Iif<RrS*q!E0HEe!e}r-d<Tv<K$|tj$;<lu_aDZ| z&Itklgh3->A3;M|akiF@7@7byE{DR87`FF)pltYnz(M~_LZVRN-~T>B{Plkhf%zZZ z)bH#295pix5|7`b4~)~^asH1WD=r3*%{Xmyxgc*P@gAuh32teI46&Y@tdYN_KJ#XW zz$cQ2#V~RtYQKp0tfHe!e;6bo){f~HGm9aOk)*qlBZ-lbHv6F@p40a;Eu_Z`C8oDm z`H}g5t_pC#Ij)vglnkkdyy9Zg52eMqZ&%*>!is@)n}P0sxB!t|E+Thuq<OAIeKTc1 z+60QGv=~Y5!JlcQ*W_d?W--LrtQZ;B$Q|aul7z3+BsjemP5KWK{129u{@zBRW~k5* z;{W>tvf+dvQcSTqcXnt_U#e_+Oxg>c^1rvflzGO;_v?=M_Qo4zI>q((q<`l_E06nu zGR9R~k{Q;ko0UeIcFQB~$E}$Ei}<$l7Z5HQkT(r{)QeCsHan~-H&J(5D~i=PC1qwF zRnHt&PjnKI?n%dH#al5)`QqV}7M3GHXVY+aec-z;Ey+h!>i;BW-R%0Hg6u`*l7~Od zfMV<Kw*Nj71mZSrx_rh0u2#nT=FQlj%J;7~CM~TL1|v_dk1PAbzwuQHekpz{ztx1K ze*bZJ9**QKIov$e;F@0#30)S#a|m6?ACG-QRt@mI(YjQO^z?r03!#_DgLj-C6ww4t z46J*$9hkIl`}Cp)y~P<F`O#_3;e#(w9ARtF%YHUt+O>?Dx8HcJxh&`-)@%1vnhrB> zC4x#q_NxcEV2DNz)`3*9xqu@VHB&-aDNfVZ9!+Eo0e<ZDB}%~`fookNL@%FHEI7Tq z|L@N&6P}X-S~fpC3+y!<X6vsc-^shQ=^K)Qj_;oy=jt3{?wO#FL>E0xe+6f*5(=i$ z%$ktSh7&pyu48GC1oQ|8Nvd}|RL@+ZRi~Ku=N!^kEbx7R_{BS`m|lF=2fh5Gph>ww z_pL((7;Ph)N5<o)cAQGk>BE5u4`2J;pFW>D23gP;Py6Mjp`##}x-m^zy+Iu70&USP zIDAgQ@$&Fl(dPE{a#Fa#92jvV=H~8(M6O?%hpn+F+HMv$%<l@c@7q*P7&qg&u`fww zk4tUWU%^qJaCVL+fQ$!6N5CyeO;4YP`~~zQt-2%NC(I%My7cr1aFDT%4vF%`+;b9Q z;>R~ncNem#0%>r+lw6)F8PmALzZXUNgtQ6l)44DuVQX=GjJJ&ul`)|V+Xk9b8P<9< zL38x2Bc4x_a(|3ze=7XZE<u_rpN3;o_V?nFe0}xC#LGk{6MJ&w2yrf(+7q(uin`V0 zXc2YwH{->IT;GP*Jjk+UV%_lPJn6b-vK=qet*nrE9wYHEtL<7v*lt%o7w|u6lc{n_ zOG6a(6Yv?kb@}N!wOoy&%T7ZF=kd*@jQp-S_??^@rJ$MthcC|K(r(Ql0soJ>x`^(1 zaUnqTs-@dJk5zavqObP+3e@Vr4@fF2JG<?}_E#OZ%YI}U@}gX^0Ul5d6EiYA#fTgB zyScg*Ehig=nI>K8XIu2nA+_v}sQcvVjnV?U@@HCFK~d41NhxP<_X-VKOZ8r;LKQWa zZJ&9yo#qeeZBN{Mb*)j<4)WaGM7sCPS?;2Qv-9yp;`}x%TVhuB0g;QQTB-v9feSXJ ztK-wP5_0@<(I2^Q=D%Vv4`pZM__}6Gs%yh4Sk5y<)B4n(hu}foTS8>i1c$r8Ux+6x zOaJc*D+Cw~bWNpDtI+*~lVAEv;3Gtp%5pd$NjL7W%r?#APYCVr@z0y5aPRmDpQ-|^ z8>&ee{3k37`|2Q>i$-^dJVIod-zF<yP=|DxUT%FCz8~4Go?I?(;s3uu2+9M90ZHX{ zL(<YntM((e5tTz1^E~PeSi_E2`_ZKf{({V#1^u++Koh!rcJ1jvNU;!G(ze+xtf#+) zErQ!W|3xGG)W`JC>Dl)9sHLv~meY>7FCjAC?Idla>?e22*;;dh9^-k?mdtLWFE9IT zn><5n4I#vfN6I67BOtM+<?KnWlWMS{?mmgCURx&a?`y{0N5@lo^9G&(=hdw}IH!yj zh~8~&Z4J(E5PQ4M4M8`j1_;VHGeIdk7!*l4AO<r2IdjD`eGhKev&6*2XHKJnl%*~N zS37R(P{AlToGuc`irCu1IW3p;czAeF=#!F?maN46Y3c61H}mrzeoSVj*SJBs{)9vI z)nWGT`Q?OB{X@5m{@IBBpEu2vl<*G^4<*mIj<qM<?%`YAi0*Dat~##FRSkL8UNpXG z#f}e8jIJFjeYa7)r9ep$maV8>9}TCugtYubI@;Ox=MoLcE;}U1EuABpx0Tb=X9VT= zuyI)p4afNm<Va5Gw4P4oy4GZ2X81>8a~Zrm)C{D?VnF>RHDn&Z)BIXcRs%VoP?fLg z<M%C-07BK*gOMBzGNmpqb`zZ+9H5rpKg@QF?1m>cSNjC9)n<R|gz-Vtk(QQzHY6=0 z(?2<B->_&fn&%1%4k6j)T`OkTc?b{}I^d~S?W2Xd&n+j6?|sV;CCe&tYNsssRH1Hx z%GP6g`<}{do$HAmCo3Bp-TB+6$Z#@Fm(!gGNm9x67$~j)%B{Nut@_MyB02NCk9{0w zu`|^<YlKxjEefULH#yj^5UuL9>7U+5TG`$PZsrqT(Lqs4lI6g!&!2Z3?xj=7?75|< z`MqV%oN7dTzLzZhw11G{V!_`8TTpNQNT0aCWc@Ue-A0q4`Z8F@Zad;NsR_B=@y6?| z65_$SBQ7#Bt1TS!i*cP)CSgeunaAElcz?eJJ7fQO;xo=?D!^$&*gDhmQZ`>_vgl4g zzdJdO#C$y+#Z2lK1A#v3 |Dp8no9@!}uxNyrUMZzoX3ug9#hjyWjv@A25pdof8U zEBiF6)z0tk6lUA&*I6Lch7dTCv$7rqx4X74#-*mZ!_s+ZUp){0MVX)c8?MhCuYI7x z7gtd5gcG0P>(`gl*LX7DY{ud4s!f>iikARbgJ?0~j76|ermQ@W`26`Zbizk2m)T&a zi!d}YFra+o<_vhyZq02pqd{pIaTyu6`q`MA9A7~=W2&l(bJrIIu_KVbnVF$04!_%E z-7;f!Z=P>Z%dMv@PE2$)V(tKn5Rqav)Wy)=G`;a*e@`3AuFc|j)*qdck+G1Lo)s4x z`!gwtsOq%S5Kc*zE&Psg1N5B;w>|(_M-8E=Abg6v)E&*W$cpC;6Q20>GjW`Ij?Bli zW$Rh<LGlK*D%7|I70J;K*vb8^&@I!ogLlF1sollQJ+2wH>C;C{lV;C`6-*yO$HMHf z*J^-t)j()ozT|0l^svd=Dl%F{fw!NhccyUYW%-%<3hTwbmdWW=Y2!t^;qepU@ASc= zrJB6Rh8rlx%MU73up#==;EG$#6!J`sJzqN0be$+mbL)ylinUs!XubEB>^}cxXK<Ff z_?+3n!A_{-#k~mz*MV(qbrpWHu?fm0$J6gmk^dHje3oL0sh8zWcMd`+HJ7_bf?=au z=0dsJ!fg{$5)tOaUPzU?wT{d4>k!fgNpb|R=qqk>fBAw5r(gn5C^Ax%o=)~mOr9Kb zZkHJ$c%8n!I`-4FR$wCi0T3Y0kBSO*GsR`ZS!{@<l9aUMtLPcmOALy^<-%d5cHH*u z<NcL*pKon!J-5-=eN!DFh=aTZ+NYbJ%ri|`BM*-MeFH5!dk1u0jn1Tq;P>vaA{XO_ zV<;>>s;a)?<>d{?3MO=?vR@UPuo%~8Kb|nnkj+)AV{Fy%KRU92Rn=z<=equJh51Pz z08J=Eo_q-83(@K>g4Wk>Z0svLes|!y88hHXA52a6#RY#^z@t@}95{A-u?vH@eZ%V` z!}+JRysw`CDP6Wm?*#(`L+CXf;Q6XxExio>-S3!0PKY1P72;UKE}XBzzgjz?e6V?i zbiKPwsWgqDA;^#PgURBKwaq>?n@wEBFwWxj&}mEFi<Ayw#fx^XfcBy-V#~^&_8{;3 z<7Kbe_mZNyr8J2%sIi19{nl`V`xqir2;)Rj6?m929kt6eH0aZI_U0YG&170q-}$vV zG1&Gi8K3XP>QW}xMO4eD$HM*1RS5&Zq_N+92VQ1z>ur#wefsGC`16`e0Bdc62=&ca zmygsWbYZ@`&E__*-G&tr>I@JzPQ^lzFsx+j)!Qq6;lS0+zTe@Z4^3s;ybqTMgwkAD zPuNdTeLbw%cDz1E9*?$O3WX|+mYTX|XNOuV(j4=K5698StM!9`=nEIbZ-PYtu=ZQX zrSQXU_%<ss=MfOC&CJZGSy{mZ<bgpk&W~+}<8q{1H*fvCfl$8PfH~>w4<A0v@nAq4 zcX{@^c^;De``8{A^H{O_>4P4F-#Id98HCkgI6^S;RPpQAHc*kb{-LV+Br4kNa=7|s z{?d6(Xk+1!mUho!ZXKYOp6O{(OG_qL6M#YruViulWfg7&_U6j!DvP#%q0c_2nT5sP zy7F}x)JM@vOH0P<@Teg%CYP4JaI62>zY3?H@j~U`0^8p)F1p``B2``j=Q^o@K%(cs zxsv2&awE45@y}t^8a>|>k{pxi=`)`ar2yEA%}$f6O=^X6W^yh5(gvr~Tu<}HSxVD> zA8i>dZB6~MJj4A(E{FB(O!hq!9$}BUj@}wwlf!V28J^-jUbm2>rvfRSMAA+Iq1@yG zFY#5Wg9tMS-N~McUa5Bmu7_>CHizZs-JZcRD&LopK~7n=5_jC)Z?H_Je2P+i(nv+C z9(^PuF7EeYTRnfYWX9=%)oNmJlh>cHjsQ_k<Qg=`lMh|+lsop|Kj$q;Y3aWLs4#m( z7;@6>J13P3!J@EUSX!FfKV8|{0#93c_6$T5VC3Yh846JwIJ<1I=Z7$IA)%n)*r2uC zo)V_U!VPY{P`R2VxcUi=^&U{gOh+|?z2uiI%KZr4!J}Ki`S9}kosPD4&7z5>f6?23 zR^!^^*@0DO!0>*-@mko}*qq|Ws@mGWVT$1cJJ&mWh$1s5$Eff6og(FMNia_I*bnx| zflZ^oTH&X|Z>>9si&UAar$eZ2vWUESN{#--`+KRA5jnY}x`yhEDc$$cd4jo0?vPj& z^x(<g_5PxwmSndV`&S?8sP_kvXoq>n)o3fcjZ67hC;s%SlS>-yQ+Mj8!}pu(KNcd@ zesW^hdXzZ&#bo2|>s+K(*@#=o$Zo4USA2c*slfA1F1Uo8QU`!!C)Ag#aFcK!-IiRB z(x6Y`bb7>4h0;<XmzA2zGH2_%HDspZ?|ZOU65@_%1s;nqCr6l|0HnGE{Y!U;90x6J z9YoG{XkhF{7WKyp+<}Nma>oxU5=6E`+zT+3v!7svQ+c7a0Ss-a<gTv<Z7U+N-5Jg! zr!$;lhn)2ZgwoKLVKH4F!A%u=>W*Ysd58&dmx~m5&<C8_VZX?$3F3L<#i3u|geQN} z7hFZJa|(F>HyFu6OC+YCz`mu)D<I&0zs2WcQGJW(b*dB7@vo9ucgkOHQ26BLn1V$G zE8o6&&@jnZFHQjkhikN^^=LS103Mop7D-K+KGTO;=I-q^wfP$2t)$5fvHFvZO4)}o z@6=`AB9~{;U<<3zhH`uRZHu+G<~_A+Aymh{GP;%B`Ce1x)pzz^g9e15LjE#abvilE zM8Bt;&6>+mk&=Rd&>7%ZDD5*o7}!pl5AXIzU!em(-PDvWIm(6<LQF73n-ryLSVS;h zLyYYK5`Bgi_^&6He1ycLH&O#NqG=b)GA_L^nDR-ZKYyNYG+SrPqg*C<2t&0c7~&|x z$;|$QF!uT;!n&G3LQoCm3&7d?$JN*Nb!EVk_l>^X&|*KCaRz`5U0T|Dt8^J$Hvp5g zoG1dp+st1XCB*85%Kcl=dYMBHqD4DGvjZ;({ip5?s&7rh*JzS#2ppgWnL9o|?e%eR zA#YDfYXfp@_sR-!u%d<B64q)k_A2FdVPPSH*#NM2G{P@q*9!5bpvPPe)6IHv^VBbe zB1eVh^M#|X{egGV*KYQsW9RLXxc)7leC@D+>aF{@dE|ct!c0m-ar7Q<F4pzNlRin) z7g=$i&*;{2aChsSqQ-bAtg-wz@15>lGLf`8{oLN(^=9Jm`>yq<uFo3CvBNMm8@S#l zO#6rr(X1d3Sm6fa-<C_Rly3h0`8DR-px^xlG|wdIapf#t=VB!@T^hBSD*}fc7AFy+ z-v{akbfnlSeXH;K1O^>W+m*lN#Q}!A&d&k9>UJ!MchbeSolsO11aA)xIrX+Gd-`v8 zaN?0;KA1jfVzOHB<F{Igb?Y&Ygencj*P-8cu=0WLhRmYxaG0*F=}@)b#RmO~r>7_G z|Ksbu<GF6b_Hpf$C@Ld+rLvOBmWEMgMksrwviB}CBeU#Lh^PqJA)Bm9LRNMXLiYL{ zpSqvt`Tq6$qu1SV^ZvZA>pHLVJdWc$PW#T^gt7<d_Cf!knbRU}tF~Dco6Z>DOYJ@z zsDmHyA}ec5XLD2s^HymJ&Ft*XqJmQ7;5T3YgD6I(nVu2fzG=_}@%%L#8yohSRu$O= zD&;aVWU11u;ik_9-kK`2=ln)o6r2|L55<TX$SxY%x4B#|P6&1>lR|84Y_}Zx?4<J7 zHquWrTFkR4@+a_cwT@13RgVY+#h<_H`q^vX^}?*z{MDklFCyAz2lOAarBU{D_0#E@ zSOi_*JaU2auB|~Ro1skX_2SLYsv!Mik800pt{QM;a*MTilU)fouBdWEkfv_gk)bn= zYkmH$vv0ZeE@xAw+?|6CIxG+fhwQnamLsEfl0@<rxA1AMZRT{1J2I0GDR30^X*1_= zkorAxWcE$Ii|E&V?@G8)voS?xn%CfO>+`sb2Szi}6O)lXmy`&_#>R#kIejkX2eZ<O zn_4)leD%(B#g;pk2O^Y3r3!Zf)I%^-K?}%W(&j``s1Y>|C3Dz8vZ%iY&(E;1=eTUT z^V2h}0$%tv9NGht$Om<+qLR{Sy}p(4q&EB#pKwRd5eRJ2h^&_x8G|<mR=@7q;yEEh z0DveW9qjGt-^wcsrf;~d^$dvpy6YlPAN|3t2vl+XM!9aKrxo!pQtB==t)PYG7MbVp zgLRqL>K=@Z2`^nT8VfDgc0Io((AIQjCWx2DtzvB|&ZWBdkL~&VT^Yp<76OG2i%0E) ztbabbS}NYUzeh?izqPhyOT9|tOm3RWboJy0iO&&p(Tc~hu3=7E%fG9fN#ux=Youf@ zZ&#Px!_mLQy?=9!^yoe9>R+ZlkH<?nxGb+LCn`uJ`nhKB3Q-2w6qdhtx8Q@IfJRm& zmB)eAM)kK(Qv}!Ty^_51(jnW%`;GVN?&Rsc>9#D%d+70g`PYsok&zgYELpyopRJ^# zQbRyFOiYf$Qf1D2qL%Rf3Bz>(3J`j4&CJYh*?zjBqN+;QF&PyRQ4JMVF%DVAt5-F* z`NI<uS|CiRsb>3&9!L$nZI>TDHn8mbBEnKd25ic!P4U-uLs$1!9a?qPx|7(D*Cw{S z?%Ve5z!w_ZcxgtNA405#)G7Dg>lYlX`1$fhQ!A@!;nPf-S;xa(hKy7sVN;E4ktBx# zYd-Q5cN0Cc-0P(zdE-clTZ)RpDHdTKO5%jUK|SX^t|TNOiZ@gxkVxv3{E9n1lJ5a= zU@_!J8gFzZjDxNI9(zD!(V(T3u3wjwkf=PKEGB7nZRcQ@i=e5lO8ag8i`+tzwm~I3 zOM+={<ZP}ojU;M+<5`umE!}lRhEL!}O36F&t&c?EoP)MSKb8&*E)=~Ho+>Kq=E&iw zezx~YZSAtF8&wc{Nl9rXM|*pxLU8Am$R4LE?am5-lteKTEq_5efCrAuf!7%K*7vik zj<OxmRx@0@&3B0Pu*{{-a1Q6gTrn54Hyq}+)=6?bLN9Y(HJ9i1@^aVD*{k+4=F{Mz zxjZeBN6W<Cm!jo%Hy>r$f3!8dqL9LilY;a>N)!3HhzH6?o0&2iR8-=rM0J7Bh`+&P z5`MYr@p-EOx20Jqy0&LHiS7FLItCqCG#hpevV08jO_uTIPjFY&FHuTX^L5pz_6?4I zn9QpBOF>k@X;REpr+jCA<s}D>hfRYLO8nb%4tk|{MZY?lJgAo(b}xtz87|{9^1Y<F z>Ge_)_UC+jd<5vaSs&Z;Pb@23g@Cc~d6afQ)?`Dj2>0-sX?lYFN5K>S^9&KP0Dr5b z7`H9k{g5;%P0N$$=zjfk=UGMDkF1IdD!z8gGN;crsf8-5`y7gSP;MXY?8)_-OZ}Jq zD@lqcMr_{OtEotgU$O5f6<X!s;;O&Lr&}oeQDxV_58l|y`?a?Ex2nPGMMBPoEY(tg zmjCQos~)q$*{F*3T`5ZMZXW)(D#7AI73vbpd!s``A9#}<vfZuXZ`QDrH9@maI^tF6 z+gM9&C$@rP=5^m~mAz#pH0Z+K6I~K5&EU4pyQ{E2Nh{Y|Q8!w;>iz8-lsz{cQm(Q0 zcb7!8i|0K~P0Jm7y<lkMl+&F@Mek3iriK2j=daBe8mpUI-CuFtv}bRMOc2yt8Q5G* zc6{$0vSrb0n4D`(bM`E=Oy=JR$IM9St)PB^^c-tYc;de1Pt;%Ra#i=n9kD+;erEjU z4Fln+!w(n29vd{UAK&do9ak929Ob8cPrl@vy}@I{SL`vJ1MYDVM?HKagX!;_yc#2F zLfThmwv$CEVBfVL)8^v|kyEb5{U`j61T8HsS<N+GL+kEP9dXrRwg{PX7VgI`>>MRz z<%|#S-#REJ!=0n?(e};L2%aWKl7mWTOAP(bK6-v@Wz^%ndcpxW7bV|srwyGx<ywEd z$88%(AtQG^bdoJympJ^BZ}`K|8v+Nu?4;yM@T;BBwOFGMlJt=lxXdBeQ1G>nRn^B* z*Yd-{y}Ld2RX)cL?c4RqPODcyBAQty{PykW%CVMXS1xc9VvOfrY}tsK<h#qZG3Ihc z*~#A}>RFrq9EmycAwS1z(mqpacf+jl;G3rCDN;@iCn}q3VRWSYT%@x^cQ}b!FUt0x z+!uH)>|XcClg{D010NDadw9FdUc??rkx0q5*cn%S#Z9aI@nnoFyML`dGZm$Gb?T&0 zY?|AUuk+uZZb^%-wZv20-i);Hs26jLs~<W^F2i~u@_p8^hMWtkF$Wr>b)^)}3k#LL zi8)}{Ln6R+bYJe&;mGk&t$4ro!3&=a-YxZ?>vwz^)s`rdu)3@1w0vA(qteB}KgzR* zJ3i-`?8q*g+wL{UIvzhuJ=UTnUC?8rKAz{X+eYGGn!Kv2)n5csLSP;1;caj?Ju8e& zf=RcX$-l0o2;j-Z_;4O&!MyMX>JQB;$j;C_d+6D2Tvs4dKm6vS;+XMR5c7vgg&~_@ z`+Wf~l_<86&xrWnv(Y<|=+k}k%4oB4ahCnIu<wk6w;w)xW-lacZ#8CeEVyX;Xy6g) ze4>*97X@hR#^-a)dejbI5#-MDP*R%RV-6|rZj`hfCr&&oER2HPub~F}!M%)4d`AN@ zv6AS1{ji>+BM{4wo+<ViS^dJEZB#Tg$*HM3VG02E7>-k?SjhbklKSOz6UJD;A2pnn zRYu>?aHp#3=@?m5h@boW<u6^@Au1|bGi;TanF&zzl#!9q@`ihEUfw7EM~WQYS(A|Y zH5;FiObLsRrv;XZ|1+j}zPPv;g9Z0zcgAJtSXrHpO~bTsLesyKlhcLF9^~Y_^dWoT zY^tNfP?AOQNHQZkJH4z7g92!QzPP!$3D5@13QibIb?5CV?UQFECpcp&D!xY^oteqU z&tC&&?OwlX2m#}&sxE@W4QCykb-ZnA3OG|yQSkyW2<>c2*t?6+V?MpDmI)Mf$`zIZ zvSwyn_%y5$GPk%XXB}zf+A-cG#w9Ky;?lKi*T!hl=2=oJ#>d9w9qA>dq{zN0UsgK& zb8_+oCufa$p+A|x-|!tA{Rg$(&-{G-cX59=qvke&wO{k3C6A;cPfH)XQlD|Hi`D-S z-G}>a&LZoR7W9S<(cde~D-IM2UA`3Tb3x#NIIRI|*3+N+<Z9&uZ04ySoqT+x^aOWH zooNRZJ#FecXBsCX)#$wW)1xglx0@ubpQN0mnYp)d?0ACf#N$>YNE9Ifo>8U_U2`p$ z*^#GE3TTIxv_9SZPBF`Y28eha8``%2%eS>riDJcrVD+JJ+3oWFVn)}UoYI$JDdoSD zyo6Nn2Wx0dxg~wB;D?~Jl~+aInG+osc|=O{o;cN#UY*+)ZQka4IsVPd$Mpj}o<6*` z2N+-P39NkBVqUd6MzsH!{qUO~UH3?Pxyg1NX}6?2cU{%tvy^>en6x*H+UDlxrP(8* zWsQ+jf}2oLQw!QvCKwd7lZswGpY<5YZfuql+}w3j_96QpE^ck8Q&cXGh<$MR8+$!} zo3aqd&b@!`Dj&PK+A(P{^s;lnwl{Gc8@HjQ#mLby8sjIG6hlKeoA}S2gHrIQkZ>sn zC+GWn1wf%LIynilu&|&IZ13+6PUcYOJPMeSKE!W&nm+l{Udfb08j+axK6d)$8lgIW z|DFgN7+_2Cr`uyimAawm8wl8=K`7{vyJQ+#5#v9a*qX4g$L^;&X7UD>cbMIZ{(1pg zd2A6>Aa%N-VXUT{#E~^9I-pBhc6I+{FYLZ`@R?$?A)kZ@eZ3){QJn?DDgVpcL+UR9 z2geV(%=`d@W+O+3)9#l4`{b6chX{l(ZFu*+-Pa8oj5O#c1I#Z*9xrc0{!G2JHZH!k zBGc52HvDx=paDd)jbOV;MCi#U0y_aspz%r$Kh#lHdH-GYhd}b0GxGlLjDX*bgO&n( z+nj{j^IMFo4f(>PS%W8X;2~GHYlgu$nYErTu4&IZ*^k>~dT;-iu+$uA*t2`L(~oBZ zzkj~W{@mC1sLwp*?c2u?na+;#=tu&(Alh2c*=oslUpR%n=!R;ttpRUqKuPsj8i4Th z`i<erb+3<6QxB$#mqkHv;Zs>D(QAGlio20x14WUUnWn=9attOI*MTBD`}k`c3kx2T z#1%n69RyRx{QR@SiwVs@nXAusx@w7NR1q7z$loO=Lw=0D>W6howCo?V{>zR}8E9LF z$3&)AYg@W#jXC{Ag2KZh6z-<wGBbGHt2RDy`24Csj>njd%+)e!3?tBp{A4GZcW-N| zy-8KIR+pDi=DKmxpCwzt8M5d9t-i$eIYLv(%dAxzRFyy(;#OB7LyB=*`=*iqQ=?VP z#fhC!VJl)`Ebf@&kiWRipbw?&1QkTE;J+)tTMP~b@}w0M_-19vYrC%;QF|qjw6)&G z05j6%={x}MXiazmN#0ycTfE4#W|!$=_&c$SCW0+C5ifP9n#;|-KC41}{BT~oKlvm5 zx8J0FFV(0VurQ;`Ntn?SWn^TaqB6YQ5K=#EWN1j0-tOOh4_8G*RMfQ_Hz*OUNytJD z?%nw!BSTVE6+0Fn?BSzFnVa|swv9T+IyyR1hhP5b?aSp<_@=e#rOsvCyZiVfCvM4$ z5}TX7cjUL$MNS3|%w%p72xY@YavW=?(I+<ujRt^T3kuHNxqJ7_a3h;cl_6gaXx5U_ z(i1#9$HS!Iz3&RENkrL{PY-cTkod|fMkg+53Rt7Ekq-C9)&qMMQcq1q_4M7lc-$qJ z8=;@0o3E*K*hiOFnwKiIq$CzUVBfxd0Adj1MCi#dcqJ_@Z8vlPs5saoh~ru!sWX}W zB?!0nj3Dw@xX%k6<q`A8vEE<WCuY9Uabv5;+s)eAnlPOaWZ-ddIzrvu{g>!jXh}gZ z>NKsd%ohWQd!ydJCG``$#yF1HuJgUW8Jgp}F9QxRPUxI8TKr`^T{JA8=)T%$wKW27 zx(J|CzB~XRL{@*KPz0Ou#R#m7)D97o%M0vjEu;N$yZ+4USVR5*HXeo(v}qpoq`4nX zO4GiX`u?3r+v1$q0AqD^_0H`Qw4}lyrXYIUmDDE1Pg6T+Nxp9v%p~wn-@bkGmt?8Y zxBAx8gP4cQnt-pfl0zW|>(SV>_AY_phb1|bCHorMPB2YRvd}yVpRsKpIF`cO^RS5& z%Y)WCFd$x>O(dkGASxl<puzP==%Wt^*oT7!Kn#*qM8?pcU&V2)Vq==%E#m_It0$W_ z2V(#LuC7iJXPTA%4cUo=-nK!@gCX@;BP1N4#Lj4}LUT_@ES^5SkIVQl!NpqdTwLRa z56KwXl-+p^!gKZrccJ%ft*vS4>3*<&BYr)lyyEg-K1EwE(zFVYOo5+fxL&;6>>{r_ zhxl@(94={dKoMlUi#IA(kKie8ny-8+(xturdTMKP=7zG4P8)hd1oZ|iJl32E?qNW` z&zi5$IrLrubl4Q>CNIKPm99A}bKHQ3gRwA&*hJ}ca24}htg(LV$V~U-0y)WUq}*^0 zi%{qE?VJR^?&Im{isr9M(7=|(@zB4>PCB}|(cxb*E(nS<cuCYvE}(Bt4jB#TqQ_63 zD5<JmVLT|1Jm0{RnZkRX(y!6G$GloM=ghB3HX8b!PxJCHTRAce=>?)arkFl{{FoO+ zHQ-q!UnyBx!N6j0eja>jss=(5g}{P*j>u9d0Zcy5>Y!ybG9uhANQsB^g!Wx;yF!Y~ zL#y*l%<QR?CpmC?>hdaTYF<TJV_qoS9>+u<f`h;3f`r62NK)|afVyK^h<9}crFb}N zSX7k5<ucxXg%@e(X$vNg;Ya!LZj08v=1Y20Hxxtb3oACv-2bEyf>VG@>EjuXAUr?a zAF6QHSs$KTH6b3ZF2*E!nn2hfW!^@he_I5{<GospM<1R4`UVOQdZ!V+aGBG6VT`hZ zjy&A-OKTbF+%dML5Mm&KtmC?NJVaP+C_K<?X6hmxouukekYq&7?uh1lif8P$-$upp zW(IE`jun;OqiDSPu>KC>;-ftB3$Yrxtakl-j1wruM53DPK91LdXZSiZFuMMJ{CYSm z!qT=kny)DmCH$%@fBbk+)b+P`qP3}iN34r34HcEgChiLC5nv+qdT(62)|9#iRGHG$ zJh7HQm<-J}<_S)gv?9A;XEhU6G%{lIzwEiV7)(5wRknBxhY>Uv6Vy0arPE_UXT*dj z#J`)0C53$Zwo0s1FEsg<(Utb`?ZaB_d;=j;7G-mk+N(VS8l|tFIN000(Yv|7r@y=Y zy>4c$o2~6*M-h3B!}>^I5ac+I8d&mncxIW><fxM*wK**F?5O)7`WP0EvP<KzzLP0b zDBQ;oL3wmm0EdzyG9)PI<LA#8d8ul~=TD>6D8oRrBr9Tyfz+=);o2&#trh}rP|tDt z5DHSikQbW>_AxF`&UFY82z5_J*IU7+`-{^|;Y#{xc~ehPYR9WvPTfUQ@}hRcWTJn* z*A(u`ZH79c3QlMZfYika`lVQYMg^lr(Ld@Hwl9|ryKVOGn}f<}GX{E*gNVZrLM-*p zM_h_@c#~?rmh_S_o`bo3+r_dnb!!{yuF|NYKC9k@YPP6b50g*cj=jqFEHrWYRc<c% zeWY*3e0KHvr^6drL34m70aFAom8>jo<lbk9YY3Ds5;HF^FH|S2GR)-up--M%;iYP3 zeKt8gorXFluUnQcruokoWOD3~FVvYA<^gs2`SYhErnOE?PNsnRM3#Yw2D(L;S0Hk4 z_U^crI;d??rKrDF)6b!T6al;f@|0^@TF6rAV&)NhkuCcA`VwqY%F4?AEG+01_7MAA zB!oodE!6m_m>U6(Q>znn7r|HQcB~|l6=VlEaYO{N25XfTjLS%!Qxcc(xj3%&E4{cL z(e8(%4+_!*t%l7>;tY5g$kD0j>C+%rc=n7*Qc^M+t|#aVPc1J`yv=_VeU0p&KxWsQ z7s9CF_u2+{gJZZTP&XlYg!KDRU~LyPdoXe!IO~#-kUX6ff;~@O_m7`H^+8uy3IsKc zUJOrd79{?=1>zOA6>~NLR0L%gqY)VwSDmFbQ}}RevO?Rcfe+!LXnijG_jj*~!FThm zxS-_(B<<{utS#m<<i;;9p2LNX$x{(o6>}f5=lsOi!%C-1;sSX#tBOV}A`W3JfkMP( z-iIcdM^ef}i%zAVCihR4o3nli-*yUGdpkP_vLC_XgyxZ6o<=v2c_eiJ_{mBAZr{1X zOdI^My<JXCO^tn9RL32*7}?~>gZ|!D0<;_f0hyT`SIP6bJ=30Ve<jW8naly}WZF5O zF39l7oPu#juR|%sCM<l`ybLWg;L<cSsNE})=H{$Xn<5GN)muyf&NnmD*3K>r5W{8W znD>RHrN=ZP&ulC1oMby1c*y_qM?1Q}+Hfa9YzigSCtyN}aKGiKb9z@3Gyz!Wl-%5K z{Pg-^>e56)HUbF(_z<t$Tt56^YHA9f<u~ZJ&jSNV6Pcm{0@B!1ID(f`lw8Fa!dXw_ zZ(yYzko<kY8M$X*Z56^zo!z|J;a!D2a-2t54(~&moYONEQzDt71kn+8E%pFkOe*e? zU%$R=I27LkGf%$HhtHs-oq8E1E6{n=_|f>B2!MngUsy<)*B#U|Ri~fx#<ZRN&Ye3y z@V9tw>@F46mOtv!#|^>HFraYZKYt#3YVU5Zm?$>nA~+8q>v6p#wVi(^T>7^dsUoHb z-2voo7D~<tR0)nWF?X|yeLG(2d|w-=@b9sxFsoYi*-ts!e5MV;vH{T_0$+|NI);PZ zrM3OW6xCFV8{-(dIll*-DnFS>BGDD{IA&NwvfXwlh2?hRi1!peCC&|ubg)iHO$eaF zmoGJAEjKZo8I@L$Bt<~7E-%$b{v%)?Jhq5-?ARfYz>NouO*<4)FEIL885(=C(AaB2 zF)F+?2XFugK?3(*Sy{%bZiY0!fa*bA42OuhpMxaRQ6#ulzww>-nYb35aqRYomzfb< zklZ{bzRuLaCQO$)-Ie2oo`)Slaof$dy!FtqRSN-UntJ?s3;NhJBQYNE!}Wa4chUYP z%RXCG^`&=WbaWI;j1TbS$rJnrMISC-<f};AG(d+DfjJULkdKXvgHmz0)eOGLFERrf z4GCSd907cbD<!;VbR0^gu9qZ|`mxNr{4Eqe_4G8s@DNG>dZf8tmG_Y@PuWwT?l@y2 zKSoP)>=-sCRtD!E5C+6qI0-l^F<DcgH1?0n8DJNN)Zv%?T9Hjys!E6-f*c+Ye)tlR zqq1Zt<l6ao6bJ?dAZ~)1o&H@9@uAyR@;luV^4hdp6x^-J1~#T0f;ntn<8~j5vlxQ< zbp&^1wf6$@FP&k?ScjmK8jZZUX>;-8M%=)9B>KhXYA6(F=L8@dVaKmD$CKU)`HgiP z<NVDRI_;YK?_s^|wd%V*Nvz+WEjKb6g&s&rQ!}7vDh)g^j+~~ZCQ9iKZ)-@=89a8Z z?ZXG=^XH>b1)x;S<s7y*(c`Bfq?Q#GNxi+GdyhrkZyL2mJqw6gifct*=z`pyj6Lp= z0tqv1rHS&)CuFX(R|~yMl5NJkMvMM;WbrN{qHC9hZolom=hy3=OBuJu)3ddV>L0wk zEZyf$h456XaqI8JGdiu6+No)6f?6|wPUCQ$ICbh+l*k#k*QByV1s-(l!hSoZJh+w= zhKfA|b2&|Zp6hO=2kw^F-3*<@>9`gK=W?slQ!#&!QPPk5?_Rukh~x6;n0ZlH;edM} z(!CJV_LFsWD`qD1V_dG&HYRSmg3$Di#@n<GI#jGx5KrPGi*HPn5m?7tuCr|T2SNA% zws&;2yv#1IgFtZ^B(t=^@ShZW?THcFJtw)ij%YFZP+WB`;nwPuVUK`fE@vgFLuT`6 zo@MC(nS48S6IuMWXGqk62U#_-H<^odmzz$Uctv#QuDI*Dd92@cEiF;*3xV~+*s+>7 zZxZkJ`qJ5Hz)u5_$7SZQi7*QP%ScZNnhu<CLRTf&bXM3>0=&cO;amdwi@7gwG*B<E z8}JWDz(u4uKp_Em@Ws?j*_&wAkR83{9=f5U>#7o*n#hn(cFg;)LYR^E{5HY&=tpjW zeZa~}n@1zs{xLL$2cAs){9oo7wybs_>8yPGVP$j4Vgy!^(YEw>*OWPTI`Y=%qAEsw zD7AH$rbUsLf9euQKzTOzV!gV&0yiCT;{*}%IGU{DvB{xEa(Swajg6vPgggVM2-qej zzRmg_?!Ub@(&=GEeOOMf)KR1rH#5RRQJ*=4PB_p|gCuNjx*KX3L-;u|I+}x211n@+ z8291B)lK|-%gSAp5I`(9>1<v^n8$s9P9I7XKoIEStI#l%1Hq!Rv$HfSIYJwRk$6E6 zpyHe0Yhz}|YHMo|J^+{D(K8*X{-HPWyq}?8dfEB)tN$scy;8S3v($)M#n#>pZ{EWA zlPfm!@m5XR*d37k$f8@HAlyt%^+pn<t(oUTcV}vu?66FgX&7<+S$?g0!_YU;*Q-@7 zo<1TI9!lgzBD0V(@v~H4s5$dQVwGDjYMJ*__U)aWQcwn?N+<Y%K^BNR&$6@+kIXNZ z^7JXu6(y8SZwm|aZhvAH5)yjx;>A;}{sqSSmAZ_eFlHS=>Vq7F5R96ZmK8NA!lKNb zF<T*OYHB7P9<ro1zoyZud*@hWGN@Te;|sL}3jTtvbXxxlw%(x|=-5hdIG1!VX%``F zu}s!1b3VexW<=q9*Zo!vtrqaH>kxF5WGSQiLGA@ynIQc88GFb6ZO}l$$u{WN_0Kle zM9}!qQ^b<;h1$~iv!4y<W%sQ*X`FJIF>~lG&F%SGrTh>FPII%VH6BXblt`~w>&ZK( z1`^7X^@n5+pza&?93$J87}3bup03cw`V2{C|MDb<r^R1b%v)g>0a~+^=8oDA<PB>s zCntx1Hf&!?O|y5~FhwXeD=#%`<{amrAl3$ZD(ZbF)aCdB(uQ)ViEGcstL><a{s0lc zW~gT)Bi;Oc*Copm_l%>?UL=y#@$9@!5fu*`8XE=K?GSn>$Rhtn5>G~;q6h1Q-^7_i z$zWWZ%rP=P-rn0AWYMRl>uNt=RxVI1&vLA%%JJ9k{z?C56GC(9Pw5}BHRjShWQ*X4 z4Hi%R{<eWNSZ`^;wy|P$#qDutOX@_bvXv(5J>xeqmG>S?r!Rlze{`AoG!wO^0Ik@M z#{pGRr$i55P&$kp2v|MIZXl11vMcuA%dU};q3-|CJdl{^)i<-Gtf&}DU1(9*bH?Ta zL-TLTp!B5v#;A&4b^3>hhyE3v+lm?YGI-?-woqrLwKGWD&C~C_WAI>od1^z?tXC|| zTgX&{VSPxq!g?Fs#?zjO68ZiHF|iwBdu|D-MFh7*-(fm0Ltc{jA+{Wj9gJre)KT{W z5h9qEL40VK_Vv2z*@)Y(b8?hKb~1G5MLJ(VLQVABxeOX^9OAzTd1Rxs1uqp}dr@Pq zEXQG7E|hZZ(7oYg|I6`Ms7Um4)RBE4(;BiAcv!2CH_Tug+xjJFM{LoFzezNKlJgFc zO5CyO)LMUwSoFxl$<;NT38NS?!4qeVT{JmAM9Rf+e7MUTCL1a%8TK)Q$5wgBp3q&6 z^#8VnMLOu3f54VH>;lsqaB>>f@12Xw$jTBkyq0Nc>uHJe$x5sdsdRXkMkLY(R&xL5 z{fDLHK1C&Zpe9KG(6Vp;ek6P>VbY<p?6_|THH)8Lm=Se)yA0=1WbSCAnRPCM@Qaq8 zit_(nf6{$jV%a@4oQP<xt@6+sAbr5=sT$-Z0(~6w^aPHub#dKPPiJR6Xd3PtNBu9; zMx6?D6p>^OyP%{3xPot+COdtn9lzYA4i$b?bmrk2?wrzQI;-F~70S^5kvA-{katq( zX~f6Fwo+V&A}(W@(8SZodixZJ6x`Me&bUq>^d`82B7#3qX}Zf#bL2tKY4#?*Tu$6J zsKFjbMX@yTA>&GX@TV687@^08f-NYSgX&RT^ZG1ut_zuVqNh&nM{bmv8RMd^tPGqB zLEW?RyF}ire^<)ig;I$B`c(}t9u-m5sP(7*{s(>Lmy`~#uC3*0z6LNB9v63wm#XTH zT+3ZCfHQy_f3LVMyLuTK8GY*PyyosMh9VJaA|@(@Jq8opBM4_dgbW_UmJgiEsIl$g zS>7(kr~V;xZ}b6aKIvT9NMW*<9l@QGEvz@=VE&T&zyl|Btk(1Qr`;o<Bz}|xHyWZK zll5Jl<?&CI4Z#ARj#C~km1A%BHf!&h8mMO4$g?dPKK^gbE`xoos^{uB;<&S7p#J;Q z5K937rPvSp=i+$dS}+6;ONSI1BR5R8zqBnhl(v(D2Z1rfPDl^szU@nxPR96|Pq!cE zwXV{Jvl^A0X1ERED}%a6UbpwB+p)HNCgN)vR$k(%iw_P4I6E3-w@Ak1iX4YOIUk-E zNR**QT7Lc$^tl3%j0S0vx~=42FajeiA&~X_=Kl20ZiQJ{=A2e)J7Uuw-8KDUC)(a2 zK<5hCsZrz(*!ApSjBtHfR752c{@YO`f?lDWAH~Sd!3Xbuc#}-{u^ikRnvlR^zIyuO zSB8->N^}hdR%CMYI@8~ScPioH1WHM8I%sGh9AZ=pgtnA6*^>PwtTK25xH3z!&<oN6 zl_jUS_uq#Dd%tsVISh+M{G#2z1*N`mo?t|Wv&Y2!$@lM1(Z$bHtZ%5z&i2TjRnjau z<y1nSnHet2er8f?$2Ou~gK^8JiUL6r=XCQl&aCaPm%QFV<^PlMxn{$GJ0yiCT0_SY z-@NXOHxvl_nep_lkc?{eo&3)qKZZ^eOj`=P>Ar^o8>|XG>t*Icz*(_AmICpOHvn#* zX<zzRiT~Z3!*%G%hsVh?oM}|^&oWPfH(;g@@nHTLMf#y#Jl*T(1x9HXljEvSp1do} z^SR9*keoR(W*E|PX^JI-^#s?6%6qNHdbYacjE;oVJ55-4m`ulaV~;s;zM!S1d;aF> z{njk*efzPc*D;JLIrC&;pA#je>n1~EOG~YBK2sw(`9Z2{0%~IC#x}yl#e8e^>xLJf za_oC_CN1S|#(TTII1B4(K@$p+o!D%*OXN|UKzt<29%d91wYliPT{hBHNPk>a^sE%! zn-^7*J@>CZJ6vn5m=kN5oax>7^n3H%n>4w`og;)IsB6j|R4mFL=F+nNTceuJ-ri<t zVZHmzfm;!h4}fn3#^=b9Bf|yAjGm)2M3Dn9#`^nQRaIQdNBpW28^hgnW6&^f@by&; zM*zV_2OWWo!ac&KP7~a}E}Wb%Neh#%F`fMJw6xT3*F31~PmR6ZEw8jH9#na{hBq1- zGsp=SXyn^zjTd+D9DGz~DMZH^EgrJ9wvo~tCwwfh`yvOe@x1ViW#zbdTh+=us72kL zMF&CCPZ!lhx3)`vw<<+k7N8}?@jI}v@O1K4k^Zj9^Y?UhZVFGHf9KOa_+FfU=X(PW zXXg3s&oKlw(QVU-#-v%dKVI<N%Ga9=8suk;Dke*FL~BgjNmyCWY?LbneZ7}^fLxRB z;;m1LDsI1G%RHt&SF<yRHF$Gw1SEs0w<_%e)&$I}`N}^{#@}=xc>kW@BU__99*u<T z8MVPxbaa$t&7%}kR8|(%8$j)k_~*DbRS1X_I}$}0Au_#wO;_3%%y|teB0i{$ZMD*K zb3Jh{y;8fI_8f*q$Fe&E(@fDj$Y-X>hKyO|#*NcLLLbl#hVb3rFLw9}6P?1e_-IU@ zamw3ND!KNUj;@AZ8fS7eIaMA<9U_%lZk7pr^X=7(fY^z-M6t~r6!LKMN`L!yr+?1$ zN=YkT>+L)DMl5(Ln%@=MU<LT)lMo&CKY8wI2$!`}JyL2vQ)!$x)M{;zrva5hOwMNl z)HBhT{^DiEv$T?c2M;7%-Nlb{-D*gKwS{1wzo^U7;DTf5f!#-&<1ms<F#l}FufD<= zmi@OPWPJX#T%~#aY9fsKQKsV*{dUoeXS>bgd~{`*GE%j}e;6#WQjz33%xHrfL0W^W zLP=XYxX(Pjv@{Mwdyr%`fBbk5Xe0?489|i2d-raf?;j=dNSe(HDFSPe2rnzH>?U1Y zV*X1={aYJIdW(18hs8VI*5Q3t=y$@1G7F<IDi3ji2f@Llxw*Y4SU!LHBmq$U!G-%6 zuEW?7u5t6`HGmjIFy^hrRi2}cE9pX}3*QA7mpu@D8|dnW4h`vp^^j9iI)sD(#6oz& zR4r;;bkb7~mwVhdq>r2aaF0Gou+O~E$URc7PWF0{LHG50Fz)X7!mqc|oJLU0o!~yH zj}1AT_9J$FD{pCRR`tu$=9W!lUQ&F78`A^t8ltNQZxJcI?1)s&`j&b7brFx<wkXXb zJvS$JOB-g`Wjpq~EX)tteD&hbHy4HiPfzVn7WvFa4E;kdNH-+rwZ_M+Y*<<Q(&jdh zb9%SU&kBT}nU85R`8xbgZ07aN-ubsDBG!JbeTh&Q`Vz4ed8a4W?v&52U8ppIUvljE zz8uC<YGxI%(fKDsxje_^M3(8Ip!wIQ#dn>g3VUAU+b~r2ur*AA9g$2Sh)vr02_9zP z_&<NXj&P6PczSLJ#sh>4Ro3Q`$5s@2kv@I-av8@1aRsk^76%5b$azN3TZ|w{w?DYB z*ZRQ)%gc(YXN9I*U;_1Ri7>(f`8=PYbaqdww`0KP&w5158!}5vpHd<;x}<`rBmgxc zFZRETB?7HkKg@Lar^t_urL{AgY~!y}i=xBbf;SWevXX}$mYxr=adq8t{7A}cm3Z?B zb@)^YVjFxTFz0k9#5<^(W7)a5xa`ZEWx^X;ThVrar1}E5BfxcrCMFRvF^#ZAu`IrY z+=Tcv_y6<A_pn*T7&k~5#NPS6{N0+6FF@O<Ild<_t+u;3Pwm!=>Kdc;RkAy!W1^*s zia+|L{>K+U^$D1np4>8v>xC+^#qATR$vxheKTzz@g_q6+>x)wVUd#7r@{vc6T-3|g zuMlQ#0zjX27R8>k{BR=Oa`Z_aZm@0NXX~SWL+Fcvt~<eVKd0Zg*P~YbC8OPOwssUm zf=SwIpxFl9xjJ*L!Y{k9R6wvXNXc?-%H{+QL*mzSXIlyJYd??3z@%7bCydKx<R#kq zH`gk*WQ|6xOnVmVfDA;R886W8oGMLVl|hPl#`(|ftfC=nf~J3)_)MOOj*OKR@qWry zN{7<#I+9mK804dVS9q)+(Q#GtGHzsS(vo>kbiGRSti1yh&%#`S`P8D;zzy;GedOFx z5kLnyPaQrw_IV>bmc3xjBm3qxa^w~L^cPi+kV|go3}r1oRqf_X{H~X2<yUw2{px4D z_V=E)IsXBmIul01dj(ov?d;B@zriCQYA$wb|9gA7ABpD(^Vj0cOJblgF>a1-Z3tsg zIvf)lJN4?;3Oj1cyj@N|ul%Ye>zw`h(qkw&u)M;9XV_y)*k-(6!q}J{OjvU6oB*N- zOcqsdISwvCJin(HUTB{Sz{EmZ3+?<`yj9(V=qg6Gm?p_2dR8(jh|D(8H~EorO*n{` zT0}{+cA<@U=3QO@!}@o>Ub{}ZUdQ1_JDjHj0|QT-JbBom<omH_d3hACPst0Y^3dp_ z6$|GEge3M`becbB6Cj~?+B5fq`f?3U4Rp`CB;KQG38knz<X_X+{AYG^P3L1bHIukF zjvXyYHINu~%yMgNYh$AN!y-c-cdkPb5}^9wi|w{|?)(&(NTqmKJ9Il1;;xi(cd{o> zo;#MACw~%vpOA1`xbrSAYIq5-q4$pgoRCaJ-H^R-n9(lPC*67J5bXzaPFC{E2?<x% z47==F4aIu&c3&`?GOtUzSzG_p`A;DUh?QFL&782@T>UR|pIlc$+NkMY4lnB5s#`zb zf1EZTG)6GUtmn?J&nDQ05FgYJ6LK)zet<N9b|9|v(-^^q8YnqIXNRswVB7>(L;yml zfvkiQ8giSVs6R=s{on#&oxPMprI-&9Gy?2$LXUp_ydtVyZc#icC0c-bc@VwR#)DP$ z0^{*EtDIJknQ2LFddzGHt?wCG+TKn1okk0|DF*Qkjr-rNQJ+aW+4AJ{sZ)WNx|M4= zXn<+7cN=o=W%s~j?UdTPN~0*PIzqc1y@3!dsl2$`=WR(LZiT{=uPm%!`KP3{A<)qg z7z6)mSl%6bGhbmjxZNshfBETxd)*h&Vu_c`dT=kYp5KnWixv{7&mhu&ac3@FDx9^> z{@N{jj-vT%PF&;6)@O`R=Bct>e75&^qWafi6P{D2j%0Inx4CI+J6Gi=Co^8?+$?=S z;!D<+*SY4Z-71pzGrF{H@~c~o%<(5IP2_@t<^20sLYXA^&1NiI-ODTLy?qA6y@!Tm zAF@U_%zhmGVVHEyjMAsxghi(NmGk&DOfah)RQ$ch2Fw*^Mc7Xae$^7lP?U5z4qxoF zLk$ACG259l5d?bs*fAMaaw=avlPQIb$)z=LO6So&I#hY&Z!qU|+_eJT`!#+VO!<`} zYam~o+1j+hAd3&+m|tXRf3fI6mt?RyXB}+oquJ|}dDbEIA#_08ILhhx%FkuB&tWTi zzIE-qwu{-7*t70~Rab)Ogd;J<<Il;4J>)XsMQhUx^NT$mqqFst>BT>@HS!`MFYzUK z3_xXLjmA7{j5GR{Re_ctl^Z<9@TLKq1Zb@I&u5M1M7Lc;kUES$j*Ltrp1+~9LBUh@ zhYw#GZ&@`<Fb@U%dlqd0Vy)s^u0-6$BiCC649F7_m=J{JE?r_lhP?jEM11s%vce&S zR>m<!&hksXBsdrW0luI?{Pn0Ba%K5x*beVQw*leS3rHphqgE=qqhLUJ(~Q|f%b8TH zoz+2{!u~mVB^^mg7Q@%cryN(mu?~LvP#!b0R(iB=%jXZDt;hN>gO!jL9x1JpYR(NU z2yeH<u+@K6C<ssSugy>()ab0f`}@)v57OF8lpD9K$tH<C(&cr$&~xPQh!qIgd5GYx zA&y%7dA;8)2=8!F(3e%_mUUxob5aFSHScHbk$>(5GkMS%Axb`|ABIg-KEV+PRK%!Z zU#|s`MkKr&0yPSLMHL9oxXipBglmF6N(w@UiR*0bZh9v}u>fWp+)3MtCel*<D&ILR z;c9HXq0{ka&2xDy?o{zixzjD@3C`(v^Y#Viuk|q03TJ%j_FB65>+cYD68dJb12u9D zsX>=OZRtRI!YcCn59Z96g5T1tB+0Q7vgc)})Ogy=_#S+%sQOuyRi5Zz=ySsSyn%`j znv{sXTNhKod=8l8j&o`v^y9Pj4E5vl;3ytSrXYrvCOTz`Ip#{17`p6)9ZG6bdApyU zhJYb)`&G#l;UmO-Z+;6OL5GguQoO|(z4h<W>py?|cnYydb93`slC?en@q~$CA@yEq zruGSzO}RjnD9Mul2BGat4P?H6@%hZY^$QiE27sMvYCcf>Ala8;aU&2n8Po=JI>H)a zc|K{Yw|X^!oETM<(dr-5jcF-lGO=knZfn8x#QkHfWeFfRBjDm^)5LW?@3zv}ftA+c zAO`WorGc%dott>V7q5O5w;en8O8j<?CUWI8Q>0;m;o;<%#axF`C&ic&O+<Bm`ZA)< zhq+N6YpjaDqye-}J`fMw-_I?rSx_G|G2pXUJf1lIDzCg2U6&+(DS)L452oRIg<qc* z5je-dspeM1rPYSG+n#~&rc9fs^7}~efVs4&8I`2xWs!?-^PXII>ofaYN`B(S>=mEp z=9WwOoIw15Xq9Pd?b$99{vtDT$a6op0B3#fVA8QYPxc<zxgDpBc%xv}QAA}*IUNEx zXbgZSHSrO|$QYmY7t$>d9XzymCohQ?h*$v50L3AmFw)o|bO@jYAz`#sA+~PkM-(cs z+Y21ri(%8!Ub7Tf3z{=4J{q`aL^_Rx`K_RtXb8c51p1Mms-efZK5SH2roS4J<T+~z zK}8Xar<Nf_L+|YDXp~N_?ZlA#+T^K>n@a|w>PQUfJJl=x1}^=Zt3)W}USww%8rVpM zh&_PgU!pGW`!5;Fs|h67Ul>m74}Xw7d-8QMC~xY$7Al}p{gp17JZ#_aBD`^|gvzK^ zY|+*3$MhGNS%B$fT#FgBWMm_!Vtqa27k9ZzdX4U<JjNSV+=_7%J0HNjba1V4BBZi* zGd^VV+m|n{wZJPHo10l#SiCU02(61q4iFr+7;#rY%L*A4cs$&q+aKINID*%Mn=x2R zg1d<ifE|o}3$rZD%}D{H=T_)A^et=zK2S<28jF4Dgt$OZab*7daas~}+u5@{Yf~m` zi`k&{9zR*o{yBzojuy<#_sLf}nq%!`G$G0q=t?!;m>IT@mp_h${?gH*r*Rb59xl}0 zm!Y$cy%?Z(hV$m)PWT7#K;FW8zSoit8KUX&&p!!5AEH%Gy0_w;%9g+MG>=MTd#!$@ zlCQ0qQOn`{E#Ol38ycMCNn+1RqGyU-!4wVxD&X*uDoph_5FO3Wx7+Ep4M-ser^uhH zM6*SbH+$sqk<B!G$`&&AXx^&RS0X~yrkRm_x$1j;RNteopCn8+IfQ>bFDMAR@E&4K ztm$4KX4tqa$VT(>$ptY4Z*1IvSealqlxE5-Lk>1*?d&0gSa#6o1ak~Pz98g~X+z|7 z1{Q#j900LONO;sVifjU32c8W1TGiki$NRhfzIobGPui!MnE@E%O(xe)`t6Ae>=oZF zeAQX*ZgYp%NywtQxL(y|g16IHOKD+S)H_H~A3;Xf$X)%G2W(Aq(iR8oX@^%QEtcze zyp1&0Cls;?9<A7t0M742B@H>7lbiVsb@hfSpZVg+EMbjeYc|-?kTAFxW!(tzdi)&9 zQ;psg&mGBZse?9+_xkAAd&~}fCXY_*2>kt%h_h-?G3xze$ZMk0WRQnIs{uH|wwTET zaN5KAVY-9ZJdHce<V`Z=3tZJH%uigM5l@2Lzk#P_Vu?KBaIg6uU%l(M;(Jtowmhg$ z8CoiJK2ZIj(u9s|=k^*_O0kZbk9I1mY&4I)J)f0rzualptJS!CJy8;pBNzdysMby{ z@afm=^{mtlNi|<tSs7ybmpd@-bh2npa5>hVUV(89*NT_=lduyzhOOoUb=KoCwl(Yq zMxNKN-n1x->D1AwL<UiXUtccSRxA&B5PX%9%4aVMw~jOp7|o5$Y+mE8QC1LbL0|Xs z#*D|F`_Pmw{~lbQvY7dEs$r=-bj)fhzf+fLcSlFa(%vJ|iS>p-W6%k2b!l|%^2{EN z$S%2fm~(&oo30LWmZJfoDHEdZ7q4FPV`}09>x6o+TkR(Reb;h6&&t#V=kZo85<1N) zOd{CRJYO|v`F(!nLG?^7w+y+t$xMVxW~OE5XJOM0ySkk_J{rBA;R^2K4KiT9=Fn8f zvurCx@nkr-{+H}mk{hZ=+WDvazac?xpQxFzO{)!eNNO;<b0;^#K{L|lFFHip;N1%A z!9A%A{}N$OmaCzZM~>v^Rsu;|Qij(eORKO2d$nH_d0;Iej)|>|z<51oJ%0n*!)}6^ zJDRYb(@&yg!9>7tc#=eD<Z%<Gh|xOS+GS@atWmbACAR#12R-cVB}2sA-v?jov;z#) zY2YLyBa@`zz0@b)NkO<*;1-KQWX1+HW&72DjgjLHHj}Rl5A8Ly>~}iz+u4oKqKX0L zXm`Czbd)P|tcIfgy4ty*?DB7w0Y|bi%ld_wK{v9U(xT1PW6|el(h+M;M;bv6d2C4L z;2;06Oc5itE1`O96zdD@EXvbg*PJtL9jfgGXyI3E{a!0iSoqSHuV2G38~nye>5jO? zwT&G@kwzNozTM-i3$I@<i_pj3)a+8d;m0a7GBN^2<6Q*{Nv2DK4&UR!9`WOCZrjab z1Hq-HnHm}soW65)-1yH<J;Ut}tO$n9gzO#OMu}Wsst0-Ds#(u3hp2#voC*aQRw*+R zrcDs^5?lxp5)u#;50Uzzj~XO5s|@*nFh}KgiV-4Io#U_@8^f(cm|u#N;t>?RunuqB zSZcfWa;uL)e63pnp!5Nhv!Y++V)?_KoEjK`Eyo~_$I5;XI!3Uq4x)DxK|vyk0)2<G zEKn8E@b+!Z3BrDYHs(FqQ>-${=n{a{NMe-ErUGWvhJLljVVD~VY;sziFi|g_Q{!w( zhBg9yf;%uO7rE_G9_?mqCs^&oTYqSTi<+ogum=W@{6=mzi%i$1L$xzBDXHF}LRdqD z*i&pGk>}H6RzqS|V$yRKD}z^aN9Uc8@PG+IuB+wz%Tn)z+s#E2QZ5*d$hNcc93N+N zj@tc%)xpS6QE(wVRe<bId~a8_*e!07YG_mlF_w#~7WvwOGt^ZW^FWvdf<LS*4~O7I zVx%Y<oS`JcBvstJFr*^9Ip}x^^W5;<jjgR>ua*M-Wn&Ua7H$y9T4+9b!cr3>;EQi) zG*r{B{;r5%N}>}Vy2EgOjAt8c?8lTmI4#QZ!!t7}+9Nmqv_w9(uHq+W9a7SNb~HCX zTfnU7_-iv<4WR8X&-GgqNp(%GEOZy}GO6ZmY@0dpAucYiQIKf%js~D#pixlN>9@xB zD5>s|PcPBwx%gQ#$@+oVLHPQ3IGgPfFZ%VFUZ(G_s`6J$WdD)l2>~I~t>xU48L8$; zTl4!-x(m$z@t4{VeIm`uOR}SyS5bB0zE5`6B+zzrjO$!xCMe)yVq*S6;BTfrXPL&j z1smi<(-|br9lgpv6bO&c2Wh5@o2lQ@$!ne?Nu9CDeVUUKkszD^Nek=t2et|!!1?bf zt{?qZt*JXrzJ79;lI;1@r{5oTF{s`mmpHktvvMy*<#z*}L&+apnk*X|)C0Vkul-4T zdFSq=G^;J4IHh}=pFgy)`thv*Va)l`bRTXK<#u||E@`It`-hjS1QN0?<*J-J@7I-g z9L`_Nv|lZSj>ro<d(l~N-~iW7uYR!z5qCQB@6*TsXsN39TpYNuzMOLzvJIHgGlxkd zb^_^L8!flMWqjT|_05}uQB9B1CLGJOg=a1-eSA3GnVUV5m~n26ol3N8?P=jSgcN^2 z(q8Mz&hiWPlzZVt+Vt_jF}0KO!B6*Ce=zCWuDn|#Jd}+%gED>Lu}=<c+K@d}53<sS zJSR@XQHKu7syLqHnA%k-DPdo|@AjoRoD?$GN$-fy&#fP(9M2X1R``^0?PDU-`_K`0 zAJ+TH9D9y;y{bHNW!kzJ%>qzI(<yde(TGGtevsqde+j`}32rJ{Oa`c>Y#VYJSfeMH z7iVOI`Rr#f0MbFipv^8H`gA<x@`sD&55BZq<X&QSeVHlAA`?CpU>19nJBmW9a~nhw zFpjR0FG=Irhin)D6~vPl=PAE8=`t_N(oCb%x?ct^Utp3UH)c@!6KSMJwL8reZ608< z+xdxiZeKGy!Eo=~4g5dJ96KVFbpG#6Df#O~W3qr2+{U;PUFQfbdM5E!LV%$tj!S(! zH9(&baXpsGe`n5%xL~!2#RSn^7AMUebOxVTAL8bkn(#S9vRiOvBx3ayiRJetM?UQp zOO{h^GuftBIRb*3o`2geMjw*yzo^ofU4CWtd)R0=YxmN9%h`W>kMW@AdUWlu6=)H& z4P#Hry(Ko?sZ0f-=(g~_$V79@NbFnzB-LcaTaO<yaKy`}Pn~ox(l6v{s`@zWmSu4_ zFjSiAatiS~?LAknRJ!dfl@Xw26YlA5qw*T3|M}}z>htHjs(F#iLf?arh15<*_)t5L zXl3OH$Aka7IM_6Mu43C&>K@eU?1l#bvY{Qu2WB2cMjk~lOL(+q$;dRAYOyrw>3Jbn z&50pmdoE{0*r2fS^tQiko&^Sza_w)gwY$*)&jC;c!(|?N_J7y%#nAmbJu6$D6&=oo z+5SKFzz1mc(ZE4lAp}fh=Q!n7#kUB*sSw{0Qs46M(2kq-vz8r#3c^zAtmTr|*vW}e zRXw=y{b^REuJshDUp11o<Vm4i&YshopKiZB#Zqw<;)5xBWp(xFg4f9$fb!Q|pq7TL zv?&)t4E4w>_!Bf@coFZkExs*2Q+x=KG~>aikc~Ar%R&o<ZW!E*AMtYZ^q%##j?Y7x zyXf*+y6F3ULcN8R0#;9Z2<Y=0OfW>d$*6Vr*;GV7kYnJsfDd8&KS!%vh{<<~?EJ#Q z_U>-XlLz}r7diYGqKZ}L$*lH?%k6LJjS7O#uDg50z7RVM)Q=$bzz^>3Mlr{P#@LX0 z{N}>v9fTj?DMm{g5f>L|qya@6T4F&iz>^XkjQF9DLP7CkmP1dnn@C3F%fF(>n~`$w zPN_YBWAqwAnbtb&M;fa02#7Zjk*<)1$)R?1O!2pP1%wq+xyF3m^C3K*Gku(qmNdnb z=5I4A(ZkwswnbXfJ+Q6+Fa1X&2xP-roxmP(yCFirlLJL6gu}wZalXF0@x^G9X>Mk$ zTITwn_=6WFKy;n>y`e@yp39o+4%%!pjfU%=X(lZNoFAG;HRbDU=g$u*J26)|vaj#! zSAsSkTcAe&^vP4F%=X)RM5i^1Z_bhh1O`qS!N{$8c(!Z2g<tM(vv5y`PNWfX68*p> z3VDHTh&AW#QH2IwBirp&u;!Y{1ECkI474S%`C^PeiZYt;YIYW5327xgE1xEa$cCp@ zhnx0o*VnWTiY1NsT2#4wafxWr;=swtdzqWAS2^R-igh%88)+D0xI~$}ek!{}iGr_f zML*sUp8xGczrvD-a?hWR|A6-Y*qeFC01&ewo?-$CZ}8fPx+#}1u>ii|&oO}%@_Ejq zDbUvsR{QmE*ZV<DE|Ac=BcQWCiF2R~f$N3L{+Y~g96AMeR0LS~`T4uLt3~O_V$(kL z_R2artvsmBySeDGdzY_XS7R6UA1?_XAK&7staZyLSrq?1<lj9?auSSc3X6t~&=b8f zG#4RRfae&-5qMwJ0|UEj*DieTr<p(R8)_=Bl7le#rgmLb73dB!xWAf#&er!>65pOF zu^;|KO}V^7N<>-I6z|`@XS!r>zj!}hDzH-3uXofsEH18R(n*A-v31e%n<>j~LuQ$O zQT1;H&dbPrLe-*ovL!ca*Iz%jQu_|*@FA8#(SU9yv?jIQ*SMgnir#7Tj{EBAY8*xM zuxHMmHhKlTpQ+=b0z3J&k{740&z*Tssi#;QdYqhCct=V5ga~7sH|ExC1f1VWlj$o= z{uT2t?O|%zwY~C?1hSo^NkU@|(6AqR)HjtLYjZ`KJG6C8Kj65;Zug|-PFMTR+yK@G zol{jaqP8z5benR~34;ItZ$`+QU?3N3qycaakIO~R{l8%>Sj_#mR}%ybqc<v?FUFHp zK81KVqNF5&PzBjNCyQFH-~K1H_I&i90>yHMxAlo{X9Lx%u4XvSiCR~5yf)I9w$@+} z2^V?NC_+U-uPACQ6VAcILwUaN@6&rq1g^^+_|jG6w`)H=+}^2ydPe$FC=4eDavN{1 z??Ou5Jw@-~N{pPYcqpK|Y%$O5<^lWxQ#a0veg%39Pa=^96oA#l$5l?7ex~kqUrPWN z)}CT^hfp}?w7F$vXPf-_aau(!82KNUC{zyfFLgw_O*}%x%e`eHT7TGVH1TW&fA|na z<;yfJTltiU=8-$g@XqbjDk>^SeihJk=BoehntJ`~5u2Z|U^6OiQ;59ztRb6ST<pm6 zq=JG|g+>QXQWOu&fNg(_mb**Sr_kdNQV*`Q;FN3bWsT3|6+B2LQ8ECw>&~k;Z~ye^ zfsqD+S<gnn+qbC;$N$5(idG~!M+hV6VR(548w2%P0!DfzbMOJA(I}piL&uz?j7(#{ zgO<$D|I1+M7_6hvHJR=eZfI^MO!iPwqnFas;vz6m`+3&s0m(2z&@1r`9T9Jw7w&w` za!Z1dP?=N`WYAN3Q&(}JI}Q2kEUJsy-u5qgxwD?LrKN?+SK`{WQ({R`j<-_s^1PTX z1%ODq&F|dhoogBkIQ3G%0r7*2=d+5rj1>nmo;8q5L|uF^@W5F8o|(ViwpwcW#mlxq z+}pInp8V>hF+BTb&xfIbt}dKRRv=i?tQYxd2wG-n=Z9vCw5FS<?18Kxp(gdqc=3WU zOd16`_9qeEm>;1aBV&-idGi>c5-Q(H=!HMuN&4@SqRsadA@{eer*nW2zA2#p+&tR! zqR~i(g)a8v$Nk`>8-uiK7@BS-Vd0kpr=cP#>^m0)gy0FNqoP|beNx%QV>F4*KTUzn zB%L<MguLKQClZ3w=Dq4ixm|-`8^^`<=_B|Zjhvwa+@-(x+_%;SmZ;hXEiG3kB5LSZ z584_)1x5rJ82S`zQJZAEetoHv!k+wXHCsdVptPpiLbWMVA?Mu+t}SYAACjm&?cZ+R z?0qJ!VhB?|MI-<FH!FX{t|^al?^t2{JdENF0Si4}_eTt0q?wY?3BB$7HQ9Gu1ND5w zTjHDVxzp24Y0^x?!@?wRCn2wxUjcUqGfpTfI8L5K0~bOI22syC?)AA?U<b)4Y_*UJ z@Si*Pjd)A8{X+QSrZ{%`kbUVD>T~~&yHpgT2VAHC8v~5GO?JAU0nG>ECO^Mq5ZbZu zsx}JT;M9h@TV(yWm#MzU!jL^G{@>taj4D0r9S42J+rPqrCq!`OoyTx~r&_AUFeUe` znyws!7$Li>*`DihLoMeAM#Q(~jqHDQ$#Whxsd;z^Y(gK9?tb%mbU9!&3<anKaquPt z@&}%{&pWSQC(J>=am$L0&=CfjMqz3c4tAsX@<BAw67WcH49{=5Ej(Fl8b|lr2Q;p? zK&7-?&9EsAdkPqhZbNmET;hBh2pc+)A!PpWJgOC3#;KZiJCf^aY9L1ndK>{dBV9zP z!Px{|7(+qM8NPK;OYSW7CuGP66(5rIdw66^D=7bRsYvInjx2jOS^DH~yk-?+81Jtl zt0qsgp1ag%ll4FLQvOXo9vW$wdM-{@*%)dN{G4SZ2QB{B7vQFvx;h{?iB3CIb`LHP zsj4DrM<W3%Ic_AZA<96=63~$mCf%hr0~b(iTCi<Mkdd}U8i8Z-hL11$^0Ydq?otNU zE?3ww%ueN%v(ZCTLAa5ym^yi5ZiIlrOC|DjY9EkqG+sOXuKdeoyV#wW5vv1~y+(T} zoRzznl{(v;YIi_#*W~{nFJ$y5t43}scYmr7VPH7!c+~lX@QmZ+=g_}$4B9&~vE|VJ z%!mjr>?*35Wo0)qwiwj$Dx<sg(fQ4X1iT)FMqX6KQa=q$xY&)`5?e%<daEgQ?tKrF z8cX5eyP+*u+QZto13(V}qJrT4VKPUrt@7t;JutSoK*nEY-?>cv)F3)2h=fSks`Gq8 z=qZ{<$(fmSA!Zt1w>|0lwl#iz^p}N4X<KOIj!ItHZ<oTjUpmfpqo2j_a_w&k8y%oD z;Ih1`2jBP<=~3YpM6nQ%3`dhUI&Ojq@;z*2g?1S`UHT}djEolk<j$?Qnl7Exok_~f zw7=(+$)l?3BFph#20}aQ>582NTZr1ttVtnkR~gMXm|sJA;BwCe1A>5Q-4*%$e#bgm zEvEH0d`I^G0;Cor=B8P(ri9&>W(x78*WBD6%D!S7i*fW@7^07=*Se{NQ&XkIq1=WW zv&F|Zmc)PLSHQ#X<SCcwdEWz*Yg`#$I_=#~yRCkCJLAxMItugmJmuofS$&o{o`a5o zx)6r8aJImybC?wL<CB7o&Hhd;2f9msq(+V5Y^Kacm<=eKC=vs2M6&x<!}5krk*_&* zHuYl}vtNk>11CJc=q(987uP1?;cr=1t`G%LE3+k@tgP6nrErk6aCm+NJP4KVgPy7B zPPSED+>JNL4ol1w-O8djAD5!Y<(z-*&hGPH(G@H$VIE892jptJ4sDhAx}Njyh5uo1 zCa--2Bh|cA?r=y!bb<B%<L$k}xqScsVWp)+Ayg<ulo>)<EhMXwO~}gLlvz<yMksrP zjO@rtsDvadBzvdKl>IX9$5o%t@BZG$asPhD{n!0R$KhSxuW?=1d7jVb^Rb}AQO~*C zEu?5v;*}wN@%;SvLz>V`!#lSMX#gAHQxDE;NU}V`LYJPNTu(V~!d1Pl4R2QGyWY%x zsq=`d!+f@MUBWHuLCpz7yS&9~cTYz&-|#0yLD(kYq-gBS&39Tn8%7GF3bCgMH1S*A zpTBqy$G(7$$sId(w7l6N&LWZ|8~+v)BxQa^{jt`g<X8GM`HL^G*Il7Y&PZ`=FxXo& zaLFos7=U4=s{+P=V8`zYkePJr{o74hX4nYrD;Vl9)|3fhbJT@H4hG|w=}NOw%rwG` z7oKWi?V?vh6F@5BRki5(=?Hq7L8;9-fuYhAGjN>#A`U~2r?4~3FG|K!SMoPG^-S^Y zQMS^gM^8A<CZI^0(=K)}bl-ai^mfD(*}tEDIFDNeNNgZ;!F(RHTf#QIMqU+Dug6J~ zh9Dd1IMlZx-0u<e__V4{vy4fJi80{Etj_0qkkm0_g2={A7kYJ(U!S<V5Uy!%QvaHb zXGwdSZ+&ZcYgWaiD_3J75)}a4`@@nu!dA3f@tL-e&_s0}_wPR>KK55AF#zG9i5Y6I z@Vo;$gGrA3+-2Reh_SJ_&|PRK6yHwQfi6&)XRK`7D6#On=^V8~<<9owZu3u9tq+Ul zounJMs;w>S=C=RN>BrE4a@S4t>MFzf1Xmar3+)-9OaoOK^G->tkkLyIWDF-dTFzg) z7RTdGvbU0SoSDwm%~EWE4hm{Yj03Q*QdYjjImr2NGT^#q7_)4T?h5AWebY60+*ef# zs&doQ(du>W)NXe&(yRu1y`#fyeR9qfS04BD8);yH1cwoH+3u3@lUg>KVP%a++sB_+ zc%=tqk2`N!(%=?8ILb%2z4_}`6VsFGs!zXs`Lg<&p#pg0HQk1-m46QXr^@@L`!xfz z<At7uCZWk^S*d`&2eOLR-Zy&AJK&POs#ykA>u*GXO>ddAPJcPFax7x7sW|)hmm3)w z!R;d{6LSUBw*wD~ML`xT{`G#^0Y~$1fX?99J<1+OvExGav94}w$kY!#4wg92<)dWT zugA<W+TW@WCG^tbE}Pks)@w%!LDM*ww<L}K9jLVRU4Lp;*3*;}6AZdRm;3R$;W29! z`h+3-l4c?1)E1)FA-dS18S;zs-=>2i(+3I3K`ni(UbxVNzFb?nQotU+^C%hs=C=HN zW%zt&<=dZ*otp2owY4Fk0O5p<=4F-jF^kefPBS(0N`B1$oV%c<&L01#i<{Ii)eHl2 zj4=k9y!`xpt}`*xN=gl9Y9vxKXM90Vs>16HdU;7_5-sq%N`V*uz0wNXeq%p1T%IjL zChO6KUQ(#{#oXbU;-xA+&xX17zK_Tq`C_;V8UE+-9K><@9vHx%G1k|5?lV%02#&l7 zMhS`86k~J*d$|NfJj#a*4}?eb>9Lgig(+{tmi^Tq0@PZYFRGZ+&RLCdD7VrcNmYt{ z?@cZF@zYbAZyQbigFP`lIj9_rX*$XiZv)1w>QcRjub#2Bw1taf*G55>Agpq<47kDA zKcFvlcAmH)bV~m^QwZ<4Z<ngXy~fe}DzA&8^U^kcZ?D{S>>D{+=d>_FDpd4nY;2r% zi1DaV@aQY5N9b)~JbCa3Zo2Kex8Ivk`0>I}aW#8R*4er6X70bS&bBk2xfs&?{{<US zU^KJ$@o^ddv=0NexhU~;oZ3`Ti6XXc{pr{5!0Cq}dL3w%9d!V7B**5swzjZdvp6$! z^5^qVvM)!@OjUTXAQo;kIehIAIKJC&$FB@qTbIoN`lbZlwdGn)5L7Qsot@P<AUdWc zd2wp`aRer3S~BW+6nO99x@L-P@2vlU3@Of@Y&Y}knQs10Hhn=dKp;@4SD_o13yI}B zY#gbqnR!C-T)Pt!m9MU#*oa!(!%1O9+Q0KO(A2=lAN@n@3#ETj2kTTkQX3pFVuRTT zMsuC?KQ6F+QI!?jdw}Ip6~;xC{JGqZP@iDF0Q|qG%c^~ga!IvC)O}PC6K*mx)vV#6 z=wNV1Hk@3*fMYb%&H8cc@oBN27Evi>;v+BE>+(EwudF*aF2`M9`%uaKcl*${-DZCq z2#&+=T8=-hDvd-AB6zAYP{bjDad?e1I%m-{*?_%7g)room6Z*0Led=KzC>U)Z%Qa8 z--9!<mq=`sJ<tdw?y}~s?%OOXZf<Tt!;WMSVH*I;*ka@l>;vWa6<|c~(Sjk(nGRj) z;b`H>fOqQ+E)B*@zZq`+u1#G8BS8v9EW8Q|8T-On&)v5rPL2${)rVfBqDZLB`LT3v zftV`3Ix7ehj11i%7s#<!r{Yu09G&kIX~__l!AHsN(@_ow0B#RB<oVO&svf5LB-D-M zRq1Y*zHDh1zN{X?))j!ka+h5f>NFjlZqp0(`ufkVXN`}Iff?bP_!iSm6%|^jAHe$p z+WgZI-OX`IZ+OvxEeZk`C^K~p$9HYN$FCR)-UO&&W;V(uKY(5n0259<yQF_DrRc<k z|3FEJ?m?&V$o8(V1H@|-9}61EDpC_LZ>2D+yHCwmv|06-^Xr!{gK-LS@-*w~5iWV? zXa9~8TLmn?HLZ4r18hh!Bk+sz*KRD^>+&GkMDL3aDz#Lr46Vr4d2&v<t;`&&P8$WE z#_&{?tMyz>nS*WeKw7vb+vC@!XA>SXo5ts90qE_Z7%mUQ<`d-X>;~}}q@$QCTwuE% zgzgT6c3c4X@nG78t|iZ+ofqGb7;Qtxfo`(j@f18XPKU7lGkF4~PfXGa7A+pvLeC$1 zhgucZdq#ReYXSS$PjY(xyAX_-;4oZ#_{jIlrAxNwCxU))VTNC}z5eRwnLC8%f%CNW zvu6k6krcsQceX_cbQ#oxkWBzR^Q?e;N<me157Mh4E@-2rOwoyA*Wu*|VQcyN^&w=b zLW=ed4#=rq-0cuJIJ4;K*Sr?yRFvj58B~zYQjl;^DV4Tugk5UaTS}K_b;o#v7M=xi zaB<Z+Pb07b@Tpi5ER@f+2;oI0eV$@W`8T=5x!VIOGMrQ}!TZt~^`<6d57%#u+@UP& zO8!CRbp1a?(!cp-)BBavMKdH1loXv^Vy{01mXOub%N)H@P{J+;y<(9?tTYS}^SHO~ z_+w_?iBzd0TwLQ1Xe7gov9-GHX?-zt>YHbhmaEB4&5cDW?7OyM7V*YooWA_V&f{k9 zYkyR{sCIjACfZoO_-y$%X|=d#>RR2%(yE&T+w0PG+|T5KP&UFm;Py3(%+$g4{}jsq z2HHEZo=^2#$@u>eGfH{&%0Dsjy*F><P0{0&<i3@`j?&8MW@0m1=3Y*^%32@T{d}^M z(vRgO?h2}UY_!)m{Vv<Ulzmrk5B+F)yS81rfLfkBQ^=XQdz!Ly9>KaN@6tv)Cmh@U z<(A07(LD#QO3mDKuQ*}?kwcrQeLW7}nxU6H%}LFiAj6Y~`K$ad<mk?6eojsvX6N(M zdY`f?plXp0cGJ*4p_r6lM-2<5L=b1Rv~gI!DlEXu=Vd+)jWyn3-;(!WKTX~tT3fDH z(mOv_UX@>sKCec%af!WFV=1AQB7%JGCTLcs=oDkHNudJ8j%LEq-XgRU<pC$%d)RS8 z0S???;))y0dvx3PidZv&iUEKaKsLG?BRJ6mgMl3llmVO%?Jv>F|HB40{e@!A$$a=Q zbpY5{fK2JdFm~EXC+yekl~?YT<?7p%{kkf)F3H|^#jjR?=?Jx=UGnOAt~|p_4}PyY z4Nda|YYAw(e&nr!HWTUwya`AahUm~yX=71$og=8sfTW@B#6QFPB=q}t6I2L)^NWHE z7@a3wu}~Ei>pk0K7#cx0Aa-$LXnUt$kDI^LbepoVk1~aFCI5r-Nh?Dw$|n&vb!KBw z7aG&kA<tQ6`cupj?^O;j?a|gq5q&&tBYOz91l^)UmT*}jCusQ#yL!R#`rBR9{B#7F zY0sXKCr@`G&#gWC5y)VFI|1vWNlzYdw>V-QX+qc%IJaYy#8&|y08iC5&#@P&ogLFC zO20Ie{`-V?{?4;)>G~;bI4r~Twd7t-&AEc-Majp*x@%j%?J3(+F@+I*B1a>QHJvGh zHN$@X_`xVNiskVrGcza1Tb(YsJ!WHyS*PZAmFtpDYet$=$4i1w1@$!AnMbn8nW-(l z(;?~pd#s4J>gPOH+|R;PvFdiWxbJKT+aLvP%XXEJk>U5dPqHb{&TfiI@!pJ0jcs7u zURPc9M17|uW6rxZmX>DciNRa{6Yp4g^n$Zi+WyG6KRD8K(p95AOsYxJc8{BAYhAn3 zuXA|kgV~d3J5M7b5pkj9j!Th(cGy#Tb?c}U-7Pt!KELyWX*>(?cKur^{Y6mR$)7N* zD`f9^H{$5rc1^kZ{J6I8U|Nh%B4^sehivRsY1~{FXckMWVyV@DHGnh;%MrkF?vlXA zVBmngMJ&6QpAz$hs1*2e!%=D&{Un2C<A0X>8Hh^)clzv@IulnEacA&pv(rvhRm+(Y z2}9Ay8PSJ{2gTSBvGa_fp9EhyMlom0&ODsWQ|*NyoYVe49;wq!B6+ViGj1`Ht7IEw z4)`H?Ks5HpYwJ=Q?FpxWF!oxdQ^Fd%->d$Q)qGG?{BDchru*kzhKktUQE({2wVqw` z6IXDqykl*ie;a#4z2V#I<u+<d<Oyy^^RUr7>Q1MxPgUh{!*T_R0}dL$Z+^e8pa8<+ z!aj>7`8YDt57r1^b6{=-+BgIchfs^6(Iu_=oK1KoVE#YWCcq2-)^CANqJxYzF_P&T zj7_)eVXoxor%Z~rl@i{(gss4GH#4j-N_#MnpN*Nw{Va5cIj9Dh1jyC^EdQQ3_YD|P zP{L}FH@q%;fh9l&AFU`y`tLau{|`QdLYsgO?Mpz{NQBD|U|Bnr|BR3coYOsjTl=85 z;RVm&*w2bhI1`%<J8}&w=QCo>w9LktskVZfgXj-*i9OaJ<uOrp6?}rq2B#()FhOhq zfKjZbH^E*A?+W7~w2P?bA#84Hy4~_qp>CEpj^TgdDx2`V11kr1aSZTNv`@V+e)Wnj zsK&6SZ~y&f3(Z&fXpXuy7%mU`abQK`{3ZiMDI_wo!!Y{vLH+ff-d^4hh5sOw$_5d& zmBN>H)H~?Kt6!N3G76e-({jXBOEc(xMkaDvMn-;@#M&awF)msAsy+E`lcrsT`|uyX zd)+KtGw}t67%FZ)MlbG5tCV*A%X7iv)p@aw!mJe8u2xYDz769^I`IGd(QKHO$y5us zAXm$-u2G;td5vpSBj1Q+lB*t*I`(8iJxTn8oPDNo0pM8tt?lfu0F94Q%RdfVzy4_g zZ42zSP92sFJb&59+`KT~ek7V;ts~+56+<?)luk`X&YIsN-sLsVfEfgZ#FjWrAB6G% zq$m`qOioS(Fv&W``{tLM_-vCmWI3D7x<HRXu$5-%ya%jxW?4LVbzckdL|$_FpL(37 z&hT1t3E?~a(ZfFqwzEVga<Ma!Xz!inpX&24+c0Of&v>(Sp|H%+#)X5ypEdY4gl&H5 zBc~u(JNrVPop#(wFKE-w$$j_Ej2>V659MC;$fjFtGy{QRQ$}B&w?Nt8(>|`K?N!Gk zHTF^w6J)T#1a>e;R>P|g(4ks|A&OD!QY&5}U<Hg>+miY68@dklC&cGkTRum-NEudN zO=hRW@o~Mo_$9Z_B4bX)npV*j>0E>tsAb;tCW7>cXfTOtM^PqZKRqXxJh0W(5?kgC z`rxLoop<X(KW~}(`Os-glh97N5ZC(eS!Pk9w@6Jain&fMKK_(j*QYb6j5HH?Vos~F z(cG7A%J@R_wf6U^Z5CU24DR(<?c2+8FP6tnz~dN8>e=kRJMGC2XpjBf|N0;F=ayzl zktXubCmsLZ==I8%aXQFreIXvzCSqC^I}0(oVFC{Bd%%-l(f{0+-;Tfoh|p(3(os|B z(zj}e(bH#(oU9Al<+cNdAQY;@%z4X74AaM#8{ljcMocU*dW5aS-jy1!m9K@L5JSd< zc@y_)RY6(o<s_y4a?<x?9xu{l#TCtyAyH8|WQ(&c$|V?yM2gM`!JdT)^m%Vg1HV`! z<$P4fZPF>mx$`FkT9MuEe|TD3EtSXrgvj$6!|k>kp9mF(rb5ikeW;?9;W_hWzH^*# z{PAaYqrohsG3tcH0;%|lN5$M%ZEn5tn4>Bwc4IGS!Ai%}ka(vSC9zmUw+lFYUm`}0 zgJ$$hejzbdCr&^K9(-X};Q5IVT`FI4_<Aem*T`z<x^bjLF7|BaRjr=B@=MfsWoo!$ zuk~il5PqIVc{(D&#eSO?b+=dA_b`P|SFy^!lBO{tonNN=w^7tQ_<tSZ1B7w{g12r_ z6LHGPJl+tNRDeA`Z$04tSj~Lfv&6)^SVxiwJqN(kan=q(DgtEjt$I3pI&iXV;VbOJ zL;!zR!M}BX_G@!tbT7p`r&D1j4nfUD2Zu*x_3#5i=LCvpYT37S_`MkdsR3!J8t?Iu z+Vj^rn35y+lj0G*1VKkcleeLk-y2L)w9>gowb${mJi*L}7m-=7BD`*^Ut1zKHcsZ& znq`D5te6*KY(&uvE}?b&h-pYAoQw(GK1`du;is^AD!VL{f%+Gui^YE$x|T-x!cnn^ z^voWHxB+p53p1sCs|;vH$zkU#UQf=>%EL8z_?whMOKx3cvLwtT)6<XN>?Rz8cvI24 zH#wCx!j{tQ#tln44#xwDQGPAKD|%`v>Q$p^AAhBZszy=<Jv7mv+Z20KcYEw{Z-w}W z@=tBk1U3X+<TjxBmA<L$81v<G;(Y&3t-x(mrIGr7$Nh!vpECbHjQf?!D6M*4KSk3% zS9$=bB3NPblVY6EVHR3Xb$8uDyG(eO6?NMSKB8AeglbG3W*@iKSE*ema}b^M=~Eo( zjX~w|HQh_p-@lRl9~2+ha~$B`i_9@!#JPQ>@5K<mNE3mK`-N9R)6<(Z!m4m%izo8r zH)y=Nu^XU*X>CZ=yap=h-1Te4zmCH<6g|COM<@*eIADl40#OUZbW6@%geTL1)gLL@ z6&y2O>qUV`BKBEd&IzBel3)=5GPfCYJ)@Py89g_hqsO>{hG1_Rpj#=rF911E^ei{~ zH{fA#C#&{<L8JWpcp#gcMp&C^gKzl{mK6JEAM-HnGpn#FgOHu7*v2<KWzL0@bW(#c zWaP-Xx!v1}arl>gJ<%7Q(2+<9Gzh!XT|<q>(J6Ak$Lj8O_4dA__KJuzULk}nP`}JB zzbAb>O#P>9T9+V#*CMgEE#shwBCY0BUr4O$t*-X7RC13n+xve<6PD{1-JaFZ2U%q5 zt)Il)$)F~XdHy$w8Nwb`#*i4nLPV_n7$&BKqq$(C_&Lz&Gt{yY)6IqAJ?2lMH6b8{ zn>vOVfs6nCSXnluZQkw6vMe3tOOVk&J$ZovZg!s`7boZ2yv$ct$W5FauaK%4nJL}? z_X7pDnfaUD;QMX_X;b{2{%t6@CfYYW(EqjFPBW}j^2>%D?cQ^@VGRHqM4R~<Es4UO zOqF&`wzvNw#cW#I@aFW>@bG*?St}8Puu3RNCZ+-YcvN@*Q+tRRS`_F2!7#W>Ob=u+ zgk$T%1FPQf$*v0U*P$Kl9ADmV^X3k*Zt+M8T6|?UtL<|g(hq&j{PE?9zk~kt3<ee5 z9tXHXQ4P%$1K<@v0U{%wJ<}|E0Lyi#CjLF7MwPfgHC9DEpTwqDo}y~S=!6s4FW3)g z$md?`1qAE_PwmW^GeJ(kaWSQEpLCi&$$E(Sm)%^|{~jP<?7rKLQ6eS~LW;7gdlXtA z8$OMJ0-GE(4wvZ)7!smme)(~5Gv)c1L}<{bJ@hd<lJ6KDc2A|pO>f-K$UW~|@Nu3U z5(Wv!X!17Q-<;<YyV@nh^Y|@m-HrQx@=u!sp1b8Al4n#qMt)O({pOh5Psta?n)K<1 zLirUOE8i!u>Ao!Rk^6M?bXe){&n|PppDyyU4%lD#;3T+|)iv{xMz^liv;FE`MUlzR z!}lY*Wyz$&Y&mJPuIE@3TC<UY*)A~B^UCHaOBgso6#V|}i%*>PznKj0)CEs)+%wa3 zUMb>cU%32q!6Y@@m_qSUQhNHXk$=07&q1kO#3KC<c)%0+e*_N}-OI0$FvD(#U3Tci z>sKW31>UVJ1?9oh39(-HZ6-F(x>$l1K!zYTpGd*R@%*4^_t8?oecmg5>mF~3yGQsG zUsWB!5i)X*Aq=ydYQ6PkDj2hEKFG&smNmuV5+`ZR62jK}tvI#jwS?O~Bn?PDH|*^j z8hZpG4LxrRk(gck=_waMLtp$==~U*bxs56&=_r-3s&6M!OkvVM8&uOgw<+vt93u}0 z$ASgv;fI}ChbgXVzE8O5bA8LT)Vt{y<OVF*t1|ks9`k1k1@BXiSk&3h!^)h)b&|E; z=_q50^i>hNV>Bt7nS(d&W!WQrzaiqxeeHJ>G{3aMA2>NGUQ70I+0J8-!2X$cAf7JE zuIIzZV?P(a8>+#VjVYv+wvVNm&^+AxWTfP$|2{TK+M>fHdK4{(T2g6R6gm%4kct)R z5?`J(y%`rBm=+vk%g=4ULM5&gd7=C5*eN}9rFNe_hWJ=({J1Yy*ca@-pvE3`%4s7@ zn`G)_@TL?BP0y$J&4iDye4O$;sI)3iNrt#?toW}lK+)Y+CtblculXtQHxHLBSJvGc z%Ht>8Hr`=7m~s2T1gG_F`2ya8LN)C!^Mci{HCh%0ooZRC2a41(8XL{q(hIV*&g<AF zJh*-E*@U(RZQk@rlJFmr;m13V$qWQHOt(9Y-2EKsVDep3F#fYde7#9)P>s=h^8y%d z0TqM8ljPIK@)dThKD*A&{`6Ua4}Roc!QP=@S(YK(7qP_h$IhhzI7h7Uz{sLnve3O& z@iS#V_~RWA40zzrbSYa8_9+p}n=7$v*fmY!;OHR!=>24{%{6ooWkNWFpx2rgbyTs5 zv9UeI4ZoXZ|7aH5vQ{j&@oiu{F?RLMHNN$gQ7IyQ8#qnruyEa{PZ3gHo<$A`U6aE1 zDNo)j>W!*IFkr9_i{JT3k!kNFmRseiHBOwGnvw47q;}8`Z!Qk3Pkxa&8`FKtye2^A zuv*3*I99>mHuzHWs|JtSmX;Q34;~rS?wPXbI`O+6zn?qm7EXV-uSt@OSl)iUb)SEz zP0Il?QL3i*y&IlS(z2*}PjIgqoUSRC9dxaiWLk8XUsoVo@Eo$7BJ~EYyQzq+NBbxD z_%!DhZT3MF!1b3Gyj+P3dEu<5D8`bv`tOiRh62SjUtT|%Z=!qJ&Q1z64rI>{)$ys@ z0k32F{Z}E4h!M=kD_m~XkI(&H98$Ke<0-PO+M|vdQ{m#pEqQJ(d*a>m9wXe<AL3k= z`&1Gm5zOk`^y7tmPH--P_|<n#bE{Zkmo;fK!5m`=ibmUn8{B~q86KW2)Wj!ZS&oQ9 z3xr_=<UkvLtbPYX^{GX9{QxeXKhsHpk~IjRc;Hf?T)e&}#c%O-^M|41<%`$Z!SXN$ zc!ILr3VF=!5U8$K7FBq_B|fHNWrPnsyETF|lLGaWgEGVj>EB@)|L0!ohn%M}_2(yw z7{zbqvJL5}FrP?~NqX6Jv=TvG<8xOu6I?8sqwTz}^OJ1{cM&7MHyj3*%dwlNbx*;G zHfi=S!`W@DK5WCX*P%`FXOW0P{}e^|V0w_80j%O>cU7#-G537^;yelfiO82lckgn` zYGu*xb1X?1x;UX}$ho1oC5%53&M6zrPpreh-CiLGkWW@!zatqTx>@?EOf6*~(eyGF z&#U<QiUYorvY^Y9BBt0d13?bxk5|1o$m-5fOMHHEG*s+F7h>!c2;w|M;)6;eFI!UM zs~j3vpCVfBA#4Ji;7OaDOith>WT>n9N5a<|pxJ&0QU@qIgx3dH3YA7i&ks1QxVq|) z9?2vjy#!wFyZ>1ofC3rSWwV~FQ(yDZ@2inVpHEh)N4wC@=z1A`IyU-%myWepuIQ*K zNqD^J?bEuP+c7({^()dA<>V+3FyYH2yK#1g3QX(p8G6{@Y9c!V=v#u<`kHQUJIHq( zmXZ@c4^{-8`ji#uh3-F;nlM~O%?vzXd0{%JaTL5`Ha)=Cm}8=m2DsJQ+WI&y4l##F z)(Cs@gbr$C)F`kt+Syd|7OlR-n)UPA*Sm1P0>`cqfz@9x%Ga^coMlS*{hNpEbA;VH z3NP;IGLdl4)l<qlM2$W+84ZFS34ss%PV=u<*>Ak_mSW~M{3_$yGRpO98jjJZS}-DR zCQO7ezfH;W3@e@x6wO3QdwT;prby3IQ->Bvn5tp|6dV=x31lyjD1b@}8hzY_giAjR z>S_EgX=q#k{s2Rd>nPWW^kK7>6i{)t1C4wS{tZS%sgP{KCIlC1uh5NMV3iG^w?req zx19GF*W8)2EnmJM`v}>}S5*}oo;4q5j!hw+)hjA0X4cjz&{84W0b?JSC&+omCtTt@ z$zvkQBy*Y0U9#^?MG%ZlpPlh0xY0~hPOet%*~}c$ng_8z#ANom+3+qc-Rq&!@7e!c zFmBi2^Fo`tU8$@}9_J2^jA;99?L5;gdwJ`(5(fmH-GL_(c`gi13vK!kutQ+~h;b#1 z+JIl;Dj4H1#w;3l3*7|)WdRHYY2p&yy_un!P<S-U$ZUZ_H*%rT86Dd~$#~ksLxM0q zPf59tG!)>b$MmjJBMuDaZumX$RI!=;bPS1$i(`_<5JvE1IXsa;oP*X0ZjGSjo0}hl zI}|aK3JZf*AxxPJ`5Ey~AW+OU>?Bt1u9~G@nX?CdzO~nOZ)y(?lQHCfH&wmwiV}r^ zydqnW2p?Y%5nBxv0U0=I-~z%%Q2=)jgt7NN6t&MAZwMhY86H{@^(KI^pk~1j4<F5` zZGnF<z80Jd3GEo(7(X06`VLNM7uXm<^--5hUGn3G%fRiN<mVI2s(dG$raA45ja|8N zKPz~oNtX7+O<c^KzU{>l#IdwqSXjuSyW@+IF7c5=9`9iNz`E%iYgo39Z?ol*w($=} zgd=On;XLiEuSPUI$5p)B%wfU^NEc^IX%E$7h1LZ{vO7i<LxCH%7{1i_?XaM@ODx3# zrq{J=<IJbFqzLW{@D)$d;C6odf{FT-r0vHAP$h;0%DxRu*|<PxLOF2+55zXPkN0*B zp8xXYJI7&(*atoSmDi12oFwpEIevaz2s2BtUmFPhd8UNZ-#I9oMH$BRNTo2rSfh5I zP19BvK}JewDsln)0e-|o140uUiJyUi0ZXO!<Hvqf(?f)>%D>Rwmd?&kSWE<0A7n+u zl0&{~W@BTDRtF;K4Iu7|vw-;#0HFwcov`KrDZ)ISP(Q-(_N1Z)v@@%u1yeLQcvm!J zn5w?l=jTU#59SZ{6Ko&g>chSkrh&LEr-7q^J`X-MKcf-RJx2=MgN_1EoKmXb$>J!G zf`KbwIEz$k+)L~+3Q@=?C#)4kL?F~4-%9lyX39j@35{TanU=kmii!%DCxAeZ!x7$H z1jil$K|vS_$hHUp>PSxqW=VD$PG2}5@t9$E1um7Aei0sGh*f!1g+}?NczNo{Q;Vyf zIIKf!Hn~|e-6OU!HdcnSvkwE06f@VhVwSNq$~-$4*lCCa2E3YD##3Y&3*P!|1bGft zOMyjuNPK)yy$SJIYoowkiBtG!VQwB$Ys^Mt04Mv}eRI$hfmR7FD*0^ZBDRb#EiIrp zzt!i5s2>i7nHnz-ojg@sYm^9O4sIJ1XiH%7?3MBq_pFdQ`K+U}z+&(5>zjxU8`qoY z;9wQJ@sggNGGt+S>#wjUz_<g<K$#$xdPM9H=srT(q%Y&sfZ6z|t}ayWWg;i8BoXEE zYoHR#Dc0oP4^cfl$>3NM0v}|50KGsjfc*{T!`K>N>4obE+#JF)_LGSo=y46J{S)v| z5Oy&8_TiJm11kpk@chuo;~qmvi`h8fW%$I4=y@)&L%M_D4LI{d!O9BANi!O?+YKu# zW4Oq=gKAuRXBoO%$Q8l3L%9;j$=WV7`Mgw(SP`rgCA$)X*uLvA;Qo=}>D##6YK*Bw zDo9_jzowH;$j#;NxLRhYGy#5C^9@8G)8AfOC2`RH0=ADj3+uZ>T!Nkb9zHE%>+sFM zAi{<Tf3a<lLg8`2UB9fl2XTXc#bWp!2u2{Ng7`=t@I2lY1SCYm;9Fq3Ma~YeYEdZv z@eFBc?URh>i@f1`Ho<66+^SQ^d8)hixm;*kW+t1IR6P7UaiqYDD51QZrKl?ab1GF; zygnGbFlIzPQb>G9Z*Q-0R4$HF>~6^S!w(1mIuiOqh1L^cdZ2Uo5%B=w3J*YUz_5(K z5D~f%4ewDw+y2vdnh6XPB>mbW;{g1@Zu`q$1;}4pS0}G@4;EA*<fW<@L*8h5W)$!y zkrTT$MBzBj?6Zi?Zjg(kC62=GiBh3i<MtgSCoSB-Uq)Z-4k@{9c^n<>q9av-=nw>O zfNDkYN4LGLZ7%Ys<h-)={(bvEOdfmn1_eMyTW50P>WqEvnV$LBd2U9^2^Zdp5VJ<y zzz33^6<l}+*7FDUY`;f1@gf=F_3PK(*~p^{B`;@AD{;UXQdB4Q{q2-BN%k0y7yLv0 zG<6E!k)dZI9(_`Kw|cyNlXGnE-%@Zf{X(b{>v;~n_U}b7xWH+EBfJJ%7+$(#r5 z#F8=+05Bg?|Lkz^HYf#f!=bH0KblfjCUNqjTg{txz;iGZ2T31vsw7lJSUB|9?69y= zWB@_}9&s0y&YL&rUrzdBt)iSGg1eqShri=F?1?BQ|7ynZ+GNC0id8|##?sQZAvFP5 zwRr(hIyn6c0_I!F(BUHv!ygvIREpbJn`E!{<ryO`G5qww)1d9s_%-$R!h|sq5Hg`B zAFIr(8M4DpLF}dG1y|J7!!6$**tQ8Z79>kYQkS$UJSA{TYa3x}4xkOYM_N{vVs_W@ zr+BXS<6wmD2?ZQ%f9*>&US8jfIv3~z!U%AX5T4z0<LwB5M8Xkt3L7B%gA><DBgG10 zwfX#DzH*M&XV+;pHF~58(4S5{nT-~z`37BREtKxHQQvQh_nMX4VH3nzjZ`eoi}w0O zft%Jc^BXQw2?;~aKP*0kkAQghU3hA^>E)@IL|_>Q6*S6V#3&!JxL)JG*ZZCRg@!%Z z>Bq1g)b6gr6xv9DUGMK5{(Jr^?b2(<#+#Jll4=+?=Ak#Ov4u^Rs?SBUW?d{~FmTvo zeQti$V||3VV4Nhy_HCgc&|_?|$k2^cuKscE(0`B8#P*f7k$b~*PcJ==_ijnoFS=Vv zxmoERU9Ill4IX{P*==_2=hey-HJ3G?-*T|icx%1k(e4S-6PQ!Lcce%V;YGs&s;V6b zd;$DM^FdM{C*!}UC`6Hfz=K^4VgaDMIKqUZu@Wxg;rJ(cLuM7KD+MJ*qTp^bhj2X7 zb9K47v-4q(HFi3Lia@19Mn_Tn-^0e;N$Km6V)8c5KwB<)ZyD}vnuj0c$R5`Dv{_#V zDFSW_k*{6}#d*wYBA8lMQE?|$JUY2BK0TC!s3(TEO|<JcD2AsD4~nig3q%450t_k2 z1ee2L6lf4pBBw?;8uXuM|BiHw??Y8uIxL0Jc4I}r?~q9ILE;SR2E0>xMh3L?DNxd? zw(&DQ$(j7Wuk2t%<dlW6g`%MOh)iNIKihi^h3%cUX>v^w+yjs2+TBfiqzxczt-aj3 z>L~?E2(ZlC!?(=^Y&+GF9>JdKq@qfwm=Qo{DU1aVIyfeQLvyZ3ajY$$gXQq-tmEl; z?=tin_+L>6gvdEzyZsxo5u-%@lj2{4jYm~>ppyQ;DBrc)cEkGnvX1zxksm*C$E;D* z3ble!|JysRza>3f!xy}kf2IN{#O}-%QO0@V#N6#1C(7)t`uQCp>wL$Kjm^G>nLfPo z4=zow$$4pOM{m;pZ!zeqUen#lj2lc)s_5uqF4fqnIgB@#c{M({adx6^)FS*KlW9~6 zyEfN_jLrC5vhu2J!;Ls;KkargeBz_Ct$F0TiyrEEHqNsTt{r`J$~poEZhHE~v-tRf zY0^oTQ9}&aE=B;YR~dC)VY0r?i(~Ilt)*~M`q+liA^NjS8h^`c`GbL%1waD?j~1R6 zmsAV1wGQJ`iXK7pR$m{0lbt2B(V?Upv*~_Y(c_T{80=JD{KSq*hHY+I?=uF#7nB<( zTDPiiv$Mrr>FkVBQu*$eBwvl4a=%D6LGrzO_Yl#ziDEZcCVafj&C{X7fu7pnr3Mw( z(Qtg9;Hy`zfMa(U|3^}pu6dHrkE1~~l}A%4lb@dtsZLU?R#ip5&t-LWd2Ma3)EI%Q zCW3gzn@y9SKSxp1QEVrHfTj-1vef!^;-fhVSa)x#4v0Q@2g9fBe+8K^zD4@%hlzmg zbuOD<EL5@o`#9W1elL=ps~PAn>*+;jvQC>ZTp~(lyf()~mrM7kg{k6mp8%)hE0<O8 z9`@OlsQg=2RZUH117F8l7FG&Q@u(EJoh8JAQ{qlfrwJM_7^ri(HzTXcvSPwYE|5jT zg!|{wFn@nrMYKv4#|UfoNA{C~7nJ3QTZO|c!LVT_aDQZ=$ykX04(yg0Ta2{KW~YCu z6>zXh#h9JK*BRt$vbA&0v6lLib!v&mXBWrS>%{--&iv7+lGtH)k@lW+j@fhuKN9;7 z@f`m@e|(H9{GY%5A3y%x7ODE6(g;fAlvplV`W_v0W53txxE|~%ZQO_U`|2z#kLN&I z05EhSN1VQ5v5N0CQ$7T+FbyHh+JMIARGkFdcO#v&0T_SwcOFRQU{hjPTN5bio|pFo zAlPl+#dm99nh)N)-0yZ1*R}SQDK^PnN~xi!P4L*x&COv`ywe9P8hKjrh$2ele7H&O zfu#Owb%6Nthj{RxYK`CNKj@^E8g8k2R6LR@W%#X$m4*}FiD<2sQviXrG&MDub)YT2 zVQu{#QG}+@IM$9hm#!91Hv*5ThegUo0|SGcs$t|H5$MyVgEW4>5Qu39eP1p_E%e+P zZ()pblp}CgS?0?ZezNg5@9Oh^cwkUjJiDJEG&EMxN|)KD{Dkibi}v3?;@3W$Tj)b- z;{8nu|1S0e>u*fo8dsG@jj<9d0?toT4Qi{OJLK6dY$F_9+MVg#O6FG9o3kP_k7j8? zg(9cTd<2uVp$4((^Qx+dt{9HllSqAYe6nPdH>*q_W5Z-oZ|93{%rUJ;5@cD7+YmSA zNwUhWm^wufK|DF<mLKnE4(Gk#yS076D`<S{!qn<g^MPM0jVjM27pZ>oWmX9fX$ifO zEa=10gGf?eP-w9^0rFCa5e<e-)ZFc9Ob|C?u7<|taadUO(rA1ms(i652dM3UwScAJ zVc!7^uGXntmvELtU|LaEJ;*DV<&iM@w9_ng=ILAhTEr-7OVBEj^NioZJaJ<8fpG%p zNl%9?o0obA=KPS=nPC4$L5cPa!h#(b$*P183G54S9~J9M!0FJzy#~9bDaUSN{s*n! zALtA!t%)O({~APqO7U$iH<`?%$<Q1T{z7NGx1czKc@W_r_+*F5>@B@)t<7(Z!*#wS z?}uA}j`PoCx3Ahf?`ZJUrCz`y_2?+4NJ-TH^?YD?=73!51Y4o`nRvPCRK@7(-y?OQ zb=WikZW}<vl&Mn^BFl2?c^wI$2z=)dYKqLh_it|f0nR|ZG_JS)$!Y70cb#Q!E&@jj z{u*+_r-8sD?!D9R2Zw`9e{QS|4euRPPPImdKsZ5ZhCpMJ{F0iQBFhc|PpmUog*6aF z6F{b9n6J{Jm52?Qk>@S(fkVHe>pHA*36K>uyy^j4N3C^Cseit*#(Z{`1e+?#({PoA z*B_Jv7*w7@7EOeZ*%yPVp-Ww}q*aJ9{Ms_+d;py53+*cvSJ;)vXKrOdevnTjr>lL( z?>`~qW>H5BrSS0n5PW`L=Yb@5-r%_?Yf<lhueA_`hCR~n1kAPKJ8EhUc*Vd#5Y0;+ zuDW;Qs3Ah?+^608$opT`uo!{_pxY~gP6gdL4q5mX+9N~f8DUcIyubOz?Cq}TQ%=XQ zwkwc~0df<7#Kl@=&y7t-JKSLyhqX=E5u%YrZD0m(VZ6AG=hBFTWceO0HK@a=f59(^ zJ#;3}Xo*<DYinQR`HmwQ86Z3$DsTpg`4#$e!Zy_A&5TTVqvW5@f*lw?AT9wt?=L8T zoLpC-xj^XbeY9-wTp%1=$rjry)||f0h_(tJaGN+zxN*Xk2}#D7KL+4ed8rwFemsIq zi_B@xsi*v!igrfMsI$BPvGdZ{vz~9f5xmQMQYn#3^2ZzTre4!|LiI-`KJ$T=P(Ov& zNrN<Ub8TsKuY{{mRLTtGAI`VpAt@QL-@uPP3sh?_l-VfAkt|#;`Z1u$7la&cO|eN^ z(PDrh8}Kg|vqc~PA;a9UmdLlf=BXLKoTgXdi6zBypifbx2eNPUjHtpOdo=v?<S1sD z2(#S*G<gH@)*Fh!H6aX!(TDo)7YQWHX31)!Mm=^i^4~__9qM;XT2j%h#9o_j&pCjR z>}|;hy~%D-JxK6laTcd4sK;b{BccSUAyXM1UbZgM<~`p$8hh$G8<|ac+ba3<^$AVS zv5&iHxc{>kyH;NnryHGH7<m2j@+G<^AsVNrK9V;}8Yc{E-U6aAj@`lFeaDZMV<U!x zt{)pQXQ5;fXY7CMu!Ybw=^&OEnq-U(=-@N;Oe*bLs^2>Ho*L+JO);In34680DVGX) zw6WO0oCN$NnI0xS2KY!!(!mzG0HPGC5O(=6vRouJl6jK4`kbRmSKe(su<2RZ>W>47 z5elw+NvqL?3v4XDS4va2*x@X*AMm4XsA9MVNXNM9(^K*JQ7M(nnsVGMsd@GyL5S*> z)O)#6`m!h~GoMWZXY2CU)pDQH4<z01d=J<E#3#4LlGCe1@|HSnku@zyiinFNywo%i zJqcFY#B3+z-5WSLIYoy@QBoUSDYfaFSnaW|<AHJD5QbPXflReej;f%6?)mz@&;3t5 zVd)Iq^a-`p%3~PR-NQE}!lfO%{MT%0h6306kx|xUk-h=_KBm*Uy`izO9y)_wqBEiq zh=@a*2O+C+Aur~B!Ld)P)=PgLiMu&=R8p_}Zew`PkJ;CWoOn>y!LV{!9aF#ge8iVH zP0pHsy!WH>s@MLR*!`EtC!d)`{N5U}{82nJl<%h?iFlmIZ2|Pp;Bm$L6w@?fm+Mao zl0-u(fB`q}^bX(3+NfTvWKWn$VjiS?`Ev6a+V_O-EEyykEtp2##lH3nDRU`xu5iF7 zVkFQ;9#M+<XyZlFo+>9<lVKP2YVsT-O`C%3hzSzPwm<M*b%59vB0^^z9T5V?+sRBP zU)-wu{COC+-4JY5!Z8yOBQwNrLg>K~zPKR7;wu1`Lo!&zDuL=*xWIH(wPaTng+c3! z!%IUR3j$7fpveVLWj>J$UF@;(Ja@)Z^6Askr5=w3j;(iSahqMETXDkrN~`lcTTM7{ z-8T90@&|YS$jzK4T-gVDl!x<6b_LBXOZIw_Cf}fV!obi0&*u>mpZ7JcxsQi~VDiv6 z;(@hUiQ_dgQVt6hN!m!41F^%q`G)up^4ko0?!nL;afoBjausab!}U6I0UOo~>aHZt z?Qm*9{F{-=BIINOn)x1_1T7AKbizlde7$ilpX{JsBW{D#`VuwZKf>!85s>J;aOLm= zns>K1^_3n6zl7eL9d?V6a1+K^l7d84j5-bY8AGy|d_;E-8<{#(QqP&uEF4f=6>(X4 z=yqW7aA`(*@d7pVuV}r#GZ#g&G>KX@Cxo~jHAf%b-FM@hRc3GL=h*x2VmmqJ(ds=# z#;_gWMd)YzJ1mc2I!25+5G`-lqA21-Du;y?;dz0Zim4ZNya<H831aH!Z9Pr6(V+-} zCD&sjCI-uvFhalxq{*xdK^Re7*~NDW<4i3r01wScvP5w*gHwRHd4VWeFm(jh=Jg5Q zZK9|dLUKmGf6v3v(YknG3oLJt0*aFt0#B@>6O!@M#UCnCXGEW121)Fz0M9M}jUybv zFhznq68GsSL!u~aU4zFhah9o-w#ng<?^kqHD$fOpA3H--67ZDo^;odVdi6@-5bKBC z$N2j4INrVKzdbIb)1ALodH)sDmw3Ho>i#Vs3bR;OW-KBeZZQ;F5aZmkx;JXyY_nti zt_O3O9Zui1oqkJGur9wjf9Q-T6I$YX1s3Wv!}P0b!?Eiw6H_W$U7d@S=co-XQLfCC zle@5^#%Ib1=L_YN-UcwC-t}zbR%_m_v)0y<n8-%g-+yQOW7)<mkN5lm6Bf~pf8MSx z4^TW&|1TFn#bRHAOWe2}aeiITq00&PovP5=h)p|D87;ws^0erm=|TrD7d&k$ZKU;F zu%S8puVElY)=XUHZnQi_PLt=dq$|?`+S1m(@~$5GH}LpdfCs9H%e+~sBQNK!{X2R< zi$cBE_%HNvT}t3tH2RT$P1WDm{2xCOvsf%NC38({TB?jYlRI})+$T08Gq-a-l;M8d z3&A@Zk9fbPV5Q=rxl^;gF~7mv;2axE;`FT%y?)2HBD{|^V$P?8b)x7TadAk$F<Zla zkl3GND8ng&dOk*+-LXi$zDmrWen_m}WbP%M9z6KrozL0a5*;soXMUS9@|=}F->h7w zNWb25mAU>9{6tqxr^Wwq6S4f4IlVU;Zs+;TDV8Ut_U|>WQ5WmbY-OcNc}Zc?cyGL% zTr+a(HJeK>;+~LJWxaG?9JB19GL89~;TsnlTUpRyJ2`Cl=T^egb$Q#F$>NKTj%#pl z)v<AL@}ZWTo4J+jZLcSsHOYE5;Zjf`s%>b`DNSPx_VW1i`8o7P9{rZJwfyoUp@Lm6 zEZ&hO_e6a0^_WZjCdF{Yu5rg~#fzO5&W&1!t`=2mlpH>NzwX12>s!@Y?u_4z^0o`J z*?C>){a$unov(3iTTgfmKDSE<PnhoWWtUpz3X-qS&$%-5R)sDs*}!RjBCO;Hz2Q@- z(@`BCUQls-^%hq&58%)kSTMXoSN&R7bf<*ByyD}qlx>y0o-DE*w{ygK|9+v`$(s$F zmHI{R<Ib%tt+t6T1>GNZ1%?5_MvUwM4<9HI;xn?Boqz9JYH-Q^>j8ePY&o~kO6Ycv ziIKjPSp1ty{&giHCc!<5K7~S$e^2gVbQ?G|#;F(6^MudBUFF4<hEdq{oZ?maRtP^H za7G-|s^yI$TwGjvUZ=YM3@CPd!jru4RiDd$Y{!YsCvKdb)4WVhe|7`8vb#q8ev9!3 z?5~uj7exJU#%$@Px_32v_wAc!ld9t1S{AlQS&oeEQM^fe?AWjPtJHHQhvRQebl>va zcleP%XCUVm<xSo^apLOxzo%SUP@_NBTgqT@MkZ%Hl9*I9yP3ps9p5#mu~&og2(4wu z_9SJA*NvT;3GE-lpU#i5X6cmV)#ZW6%QWLU-botD$kV4P(3eyG>0EY`sr*l!@m1k( zWP8$14o*&yIa}TvnbZ4SUt2xZ-g5d+n?8%i$1!HsZzaDYm~E8XyT<%pp4)M$?BMCK zMg1VD9DZg{7J~h?9S$n#y2Vt<hlLIbg$xJ}IPE*m$?vc{Fc}|q=|NTZb6t(kol(q} zO8;;L)debuX!~7O?YJ${(mT{xx4D{fe@D_}oJ#}=J}>F-WXB?ygkPOV$h2JgG?bTJ zCRN@;&;4lMOOw<i?fI^6;L5P+G}38=qXX)rMPLZ`;Y)HI!sdu-5~<OTVD;mTvz2I} z`4OihgCrFc(S*?uS^-=GxL&-)d<<e0V$=u{a1_F?q#_P7K6q)Z@?d6YUR<bEh^F}% zH+!gNn|yooyH9Z7KX6p*lU>IYcwIp9(J^|Tn3TN26WlQJNRLm?^)PRoS!GA&<}^31 zi=7?iO5=OK>^ZyPUTWVBV-In1FIxts(z9}L_f+IFpX`Y|X|w!O)M~q0{ui^-^er!o zx7^v*Hb<4$azFGNjmgdEI}C4FbgZ&IUn|@DhKiDPkJhVU=Yrz1&rf>KKH74<URmmU zUrq3(|L*qIMn0lvF>@n}I6lNSR{GkQ%e|at-@b$Fn?GIDZ#Io3J+}F_iA(*AJQv&G z<KPXZO84)&ug+CeY*~GDkmlZ`*sNCRD<M(0&R(Z$OAOCb9F;z|XSYig73|E*KPa;Q ztM%=lDh40>%i?=-cCBpqR<dJ|f^%x?XzWhyPXl#ru33rgJ4_YttgX&2l+97SDyVd+ z*u2&CtVixpl!SWUcbDw$QcqDzFISnMy7HRK<vV+0$fe%Uf4O2%!@Fp?w^igvL3k>a zZ;Q;dZbjBkdhWXqFFvT6Esj6+#^JiE_SPK?=X50){aq~^ViId|D}$@IP?ZHq*a;mU z`#BT9ymL}gqm2G8>te^wUt<+w3#>WmciOMD2N^8CimNFWlaSyj?c$R@>8L~P+)#gu zLD+igjZ~5{Du4-3z4brBKJR}`)|Hlj4PA7;IZdAS!h70lfs4l#qaT#&s29O9ahj-8 zRZO0&ceu2lVQ8P^uBvYZGWKf>6rRf(l&WIR(TYy*WWDkRexzKH9N00aT|wU7%8?tp z+|qmW&xrslk=1+s4@c<wzWOvL%r9oG<$mgJ?20V=T=VrcfAeDR+Y&1onb~}YIXXVm zn8CM>j2_e*wKK1Z$6l=1TCTh-!ZEL;arLQUd-vJ?KYT|y<tp{X-$W_yyrDK^x&2<6 zzs!Xj`huKKIwvS!Y1tjCuIx>H%y+RqTWxuLp5DIPMUyX<&n-JCrK<Qo)%oL$7t;7A zQ<%ARnaT7AKlnk65h@zXOF)+e77QrU8Ud2L!SJNpwlZj`-e&51a`?4Dc;kOZhccWJ zZGHXi?G0eBfElZRzm>$?LmCA=68nyrnZ1C#y$IT$m=j;?Ny@Y1X}{Q}s0aIU$wzT9 z7CN1tf0_SY@?oD;jj+)!ip))e)@P41bal$?%JUbUIx*}mUiZ=Q>Ok%*Ly=7fhY!Co z5X^oNG_Ry16ksKF>tX-c$dg|6o)?yvRg0IJWh6CejZVki<4Spba@28uhnY+u=Xr{> zG!-Bkk3rH7C_H^v&yy>_!o<<~_;)>^`{z0^lbAWGP4G`jN|wMH!2tO_%PaTbeQ1_V zwTphrwH-CKt=1^}(5=(!B$0GkkAp+jX5(z_^_zdJiU+ppAD_OZ^X81QMvCIsu1Fr8 zjro0d_Io|6sE`+Uv$uDZOoqz$C~d+EP32?W@3P0UwRWTi-B0jNDB1JfYhzd8Ig^yQ z35~2=qo2K#npv(PbldNwFpIKEeX~Q*<Epv$8C%iWxuVG?DH~GY>R>UmK+D3Bp`6D1 z$CLCs=_FXA*8R$<4P}0gSFDAtO>3&KO6-ghYj?e*namNvPTrpw>6%z(w0C9Fc=6o{ z*FWn?eu~QTFF68*WPBam|481?q>K>XU|E>mXDrY4=D4=kF1xR-Wp&hhhO7@XF;$=J z=<%Fm%ibzB+7Ol4?%wEefVb>IpH0TxTasAXRXveitp_eK)h;EaFIR?CF7+zYJ>1as zF?yzgL@}c#71o_ieYjW8*)r7bHocU4o|57Bz16%T83R#AC<B=?y|c%viaCuuY)*~r z_}WzdMW$1;oTbc4*2-V6;%eh--2rR8g?qHzy%VNpw{GuHcKMT0*J9V{+QcoE-8B1> zR(_r7ifQ0vRZG?Bc^AH9_n!=}M0|gxbh)kc_Ppfe6FQO0*<Trd!SR+vjpg@^%E!W! zQw9WPxsSJB4G6nW_T69T3!iwYdd^|e3#qDw1`Y@qUp`OS<(JmlE*qLb5IeTtgWTYj z`=98(VI()`gULY0u#gH^68(UEPeFU0Q<pFq!CF8{3<4yPjRkj$56aeWg8v|955!M` z7)mfcbsU@TAwXyUaO%E;iHVc9e(io?{<i<)yRRAT!FN;x$IS}k9;wCNF}J;*F9vVT z^Ol}vmJ$t}ObjiF>6@Z9vRywzIpgdfXHxw<M*fV=Q=axX#U&>Tv!zz)>RXesYpsj{ zze=Z51ufnTJ?n9G{jg2?))r6Cl1CYhcE7%mCKvCTr)o>`WM7i1c~rm|-5Oce#V(I2 z(1$xb*S1J+wjKCfR=2!otl%c8Z*kh<)26cO(u57a|I8XM-Qst;k{Yet8<E6uHnL~7 zLv#5g<qzu7>5^u~CcPZh)s_|*ZRu??jVU)>fB4K^<f>|AoBD)qjpcpy_04kumm;Xu zbyL<ii+*eQ<jvgv_IlaXzC!Z*)IHHxskpy}w|zaMG~dfM+d8nkE~T5uk#4Hk?A2Iz zC*{cE$_|O2epPc?;|>jX6H+HiwCkqc99Y*)<0~D0Uskt$M}Op~{>+z#6OFPo(dQ-& zm6^@_sYVwCz6@xGJFQ=0XY}zZqd0nPm1#;NmE-tS!$3@E&!oEYplg~%?a<e7H;LuS zN8Z(5w>>?>ZSJYaGIcDeywuJyK5*6b3cX#}pk~CMRGM@RpOZBK*H1VdOANCXl@zIu z&ywSJxH#ICtq~if@rZi#dFkbevaX<JC#}7`FDlI<if9@m4u<)EJJa5$$}q~&*qU3) z8hGYTCLL|+&b-SZhE-OAm)hw~|4ePuv)<XlawW3tRqXtw7+<f5fO`7}TN&d^DV}Km zbXljQbe7MlW}nNXC{~twTG*&=kgv_JO%*H7N3nSGS;9l%6LxQ%%ngsPbzW^et0z{` z$jjE~{$psiKzf_+;4EoLHKOH;>j~cPYl6o|mD#VX9zBvDdgE$Bxz%)mpmnz>I?em- z<LrpfK%x8O5%245@r^Yih>EWu^-SMddaBMSrsmZT-U(t8h`d0|LvxM)n8^4u5mb%{ zF&AD~6zflQm-sW?ItEqVmJVKWEsefw-P0Ujzt@~xDk}42)>I)4@ju7Z&1k~eEl+p_ zdba0@iG#&9UJy({{Q1+)uLg8e<C(##VigD10?QeNeHT}?cZ(;T(-4@;t1`MP)o1Ts zp7WWGyvQ?S{KS{nAEos}V-raxV?zgKcME)ajW+P6j&cOmsEkg_?2%e#xeEtx_B+M8 zMeV#-`a;pK>RH0>i(6O>{HDJwB)15dwolI4HpN&6)tR>)P_pdF=2KDq_L8<bu-SsQ zXu37Lz4h$DXB^jOir3tn>0cF2t=gSTDAQG@t3R?jXIwY8uVd9h<y3k207>zr>GAPC zRj2yqsuT{=x1rMD!~V?!Oz~Z99s(?neik%mS=mlGN@UlT)|~rLEavN`ghthOe|u#~ z7!{+}qu!kceQG?u`}^ugmR+6(dtRY;c-VZ`WAH!|jmcf@jLQn!A8M|fQJirob=D~? zEt8S%GS$`+SIT{}&tYEF^04&}a=YV?*B{v=?$x<k5w>wVr%6^<d~u?EUxwm@^@A3v zuFr?18V1XxzW-?o5?pMqvd%u$SlgKM>-X%s(F}5;N=Cj2={S@BQQvyY$&<7}O8vOS z`7y=T@}KWKs*gUuCYrr4bX{1*krbex->fsu!J;DffqF${f8cN5b8JJTPMV#6^gY^G zr9_zgn>+h!PW-0Jt02`&+A~YszJJeFk-7Xk<63{OVVs~T6_<K8K|b#GSm?p#CryS@ zLht6UcfQ34Hv%vsKmV?v!xA$mxHEWfr8Zf;zcU6P&k7=e2-$F3M*HLN@Sw)j_T29& z5tq&#qtJVD$%^NDjNtMICn1cLH{KzG%_-q4g32DE*^AE8y{k_xy+Bohe)2x5`sQ!n zK0*`52@>S^+`M_m6<gBCvzuvaZu_*}xTMr?Q`b&gQs15}sKmNDD7f6($NmDdf{Bqn z!CQ%CTkC)Ci=NdgN;fZyUo4la+8{sT?SAcGE;Pc2xo4;y++<yKlG&HXXGABmzldCk z$PwAxTTXt&za_MpE=Tf^vqi>QxibAvDX^I5jAo)4Dihg%HIRM<Z&s30%sF!+dRDR{ zDuu(nhy9M^Iv%7UH>p<1`BsCPw8<ZVe33H~t+Ze0__(z<Ff@*>EWf+%F5XZZS3P$j zI~kF5+owI!TpDw`sHaz&g*+(z0>gH29Cc_AWistP*WaQ?Gym-+^;e6a&a-2zm2qR2 z8Kpj*mkZvIqn=QH&3IM#>4?SPd8#Wfy1!6G)!x3oi6`t}Zu&;Wf}yB2%7?Yh9D~>Q zN64>Pg<qbDu23PlZZGLG8*?sG6iednVjBD$Otp5?@RW7x#@g!2*yQA+E5B$MRBFBz zFTLDyZPjLfyY4VpYMm7E!9DAGM>JH9zFyczspb&>;E~1fuHRnH%zLQCr7aA}l*jH= z<W%4Ezn#+F-ATD+Su@MX?8p~|Bb2Alx7@fqbT#AnvBSHsJ`>)3IOftzrv9L?s7q$) z3kJ5OjK6C1401I|ADtXe&D*)q>Ntw+35eAWgFx!<lphk?UbpF<;orp0Mhqu`#^&MS zpyyqI3ADjfcabJ=jkv@X<uhj_ckbM&V^_6@a-Yxx0yRbuh$C;=RWHWiQQ>FHhUYsi zE-6^YcnqJi2mHWz{H`ijxPgV<y~>Hh$rs*b8`J6!&-8h&Fuzy5JZ65-@>5mB@elw5 z^8tAy;o&dGv%}L?O^=nRi+Ck>DKGk8U1O)M3R9|Z%Q^FMHj7S!IDE^!<Yv9RebXZU zZ0%20pNp!r(cPkydX0AZvx988RcgLzmt;0Io2#u(GWmda(40wGm&*^umpivebgZ~1 z_qMu>&zEIUGPwngCq~+SdPZ*3HF<aM==)*6TsvCsB^?`c5Dncd@>lOnEp&`aewr@x z#dhVh!f)u98Q6HEyNiufAToQTYjwLD{m_t|(mY#s&5+iy4#AyQmV_CPPy8Cx)=WMy zE!U~zp*MfIXqQdzdE3gqOa3yJ-g&m7PpnlAC2ct3FKk!OPJblegp1gw`;9p>^EH>R z-Qv2ql$~AQJ1M-mD(zVn?V{QQ+xJI9aZ3W#{<}Sn@kXjEu;%3lz8)Pl$bDhtm7iR9 zt}O46pjQcdsNFeB4cBjpZ!$lA;Bqm|Pdf6|N`S>iFn@eT;ZVKx7RlAanbMJXi4v*e zkYDq<t?LfFQQNJR7i#q=gx7xXe9*tGqTsC1c_*HdwCCwu^TAtN1XCjJy52T=Q&1IT zE_8Xh!exL_C|9|v>iDwPg;$m-gMEBXTIEoE5u7=<>9TgSr9|mR5ae%R(6QZsz|0?U zzQSg(bzT1r1P-=OqwX*Yg)YT++GBd3rLY+GAi`vI<%g`4Nz0KklFqgCvmeyu&#L^2 zA#F^NbYy<|<jEz0XHw-sQit*eY(#(mZW0e~>SRpH%llny32Jhp*}hekc0;~({~P=d zO}|@cZ23GPXjfb8E-=7c&?+H9?X5aqXnB%lFzbl3M4a@i+RC@4%hx&%5iC%_N76Pa zuS-_?4=cBS{aJ67s?a2xe*dt=wNk!(&FLZ6G^+zy-aCJM4IQ#S$ttC;>|8kADqFdw zEGMTvJt$YVk8D)2k5(nWcN&jU9D6BmYVRBEwplGz)iyCLW7Bu91D5-**H#GFl?mr( z4s%v4RCd?IF;xzH_@Tkvhf=Ol{0GH|?0VbiRBuJ}S(oEe*<6*)aiJ1^;{!VK5|gL& z^M6tw5)L1ySQ_}?;!q+v=BoC+R<C!jLUDupcIklK-+ujHRGkG>Ra+abMUW0@q#IGX zq>=7MB&55$OIo_5OF&AxyGvR^y1Tpc&VA1L$Gvxq!|;qPY{0$tT64|seV>QLoKtM1 zoEIEMr@M%JQ=u;>dQ)!tU5b%O^w)I#1DdoDms@8Bj9BSC>zR6$eWJ>1>}^7w`WuYD z>wdp7nwNxOU)XN>=F~3g#l#T0<j9xt<ESU<8+&ShQy#j%)p3OyJz|_Z-$MdLav>~> za?{jNkh6NBCrg-X`|wv9n|80>6@FZt9@C%C$JU}K;%1)v(31h76T3Uk-3NLzmv7Fq zqgUEx84lj21!1a4II_m-@}l=m6Mw8y!@D_2|Czy8c&sh1)BRiW5sn@-*$!6LnZO0@ z97tMde1K!jxc#gCOOJt8kc74e{r|Ikfk!}zmIC=l5EIA)jf2|^HUrjQ#+_bENNRT* zPStgu2&F!6GzZMd2i}4>hwTD~*~FYg@fTS-;x4bHFfT?1tpOYgw`n$)cbbtke;D3l z%Ns|-yIxirEs)-kL-wW9BLs++yyb1qxb@%u*nt*tYAlkP#!QkI@ShOdt+CW8=DxF% zPlkVf8eOuoXb+0$JDPdA4dOqXy#&5nsQq2L_=KID?=&i2(Pfc5*HAroq`C~a8=FU3 zK68d%?u<p)LCE8nExpt&c{kO3&>r+RSoRJVh6TCUQy^*Ix<4~&7I)b(u+@x|BfjVL zBasf89SSo_P^Tc{U>&f?Q=Dx7ZhFAs^F&jGjExa5w|?jaTS6u}lWlF0w7sa<kkb(H zyHY-`ZA%Y~O!obc%9n5mqQQ8KE(*y@Qe+rob&C@>*0YFRa<_9>E}{KF`v)e9X<Pwq zuHmj>nc_a$zj+2NRoG2sh%EGnY?bTS*WkQSbC@g|1FNW0Zcirg2x_S~y^>;1-Mr^; zRQ$LwM_-K^FmRWl_4P<}l$ExBKg!yYcYr@+i}SI<j2u5<E*VqGK^!J=FHBAMqviAW zeZGeNVsL+?(hOS^2!-~DZ{f}H_xbu=#T4+r!BMYQSZS1*;jc;n@TVUaYXlV9vgE+V z#QlYn<KL1|`=uGehxf!e?3P*FJ3sqPe*U78leO^sl?PK(VwduOfbWGc_tHEc2g=Io zFrEJ#0)z&YA)p2W5(u*;6IJAVaLiH>T^DbcU+}aYCo)D7vb1@o?Oxf_QNZe6%<WzY z&AG(XZo62uP1jg2<@^$HX3t5m>CtysPq}o@jF1+e)gL)gc<d$=YNFfFnh38tz)PfO z4%|ZHn`}+?qowfo9eskIPKxFCD3t)=t{uzYx_s(4jv@S3$$ceJ2`x4+w=VY{9dH?f ze40zA^V027wD;ZELhn0_mj7&9K5eJE%Np-8TV|M433A%6;Gbm>e^w94SU}m4&%a8c zf(B`*mK;}_xCvj|&0P1F7rn+U2}|oi9Uj)am<TP$C!IZayi+(;{BTa<!z?=#`9Amd ze0ClNk*#vx#9x?l&M#EO_Z036mYH`STlV+S(xXYN!y~~Mg7>c4D=eXt*8ei)R=DTJ zH7zbU)IxrwVF<a!*rSVjrdiZy#;zcs*^+eVUcx4q$x>o;t*J@l`1*<6v~($CEYx9* zgn2u>t8L{u%d0in=3=mugAddH{<lrs0Y_k19&oyoOW7K{>i7#q_c+qUbvTNrEOqCp zh7}jHKw!K|xRg2Ip=~@*BJ(p1ozlUWr?&IA;v#PmI&>=|(d6hUMrq|5p9z+ziw}W= zs#IoFSciVz$rQ;dp*JFr&oyUjqdSN(fShdH>5g>~yDSAx6gpzC;wO~j?{*h$*Q%C* zZeGtUEb9Hd=TWX<y{lR$&u@`c4EBz@E#-T3C!b*pQpDI$W0J%uOBEL}^7E+Vtcs*Q zIeZ`3g1Ia~*qd9chEdUYskpaK@aKwPhK%)n*v0$jFe-;XA&RXscNAL-k!MD<z1fbI zRO)z(9Fb=MWK$~?)fKS94zD%GxHv~W5e){~`E_bH9$cv-S9?^J&ROP3nBrI%ek9V1 zj^(`9%!c*UnJdg(r&2Max?Et!TJrjo$*B1q`2I9O#ZnmF&TwF`?gf)U?<<;VU$Yec zo$ob?a8U?>EApf5fvgw7ud=TX7IH_myt}Tir{=tg(%)`xc#!O@3&|Ynu}(9pc1>B? z_T;wI4ua|o;N}5rIT#e*4Gex_SCclqg%;sx4oEoB>%Y>cmFP)35~{dlnpI-Q@O@j+ z=uD0++dc1>qy%R`aR0v8=yNt+3C#j+rYVxrbsd_i>t<U46v;>jy3z>z3NKYS6(4Gl zFxtlgF=P?*p_^96KX=Jtwh`!k(cT+R2jtBYVn6WYn?ro`FJ)C8H>vQKJu~Y^qh>8Z zvPzdDnfbz24EPNt3J?I|3<P&XgnIaYd}~f^6YnkFeT#FBfSc%5M!`N8)W6nl>ZHdu ztLV<O?arHp9%=?7gsw5~sq#U5b}{WokBV4?12+i5gMv9+T)$&yuc-75lZi+9R=)m# zqe1!Ai5go(fRFsG(yUA~dwITR1GL2~HqDpYSW`5m`vqQn9WC&}_>=#XfnOmcoKvp- z(^c6ca*vCuk;ok~nN)$sK>3^?eIi2?WX~y^7TJ@zbiEauni>UyJ;qg+1$2;jrR48> zP!w?mPQ{gy$h^^Pm*y+(aDt*~{6Q|-?G4GKXqxLBr}r@^jIU{*aYJek@nm4btqJn5 z;9wK6bB0lgu3PY5%e_Vml&BV$sD_n<>HML_Y@8Y7wR2tZ-4nBCjeoT*Q_buButUPw z!<0$DKoN7&x>}|FOsKw^gMQKk241m8+<AZw*_<J{k`bAT9`%%Ew{FckZ^`!|8`&OK zx3{pVn*mYMt|n9{Wo^>uP0v&+ih<eYAcHPL4Grs$;4ip4IsN4mI~%<qZw6_M0;sb1 z4~II;kXDv9M_0d@VB#jCdAeL^j6b<+L#KcK0DgtHh<M?~$kgvc#{%@3vfg^cQOQPR z6(UT!VzHx(%62P+bI5QRRG>DX?n~Me9g^Vsi*~G3>q$B3I?glC$h;*wUo67cU=t+A zqZ%V7U&0qb5fQA=9pFdV|8ty)WfwA4vtu-vmK#tvrOPB*Vc1h~8MbF6z2|Kt-Ttw9 zOvJD*Ss^e`EeyTKxQ{RI`%qEdY6csYe~AmRF(hS6xk01%wQkqT*2lGk|6{^VPg|0r zJMYiRw74}Gx!-XJLUbRqSEaMDNid7FWwMP}HGZPdqx*^UVL2g!OQgPY_RKhwQABT= zz$=GUb@vI!9@lX%c?~)_R|}LwX^s`0hWI}T?=TJpCl#<{7w1`LbUE~F)tF3N?U0Y7 z?k@!Ed%x@U%L~{}XJIDcBVwwx1=fzLu4&eWo{TI~dU{VPz_8bv$nlDH=rSAF&M@b? z+GZ$)nmm{`WA^IqfBu2C>oX1p3}rd4!x(GBsqWrH*l8imH5ZgEk&OwABJ+yt9ngJL z4wFk~o0Q>UIANG`N`c2!vM{Pv6x9u(BAQ>jy^X^3S)65~P5+k#(09~eHpyGTn?swf zXIaRP*Xx&lmJ+iTm_lf{0JrcLxlMMiyCh7W@K`uIIkKbAA|zaz7~n{ElIh({d(coG zl9O?ZW7^yueyVZBV^@j7G4ppd9hHJ*YGRt3P_W#kF<Se>&Om*TkEJh=8+|~M7M!4P znQE*9PoFW98m&2ur~CykeJYLxYB{sx>AA{fY1K|;`{`L`w)K5UqoHJikz|5hSv`R= zA#!&I=Oogq(4H*3q=fBD-v`pk=z!P&g8D2NAxr2W1(X?BecO(ecZ2qfzY>bIYmY~U zj-zU(aei^sQvSZ>9p!yLJaWKwKElPi?J?r9WYEKIhFmIXuwwkjpNu?WSVUv~4|GQo z>E{EENmpER{m#VkPtT5jDTGS!^p<^W`Swh4yL5ul&3AQiXH&jfN<R(Ei?S5Xh;QkV zxJ_cpfB44c@vZtUTTnlW$b>nok?5_QX4`fHFiA%Ni$t0_tE8kHf9~?X9w9<U3VdYC z>m^erhB$m|{_RW(ON!S<N`IasME{1a;UhEXg*iJb8cvGfnrAb~@c3FY8;pPxa?HE% zF?Bu+$MUd^0ockwX8m{x{FBiH@C_oow7qBl0X}vl62{?c`RzK=ty8`J#zOlKVoUcc z1=9aSM*k0T@ZbLhp8>&F{!9M&_mBUqlK<kN{K}BY3sOJ+ft%DynJU}OZ?+Rzfcf{Y zUi#{OB@=^SCja9(f<OMhul<)n`G5Zs`0D=of&P2se?sB^zWF~y(tQ8xB@Z-!7^``_ z=@a13Wy|osGozH$@9=xYM+~-9y>TUD0q_awZUG0V-7SJGAgWG6u2?XEMk<@WCsCvZ z>CFgANzh-EQhEK~5B3iV^T#njQ9#<n85we<uXRDT6cSq>O8o$E_W{2D`v=GmR|^K5 zzHZLvhx5XsB8$2*5Jl?k6$3jVd?1{LH*ZrlJL2kH+H$1<qI`gN?c6rI5kz3U0^(+H zq<F|@J2_GI_lI>=pic{al3@@^dyg3TzkdRFd*2o5sK1ei7SlD$`DQyAIMpe_B3HP+ zI9vw(sWQ|+-!y+1M~U$D=H>=<Io)goC@Y|-T<LL;!f@!<K)MSEEkQO`H2FWL?dvp_ zP9rT+JPGV^;^6c7>y?L*mcF`UfsYHL&xrxS32_%+n5V+5+jVstr0zZW0i2%!%;kOm znuF*m7|A0i(5a7aa;0)u>4StkXboauVkUpEAqFxNy(R<5%#l)Z4RElmEtkPPeZy%l z0mKN#kcgBx*i!&R&tP`RQy&f5zYYL%1PZdjU90WJRm>ox4Lmo6%B@o%XN3*?W}JjX z+(?dE+aWX=x@Q~x-90@qX=wl)cn*TPF2VasSb_VcO_3mm1xm%%b*Vt@QM>5$e3sa@ z(TT)p_~(b<j3oyUnF0a=-}F(PyG2ySI1Ff=E`Y277%TxVGsv+&oCFJCVgCn_T|tH% zmwvuOAup9<qt`L)o>p8;|ALD~2{DttC$J`iq8f88BOY=k2uwr5+Mv4PcC#AHllJ-3 zCsEMnH?B$sO;^=owGP0tas}lc$S>a{QwEZ<)KcK(04aLlMTg`Gfp-POQQ$x~58^xp zvI<c71(8*dy92dc&|$m0yW@YnQ2r<4JvS!>0u*4)^=bu-cgZOza?<hI4k`y-!5zwc z`ZIW*Dyw-8kc9MKw6<}1SnCO!Cn7)%o_~A}7I=XA3Z53Z3;0+9K$<=V)IW_!(%h7; zc4%cma1m^y00ibsQU(T8QAKV?>VMzdoR`L0P6XdMggy}vo(g%rz!zQ_%OOA{h2nk< zRlQ@9{fZESQjP2{>>CEWgP^R!6}B$L;NCKr7~7;+`DwdyL!MYVR>K?k-Vt8#wu8U% zv{Y{iO*vD-5+(CFfC-Z4BoKW(8_)o6FFz<5+lhC)^3SmIfzt+U2jaGDb9HVHX;2iu zA&F`Z>jeqG2Y~Q0s!T@n0JRg67=d)nA$yBJm*ESte04lF|N5*oK_wQIkh2}|#aTh1 z(h7%OqZ<(1!e%Xx*jgY_LXa<n9K9d_3P`+k8r9zbrK5~ayP1>vW2VOu7f7E2Sb+hM z;DRT50jP&^1DD?55s(Zm?0OP-SVaRl<D^vUMue}BKq@4!377&9Pc0}t$b(|t`SvKJ zND7YLcpI;M%|q{X2$%@;L?}OeNCYJSR5Rcyc?IkiNdH128ZO4AA>n)g2(*`pzMdlH z%e@8X0VNd`5fDxe!(}uE)5{lta;*uPG|R8!75{;Y#bGUb6zO$&&!|9&ekyN5pJQux zR0$-y=RLJKR}?ITA|v(eG}+i$j>*yFY|Ne4HKdmL?Mr*h<b+4r(3<94M9a8&nNOTw z`is1_>?V%=V5U5>_yN@7$`kS$=Vn~y1=PEuS1Hs_9!b{iX%Hc&Ub*uw-W~BWTB>R@ zBb8{9`C}_0CO42vnTEQV03{Zn*+T{t(G8$F%dM|Z0)U5dfc`=C<K^e)r;Y{M5;Xw& z0ESqwL0oP$h?6ImK4<1`XJ_{XWb`YZ51n~{kR2Mb`wKdN-wsJwjgen~i0Kx@Oq%$` z9sz72GlN(;jguFo-vD@koI!fsXU@-$*Z-t?!LANqhklL*s0~07Kx&7i*SAJ9(b_>C z`UZ#(h5;N!L{U)@PLSVmM*+;;VB4d~gt>pF1Ld8&JNIjp>^j?3A=MHMP=M}{oX^Q; zTL#C@3u5=3tRy@*0B_GGM|@fb^jOe30WD}UAA+eZ`HC8A(FitZj7mQ2+4#UchL4i? zAqNBebJ<VkId5R&ONigi&2b)_j$^@(;~@65x@gi-&J`Q>HT({7h|#Zmgj0Kk{9|N4 zCwo}fC^b0mWAwMuzSg<|#6o8t|1?zCKCX~DwI_!;_AH$0-bK?Aqn#!5KT(OeGICfZ zIH5dfT>NN~xAt>Jqk3v*=*_k0s2qNI)wqjq`lI9F{V}pNE1@xl_zyZBXS%S}gv6Qr zP?!s;Q<Y80p%;_Ii+Gd7GG(lgR6YnA(SIlLP2nh*g(9(pmV^#Njyqc!NVe^vv*l?e ztS#cM&rE!J@MtcfCu-%Xwtx$EKHRxz9$%!Q^SW?(n5M5=ccl5}$}DH_YM3Zwz3Eyn z!&Z9|x1Z^c`TNtdhwZQZ>lN+BeIiTDhU&&3b_S7dZ*6T6`v4X+3uxtoiVrJ5@HX)| zgSJdFI8j1^THtLmld?iHlH3X&09f1wpXbNso3${=N5QWFP+#c>fpIBw^F2wed`d}5 z8k+N(GOq{_3XcXaD5#(APnVg1tN!<dgqOD0i!Kh}!-cc0<}%DByFh%gg8z7KiNNDR z1bpTT5Ut0;mM10UCdx0Y@I4Ea0>$_-Cjj^bh6F8nAr4~$w9hMu2Oa7a#3nm05^U*X z^#vmd{J5?$=w2<0$np^UER*}4@guL|P=d&!=+~@<va|z}h{$xzcc##O|DP~X?-<`` zRb>Ys{wPYq4peE1sDjI7rC{~%6!{SP@V7!*WSX|n#?We0ua>wlXKJ6KcponoCbqCe zpd!nkSS*2Zs8Yr`EsWNGJUJnGM8W0ZbJ0ZSA9#{knVUcJ0RyVp>_-9LNQ9$EX<1_F z(rpWf(+g=*qv@?DFA9?!7<<_^^szo)eQleZGp;{(b2Z|-xh%LzkYUn){e@{xS2e4n z-ZGgIH_4DF#rZXVb(+HLJ8~yYvbC;1*+f{Ck|8a95#LZHeyBxTNhZM#xAX2{$Z(y1 zOHxJ<{m~4?aTNTQNB7dXpfI?GM|aV=-iMj45#wnaLjl${-omV4TSxw>P?>p&AX4S~ z>78<v!!UiF&+fu>Akd-0+P@ke5+5ECc<L1JjGhW^^&k7fqkES0{kw>f5mnLWGDyYi zuyr1UonC<SI^PFl@|dIoK0E8H?S{<+P1l2pK5(t9Fz93PxB{rz7l3WJXL}Ik^I+h8 z(?wFL*98mS%st>Ds16{Y^K~})_4PMM2<ryt9Z?NaeLX!;02n0a>FF8l0NNlU-yY?A zi5G#RS`aj=z@<0L4G@B#%>w)c-xd7=$b|0w%WN}^;wMxhZmi%gU%EkX8UP2andMMk zp%WInuXJ<->6QdE!!zoaj>Y;=old0-%B_tUHJSxKDj%}nd5k4iysJ#_Q4>zDo`ffF zJl}5N(47X`8YLJw6Gn#GalITrjnQ>{)uj*uvk<_WJXwdjTI28UX0R+6)ZKJrtjEvF z!pii1AaRP}Ng@Dk@SU5(vf#UUUenl6Yv(MUIA#^NApMSL!=IRjwZ6WFrV=qPR?CC= zT2-$O7y6`|u2^_!V+MmzHV?wtCK>I51JSS07oOkwTKSME=>$+(6d<5l-ZH4T;8zaf zW2e(Ns^B&HqQhs^z=p87!B4kDZU51fpvFzeI<JVlM=-yeg+6m{5mdX;oN10q+ILfZ z`LOB1WJ0MX3ocpvWPWf<-A#w1BIX=^SYi=%dPHj?PBi2^biX+;$16N+@bFS1kC4D~ ze`9k)_}nIHy39f;O}^DET_IZ^h@PB-7lZKZh00djv8>v8tR0~HI+Cq}F*Bf7^=7yR zx~h36rT1(*GrQp_ti}fIkU_62v@Y4M|KGb8Gxv{f8h`eSqLnM74;dzhcrl2z1?K@T z)^^wenmh{BCvw0#3slcALG`dR5D6eg0Qr&v5~5S1!vU<USk!GGMFn6EP~`>-IG}G) zg-|SbU2W_9YyrjQpHf!E&ORuq?2>-`0G1_Su?KV{M&PstmcagizX=d@?w~&hl!jU( z%Fmws`}_Mj5tj<z0G{I%)WqV!fISwhUV*Lz3eqtEBXK|-38cwz^#kia3P}u*b_M4n z5MOc=J6P8Axai*KkGqA?gaM=t58yNa@?(s})h{*o<H;w0`2ow5nKmB*@Kpf;Fo3`l znP&!0c>v1*T)U9cx^t7Hj0`0+Gxuj^0KvSzk3zf<)6hUHxV{%e(jC{Zg++V)+^@9e z(jq<nJyTzn;5s+7_2(`($tRW5hsedrJI#u25^`n_R@Kk9r(-9j3T%`@N$LDUBVC*m zAF{;{U{cO$%aVtVKU6D3?`$<0h_P_9-%7KySiabQk9H28L8aR5j|{^_J+Gq!Z&0zb zyC>Kqdevnq_Ms2TKl<Wzj4tMUsyVHCTZ|&Dq^He+#M$C$#in>0T>?U4Nq5tcGr7~e z!lHAU0Sl8+H-)Cm;>bqy3%Ykw%|s5)FLz)yG{5SKQgn<bA{=<U8Z3WbA>ZcH9+7lh z`ZfFU@LHDsYlA^#lvMEGa$nOG2RN-Mu9wV+=jsz<MOm^t-OEJ3m^BuYwb$>L?fv6e zJ@umF3|8n~hqQiMl&-6+ga5Mb_lOLJ*2!YSN!_M`S9RzfH{GM{3gQ_N!IZt}_SJ;K z1M*bcJ#|jr2q{0UD7ZWOc+!Jlr763A+!lP`7<ZD7rl?dIErXM`+?KgQV<SwtaP0Q* zx6Hc-EI1jj4(Iz&J}k6@58DSSa!D}R>`D(E164)cx_MAV%_=R81k{**!!@vS6xlVd zHe70U1N66Z$bb{_80hmj;yWG!5IJ92^BH0+CBTeHaS}#0bm{<iQ47ZUi&5TlWbh#q z{OH`2?(=k>S>bk4x9rVR)^ddpzz~pjAz)>Adh&waG<XAm%brL2R=@MNi(cZEhA0px z;`X=#)3<Uxa662so?xJj`m*CQqyqzPL%^3nfFpok_T|eL85koI6JT?LRCXaI%-!8x zKrrcP)(5x-@K&m?=L9@6zdSR5F#@y%Q%lRA4Q_9ZTHoww;GO4r{X|g(R4hEzBB%EG zJSx1kGR@j^J0oo4&u?f=N_r1|?TBb!5vyP7$uC9H+tK)L=@HUpcBNZr+=A2M=S+6w z!9?Ba1p?G_M@5A9Xz`eehawAIe`HT}3UYd)hfQnQ*enpGe)whwy~BC*pr4K)9Lc>E zW~PPqsa}AuS-szodpVyeV)wRwggBIz4|P}NoI(2SDaXNS@(kiQJYhjkn-9Y3*|pu! zEz;J*U^MJ+$LLNvJU*;iV$Rm%OIh1PofSCT9jvK^h=vU^m3+Vbg9S!IT*(+k%!2|1 z5X;|%L7l{yc_i!@|5PpO<{PzVa(*+f;MI8`pdMr~vfmZiY@1X&WxTc!@|$mR*Y<7q z+-6y3E!5Yq%YAn)%NyDItrHGf))rJd=P}V>3x!ArvflztC>i^wg?{HUSWzjvbUF4t z`fU8yrOD^geFOvqPjJHtn3pXe<hTzMGax;d#OuZawgB`&P%J&eWlR(oQjJ0-;g|XH zg%GgkAX@{FJL|=~>y0@1*!cLK@m%TI3IjNB7(!O(pi@uA;ex*c>h7WmMi5dKST=!< z2`D+0gGDnC73yS+dr3%0Kxp`oUS62aL$=n}dSI4<4D%tDu~6*y`V3`&Q8ARl9tQTb z0mDYF>Cpq+ivv)PJ~%T&!by-@DIh=!1IG&ht^qY5kBBIi=OzG~gDn&QmLo2LfR4bO zGa;(Dr2}_5<US0*zrb1%c;9kC)7GC!APA!GmIF{IKtTf5M_@b#FecE|1)pSUT41u) zElD&&B%$Kgyin&&ky~=vjq(I<GS^!meYfjg*N<))!c);rl%2cwMSFoLt2j48lRB!; zh`7G=@seKv&2pxDB#4^L0~TF;Yc~R&wBNKA%Q1`~rzG4Y)Y-nEA)Z8@(BJCCXxLxg zPp(T%kteHB<(v6>1R1_RGx(b%aIojU2_{uxoLJNMoiEkQjI=_}Z_G!-wyV6($JTB^ zI&z27)<WYaBIj<dc(b&?5M%wwA9(dfhRExikPTH}L@wogYWaJpVsrQ~45656;t2#Z zYQM&ik29ekEOVRL{h_lgYhP8)RyyF_^Ye#Ik&eM1^v%&oo}34s_?KO$^QpEyu^iJs z!lA3@+77vnq%egv$K*&#NOf#El4mjzt*=B{&7{l8_y@m6ghdGUGhJnhvBlGx&OYDa z2??Pf(sGkflr5mf7G>9~Rbx^wo+K&lKEBj-;56tH7a~g`AmIGs{H<lauEJta?3XlJ zbjtT`pXWPbd-3q2w%R9f*)_t#LdLW)_Fci6t+P2+^qswoD?J)t8YW4=oRD;P)+|os z^VH?>Mbj1`;w9V%ZkS=(aW5;jF9I(+v$P+r2MENwBLKMwnpk!MY*0W%#$TFC=C}87 za~m5|0B{R%kig{;2xx)p3wS62GwCfBP(A@qg&_-IV*&OH-~s|{77*WvDngFCla&tO z0d<ZTDg~$qV}N`E?!ehNnsxlI+0B*1U5ge1o3=lKe)>(9cgJV!ZoOTiz%*q@9lZH2 zW1Y!?KK<t8?Opcd?ZbofqRD~H>FW@JP-Cu%u{0DF9hA`g*je>A3oK@Y924!Bn~nLg zQy&;bE$BMA$lx5Nl54`Uc5g!8!GHgtpIQ!of8hZa@HTiy$%N<q%BIsvZ@#uvDz;x} z&EvSS_=hkmk>*AJ!L1&>Qv;4*$?6*NqPbJ2-|VEwzR`gkZO}gLejjvm{_g+$yDfs$ z-<K%NQ){*oJBP<QIf7k<)yhQ_yM8}~TJ~^E0oj0ohC^F3JAd)x?K=co+Mg!d(VDI} zT(1HRw{goY*4^ju2^3Uny53$gGh5@id-M?^P)Z(MBo|rWgC#~4wX7(!ChdG(Dm0ID z0dIXKMLaglL#t`3W&!|J0=|O7C4C*M`&==|cT8(XJ$l_5Aps0@9YFh0^79h|5?9f+ zA08Q4`!nS=Gbf$(I=ar?CkjkhFhe$W{jLBn3Y0z}CncbR+XF&Tz^XdF2CJ6STTkYS zrKu^Luv%}+Bk&q?fwNC{clXTi#zpHW_Fg&5=!V53wV|M4%~~b^5TJuLoh=gc`RXy{ zCFWEf^t~!UzjFGe$rAlcOf9w~Le=F8)q`8y0As!kp@Q{XNeAh5$#eK4y>=%;;Lfiq zG^O}&GptOM@lo&5^ga|W@Y>N0yhu^D4$v_3xYnrd&CV&EG10!23=KC}(50;M^EoF0 zw_BERK0P1R%oSpFH+1WHYJ5ou&SyWbn_REhoTwkdgzg91{Ye%5$bs1@qrj?6An}tU z7XB$ms3l^lOxXG>xtZE9SsDk42^Epy_zw)RRQ}cC#`ulVW~lw|%NMDdZIqG#faIY2 z>@AeVl!BAhnwN5yV(x6Y@R~<X(Xg0<2PYLJe=u-ywcEVT08oz9tO}@=E#u!v#_H#6 z0+O5r=Up1=jpt1>akCZigEk{nTh#Q^ZItzSVoCxA(x3Td$Q?Yg2)ErZ^NSL5fhU&? z5RzODi~#%ED_Fn=2UvdD5MX-LF-xsKAa7c7xHOt~hUhP@pRNGul6wm%R|6@!K@K-{ z9756G&|zbX?U!K39H@ZkAdOhC9|SHI7v@--GMHm1PcHk;@0w94v0DSpEjpR*tT)CI zs^RF@bggD@H;$bg{;I!%&KbgkmB&6blvjR_?gACG_i@jdxaDUcvj;vxugftJ%`X1d z6t~~e#nD6^Rn8kdRl;{P0v*HC=RwHPwV}i)OR6n6+Z$vpnCq}V`teebQv&oPXy7@a zv7jZ#1jl%GEVQCV0%1QUlt=v*K@&N#zM(hYbCu!3MU4)Yff*IABmLkx@H5#>Mp|bi zf)0-Kb%nyJ<n}kl5Gfmc@t2a57S{L_*3CgEQPu*bBaso&7K%_A1=TCxJ-buqBx=}L zert<2wqzXKm@6Gd6jb6^2)oz0omzXopmJl|dI<EgetAA7Cl)p<1NQfVQRAJt#J@~9 zHWQ<1M+NsbHuCpp@^r{*?4913v0U5a7l1)W$4B$GwH$w{cd{do%M@O;JTW!q-%8_H zK|D#YI3PXA#=*g2JcMV-F<;2e;XyVP6>?#q2{>#r#n2V#5W5gS_yOdiY1{l(*BK&z z;V)|I6AhUWbH|)><7_Ngr=oyHO(A(!c<mXl=nws9Q=g5Hkwkj&MS`5Xn)zzLpg9iL zB{?ZAW<bHkvu)nU>k~W4_fJ2#SeS?G7DMg6R$rE_F{pR79`pN^0-cym*-~G$QCrSK zW#)SSn??V(^1^5}r=F(_y}8tJoAy^tT0%ze5wHXTOGr^1jD>iH9~Y#__~+5}&P?N< z?}FZh73<!};t66?{L~G=4*xbjf}$RaqTomw7i2gUZK+4;0HY(azKbjDse}d6Me(A` zb^1y<*$d1Z1SL+48E7`-Pbs6(B_WU2i7Tz2;SbgQyt+wcb`SG^s{JK>b;N?WV8pDM zZdo+K<o=E1t>jFfVOGuEY4H=nQF!6+NI@@iXz^yAtGdBWecKV;fx!W|?g4s+ME`^0 zV&_9ManEOd6UeX$79)l!#!Iuwtrzj1^OsHlK=Fa95`g-dY+QR_?1M6O<|r=a9zfhd z!qH$T!-{cJQCAHs{NT`Mt@4?w_WL59*tU?;qLHqby14ZVLwNak=5S)MYxd}0j+0W* z6MYzSObE|D{X1HwG@qwn_cY<ouh+B|SS`%kxXJH3(KFsJ1?F+L$Ar>3F}__8eWo^> zXu5&h^p_OP+h3<R?ce#8Jmm5eb!PLFraKpHErPRSH(Skqpl{bt?9J|^-!?@-vDOFf zvQ!d7OUfVNpG`E`ysy8LbbUpe3RbV>9V#o8)16bm4UoYjd)0{;#2}7c$lz-!vi<5k zegSu^I<#`qwF~?C$soPTl$f|r-FH(Nyh5hqw1Vv*LnYgABANY^7MNPzP_Mg|M~g&V z)}>3AZ0ecvtz2ifFJ3tv0y=1wUQt1R>Fhd?<8QZ9nVr_7l~i-9Hik((Q1`l<C>i*t zyQhs)xUskU7Vb3p=lq{1?rqbqr(3aGj;`Y8iAd0(KYnlef*OR}Z&jBPMJdU-j(JzJ z@V`0Xihv)0-~mnmxE-lL-)r4SQj?dEFip${DL{yN5)43QZEDpOHRQC~g@sm)ktgLo zbFkVV8+a%}qjctA`{AbkVfjh?S&;Q$<&mqP$&t<`Q1NPyllbq+(~MujoZ^tQIi9#V zvnCqP?5E}5-!`5IE+1UnsN$`(C4Td~^W+Y>Dz;FI{2p8HhF!{+=~t{E@JPTH`O|{o zgY5b!#cf<2-r2Z6n_T0!1oR2`rl!~Sp$J_WosGZDQERGW36_1JpoHO;MT!_Z*}3Y3 z*)BIk-c-FqM;0%8{%90H!ml(MnA7#(D92IA!6RabEbC{$urF@)zHm(OER+K+>ZvK= zZ<EIS@LH876(Ve%j+nHpz3zxqd)p&Iv4Ky(!S9_9O)xGkUzglpZx6jx;69d`^ZK~% z(ROA3^XVqgtDJu*lwFVbK7uH<X5DSSPUNQF#;e*rGV^??PY=g?cnCVoGCdS7<h|zq zvH<o}OF>jLA?-)F<&n>Cq=c4VoyxuW9!S|grfVrK>Db3i@!7b?IN~m$_0Sk_?znk{ z+#CIcWe*3V`Yp-GsA_bUWubi(h5wryPkilLC&NPqx-?)a0Ubaf{b<{g{PYO`QO&HZ z0I#sYM<gKcbg6@7sI)8TAVN2Z+wx5B&3+|3-inTCk4p|TeHU^PH{a8FDp@LgRQ1YZ zvi}JTrV`Rj29j|7`Fe>Y+}J0^W5TzGZK#A=QF%7CIckRmN<Sy)4<CJ^t2X%8oW1<E z9F@;6k1_GT%xs?0Skq6m%B^4A{@AB1yT=vIY)P;8B52~(uAq6%Lb=4FHsupI_2<;a zgOGhBlr|@a=Jy}LchcUeow>?uwrV*_!V@S<wB}m_ZHM~(jj#{&)Q(Y9jWtAzyg1Df z??#LHJK5zAx0ZRL!cIl<JL^Uq&i5W^k%#wYl8p!Dd*InI7Vh<*lSPr%7`-u+D>0Sr zx0MmuP^_Q*+tTp_riRatQP7{Br24+Llo0zb^B&mH^pfp0K9$9jExEVtleSGgs4zXi zNM-CQYf>5^3q3BJ1>Q=s4-sj1K-bX@@%D-7aCvd3u{=8{6AIkrWg?w9uQI{Sdu3+C z%^x3AGYkDYd0!EDsiTP*OT4wx;ZMlz2(O+HLy7R|lfht$I$eTuW}jG%EaZlNHylPs zT3Q+cU;+hHum^R&z`(OlP<Z8Pw?!;+-1%v-wi25brge}oz*vp>XNGt$PtVJxqG8Tz z4jEChNqX+A{;9}5TG)hoDUK=16(sTU>n?j84}w%$3oGG>!H;{rmkX@7p5$+4O;JDi z7JE8|5d~^DZvJASXWd>WVuiN&3-yO0zyYz5UnizxO<%T0ua(sp##nUMp~-aEV{ETh zpClvTqCw(DOij?HLNUp7eQ8kn=F~BHQ&U5|_7MIPJ(R`+`cu8L!0}P(dP08}UR;u^ zN;JNwhVp18$MNRJI2zSz*dFzIZ*y+k2&cHDUt~OwJM`XIbtIGP97=0eNwH}#F7&+| zPbL@Q-Io%>uornPGc>42_OULf+7XLz*+<uv$POk+Z;Qrfy_g!0<6VRvb{emsdZ(-+ z71S|XRO1j6hnOn>4LDn)k4bm7iL8~m?%chIlP+mu4dKuY{eE(pyl{%YBJe#~%+G4U z$?qhgTbfgxJm)X+V0a`kmDJb-jqhZT7<sp|8sFKAoskYQxrN3Pv~H7oluP}jMapqP z!-OT$m)$*?vGYd~|KAz&;~$!cZvQCOthHBIF2rP9F+UE--!>sg*#-RM^s^__o)yF+ zNHG+Q%SJH}RRq%!QAPcj2?55164m#B-pSo4GTL9?ojPosCTG$X5$&Vu1%oB<E2m+w zV6X90kHDaat_I;SL2BW%3q`0p`Qe(%K^NiTQ)|{6wi2`K(>Sq7PS)MTJpC^*UneF4 z$cnV`%;Y#_G=<4{_6Rt6C`v{TD;x4~P|DRTC6u<a$z1EP<Yxto{m&~<@x$qShiKu$ zZ(JWvG2sap0$nccErk)waU=IUy~~H?9F$q_Q&Qd}FI?Nfb;cJ7o*PJ!oHYoM>s71& z(JVQbN9%!`o6$ng-Y8E@Xt$Hc>iSCLME|h0PW15Tw@ax;R~^{JTXFdUE`{&#&MoBu z9mmHxAR^Z)9M957-#0L1y_l3hQIUa!Pa~EIO{)EKC1%O(i%^gZK2&OaDfx;$cmJyg z4rY?<Yviu$(#n$wf?~FsorjYT{I$np5{@p-tEdEo9%&DIaH^%6x>*n9BiG)Cxy4d6 z%&qrwLJr0+JGzWaoir6#^R7eaDJ98WHg=LoNm5(`u=3&VPk1Rs#h{EcEezIXRaHw) zs_YvQL(e2k!jRM1sIkSOs%(4M<;22S9EwM!WXlcur3?ewLg|AYPJ`%3C6S4^#30+2 zq&Jm7r$GnWv+A{$$-nm#Np-;3c`L)?C=1+K1Haq}NON2bHtTh?lPR4-;qa<ma{uAc z(H2isVH?_sMUbt0&G~Lh*q%_3D<gV?l9Xm8?u%(`@;5`#I6A!F%wwf*5r6&ag}JXd zOtSruIt(5F9$-3y8V#@m|EQlBdk3rHffOs0*s;)zr2Nru3kBuC$5g<blUskfJ}Vg= zEuw?Fe*fEL%`tJ_LBBAbdv(p?g&8IV2~pUSz?-rDI4!nL>>@N_)XJjP3LO|XJ1^); z^N!*d>G1YGPE>HmS^+pG6q?19=^kWexQyLcE@$Ye!m=on%@yIjP9(YkT@s;EPlwlQ zLjpwx>x-7u0o{>zz24{>S)ozUL^xO;_m%oEDvp`SXaY!QgFb}4Bzv3#HlMJ2shb+! z(uD1rnROQ#Bcr5M2GSVI8;C1o4i3JXRnQVQAPo>GRvZKW5w7^R{P28hxBUqe@3XMG z@Wm=gaPRU|aK#k4Vkj~%!${FSd45}~rO<4O9OB^BS<P+ZG&{!!tEud_(Xo{07srH_ z%O%X_YT{AB$#F7tk8zkxc<eHw33?I<Lu=wh2mC*n^$f3%+1Y1(Dfa{33mmZuqS{XV zEc9$#vqBa&P|=|JH5f`;;<W%BEUe!l#B<J2tEfb{w*J@K87r`$=r3pTj15jz_Ycc> zNoBe;hth}+u6OBNtm^j4<%u5@qE&`#_sC|_8SKR)asG*D@yi1}0|d?ix;cVP5<T1L zF2vxH3}H__#(LZA6!B(6Hhaed{lO+6DsBwCFWX4av<BDn>|cAIN3<c7crcs=D&q6^ zc6{LWrC6gT6x<-DT`hCGjM%X<N|IS*bfPAR*@53?j=}rYL*~EfKu-;Q3nOTqJH-|x zHApAa7zTF7AqHYf4NXme=mq?IHd*0mCrZiCkSl|uGq3?984DDx@}DP90y+t=Top0q z8?n|u4nf!7MWle4{<rF&Ld{R&Q*}*htY0R$&aPs>gYbXh3UwA`?u=#^n_8qXLjU&p zZYA(DhUsbLXV;*_&HByt>~PXwns%7dgc2hwTrUw+TRnas8Z0Bz>%^kW-8Qa8N0>P2 z?^9{HV#(?aTEDM>w{Q2Kn>B6H|55M`E>+_$H)9V4L@lipuW#4+)OYw<8<)Ei9+#ZK zX^+x=jc90iWaVK<(2ytnW=Qqjdfbdb74&P|6XyCtU&;P=ak0v#$hYb~KNDP}iryC5 zko_<d4~y$qI%9Hg58U{WrAASqXg_N%RGadRaMmyPr0s5!TC4!2#7$s|(4($Tvi+nv zGJBqghWY+rWH5}bD`}NzR8lrpQg+V`F~U+wkx-SqCiQ-j+CMm5^ou@AV}7`!3DQ<E zTQrYPt$GOtCXHqi=d9ndiGmkrr>~dZz##kH9$N}N+XZF@nQ@hjP^FMqW9J{<__Qza zlWea(9X`z#_RcG;A7WAdEiZA04_v1)s8!pw`6sIf9SL@F89?R*Fx7fzDhv$n9qjD^ zb^4(0!b4bR^VD(UvS<kGA0q^JJ={&V8H2X6j=IOKCqLM@<|UnS=F{4|ZQL(4=n2Kn z*Aclf|A<7Y?tz=k{j=lQi|%wOvH-8m9q|kQ(zhBKDn}KHujV4J)Js+U2dhF7(K6+& zS1Ez}7>G~wen*o5^dTToV}!g$4F(Ahu<7BP`HvkJ>^p&h3V)TG0qIAH3FhRNi%4fV zFuy#BuK&U|@qSoC!7$s!b9}dewfo7vvVT-Bs%~^p-+=V107i#pm0kijT1q@8Z|1=u zj>7%%UzpUC>{?Ext`3@~0FNO~`_fh%4>7U)s$`UQWeuraX=&5NPeMbVKgX8m=EitG zy`qfZMJf!dmi@KB=*-+n%w~g<H+glQh9VnT%1Er#U@wH<11F@y9-Nex&@I~FkCz_( z?aiyjXj&JVDjuWPza}I#G$zlp08w!OBbK(fggU=4L!>I=mTT6N??aq$hAMwS@oHSx z<<IW-57(2(@ZwBD?}Df)`V}h}3Rx-_!<X!T9P`jN2a~M{+vTD(!xhnG)zg{Edfc<A z$Mtm1Bs&yn0I<TZAlkowi_R^bL$YqEgSJvfzR?fup8lMiUaJ;May?prvJ3m?#n!=p z0^H6pUPO0#6<;-j<DvnOz5%J4!-O#m$1&Zj54s|L5=zH@x-HFbGPE7O&^#Uy{SFU) z<EE8){?JC?=Kc8I@MjrljW&RL0e~?9wPgw(9)hBp{g@=cfd&C7|GxEIWx*vJM9e9+ zA!;JwV|CKhIHCZ8d2w1*tt*Dnc)E9$!^rf9IkSVR(q-duGWZcotuC9_0i7a_>70Le zl%gpFpZuiXoYge2SuV<K29vCFIlku09;>!Ovhr|=;j<xD#~l`~A;c}$i;4n}SFVRA zxC(S<fT+`Rg-YJe2=lnW!>W4Im>g!UM495>;aw<hN`|$+-5pQeS1V|TlhJ5T**F@G zu9DMvyTf9#d1NRxUe*8ptuBzss720EfjFVlzN+&8Vh~J2gcDv+K!8Zbyr}oD^ylP+ zhy!>s9)CP^A~pnamZWMmlORj>EVrWj4u(rSjn}i*#L=Syv&Ph4bY{1A<+z`PWITuk zYYX1WNskio!`?i=#=<yj9`gn|^0`O;^7}h}&Sf5pS*0|*Gp3IGhS^<rf#ft42Y!T? z)`oC*`p^(!I0GXY3c%t6;}r<axYg@^j))cPta=0f#tBG!L8x~iZV9mYh5*}o7^&G{ zPX$n@sHdl=kb-U>u?LW27Z3sDI|^W{Lg_Bl+W`eEXi_1IY?CYlDrL(Epi}59T062$ znR-9Dfr*Yx^(BYb*MR{k;9{l@LL~|XDyqH7Ldzx31(XBBbJuXtR*wX=-q`5qcDL>H zK44^h5271t&90}kv%fyL9UivGNl2_fT!2kpj4c<yB5$|xJ0`9*DB}zaL_aeFr=_*H zS0bHyXSLacgrp>py)c7c2^>4n?cgUH0(4NgkM{N~;OmCjr!P#)GJrzDY(lNp@(m>D z2T^N)ftacI;#>Kjb(=?yGyFg$4??9M60Ehg#cNzQ<3HO2V@RfbIt-`d&TGKiqyjJ! z;3@&>fUfl@0dFOzmi$Ir@Z7dbZrf0{fLWUX4xubN7QK$;MY0+sCaf{t&5=?9k1Y7& zIqb*Q#x3|~*VW92&C#ezn`u?&1S~MD!v~YBM!IPr_vvB+DFd%N?{Q=zXeNa}C=OAY z<FAD0MWYjj5s#9E8+nO)q&g4MoCV9UQxUGi)3kGgDbdFw_<d|Vg!RZ9eMLib6FRl5 zsVTln!He6In_>3p@nm5#t(`mU=#+uz&3(soxH=-mt>)XiMQ9Z|9b(M&7sho2CaO3h zex|Zc1u13sj@S_ix&@<$`XUdyrbJW3QQmJBk=J(+4}t=+NFsV|BwXoKopVvi%YH!o zpuOFkUwicR0A3a=gWXT7Fqv&G3RaA@vA`i{a@Qr6+#uk7$>9Y(Owbb9-owZveiT2! zkBSDHfs@{B`0J-xdEtreapm}(mVE<^2^Ks)ZcH$~XK@igC4|T4J!$i1csS;0eIh~| zZNooc{+-%qVS7*FIn>e`@oM?{r1w|Ge!yBa=^#ecD3Omw9$Y%Bg>jQSB-`DAy9Hhy z;CD6y8Ri5~>;yj6o)`*oJRr9LVg(|YphfHLtYG3b09XR!q|*8|L_cwl!_Oez3!KIf zYQGvd`UP(L<$;%c9t=aD#*OX(ah2&AWYAwgK(i3p3^3lBB=)%^1_QHc5J-b4Dk+U0 zr9rZ&K2M$p&i9h}J}d1|K-=X8jOq|^F+Dv!1Y)}w+Lv)q4amgS07(o1oW@c~1M46^ zB+>-bQ1c#_qUY``*NrrCTlnq+pMmoMjONor7uDAPT5kO+DqXvr)-eIsNHE~XVfgZ` zZ++Dlj`&+h54iXOQaDiQ(lph4wi(<*^FDzFwgyOMyi1y~C1AWiR=9=MC4cZLH2VZB z;=0HATu(@Wt1iOp`25xttoZ5yW>>yJ?j;1Z4h94uNfUJf%&K<tR&_N5@yCb9&Yy9K zK^7d`MsU3VLHu2B9~_Qqr}3M8;~yM91$P{zQ$DMxDpx$&gj;!FG&nJWC)Wcm31AO! z-httoVqyz##m?;8GQtl+=qkUcr^?Wg*g{#aK(SlL%McnFHD1GunLXq(TPBpg!!{`2 z>Ru;ImpZcA)+PSFP;|lc-J2fn7gh&39M2-TQ@myKwM%j9F0N(sGunZN-J7LfU3~<z z)bZgVIb0U2ft*AvI9%T*$XJhfJ~KNW$<URqXT0{E(->G%@3?yQ3UvxQ(p_Xc?shSi zPc(b4Bp|Ci_Ht~5{?l$juMspQv}9<cEjhtX?8wrVDt}RlfrUP|vkN&mJ07UOOU8EJ zoUTjA$mYIf_m7B>_0-T5kC-MY!KKL{7o7+dRTrq${6u=N>rl1hyYt}FKe@yp--fpl z(j$n|Huhl&xy^&69myu(W@qB$tJ&vYt3ldssJzeS(c3ymiu0xlZX(-R&qybBXw#=N zRZ!ZRZ}PHcS9Ehnh|un5YvlK@2qiy74<VZWJgxqsBW2H$s8jp(`^JWHT}(6y819Hb z($U}u1_sv828=_qRVENRH{=)qDOv&^XK?D`y;<?6VLJdoh6^PSF7E=B{2QO=<L3%6 z`iH!{FMzEP!(#GzgGOMN?Gd2VnO#qGUx0l&S~|J|j<&^3JrG>!?&~`TzNkL2H>s(q z|Ad`eF2-qdeMY#pAuQmYCmRckb<O2FocQ?oigP*YC;)U_1t2p>=;h(i#s`qI!Wh;7 z%a*1gIQSlSc)x#PKZ7&bVux0T#Pb9yCC`Zf{SkZvo9pM6>!m>uubOT3;+e>ok1E+r z1AY-DB{oDmkoHTw+Otw8;<Bd%;zjR#p$9z3AwF@HDSr(jrFy^({i6B)s0k=jN*nin z#Wjv#f+ZkeNS}Zrc^@wtwQS1dQPR?rwY<~n%p>rRh)oDR-q8`pA_oi9A*vhePxs9a zMeq3Cjhgu`7)p#^#m-!b@5$tF73d6^WY$EdrO5zsK%4xBXagdsJni9KF~5!5b%_jt zqk63ULbMJTv(NJ6hkKGO0yNa;cjD1S17qxa5u^zWVq?xe^+9=$xtX8i>m6WYcr0Gd zPEhOGi5uXUy5k8)!R|;g;)%F-7=^c8>7&{#iq57CPg*Yf6LT?8dOAg@c-IGAJcN%N zr|Rjd-YxNI)Yc1f=mpF*O-P4E{uKN0eaE@rZ<o#Iqx|~Xz=H$J(##{{k@||HVXbX2 zM52~UYX21kn=n~h(Nd2mno$2%Aboyxu%~qA$DTyqPS8TDK_|Ruv?Z;V4X);emPx>T zSO?kcSjFgOQP;x5vI&Q)ntJ@m(zxjzmpZh`&|mmT3YsfAuEggiujEkEa(k;JhdgKg zL|!~LS0Ar?2O&LIAFZS+#6~ykw-~X%bZ_=y!y~%k8$ObLLx+c%0c#VGm=bPUvdEw4 z|Il_T%MZlC)}y1pzi|+Pa1jUwKr}+&X3`e;Rb~?YNp!m9AFbv4W1ibuPF{3V)h@ZN zqX69oSmN-|?-C)cOgXas813I01JchgUxvV0-o5wuIK=HS`}$6#b%)(^DJYim(%p?k zYue1xG8|z8d>iF=*Ddr#AeRcJUqAZnUAV25)f+(!OUe@HlLnIj9vLLv^S{u5SUW^h z4z3>hAV0`F8mU~N<Kna`Ly=4<QHf7v6z8$j$~w5x{WmN&&35x=Y1C(|o2&3E=wSai z-6u|H!)QZ)6)PTPUZ0KP_ApoTYe?gS!)8eaXfcOMfr?8$^IkPBlw5izrQ|cklvk@6 zwWaxTn0;`6z&l9^cf2C39Y+FQYPcT47M<Dv&XGn_{6t<`%yW_l^gvv>uJ`j?3MCaS zGWi8Vx*iQ3wMzc!*xd1#_+(ntHhb!6Z95ta_va-t%~wJgLCB#A(5dmwyA+Kwn$v7+ z^m+VsNWV}dRhfk}hD3?{cO+`mg;~U-hwy8jUVLa#l(Dm7!vOE6b-SiT0GaCH*54<< z=awZ0Yf50xq0aQ;h^5Thg|#^@*{c1-!#oKeD=Ew(nr%kw-sHKXhthv=04Hh$E7=QQ zH#$0mFy=CwWuG3!5imc0z-Cj{N<fb1_gy5U*)sR>8hrA`4*@1*BKK7gnlW}9CtDb9 z;sO3Nn(YhfjQ~$J9cY+;Hn8;x!=@J0zn=h`CS(oe)0$qsV*mo2L3*~}k_EYJIdRs4 zVV!c~DdU6O!$M~q1oR9@_sfthRE}80+Ge7TG1#|Qg#CO+zMFo))d#atp}4?0r_D*W z$mm`szY(V0RXAe{DTlf5mp~+#Q&Urz+7C3xM;_Dz<}RB@VB<W0_)05R6XYC#7Z;$* zw?Sli9k+Gl!?I@_q}H-u)|QcK)0!+AhGPecJz$#O_UAZbphdt)&|11ffeue3dWbLI z!x@VAQOnhZhjXahcDw@ptW+}rSN>}?jM^vt*EVs0SyI0~Pr{fL2j~WYwaQsT*$*dl zk%U}+^M_)wl$IQtnf%x5!^SeP;W(8)=I^G4Kk@GcdOC*M<+DE2L<df?o|Nu{a8|vE zBL`wbjs^#p^#x}2pZw04PpTvc{;>)}@5p5HsulAZKfMyBo+cW-^^g1Q$faoXMu&5# zw3oVedaA03`&(BwD;x7i``EyrHfh5*($uRqmwJ^+OtW+nO5#p>r08Q<EMIE*>%t6W zVS0kL5WX5$55`-f=&21!OfmV)D-6ce79@rZn^W2BC;&pe!Y9xMn+3X2{>-Sti9Egg zg?qJF%CmDM0I8?p;!198+>zKyfgbjBEbv9jQ;R9qqm;&z`^Kod1KTJNKx-tiyl<z; z0>b;(usJO*;&0S{L}yY|waILw$-heCR_(EeB_#M2xkKmn-u&2MMAeSR%!FVVSH$_M zMe7CSY<SisZ<&v4sf?_aM@(Ak;$_v`=64C%*n;PUhlisPE)5mI57FO!F~7<~c2r+e zP*6Zi#uk(w;bm2WJ=C<cH0|f9ik&IxM23iAokKK$Ddz=ZLCDPoIEz3c$Phjubng}z zR=zm&%R%Y(SX?B$ZEXz#7C>tG3`pPY76?Nm<>hGzQNcypL#oZ?-($*g?&&<u=jj&Y zF;Bow8x!ElfllR6%X8Ql6QD|iq(DLYfdqW#&DQ%P17H(@T;rhgO0NUfhD12}^h6$7 zFg9MSpXF$l5oEM)td5n?$OPb-dw$G&qBXiB{DnUv#@>gCi#wg~ELk~kn<QHeQ-arP zCs?}2J@O-n;->-syXMZ&fIjkxgHudo(Q;%d-ooneZ;>wIT#~}d5<)%LlZsJK&h3;F z`tfEp?*by-vhXkhWDIF8AHU_#n|D}Myha9d310@Adiq(I{?m^E8f62K+;DobM$T8H z42(lGG$Vm`4UzeSFKjr6QbN0$D@_D?*je6;kme|9R{Y|=61gle-{I97j)oT_+~{t& zTVRN_6q0=V(P9xl-9`8H{->D9*Rfqu=+SOIeW&c>6XO$hjbA{brVev4NbfZ=ED!wI zjt3PAC?*0UjlLhD?%yM^t&G%gLp1WjOw5ferbfnqG+WhW0i7@Ey7sTlP;~k2S}b3+ zKFYGTc~iD8DWwbWW3JR5Yc^^`-hcn&SbvT#P(lnHhxmNygxMS7``QV581thn<3XZH z8K6bLPt`VkPCtDtqPLvOT0Iqw8tnhxaE9TKxZU3_yIgs44);J9X2VIYvzo1Ler+b| z7+xM}DNn?7OtV@ECUN?p&<N_IeZXV)$J&SV^@`5(9WH3b9bMXRrON@?FEF3i$#Dtf zca>;;`UJUO(e}PI()M|D0=Y;KS3j(}@Bs7F?kx--bUBVP8iz7WOiV7%o0B(fLCz@Q z)-M~a=Bg0@i4e$-M!Q2Wfl-xrSFs24(209sum5|~gxNi6gplZJ==;(Y$g*j+(#Z4B zLMP0PAuV!$2zXq#1)jMe(iQ-oqr?bFL%+X$G$F+=w-l0n6O4oU6@fBt@;Oz#)BH+_ zv}I%`G?ST^ee(Y>^_F2-u4@;rf`W8+m(txS-5?;{-Q6upcS$!0DAL{1-QCh4-3|MG z*IM7+`v=E7=A7~h&vWN>jd6}5J?K}zDC16|C2!IvkPvXOH+<3Gx{~!0BQv*6js?OC zZPGnPmRzzG(tcbqK5^I^?YWf&e^9o(KG;2++S>uI(BIb7M)gajs$VbBO7G`8JXNBC z97eIPD9rSGXmnm0xy+R(y9=_9{@0^?a=*?GU$UnP$879v%#)j3-o(+4*ip938hnmS zoA0#Ft9+j3>cC~Oid6Dk>&7>Z;^3sjKP07=k6o?nxX#QJEP8y#)zO&$5qA7)Y`1CW ztAO*ro8{f%3*W(~kL5L=wJ6}-XuirKpIoTSSnZZ*k?bRrv=eZJ6G$NE({q?Iv8_I@ zPO~fQYYsyv^s$tx<MDk(##a4dgm>>36Z8`!n(k6Y@hGY4YZ4bc1!@msPo)b2ogLNl z41<Yw;Fo0?(y9ZZ)n<2lA3=R@J5c3zLz>&~<l-SjuBxiu2lv7dL7F8kk-zX{OQIT0 z3w}DX_2cOx8ij#Ld>bJ+;;y-cS3MTUU+n^fA9jZwX}@`YpiO;#_KNgxA?}*ouNcks z8|GeqsHe_ml;0DujhARQ`mxE2M#P3II>J-tJzQA-jsh1t!Pl*kL@)RBkVJR5seja- zvD$Bp8T<dV02enrj81F?zIJTeZ=#BJ8ydZWGqwGW|AwtKpEljJM&V7d81q)ur<e%W z05$VhWC+GfMS&*>fwAFBNm*0427NC$!iV*3E`vl2*xGW4>ryUTFcWxK85{mWfy5qQ z5Gt&!i~}L^u8k}8FdHC12o(PjyDYNH{(a&GGI`IfILQXE&ZP>15=oy0@$u$K3}k<u zQs9dM`8bi_j*B@|<*}1$j%=}X;#3CfRsI1iv!I^S*B?g#+^|OLok0*gTF4RpwF#sU zwbJx`rbOMHH^~Q(l|k;wQT^H|02~4|=Q_ybc~<ZuviePIwM?XNbOS-u{*99)HUyf| z;Y_}p3jTz4z-Z<MF)cJqOprw4$EOp2bKp%ry4iKuzd3sH1hFWMdwF;vYf_jB<ZZUA zqjm?^1)eAP0jS9NVbgh&c0A9259QkC+n|k*eY_ImcW}i^m8zgvl*wVPGY5L}eu+eg z8hR+bKKZ>SF_o?#%XcA1u5I<Mw47XTE_5}%->S$Xqu7#$Tjty$X`6!2hJ8dka;1!g zS13Cx3av$nDBaLd235&a>l^KAF_CIL8o1|%@qMBS3Ln0-n=sX|!zNKzMT^n)AktMw zx3!Ts6|co`?;iV{996#RnNVM1U0hO<52V%x4kyP=Ag2^;MzNXcqJDm_`()usIACt4 zrFIJ@t#qvBx?t<x=vst}h)dk;<zXq1UvB&EjgU=W3TW>mVUAdkEad*8ZS}e$XJR_} z;{44=7MKkPxNJxn1VEOOSQcEm71<J$M(?VEU|m<t;qb>1;#J$G!1jAW3S7xmhSx#w zyX?#BoYzMT7e%md9vNhet9!niThH5stbQgA*Wf>O0pmO~^m`tEs-{pSSt@ojN=)=z zeZY^L?U)m6-NZ}3ZqD{Vv}lT@8zN|58Pog3<9{-%3%;ufWWFZBmprGompjZ-@G@3R zhM;sL?8It1hzY5XLI#7Td1g@Grs3t@1mx}7pQL%^$fa{ef#?zz;881-PY<?C!^FaJ z1ee}J=jPYYFb*J#<^s^{&LK%uV9h--2?Y_Jvfy9{#tk3ordvZyyO09!KIN*<g}m8V z)`;|nOffw@V&F#R%du@AY9!ukeeNQ8{s>q+5ce!l#R6xu1F+=Qn=e0?&5dgc*MbVx zP*UgQq;i)3vnRyS1TL}N;1~+Aq-(bM+>sr)7FT)|JGyh%t|fr)hFCg$eV_Egu93HS z^Czf5M4Gl;V-Tpz0#&tfU-UL$89a@S-DiFN{F&K#M-GywcG45OB%}D@@{S0%gEV~i z&xMqjQH4qCz;21$th&~rMdc@xewnyEb!x}QSE;$CtkI%)@fMoh+S*E!54i<5CrLNY zj-EWghJt@OWJ2KRb!)tJZ)^f<bemU+9K4KI&r+rimrbt~{Sq+~IID(UZf!NTM*5RB zp5E}76E<VR$zW{k{pxt<AHUYUBZs&~=QU0?78EZHRrfUK)C$6)1+z)?g#C3#m9&im zY~A1;ll9LWzaEj{buvGYmXuyz%&uWiHkD$tP506^hy7Fg<mP9R9(Z_o%UCTJAuo?@ zRvXZ!(f2L|7Y&0x>d4X(_nSBKX1HE|=J1uR7OQH2nEMs6o?`u8-cIJ1!(-u^CcK&I z8=l*Y*v$7TO9t_onc^}s@NeHXH<hFphLsUW#n+5crg}Cuf*@)TdwsVN(evt(Ha<=c z<2og<V;X70wRC>a@2km$TLh!l*+3xnntV$cmbYDB2Cc7`)Z?=i0oNms3?;m?eq^Ol zX~z|t%_Tz;vX!9CRFy{K#70(;vCozK#)90H%y46`L?J<_E8!AJiKWCfR;~%sewN1o zQ5Y5%bDC&>>dFPZJM$KjZT~fU;$<5p!sL?u%MeJBt9KxS>L3GGP2N`u0#^WrfDTC` zItO`8pgdW<M!zud5d;u{V=JWJ3w&>zq0^5R4Z+3?$4vxX%%NiBAnOxwV5_=b^lIg_ z^i#tZZfUXtOr;+7iS5!(JCqX|%lCh;8oBYPCQ}M$i=<{}mN}fC!7mE4yYJbOL6vZB zW}TX6h?ebRuQ2?bjS)0oiN>d$<{V6a#H_m;fR~U86LUNy6hT+Q)FN_o^B{aYD@D<0 zZ$w`(>=P(}8q4vsxLc57RP2lmq1Z!;3Y@cjUvp`lw{*}^bvv;&A$OuGVMhIx3%|=Q zg-^R*HI2xv&O6gaTH4e$JoyR@g$)MfZ%f<CRJ^Gsw!3dzAQm6z#nkx^?(esHO#-am zX!=a6(fKh^HJd&j&Ka5b`}U$mY)hti*k0o~uCfFS5#RQrU~u%g5|ut23w$?|=MKW* zMA{fM{KlRCyJjhC=5NT0yveryDKfR_F{SLn@|--e4^J<+DD!M5s&In`x>UqB<(fH$ z!`RJ^sKC7*c)guuYN)9eGB}SSc#9H&?KcWQib3SE{O%!{0hu~(zjIT^cZhEN9*OHZ z!&WH5@rt(Zlu$Ll75R^KM;M|!x6c2qYwxvK;jtRr{_>MTbu_zRyhy6IF-E5KW4F;2 z01T{7dA`u)`!2hrsc+=I%;K(^pRD0hpp#V?QH-M1Z{oX3-t?oF6>X;q&riB$w4UFn zEW9dxjS!>4TYO`|3>9p+?kxLo2ghuw-9k)t^4Z6{<-Aqr1Q<S~_4EX3XlOtW6&gR7 zQVUXRXXyY|Anu35>KI%VQ0RrB>_sK{Nr*J(@VjS4DTZ<r*9R$}UWjsaGMvGEt@7?3 zme>7}K|yCN+wmL65`e&3pLeh(EHPEbd67oBV2fE3#OgM3-@E9G@WZ97Hb;6})#po^ zxM=o#>`A0V)a;#4)fkU8MU?KW_?+iRv``r5zry73*(FPCNN*D3#*u<~?3sn3{3)WB zYn6hKEo^{u!zrU7uf|+6h6dhIoQ!dS`4ck~x?X)04OP%eQ3T~#{<$*ttc|&?Gp}(q zm+P(HK@w?6yBuY8q6%dVJ6@4WUUk3(1A`%^YRAETx1;43Q8J^S)C4A%65nq0HT$~Z z_NfOMzZsIBnTiT2A0qeS?6@D~Z{gk|ke6hUDo=f3V{$J)Vd7WX$lr$F-Zll5lX`RY z5V7cYqH};mC$6-ZY!9kipQz=;#b4Yo67*vg^<sz%ihi8uZ;BxHvsIFNt6AWR{UR9m ziWD9qne)x-$B!0nCp~>03*)*~;*)OT@{AQ5E$2A)P&SwUE=~<q?q6_G9^)GBL`54; z>9sp#QuM7*DliY*m7$_;(Buj`B2A*C)d;v6KK<<0P5yN`oKTUsqsNqDVJbkaM~Ic| zl1)EKU(-1NcFj-$Az107#T>te>8+$j7N;qy;On@3eR8D~x`YJA%>~;;CF4Iv-uXRA zR^PA)4DVo|#e;XB`-B$-S6k0^I3qt{s-IlM|0|Nl1s7<C>1xZV_kz#2#$eyetl6~y zGl0>0&8?l0j*idBMG(JiT_d8|7|nZsU+m%o>cTx-UB>4E-$+Xz|FA}Vwl==Pw<kV! z<IC8ax#>q?TOtpnZTVQOG+(TjiKIq{?Pg4++}=MqITx28CX_Xv@gjbn>WnoZ^b!dS z{WWgoURC%b>c|zTI8}4rOVvQ@Ar(ctdQ;GkUf$mSPk1c>9-qm(swr_fr3yUWBucbN zb}bvmG(tUmOdR?6C>8JTagHg4#r&UPOiUd_Vsr%8h|M(a)mV>gn^zsP)eVo6Ml`>7 z6dtAdIjV24Mrg1H8&S_s+B}ryE=bSJl3p$0?`gJKAMbr<cx!WN?y#T3>Qi@|StTuf z5|MB8K5iQ&mzTddI$C9_@r%%?+-BD&WC5=&SE=cRCg)!=^-D8`*kK0DVx*{~_z{Ln zsm>H1KEO7wjFyiwZU0`StLXF=Qkm$58BPgu-zt@Iy3r!=KDh{^_YRes@zUu*rt~}+ zoDV1TuuAH5CeeO;5`u|(?rt`gE$vCtil}G4QBiuMDcIl=KHO+*dWf&F-dfK>PG%%u z${nJ+b_6#}2+jDR>G-Wtt^9mdQx-V~HnW9owZ*lzPxbcS9XQ1sC^Tr<gl5_T)KZ&| z3N&46PHD_rpjdG#dJa6!fC1D8gdhp$k9iZ+ka`=~am+w>+-9vU6H*o%Ncb?-d=tk~ zu=n5HCR!7dV3fsu)87+)9f_kM1k;_T_Lc)@iN~*4*sLjVEJ1^YFu<%`+%&4A*A`pf zp54NxlG%-pkMVKwZ^!P&V|z)H0-<^EM&RsR&JJ;m@i<dc`$y^_9sY)|O9uqSk--%$ zse!5lG!x8qnP#+w)VH<@dg(W>D;pGM2a1eo^tit`RZr$4-c)SPpY@15x4KanhoDeU z;Y+YZWg7R}vh(S%&kNXaAo1_xJvO*|)*q0|q9-FB_MP9utQO<<&uo+A$na`Zc<Rdb zStl|a{t~~sM&(o`r*ob=L_u!;I#Ot$j#0S8OrNHeciX~w$XB$!<V^dU;Q$|RnXl4M zWq4?5=4n4Qt#{v)O8ShNM{-%jWs^Y6s>IQB_rz3i={GrMdIIoZy7(rO*{`PNjBK8{ zX_Q&g2IpeL^u+xLe9t)|0njJ-zHxc7H~+kIBs;~@(;Pn!i_xV`9;HcfGL=oV_r2`6 z<Sh|Y78On{AoRX{v_Z@ekTY79@pz!q(6mIG<IAp;P5M*TF|Hgo1=CgV8eI?;m8+6> z;Ke)@W}RqBN!e>1|2f@mPW*rcMthwyul7aQ)hn)PkApKeyL+F4a#hF1l}D_Y&4yNo zOP)-;wxTn0Y%;I@E%V~n2E~@LrE|o0qM+gtEloeP0b+l5AkeMi0vaJo5IP8Y_j*2O z;?KMO&#<5u06;Gdpo|uSn;8>q%{{wutRXQ(6b8(;aK2s`;bURd_IgDJs+X$8dnHG^ zdR<K;FeD7Ko)=HJYc>iEQ+L?}%Yr2rB1Jz4-Xz;Y4@G&O>rl>o$81XcQRp!G_cj0X zj8htB6rnopst0Z|F*HJF8dCdCH|M_Gq^NB}pF&3sas@Sw@O@BnzS%Bt=)a+xR6gzL zw3xLEUf#*0AtWsu7#6gnwqxK4|9Pi}qK;Vh_qm5fubg;TT%3eV^ZiH^(SrhAe2{!C zx-gk^*vm;l&FPYNhKAY{Zf+Zk4EJvpy?BeaYZt2P<rkZA9C^XLY}!SrR8cR2cJGim zcwFLi7d(odv0kjrQOnA^)<^ao&^XlWCt0UHea7-NXF}*=K7G&zYVDZ5sW!roGwk$3 z<e2cTxH}06=|fysJ>8x7|Lhi)<tQWyT=}eaKI$0nj+>4wqCEN02q5+S849EK$6QeU zM5voC#N=@Or@N0NVg8e~(hTJUW?%}k0-s3}13W9`U^RUPXNf@Mu<tN3-qoC8DtZ<M z$-nDWt}p{7$Edc5S$_pmW!(r0wsKkH`=x#KR#wB~2khLvXLsEU8pi_{+?AzHcvrh# zhAvWNm54Mpbnh40_+zgBZU~<N9RaY$Wd1q3H0nU$U63!y-=mUU9E8@6?!PzjujwLp zY6I1T0tyDXy><x~TVd`K=`Ly18xDQ=^h>Aj9!iwpFHH6db_=lB-uYC9HR$)bFR~S< zev6k$W*d?zMtbAv`}F>w?$2V&w-#o3u>{Fj8&%<gg@`Bhv*)B*m6Z03G%v1reg?Is zxhXK=rUugJFsy1rZtT)Vv!@*^oHLs0a*T`x?@>1zXAF|_bkr{G;hiWs?N&#e`_Va7 z^UQNGq~kw*FGDioj%UuBNC|jj@vBB1!BZ(Z%xIs#<&2#Z2EJiGFgNkX4@&iIwRIC6 z3}VWfzgBqxMDqf0D#ShVnW`e$hlj|8%^>8_gFkx2tn0V}W6qu9WU)q!>+vJ$m##+Z zVi7Yn>_U_L*?;o6msbjG#8ew=0b7iJycZGrqqo8Uipw#k6*k|IW8z;-g)Dq{-HQxY zwiU~7)L<;P>rY2Ib!)5C*p(llz1Rc2A4w{)vJ?3W*><@zDD22C7i^{GCo(eos-Se7 z_%l{X^mL&RW;@b|(3@Qg{}_jK++mv|2K>ar=ENE{P><ITdt9o-<T{p)A+=<TM}l0K zA?^-B?|#~>FcgYZ$FC(>9g%wtwC5k=P&||4-*mzLL?oE^JR7u#K-Xw_OJT7ga7SY! z;GgJHMO`&K26Oen2zPj?=6f+5nLP@<C715-i60@x_z$tDV3U8vrP>o4WM%lgu{1qF z(%`Hn{aD~{-`O;3eUQU&{I`j2Ew8pT?E6}G92J~+-S}q&`R|J(ahAf?>B4D>3;E=d zR^=0wKe2zMg_20eJIqrl2u$<_(kwiVrCHj9VLHuJ1Z0d;aM6%Z?dA-1Ov3qcM^v=q zhj1nHHe#wwO3BKK#`L-0lShDH=)gNUX-oZ8yJHS4%_K|fi-feMq2E8lL1wN<R6AFY zPZTi%D#A2{XSh`AHMWda_ErSW$hVV7{|$d*{J1p5N^e#rqP3Gm{UlR#gz4Nq@&<_) z<lR{P_xisP+lgEK@G7rf-Xt)}^L$JqC`);j92MfQY$Qo1hA365ZQ@16Zd#9wXEtZX zk3S!PHg~3w8IdMHPm@jd|33Z%sbA1ziS6W#PNDQq7-xmAvU0_#X+}>hR<G$XMO>^Y za?499Yvfvrgn~<N6ANZ~3aKBRZVgxo-Sjl7U(*ni9n*CvuY|PgQ7#59)*+P}InIRU z%F#2DYQlQH$+s=&Yd6&R)v-GQJx@5ev%|MWDY@8dOlK%A)>$Vx&{QWly2wB#fqc2) zbogspN>=F%)|H>}Z8C*pPt_ZDodW}zu!x|5j^!FR*7%HGhWudWDoMrxzFYB5o?96c zb<O~PeT9Y}X@iOT9?Cw&;W9SnX5AX}62R%5WXf-+_;9{*lW)l>l8c(_@W!>i>~0@# z|8wm%IiXb#B3B;R<xgtN<9vS%l!Q}2pTy`<oUT%dakYk_p%^=xyQS?N@u@rPE9C|7 z(qr;t5dRUprH$R%ni8wr6xerM+<0xIz54cdW?{?0UJ{kVQjYm-88=T3Jp2?XesLE& zB7XvL@9IfsK@`^i`>dO(-Ik3{gog;k4Lazxgmk{OGDAyxa)#gVncZ?SY+Ts}&P}7+ z!yD42g?n%4e^MSw(8reED1yG9_#hA!(yk?}JH>??Er;mNn6&XY`jBjFOPy=ARh;dI z_fv<@=beCxuXL%jN=00|-|f3~kH7=}OHxI@#(2#Vf=XjF4pJuA8iAH1JIZ(!&BB@W z<|-%x<a9B&rr9=~cmrM1Ae46E(X?6mmQff#0W(qx@2%6bCX~A-FDjg<wl^^=35kWv zs|PlTk?@Oxw^UahPEN`y6G+f*@88zE(wCu4D>Qt4cDuUJuVcqGA|D0(_;E=|vu*qw z98n|lKNB84aT`IEp>a_x@JqiC4n!li6t#+Z3<w0aXNWfZfKR7GnmOj74_;v1=<Wnc z#8;rC){;OhPM7g+0JsA^&$6D;JKk1@{`P{R!0y}`5K}{*8-9%~K`+KW{wfV;Y&xXk z=1E%FI&V1TEP;=Wm9-nC>Z3!k(71fmtIK~g+Myr??9JK_TvN@xCIw3L+%mfdlpDS8 zl!=$mVIt|o6m^y~aq=9v3}msUl=8yLC>5$hHOx>-M&IS%B&(vWRzNQ(1zSHpLFV4V zci--16gcWruM{2SP*cs%9JYP$4nNL{hUJz1{_2ub>WdwZCLYF~Q)erVG#k4ao61u` zB1FO)OP|cPe<kJo!*TG>RLbIui3IkI`AE{8&3t8A20h=8x5!>5mh-A`;)Pv(B&;+{ zHTg8nNtWSaO^O|5M_TQ5WTU_CsiSPQKW&u2)iW4Bhu2ffF_9A@<fp?xBf#X+4lHH8 z=L4tf%>G~ojx8Ka@*((OLjzoxLc=^uPE6CeDgmKzdW<NEP%#RNG^D8-W<+SsBtSY4 zVN8*^yQPc8e2BXs9H7<e2%8UA?7g&qzj}*wR!lO)8fWrWItgWvUMnf=XGmB`dgxmM zVb^tBCx+F8td9eG+0(t%x)?pdYF@nI^<O-$KJ0Z6X%q$&Sghs31_YtSpd!p-pw#B= zM0dI`BJlN1yf~x*ga~r^93XstRGopAIiv-(fUhK9?yH@eu5LBUPf)ppfs^^#{Jl<N z!w3FQ<I`F(H34CpCs{EZTaj5x%ou2@k*I%;q&%NZnrH3)j7T9;5cXLh<ktr>e^ZJ* zq~_^c=Xo}tA1eB=!p;Z#ZOm-5ssk%SQ*Y2az5dM5l!N0rDkc8w4{l}-l%#)u;%%Gp zToCA?2SUmBa|6TX@-3>wEoI<8d`C7BF%(?2%Tj#E@mFkJ=tjzX*j*VqAN(N|FQ%)K zG0U0Bo-HFB9p#ceTrb_gs$$xU<VZI3Fy_bg+nyXR!|tPO`e@w|SSZkW+W29x5&4bS zf0eBSm{pU}!B1$A%hy@rrWA(J5A_eWAtiV1%cPu3y%E2gt@t{3VCpSO5Nzny-|1J7 zvqKni^1D7%m4USCkZeQsg^ajNM2+2KCOVHd77NLwwyOeXsH#GaNF~PTpAw=#xG8@B zu@50u`yZA)+Qh_33I!BtHAln-!cq(Pb#ZsJrBlVrBwCY^04w)=3k6E)BNN0=eS>gA zp~l@JdzGX~Xp+}hn|K%2hgiwvKSwDjIJ?Kn|BIaMU`(8LS~foJ<T%HUy#LW%*Q(gE zqhjQ09i~=ifM>|umgy%gqD&-}MlcW;5YPA4yyH#H*Dz|!R^+_5Ja+?*&A0ns+A^l< zGvrJC+7|W3{sl|?TGWCIA_&8UX-e%cqm)MH)a)&z_27t_jQmW?I)xXXAf7uG;q^ul z_BLiLd#AQs@4ZmpXulDTUUKBh`^pjwamkAn&8&|@dA`T@_Vv|ElvV_YbzHr0fpT9B zq2<Dg1bs8s<X;37816=bz)V$DU3Y2@lOV6Dt)1Ap!H5uduX7m!GS8MaOnyE4=E^$y z2n))u?VxW#9a_o8)|^+|prfFyJmt`!Gd(k-q^>Thr?(o1$6pl=9%fzM0B&h|sI70z z?X2gXt1Jt7l!jNa?_vvb2l+t%HKvIo%{8%c#rLe}MPvFZilcu2wR@Q}xjVX@(DZlZ ze)03c$zgSNBCG@$0`D+^bSBR2V8dP$CJC*N-GyF7vdUA*S@Dk&3x@U>3E6^5%<n<` zvue8kB9AM$;&&vDSg>pR=EcZ9#TW!1knZ$_hq#qde%ldtD<I=zi=l;H#X?s7;V;4a z#D=aS-y@$eYZ3X8USWE?y|nO8F0F?xr;i)KAezmeo2@(+w#uKJZSysuGY1D11-RIb zpL;~6C^0offP}s)^nfo!rOy>%rGi-wkG`bK?NzYlYwTa-6a)C2Gr<{wa80}*dmRH2 z1|*`7*b-FIM*z)OcsMQ4^S}A_nzmk5S-t+-eG?IQ&cLol9Fu>*3%I=JRjjOR7|!Ng z92}K^Q(I@d^0h0je}8;&(Q6C;T-P2aF_AUnTUj^Ho(#P}BwleZqHQ0%U0?W}d+GkL zh}$k%vvb^vKs>AFl6$hKhyp{OfEQ<3T)iQC>3h8g9<LSklo4x;#gxjG)e%7xdonGF zw_2;zHOp~Qs~gCLx{#XEf4HgnrNhO%pIXF4LIuW6Qss)i$rWv;G^`TpBUcwb!+)s@ z%`P;+VCXPQ6CJ4$Uku%6c|;QmUSNr6D75f6)H_W3hFKKD?#>%*IZkMkM>YM`@Howa zXXd+1(}#qXL>(t(CwKXTq^<uVhs9l8IRwj-<0sK4CwWKFR_pDB0A#DUtSq<jCtMf1 zV{^vV)=pe@_F68Vm$Wq8HyETm0FDK5G&X4xmeK=Cw|0(s1xX}ma3ubrH^0F#&a#La zBNzat|I6o<LT^DP(F=*$h(ssrRRFyN8m6`SN)XJjHdO3xsrLCh==uQeLr}xld~{8z z|NE~0d^4o#l0)DLbRlt+`(FfsPJe`qXw%;Rfgqj|(usO1^IkAbCX+^2DU`eGsBHi! zshcLV`XzaB@we{Fj<6jDrzxRfZxOIbrO}~b5K&P=|GQ!Y{I{IbweHpokT4$r@K%bl z6SNfWfQEC3rYPg9sip|&f8PXXF;MhEy1#Bf-XiDg>l<R~dw-ex^Jf@HtVmw(3aMvu z=WT!4S2r6@=>TpKYKWXv9#Hzwp8?zX6>5}(=idO>2EdF00zgHL3WL``Z;Kf~@xO<I z3Z4`9hGT<6mWyGZX>b6ZMbCU2o^O{E^X19WX<A{eBF8zy<mgW;pu)MnKYlO+8N1S^ z9{=Oe0y;Qdp{266Hl2~${~nw}e<<StlrXD6EF(#ltbfF=dHd2;<HpUc-xagvO^bMM z0-a-q7aaD$j4CgPY6L;n<L&<bz$5`OBtT#76!iJr8b^S78<*Vz6?E!=3{HV(8&eR- zYmpCzvjhkLnjFxa7n2!un-Wvm%qKyIA8??-cSAabKqPxK6XXM^#1N@Z;`i_134?Uf z%j1=F2);PPrxf6WSqm*U+?sEG(KE{@K+wo&6cT?g?trIiYnW}!WF(ElTQ@n6S_gFO zzzGQfyiF@BS~j!cJ%^S5bf>{{+@HvYRVYdTf8!~5sBZIf0sku7jiKH^y@s?7?=SZO zTlxdg@X?jGDD$WM58b|okr$*xDrM%zl@cF#DBE{&@nVCH`hQvgA%kf<vNjvx$&@n; zMgF*+2%LJR2#I_jV3qjK7wCa5gE#JN3$*L<V8Vce@SPnqfYk1TNS>C~o_m2h0Ql?y z&7_&8cIikgUkO6?w5?wWrXO1Nxfppxuiusd2+$btL4XJf)O}w&NCEy;a;gTptqmfh z8)B&cd-DLAojedY-7AQy4={v?hHoLXP#^}4LSAYI!-!tHE)t+2Hk=xHf4_kLmEYBL z=F!r%29WYh5Co}4QV+m+Ljshyx3?pS_^xv<=hs-E173lysOjDL_A4M8#uQ&DVTGJ! zfQjs*!!0Vq7L+hLhAwM%uYM%?<v)s}9UUOQ6IGN;bAE(ClL4P}U}$Kww0<?Ov@{AZ zlO4`_aG+2BK%-PRZ4b8A@tt*JSXx_C;737-rlZ`Oh;ma9U_2>ygsW!@P`RFh*0GX` ziYO&Ia9273o6Bn#=5$5DJ4!(P!BF510FM&L{4H#4fzyBi#NYD3`uNHw(XRtT?+#Ec z*l}&Hr2(&#U>0BvhSi)dRYGZU`X4g_&_pfC2(^Ae2;9dq8Mt%Us(BU_V%_wFbe{ zHXwu@kltKw{eYVT^l<=jQqtL(O{GZT?Oy<b=C=^Ib{~c%_V}_rlnlb&`@v`wv$m#- zii+}9W&ZE#h59ZKprE4Rep}!=KVTclt{yb-?<uA^`+#2KD-cf!%X3sS1vu@PI5?0T zFE+r1rynwUe!TOxO^%QM+PC>S=l5@jDF_*Wz5wMz-}g#2x$ol62c!os9F<OiDJIL< z_~uJ*Z}0UL3=;mEKgs%j13<z#$~ML?3NT;*f!MHe48}-Fc^m#v6__)C69*Z0pcx1D zG)Tp{sfqU$vHzpvD+qwy8E8eo;DCrYAjt05i`rT4Mdo8!U=9+<PXUr=E)YF*-GGnX z+S!2$qx1subJ!e^E|+r!#>pCJ;lDa=+$9Fet+}?gxdSYey#H^_?5GUU(h7K}TJR`q zBcX(&M=+M8TEEGX2E&B2QuAcBm9I_5Bo!<puf``QtJa=8_=)eYj}Shps7wjYf#27h z2f##&i;GFY+yqnM11&8$TL^*nJOEge0be&nUUIju=r5z7fDC551=j@ZH^7uKGjp1h z{s0^(kJpyt5D@dLI-3QkKbh{U3x>z%AOsZlRr^b`dS0=WQQ}0F?h=Yv%u}WBgWD@$ z!R!9^;lIQDRP_5z&>Jw$g>vq;i|@9N{0}(NPuDKkekU~*@brNSG?3du)@Q&zJw9Cl zLRaXI!onSXH~9x%%|BOsZLYI)+*e#5!H*}RstSWbJPcj{aP(%@b?Q5ha6n8j^g0c( zcNe=CU{-!J&-P6MluVb!sAq%7v--^rTTX&li=Qz4BO_E)RHo&&Kq}gX^MoQ1;~NJW z3cy{e(eCH#ee%D>3JS7Cb+AN${lKPJVwCoyo2SynkW{lhu`S9d`Tbdmv}1Hph7&wQ znp?MI2Qk3`GAl-y7^Jv-2WXp7zzqbN6>HYbfG)#NEIGvv_VlG@e;h2VqbXFun`P%$ z{P%nLM+<X8V5GDn?twY}v#iVvNQffw*n%Mv3pKS~aU9)lu$qMS7#*2;=>zjJK0f{{ z@NZx}<AOkG0c}1EnD2UHNKpPj97cc-4{5lA4~`@jzz6h4*GwWlx7h6Lm)1T19IwL| zu+~>tOprsCX#m?40e_erMqY(K^nbs0C)jEGh$~GIPRAMv7ZPL^zmepaV3At7@vAS3 zUtVwt$GAW6K-R*R^Fg}b`t4a@?iBbwvQjpAu7TA#Gi?IMSk|2y0X8qMt&LcBZh}3k z(RnwIdQgz=707F#0fq_MozcvQ6+3gl@%Ap|G9M*;z8mu=mqrID#_r9t>#|c|8d`mw z>i7lN10%tgP5CyMq~=+kg}#K35C<NZh=YUQ>F@wG3=m6!*b6+AilrmKg(Ey=L8%kj z`gqA5`)~_5l$9VL!|UdF<jZU5SkuPV<Zu6*N`FuPbEc4vrj$<UP#X?T(;aHr?_aGc z;BK#}VTYJqfXh$P(vl{v5a3b=r+=zI5-Y%t;99hl2~sBjGk0oy{L9$x=I`p!jVVQ; z?P(RomEAM&n+<_QTE@_jOyB>BL%Ysq9qi|YVD=Nurh|-1unaK<1qA`&1E^91d6zM8 z%J4s3PKCITfZ2z~?La!G=gj~_Ydc_DwR;g{Vu}HA28sHQ8#sX1Yn1jLL_+AbdV#@# z2yDra;rlt}N$Jz4|EyU+V+lIx#9#$M0`?g2{?ouFcSZ^i*<(mieMn57>err=fi}%P zH}IoFD0q8zMIHS4L$3eEcq`7joV*zEVwhwp9iTS|)KNWOJg4*8xD}dEr4^=gQ*$}- znf{@i&A&e4I=CX*kbryhwV;m~kv#6*$jHcVokpAN6V?Bm*W#mqgDs(@#Rr_1Kom;< z`SVh{c(Q8%Y1qUdOz!t1maN69ckNg6uhSj>cfJew7@Gm<-cV9x%Bh>ambilHv=>s? zI{FYO@&BKT0e>9~?+Gm13{P05)#$%2eENoGA-uSdsSDXfL$Z%v?obYheG{d0i7dat zPMtIzoF*os!oP*P)rNzC7RyIN)U{ues9tbrT5eb&2KPGl5s9I}@4x;2zJ^NYTxX=o z-B52Qzp_YI9*;C+FYmI@idt=XO;-cWwith_5FeYlK%M22ShL!{|D@z2{)gq1z)Xxq zYc`*&tkYs85No+j7Kaj)9mBausIKNGdsvNdN32=!)eY<Hx)Enw^JHH;$?$-NiHUuO zQh5ZHEmhkl!sTKRF5hMk;;hJU%umT!-BhVGoCWRB_*qy6^EXy87@w5AiE0-KBhvo! zbTGUKeV-;7+p*0c2YckM5>C{d^C&Kh+ehaOTU!f35}prPp>#so<#sJ-_ARNzTA^tu z2bv9@Y&yK(DlCoCVB+bGs~7l&VbEgw!upJ)(5b`26_ww;>>Exe9c@|q{Y$ntpHNkI z>@<#<IPJli_P@rH;ErSv$jpGl=oi|?G--YcrJ?VuYm>F<D(No4HV{v*jKqyEBwfO! zWKgQ9kwcK>s>tI_G7K=1l->_3y=1r9ehEtALodkxQ12j;?AguPCS$V%i)y_fkAo$> zgvXQ=M9jr}GyP-hvrX$LXu`dYce<Qj5Yry7Z<BP{wC*l>{)T1wPdVAcN4*8qqI=Z8 zs(IZ{fSilS`5pJr-=4v@bvHoTBo!XGQAyEkQ@ns5zaye7kb*`eYySsv2G#yHwEsLL z4wDa*3~hXw{!HA6nAlHL=7()a^Ycljz9;{g{_&KECqsIrjY&+I3mn8KPemzR5o}h6 z)wx!smKHf~6PewlKNwlnXeyY5U~p`h|F$Pev-w1FajsgCIIXEZW!x#IJUI!xEB#ep zTeRQ)v`pLcB5Yq%lvRPQEpJuW3&O$OUihLIfjVjHGdT-8u-+XRD6J$iPYGTLg#nM0 zklmZElU5vUEv?B_0yYg<lRFAAHK8!P-x7{X6ICr1sd|Z@KUC>LYl_6X?;E9J<Gz<* z4qqiC*E{*Jiuy`aVuU!_xSy%==AJ3GmSRrwaGI*=UOLj=b>K3`)Kf`Ww?8_wNlJGg zol<X3q9qqe?k&eIH{rK(0a_Qha*xFMe;=5k)_Nmg8K&y#^b#3e;KV1=(a-X@-c%ss zQCYtmHEi!xyEdlmaTBvL!ehy^&Zc<WCX6iPpteKOwu9HQqqPcWQ{o|WUpY0}e{V*q z&@!s{yYOu*%d2n#@9Yc5=mxAFb)PM(DidUh3w+Gv;8IC^t!Vp~Gz|khUF!{ePwjeK z=eTM4|DJ<$5H1a3e{ikIxvb0~R;$OC!NgG_OvPKUw@mK~Ivti$2M1VwG12-WUViRp zl6>{gsU5z#sdRU1$56jA-2T--1@miImir}IOHTev2lj+tfr~NCqKfP3JupKjEeV^) z?IhCDRkKPIG9KG6XwMsrzbypnT0RqYdF2;0#ZLR;uv2M5sY=wA6z|&+nreo1UbqRx zjnG+myTh!TqO22h!7|vpJRnj?N*pOA_RslK)mXSSGiHg-Qh9UfCY?-gk2UnIcz5p` z;VI?Oy~K>$oox_LB5;iOIy4m=MJ8Khc-Yd#jp$EZk1Bq0mR!g4XR<nmlT2jvdUE=T z;1{L`i1}#<b7wy+7TTVyCWT2<CC=uR_%*p@s+pnC$kPwP$~-gn?vov3nxOmsWPdXf z;$)ADCYFaBj{kFskgIrlx;ZPq3l_HG`1yu;DI`F<VDp3SH3sXEO{58hEcT2S@8~0x zGAuH8@uo?p1C%wtpju#fzls(!eHgI}8;>%Ah6}eHCquVtP%VkS+|=X`6GC^La}R|V zHK-H)fVQJGi$=kWr~913rfW_^rOZFc+QLvL#aX1%xVB1AvYh#*cMex$*7n=+MEKY7 zh&Dl%-PT&~N}uCr)eFJ9rW;+Kqab>1)@idO@%JekW9^<;s|-cGU649+&xzTmB%+l$ zN<*G5cSfJcvFQ+xsqEQTNf{LBaGHZ#DKWGS@5?+qJ>h}S>@WXuaKT(p6{1l|Hs$F= zImpjAUhkQ|n7Up-_scQ+e8%g5LfbvTmOlQ=3W`Ke(&oU2U*#EPA=BN&f;{95k*W7u zzye+HD?8f%N+caD!cV)|o8%&C3&ECdYRZ8#YGk%n@Zm#2B{^RLz&UhWcVMNb2QgD1 zodZRnd*|LO@>A%iVFmrhDraa#1cE3X{A7A*e9^Kw-=LR~>dMaV4Ix;DOoMwVOanE{ z`Mh4vv8P<Md!=NQ@*S)Ul;WL;edF39K+GIz@W#BH5VM|WAdA{dCOoo~nTTOY(!msK zJ*eK8-7m^~GGFR?x*&?I^_XsPl^2$+2I=OM{4i)gr2dCmTqRavuBrEu>jXhtFCWi< z>rZ`|rSzBY<3FlB?xGKgnLv9Ej;RSc-;x8;S^ZGLSg7DJaq^C-k$_<+$lHR%WY_(~ z&VK*B8og4<hXqy47^0JY<veWyxH6xRS#`x;_g*^cpWBjO-uuR7hWJ|qZ&YsLX@=L; z(&P@%ec0q<ljiu(1AL5)B;bl(Ue?hAsoEr49v?Cspuho}9~^Ln`p*D#M_OJUl4`UC zR65vP;Qr5QG%_+zPef;D=vo_H5bL}VhS;$G-sa~|seidx-<{qoP+A{q7|F}~cy=Lm zCjqIJi_)K7k?%<0+Xf8F+~_-A?(w9Y5ZcaK`E0il%ZkaHO3`E$brLCM8(^_XX~K>R zwUS`H4S6SQqq={khpBQ=EPY-U4X?mD{Pj2XkTz?bN=$hrP^~poX!7gHB~F~p>K0oj zANHpIlcbar8;$Os(>$U@Gb5u&iCzK2?AMzblbLPV$CtEVF#(#*2cMHB@OJYHxZz5@ zUeiqm-atN~Z414J6^`MaD3{4>lX~C}hs9jAV}Enxz8L2W#>#9UTIBmkop6ks9Fb`` zl<Rmollsg*8?`l02lOrGtzjE<0>3yG+$*H!Wm!KhyDegucf6EWpHij2=i~93)P{fa zwF^QIxLp8IRhicl<Kut8H5*tv4-AFcPn_2zF9i0dJ-Uq^&tm+y0x=XwfshN_%|UdU z2T*wTd?V$ib;QC%t+MIffH%u%6?D{nPiuKQI8<qFMqGtw&tzhWADuy{^Y-l<D%d7Q zSFh!iTy)W%84#6aZBk>`{W8lVB}3O%shh4qXZFRCoQBov7r|J67WiTLFoRb_BOFku zKe{c(Vd4!jS6(VKy_fn+J=Q5u@UHcrz*mH_*KA3jD~)UH3XV#h;}Vm~Tr1lmG;<Mj zs~kbHsoouNz>Cf|Q_5_{XD$$Hf%FiW++|(k_K&q7)MLg6>P5QE1FU<&r}52>m_?h! z%D0(OMHA?GS6!}wYI6o}$iph96bQVmabI=`Dk8g`f0%lnMgI$1sEhv75>c5~D*a1( z;>NnyU3BF9FOh0=tqKNPn$Nc61cXz_3t>q6`8~TY_JIo)L~074W_aN4DfoN$#`pNa zqU}Rwt|dMsGXd1-2yt{>(9#OefVG^>_ud6WMvZ}2(hW_<ZN+TNa``DVr2vf$b4wwu zq<+!40y8Qj3<Kq$@<Nd}>|gz=QOI`*g%->5lW$c>q6uM~9EPdy<Cg`FsMPqy44zF< zfA;c~;Z&6z9M>MNi*rBhkp7g(Be46hl0YTiJHZDl>FJgyt{DGmSvTgc7RTH`90>>_ zga`1$o%j4dh#ykA+~KL!;IGZMy0R>ii`BE|altxX4*wg6{`(QG^mnI4M2@L<C5}1y zf*aLMb+U<34|<cuf~X^91fv%>8dIfKi}4K+(;94;#{^v2J*?HWLx!k1l_Zt;g%(&o zL(<l}IT|W9V_}AP_sEbXNW)*Mky7HgtEPgh)sgEuT}+x~d_uB4e6>T|gVT<C1%9Xe z!O2F|a`|xVc;oI3)#4`4s>=<7jm||che2<xE}uv#O$}c>n44K*8n8O!=c}M28Ue@n z9C+Hv=Ll>JKjWd`AyO{h({2pKcWBXZ-r#1K?R%{mVhRk`G`<hl+aNy;Cs@bfbLD-T zkn+W~_Lc;`lCfi(ZBgx)h5{w)u>y&qysc&DvunYYsSY#6l#kc*jyCtVqDDzF3I%9y z^H;i>;No)YD$afuRs1MYayz41$x|}f*4daL*}&7QT1!#@u?#-2^Z2x~)OvldOaD=i zk*{Ks)|@KX^nA!KxH-6<5A%C!?=BJQY%XFf6t__2h>LR7D4Y?zS|THp?Iu_ZJ+h!` zaeL6yeIVLi=uZFk24^))%LUy^;>B)`s_NW7OdS;J8{$a{O<Sfs1{Au7cI%Dl(!Rzk zO|*W;EL1qn*C*5T<L|n6wRy|Q@R(gD={8@HY?5Q@g<_G>iZvx1?{GEJH9-ga`Nzr^ zD;^NX)Y^Qo<W;aiJ@mfiQOU+sNMeZOrOVn-6Y!p^jP9J&+FWtg=&f`0oRnXRuBN&6 z+3Wx9-IrZuBBu_!e9sEv4F24}?b#Az2(3%~z`WN{G4NIKiC$yAcd!=iSACzQMR@*+ z+S)&-{(?ek6Z2w|9A$2M#wYb%Hiuge7(~L*uJt|Urz}XpL}@UN9p$#caTAzr?YROV z$!q`$0-?CQ`6difXc{)c=^A#@ta(?SA>JqODq#%(S?d*OEO78&j*GqmtvE*jnYaMP z*9zl4WEf<^{w@@u;nVf5*B+pL<++y|0+L3c0cIW)pP51N0MyCq*L>Y2KpGUJVr$=e zg$=wYkV-nR7p6{5cH`z<j0t6fQc#80)j#AVfvag19RT`)AV-~CvjiYShjobI6~IqG zy_^L!7Zm0|EXGX(h>L{yZtw2ybR2uIKq5uS6Rd$h{)wmJt1O>$X-LV8({{0YJXaKt z#pn&Bn0mA3F9gbFuh5P6isVwiuAS@xzYhqU2nJxJ^S|FvSltfi8Rfm`u|Z!f0#@B& z8nvv{bg85~4&!$bvqr>Q+>aWr6|3rUVwDs$@TP2L<Dibz{ItL>pYVw~uy2#+uW@SO z0Qhajz>3uXe82-EBX6aR<}<u+y{>I&K|4f761mJHMen(Eewf=pc~&cIKVji?elt<; zR%MIC<DQM;lf1_nNyYY$_vqhUajF8nKfNw}(G)$M(mu_+v#RfnMk{`Q+p{u%u3ULk z7V$QKi4&vLQeqNw8QRN$X@q~vuA%Jp9USzPJVRXRRSm;x;0LwHR`VT3U6}VSaK3KV z^#?{U*6)~Bf68{WZT`p|Fj_H#24Z*r#>kaA{|gmu`zpf->0gTAKZqp9e4}3{{+tq; zJoZA;#-_Kgrn{lNMp0)<eB5!Dd5v4)l3-y<F)=7Hjfhg_Coo=hlZo?D-aWzX-^X8d zvX2k?_;hnL?6oq*@R&Pkk;H{;hJn#_l6LIo**ZoX41t2JSZfOiv0Eh9nXI1YVuFvS zo5&{;?=~C<E@_-UrR;X@N@u8uRx2=@C~FcJ-~B@^Z&~U*x|ta-=^k}W-aW0pV4L`C zS)Vd__oQ#-`R|8B+7sMODJ^=CfK4J6pF{H&@<W+*=*4>8t0ueGj$7{bf7m;=U7Ri$ zxFCc81jrH=pA0I<7+)Sv+Oxs?ud-WdLe>qq-U4H7vt~+R6GAEhY^xvo?S2J?$Ae#* z95*E(ogQM}OC?ZOfy5U=%0-YCMUp81hC|?q6cUkuWN6p8jSWdY0Y&JW=95uSw-iYD zplAlDXJEcNfo2^TgSfM0x)E~++mKlngrjFL^Go&f=fhu`{`)_YA@-4G_D%biGZ+Yr z3-ZB`zwOK;1C+i!%da5CZ9Mag4krIQ*`49kE)et52vS{RO;hzjPc5Y24B~zS-Im73 z^PyD0umCw%>j0;cUsh&U?wSpXe2`WgfWv$nG1~;S(M`}#Fa&Ld`6F+4qNj`O7dbFj zar8WL-}!YYiPlu2$<9f`J-DYkA>wEJ?A8&aH5(x}?|cJJBu8t$mlKl90OJLE2dsb> z;|C}UQ^3OfL|g*g@@r4W?t4wq;I{-pr!trg%XYz!&o`GXTj*A+zRB{6LQz70-wVu6 z9-k_A`e{A-ZIqVIPx))85NfjE(9MRH=&yC95k186Hx32o(?^^xx`*1oKry(3)0wPE zkItT0@@dnNn01;`3vx^TAaVojAHnjapX<bGfk~Sb6((#QSl_8F6{gv501K)bu3Q>M z_Zf$7v0}_4te2kn**mdFFB&b3%5Unt%G9oTu_KWs(|pzrLF3WTE^uzAZyW=uD-m;W z*|#+!7fWXDOgT&5V`OP>2`6`lcuoG7MqskwmyHQ@%^kj<{HIYT@}T8NPT-cq1#{}( zM69g`Ul#CI7kM{SVm(aVrscXVYU3*=%$1_~=fVh$Wdm7L0)NlCfDd|Mrw6HM!K#N= z_(?Xjqk@fZk{HCw@7|RfY@qy-`1?|Qv+C%kdUgNeedKn3nU*S-av4bZ5gi?H3|~Vj zi%=_LCT?8mea1w?dV48}+Nf8Vr-%B(1C0g>Mwn6=u~ifwZa+0iE?dQ2w_WHO^F3Pv zln<Nm&4pK{$tX{A#zjW$wcc1!A#3YF*~|0Ei&^I$bG?rGNJ~CCZqrv(U!_gudlW^P zMP8jOzqSbN6T6+DITfAf729P;eFUnYHk%owj=@^Zx>@bLw7=En*cXj#5h<=384gmU zm;pI2l>#*TGG34CW2HX3l2<0qU$=)|B!q>@gr3i0LY|1R-kraC4TTsc_r43#S>9&y zU!WT|JI<vV3q_*<Zrs;7b#+OgHFoLk4`z;z|I?K(*P2N@IAm8tG#x4`UBIY0WB)(^ zf@6(i1d<@_=KN@0tNK1-M3CLO`>^)ncXDAI%@e%1s09f<ZoB-!R0(S9=NA`^pb6kz zf3Uar_h(VohNA!dRBT`CdN2X^al>W<XcT(uYgZTux9`3J{aPZ>XWMW6JC+5mm)5fm zpbL5Wz1(M8)X`^3o(uAMcFjkeuORkL#+FkN5E=(#!w2>~fWIqT-Obu{1Tjw4b}PKV zH#%z%+Mw6<kWR?s4p+M&*mXPJygOxr&aXffpW2(m=$_m^{!vZ(qc2odU1f<#b@CgC zuY*+N7n@76+JVzk$NQ)j60uY)+VHO+5kkn32gOmBK0`a;txzpdV=?M}7asn2t>KCB z9u<$}Ym@2F-l0rv_MzBcbzjAuo=^Eomn~1)ELvL9!?o`D$-79}duL_uW|HEUrseFm zZM)v{hir&1GB)10=L901@7y*{DR&C#*Lps?hJ>RBQAHraU)<O%XtXbwE(qCRzAj>% z#^aOeDW)Y=U>H#6iqoAFGrCUEn;;M@4qWcd+){f!sW^|<cK+by`E1uWRQ_ym-hPwz z^lyga@U-E)m)`wZ%J7~MYU$!{Q?}XN0oyg~4wlX0j^hG{<@4hKHwOhw%*VaWZO)A@ z%KnvERc<6E)XdLc$6;PFL{vi+h=q#_Ll4s=eh0h#4o1$H#XRe>o*23xd-@H>^-Meb zu!Q0B)Q)U?9oL63KoIc>G4Rt_20Mei{dwO*lH<`B=S7rk6(Lvi*guQUSb1%8Qg+)% z54y4TD@{RN$b6AWN!b2J=cTj?X~{y|Oe-5Y!k^TBJ09<gXSf-?HrHv2D^hbg>m3}< zd06pq#nOKfxwD(<2zsUZ4*o*5?eUIPt#rugfkYda*bzRd2HjnR__tzw)<i)i{SzB1 zkx%G0ZwTpnLvDrL>?1KxgaSQ-i|&>;o1VnBwzjPikaJ1Qwhspf2cc6xS!?4I=mb;A zCS6+hT!U0$bmS1t8jFdXzJ9Z6NI+PI=T2&~fI4IHCdf!O1`U2NHY#tFG&Ki6<E-C= z^<fyO49p<10|0O%`S+l%riMItLlMK@iPLua)~@Z&jIsH!%HS0CHd(}^`yDMdqlsi* zU{fbrO%MFMj<P6iJf`*f#Q$jl3@*)u_zWJvdCv3?Ap`?<<?1S$wF%7o#%CKnI*#J{ zhCe~a_#uvcH)DzkNlcLvx6uU7c0!~MOML>H&cNG|!}d(XimBn1_)_~bdXeE<R#nN{ zocPv7!Q_ON>RHn(uX_Emo#R*;*;TEhD!&9i50qP7oMJMh{Hj;pQ~I%LP8z*YQx#B5 zjlQHzA~{$+p^D}ENV3mU#@H{ey1~uQHjWpzJdEv(^6%>(styh~8+C54*k2wb6ZF@t z&r{2PXx0xLVJp8C`|vrZ_uhL|T&fFK=}WC8-uzF)^`5d5Jf<E|yXyR&%`zeFRwJFc z`^f|6!Yv&4ZJ5LAd*9@Cp*1c=#MZH)h41mperw}5k`n@YzvYKw)#fTrjqDx~3=AXZ zo%LNfh~N8pFx*|dM<dn^A6IP|{v&hd&W~zj>`Of7x9Jhhw;u5^`nu`Ca={69B;CF! z-x2Tb?RTB$ZF}eIje%t+^FSo+hpo(U)yqMs-=&J=rBB+rkH9~Z+rq6t`<>k6-TNp4 z{_uioS*I&`ylDRFh%w#oJFQXAgrUJ$g1-O8-=b3(201G*h`n2LxR@)lRcPZLXt{`A zewIwgg+fBfJd_mV<l?&cshHUbSyn&B!oEZO`==M2B5<OGo;@Jz8R+>!v^fJNtR!pV z7Rgqfki!IMeic?!#BOXDf#U~s#S-eVuQ(7s0a-xn*qFeL4mjHkfg|uMNUv41#e-%2 z^e<OTaB%SI<{>h`8cNaJ&DOW|0FRhA2?Q;wEE7MlCFs0toI=gW_^fez+;P)(BLFam z{i^D^ScvzpUYt-xn76gp@(k8Rv}8&alv&}OFW<cPeLDD@?Y8*wEJX&zW5iWguEe{8 zo=Q!dz|5IVVGu_g{5&az3kO87YZZIk$Ri94PkOMp-UC#TjkoCW9GmmXI-=H^927zq zc)h;s2oL&FHhxfOv*Y2{8FXt6U7KwBvKRa11>6s^G;Q}!><a?##-g-!NAHxwoy(;v zx7w9`ZY1&Ca*aRXss?#9svY(w2TK~*`Vms)<zn^R$9#|{bDY+=gkM`SUy6Te<qCNU zIJxY#O7?H7dSLRL6UDa8^j)rXl{xmQP;`-aA4AGpYxPm8K}j`qxYmfHg`2)bLp$qZ z;LJ*NGLm-dsv}FA+IFsfPvc!W8oA*FU7LH4H-WC#p&DC}75#(l*OC_sxfoxo883IH zzM-Km<Kp=`LI$C)=txJ7OD@=pyut$!sC+fSk9P@hQUBTt=XHusZ-tNq{Z~Kt68XRr z$;ZUmcz$<HkLSOL?@2FlqHNaMUp}L3+_D-K+;x`2*B?B2A^c~4$tr<KI)a?htA0&K z0!!k<+<xmrGl5$C>mx}X_Yydpd73oJTZe4*)DxE7Wz+Lak?@73EVjA@Xxrls=${Y{ zy*0nx=TDQc*SqVrWn8;+OhVEY_~-8RcpFXl;^BCz=8+rQJ~nL?l<jvgjMAEQ&y5!N z8;nYWdLXykfdm`^{u*S>Gy(tQ2Sp)%psXQzXapg?JRo_K2V5RK!G`;@xcE=q(JGV; z2@asV-3M8Z0k|cQ(Gh$6ef_JX1fn5A5#o30$f&Af{UYpKClq>q?(}Eu4$}4)!j7h+ zrF}JDxw%P)X|co!5{V(uw~j9;r%VU}OeiNc3H|Brh*K!(L0QQ$SzI10KLE}a#0m?c zWoBn9N*j{74kcAyJwHg>uSL7)Vs_<NEV3)`8?y|~s8>Hf-FTOiKv;4q#{Umje-)Kw z_q~6^QgRW}-QB5lcS$$W-Q6KbcY}1N2uMjQT_TNigVNpoEbj0B_inr!48{QTI%CD0 za~<<@#2K$R51>b0pdM<7lhgSB9gg|ABlfncO5pj-wbz0;vT*-ChY+ldAN(5(zg87E z?F;g*9O6ikoJ>cfpbA?%KkbS~Cy*|GHtpduB-iG8xTViBjjz$+@Vs8tV2mJhgDX3g zj8UOQhG88m!tO=uKS~?sU!*#0<1sG@8CmosMXa&D7YS_fAI|N8Z+KY$+gEKE_?dL^ z(2Liu?$<mmp__;7Pao$9c1{LNsjm>I038R{Zg!Y}`^~s<Uh~}Gif)axP<mFCn}-Z? z<TttgL+jnt1wRN`->@Ed8WgAY+UrY}^EECKAggvi#?L?886;=Z^V+nIem6u=N#`Ed ze!AY~w6R4@XFqpx(f{iF+rmJ1_jJ_v!Y6>+;he|*Cv?uSG8+ESF0ImEcwy@TW6QWb z#CdK5j=<#`j644=$q%wNe^O%@aO@lsn^)Gt+B&Ls3?)1crQ+|1lh`?f%og$}v8f53 zy$d?77?>w-rs_Q8-<vExu^W0VAL1r%$a>j?_H^_1li894w3!ZgNBq+=`d#?HB``S< za5Aa^29RiA9fWLLahv&v<drUlg1awnsu}WOKv<OsN*D*4UjEvwk9U{*FPq>?@^#M= zlGzX7!6SgVq-1Z;405&?WbmLV6$Zi!{tMXGbC`Yi{^TVv8iIfc$`|tvaJN65h@$&| zAnhN?*bgN!$ys&<SD9n)Pp_U4PXyA`8D!l@L?5G?-h_#lDr|zP+t%p-skB^V^}gO& z2GZQwCaKzUFQ(NbHA|gUH#O~>%v=YH?P%7zldp#6>$n{N=PD4Ck_429S2*s3SYk$4 zSowedqAxdp9*t{!9D84l-DJzyzq4at|Gdz4^eXVQpCRo$e6VoHg8D1>#p*!vNxz(B ze30G_gN;B){pKZ1X4*sZ38UUIMkw)OPj&5}$X`v>=I!=#A%hh>9E0{PO|iDK4TNIG zPE0bgiua%WnJ1O95uwVMIe6^X*B*bpkA`jXYkGFZh7<CYiWtj9henuG={yuFXF#uj zC2#YdP~J4o{?~LR%sNyh!x*Wl4YYzQA1GVaXP7jb===`wlOJI90{S{5+W#DXmFI89 zqtufqeRNl~9?E=kfz;=4coNH_*3W3xx?&Evg%U-qE@MSF$pftrsQNN79-MA#ot9Nz zbdRJA(>F6*=?(5EB<n^WpoNsJJI|>Mn!F4<hT`!u+^q~b`g@(x&o&V4iCMCmvZmGX zgQFg^IdAlAmUanWS&&d&@zVy9y+m{2-JnV^0ysx6dKW@2yEOpHH3k&oHtbEob>SD4 zZQSNsD+?%6FOiIK0?v$^{x$&KZvyOAenA0P7=K(+65nT7=B~diZ(u`x(F_3zP38;y z5}3SRE*^n)*}qyHci1mg0FaG{t_G*=@vq*Z0NVzrm#QnSp&z>#gaojXpcWrb!iCL% zbO%UaTmhdNJ-Sc3-r^15A^vD7z5jI@%e^uPPJ5Po9q6e8ZhA<CE*!JvN}9Kl-Zulq z5U3V-u<gJ+yr)PT*_h)xZGTw);!$i)?xN$+zPJB7%O6j7Z!g__TBSEPAlE)#Sg}C< zt${t6aXMYAAyIW-RQ*h)#YlX>?~r5vw4!*Ppjbj~r-#anX8WoLWe7S7<#g9}Lm^$S z34-d-V;<vSNml1b0nJr)#l2Bq@@q3JZ;UY)5xJ$xVx9xC%}4GidT7=*%lLKzb|*eA zu&9`|BJ7%7N2PhmI~_2^nm_NHU;L$o9T-`8{J52J%g5Tjdl81qi0I3qdhr0U5r~=k z>HmD5G(Qp0E(6>IfA7e=7w7v)hT9qrS)@ZJ+~wWkI_MqN4jK6TvAjEQQZs><IAh9B z1qGr&A%;R>LhgnN`?J6V&+BwDR%TWr62EQvC?jpjfPE!++n|=cimgE3V|l)`CZ8!L zW8u^Gza9BVsC(!J_q*iD(L)hbY&A_Hi_0)%+&t^LA1cPXj)f0vUN9L8Tuj-&vvqz8 zK6A`B_nBQ4)Iu$eWCD)a*N+o2sU?W!l5$P!qe`TF9v*pQ@zU6(N|ALBw^ZLcvW$<= z5lUmURIu(s_r@~0nv;z;HItoWj3?6{$7IO{VPGLOV?g{^UCmP6@{a)c>?#V7Y=czc zpS1AZ1WD+nd76Iz3se^dRiG1S*{<ahW@lzxRzF^!<{bNl16iKyAbI%7h@*cpPzY^{ zlLFJ|`K5s8M?b)dmzZ^bIZ_!5cydK9dd@ip|7|HK@LcZCqOw6FhrJYV0lvSw?TGIs z(UyuO=mWyIX<fLV@Gk~5V7$F-*GvZOcw^@;oGqZadKxFnbLvJAxSBI%0z&B*jVoAl zaaau=3Ievx-VOo02%u-b+}Fc!cO$dF7$p&j9<o;kvVkp<gDukA9I;w^#quvwF~kZL zC8=7Z-YLy#=5<Y}2}cE1`2?R5Qlh9@+d{byC+s>NJ^Zgm9M^Pc!b**+d~net^Z()I ze@-dH!s;Y@{M3`krmuf^Z)o&)At5djW2H^`mJ;R9oce597Ja_qcROzDB!5>VMd{bO zcV9R8!%lLWjwSykqd~jj?zY^2kFQI!g_#wLJRoMBH6ZCfU+d#0{uPB?-O3@a@aL!~ zPEp6Gre4G4_$|^{Fp}aF@5h2#t!*_5zLf#>1GhY{p~fph)=AaVB;)qtKn~90qM!sw zk7%UT8iN_PLtmw>Bp!js`=keNOn4=j1dKA~*ySX#k!Yio?Ldlz#-LejDGRsun4>%x zw9M!Tp7J<oXH4Vf<#rB~9)Yv%YK(<PFWHjUK9TnDMBz|DdQ+W^`Ulz1A35Al5{`5G zQ77Nk*1btDjiz{*?J*WskU-eiX66qMP2PQXrjnv*;6vGW8x2p;T>WGca+ibOIMcS( z2e<k|K;A#s$ntBC?$>&}R-*~$$2VWf@{~Kzwvz=OO>nggG)H6T3DR;gH&ElXy)fc3 zzBvDrh1pi+0^++0<j`9N)BXYHHV+pvGPEryXxN=_Q24)iB1R0o0VD6cAkGz3XD=K7 z5**A4rt^C`bOhOh1<x3)XOE5ZoLas$rl?_Q1`GFMB4Q9QSbo2t4conaX9>0duN_da z{dx8E^?y8$18?*Ns72y{hg0#e&f_-&!KaN@6NUa7Ye33#llOd^C+Po-|IPxLE<sC2 zXI{6QMdVX}zNiCbNjN$|dN{)r{Zi{84}a##!iU5!RFe&UN_psoyQ#A$c3C#A@D)Nb zao<9k2UX>06)rE`e%v8?_et{PB2`31NSvG@ohHdP?Ac6D)<G36v59G0I6Px+>OA3& zU$L0~jm|>=F%F9@_uYEU07<oTf8;Wfp;D5cH|5)Xj9;wM2w(CMI^a@hM0$?VD-k*> zYbZo61uN*5H+0>;`jK}g&++pO+1qq2T+kKNz6X2c-pZ+J!nc#;W2suE$m-~VMK;-a zLW_Lc6VmPQ=B@06)l6&BgEwL-o%PqxUWpFetk8OaX(;RNp(jb?#a}279Yjf75*kC@ zm@4l)C`=jIDv);lt^_OZP{h7JBBgs<NB^$i``wR%rO;QeUx>*NDPJjJ@us~YFzs!^ zF52YT-)J_y5L1t6Rn!9Sp8n`8Tk&!^L;72CHirw5UBIkFBkonyR@<%h){Wv_UOq%T zhx2xp)!GZT#V!AG;F~+dcVIW-JO~?a_(U!tDt0z9>=L2q-l6sPc-^dfj_ofsAFA+t zm*=<g;`ZW>36lf5&~SfjQ{CX=c8P?%6M(vm^jP2{ic2Rk-I#kKe=K8STH_bCG3xtD zKjSd?)>|*+n<2r!hbd%vB$Nux*Ezvs?dfKZ7RhS3TbOYb=~Z7~HlDElt3tx=^tT=V z90mnNPP4rAu6#PVZ+N7N7wUGb3=D|=gRh`GXw5uyN@NGR>{lY|ix8T=)aoXbB{U*H zLW~o>e3ecmQK1c2_fy!olF&vBcx2TdOvWdmr>OUS$36=^3nwWmVQQ55Gi{a)Z30h@ z!Vx#H#J_Tx>gt1`dlMF>Fa02+9QM(@cZ}yu>kff@R`DgGEO%;;f&~JuW})<EK2k^l z88RI5y08|k7;ZjvW{|RPZwu?pN9UDm!d-KOgGS_;(vAZy(VySiFYq;c^IsEwt$tHq zO>E6;CFx9&%-|be^-)Y~b5b*r_YG^=Z6WWb?~n>rccThcq^bES5$=z-q@3ti;=kJJ zE;9QBWUn5H&1N~t-BNEZR6;7E2P-RRn_BP-Y_(&pL*(;AQIA*$#ZeG3zIYGT1jo$5 z3s{yhtKUw&P5r)nct~N~74VUZqufhi11;Q_)N#F1%@!eC9ho>TgI@cou(#pC`mHmv zy4Ka<!@ssFyv)8d;pEN4GPhq*f>QApgKlyOJ?A;mh#YYl*nlataJzTi=(;#*gW<g_ zc-RW8#HjEL7q10Z^pn@a@;D3WocgwhUlX~ir*<Vt!Y$p3FdE*kcpTmTu|hoOluBU? zCg>_=oUiHI`bD_sq(5X$i}mR@#os`77HCltGLcWOIzdrZyVj(Swsf*Nr7o{#2Vwu1 zJ`5N9>Pfj(aPp}7vC$5RHAkvc?I)U2*~uimnP>DnV?3F$Rq56>-n9imlb`ni-*i)8 z%5QSJ)Dd@Ee-0?h2`Gq1N}ML?54sU-MEWDl$JrNH-*<GkLa^PU89l#UBZR`%qx^YY z?{UHMNx0EAhc>Y>c)So^fK^<tQnsTub*WMFVuQzqLf*l(-tfjw?hmbx;w6r@>$HJ0 z3-btTU8#?e4Nr#Vba`MVWc{z*QjBDIKkK-~@d3r-s7HH)td~4}qAVp^Ym}S7QbVNW zLa~;;G^>J<=k$81>&_munc{J5aY9_M8`g8Zm&r{v>pF$7WY6-ClUV7sXaCH#+A`)= z)gV(;t#lqKe7C$%>G`GeG~@tZAO2`1KFFs%#IBaSB#tHo40gJ~{rl0~n4X?^$A7)N zIP=*?XWD7iDV-dmd?a|M#+zFetm-GT0d8ky=7;SMs_<na${Bn!`4xO(q6LZ^!XZ`G zc8;k6w__|v9~)xT7dCH9&v?$ax<zkWj)0Ndl^w2<V4hk3kZsFOrAeFsla%+gxCJvG zpFN+hLZid*>7Fmw@XDEt1+^Njgmzu|s}}ayxv^~6AOY}Vp*(`Ye9i(9MV!#x4$M=1 zX6X>RG*Q=!Tz{#>)!N2p19)nffC79Bsj$!uI}9uyY-@E99pY!}t8<C_fZ?M{gR%Wb zt$=k2Xe~M_$q=U|<un$^ccp~)@C)DZtb&{bgo=5Rm-!F&-ZaT$F0)<nvx-H3QcnE5 znI`-UQ8p#NDCDt_ewUjiZbe|_Ki8zZ`$h#9@uTr>)X9&najisMw`WS~t5GTgDU4jV zb+*$Df2uJP3s=IH!zwC^*sgMx9nQCN%tP^RdSfn~gNx6blJVqNZ>(ESMDG(5@^4TJ zWI__W95BAR@=rwmg(y&8KPe_)Fbm7=eIH48x8I>gz^IqL#__55q>=5Yf5V+2&MJ$R zr5XDHjk@Ve#>L{|IA$*EmG9_nm-D;q_K?RNj<JSoZBH_i#O!<es#SMmHVN^QR3w*& zwX3QvYO&v0YJso1!;H)%pFd9Ngy%gR+Z3*IZ2SMBAowhBAJrwQK|-!?Vs4)zv&-hZ z!RBg{LVH9sJo{~aa6e1W|FjrJiBF`|&<zB|QP5>1(83>5sBW*j7z?(2liGwfPreHy z%uMU}J(tBk9t0hj5F+e4jV?iiZ;zd~`qYzpI{z2lqJ1iu8BBV4t)TtMQiNwe5HjoT zd%oQ9{CEudI<%Xe$eWg2-k+GhhOniOaU)|%Qm4voe5}FxR#70a8DWKt9!)8aDJfU% z5O^X!Gfb;c?0@J(Q22Mty_l_dzijeqi{E#gy0Ag=ED{?#vAkMr4yXHYh&-Ocgk6Fu z3?r7J2VH>PS1V6dZZZRFUB<2BoPweR!W@%THy$l~ce+t;GgN8aX{`_#`g{X9apAHV zl5hA$dBw;o$IWW+D<lcEEPHizZ?ds4b;$JGx38J?3Y)J@;37tv<6-@X*I+?nB&&IK zAR2=ihBGFuaU4-^Tp(nfOpK-bJ9_4Jv`bI_fgd4f1*jw==Jr<F0<%xh--VVb=l4%E zL<%Pm&8t-0!yV>dBaVa&tx(aupyZmlU1cj*2#zEIzf4KnNXGh|#tdiEeLIQ4g4oF7 zbC@-?=I&UL845G&o*}LWF<0=9#{K)YIhgp|BM?29H9vN_SFX-=(GScjYoH%u=af== z`?@otKA68tR8Asf8AC&rUEqT&r3RHmmuU_{R@;KlBpmYDW)o)=zlAvZfA4Z;``D#S z>ZH|w^d$zRSnXvgMbKZxz);xG{Am+~D_wOujDom$eul7QdesWYd^ClJ5l335mJ^U( zRH>3>fi&^HTKbfS^6OXnU+?BF4p_hB5*5`+h_|lPIAQ#6+s4}?p@Ri9p}Stc6)TQk zz$0f2e33qQK|vo-cdtVVoYJdDQS@dX*Wg|uBBAecMD0_kW3v*#EMDObwu%bil-VdE zE#}?R?w_NYsA~z<>WzACAc}_P8oh5P_(B-N``4`D*W1CrotJ*!oT!45v_8=>_b}2+ zOBDM1dvg;FkS8m$7gktwoEP?gMe~7fVvN2J@+of_=P;SF@nNhCplVL4#+@m^R$6$5 z{+fkb#u&Zs&tu^4X&C3q=xWsm^TTP8Kw#yjY-9tDltQ8F(n*c?BGY({nhV;P%873( zM2e4&oDg3Vy*j9{)yO*EXKpvP*#apN|2srnd?D`HNuc{XwFHeOg&2VhThsSM9sTeI zJ+bd4622?vR4oc4X0se?Iw*<1g3*mJjXlFlcUa_l#SnBO5)g7Z?b^$|i_m<C$^?T| zRBmcX?i);*`ZZe~o>ap31E%FwjMJ04*-HOT)=&lq^~t(2jq(psk);0k!r4lr652c5 z(rk@sdPd&U9l4k&t|`L-Rn#xhyh$E?c76Oe=H2L;Yu-K4W`FFx%yuMHnWwN2WU<kE zGnV_MA<+Az>u>QpatHoJkyd|#n5>28|68@8!D*;tY*4oe--52Q9iikd;}az(@%_4a zbAS(o-J57(Lk*2m>J_vb3<iP?tx{iPpS8~h!VFG4^+EbhuDBwS@fSWhs$b2|H>gn- ziqcfc2_rX!x*Df5?ctAEZJo{&KfSRxZr~naz4=n9(ngfE)!UzCRm96nrkoZGUP*UL zM_|ZVQdbdU48Vy8Z-|LfU987%XV5tGQ>Z%ko}8$@y%axBs;9E$@`*sd`O^g7wa=)J zL)vs4v^31O+>R`sB_}D(D2P?|$Sd5mI+!mZfW|U8-ldVKNzk?~D3%%u*5y@YQ>$J} zq7XKY1~Flb-uJr2tIKhJrXvk9$$XqNj(ruS!+y89&sE7zTR|kz)0qh)V_D&?Z-~*< z;f=K;$|J|++Z$rDxWdibA%ZJ{1_p;DtfZT@fx)OQH|uGt)7<ox^A!_I1!$AhoPSx8 zZS)Z_mZgf0hUJXq3!#e`1Y}AR<0MwcHcP@W+b%UI6nP<C_~)EQpqB_VYy<xMED&gP zSWXrr{Lbr00F}ceP~}964`^-&<s#r@_2PvAL@#lcdES|a?w3Da&jnXtS;%9p$z@+5 zPcHxey~xQrM1sAhiTQca2N;dfzh`C6Kd)g{5O?LZ?@1=ga>aR_$@gxzJDU;EqAA75 z`}IF^!by|J_E5$rEVg1Vo-2!!%azI-Z<Prvm~_K-45nC%`SPEIrkxz!Qm!z5o7nNz zjxw6YWs&}QCE%CO-xF8*T3w^4yx30Li`^!UR;`H$?0b<RR|-UOUba=k&yOSPmw#Bk z#PptvXu!cC@R(%&f}`D+uh6*CDbnU|6JZ~(h$AL3kjfGH*B7u>dX<Aq6j>JzeHb>Q zZ)a=hJwJiaE%GgwpQ(L^ayxnciOS)ZSR`JA6OLr9=xhQ@aZ{D36`D|aVIH|S>v7&< zj`ugHrg!iC!VGnmk9m)hJ_f+Iyx~WWBI9d`I@wWe&sG>v`+Az~)9_#-oFm~Z(u5us zeL*!d$`WFduk}WW8E-Q`d9eLvDLhl!*PIgC=9iw$uh%#PDQ#Hk-&VgU6S-PDU>BR= z$`zY+lzqI|?v;qdoBrH|AZ^8@yB?mu?ZUg_1Mu?Ti$kHPxjCZNwEwO3nHeyG5(nxY zb93_$F>(%t9ya8<d8XX$M8z@?6M>GvTp*Fl11)HE_PWG5IXS@|l{Xh+spT|@jlB*B zL|lshFK`B#`wchF*5C3dInzfEsn{c=WOXh_Q6G{Hrcuf-4B4}ZCQrer$<KptdwUTE z;m#AJe~ZPCzVB+V#v<~Db>Iu$_AU<#EZk3!H~G<oa(cwz^(5)#0p|iXii)+a2cF@x z!tBMwjik?9l~*1Scex_F-Un8dMK$H=RvcV@VjF+=Ycu%}w2nU}7FEJEE!jG+t`Z+W z(dQ<);gEbdI_W)UG1M+}-u=S2u;P)Lg7LK$rpgTQ!$hy~x}@+9mDjBg&<k`^-V?qr z-Zz<PTC;E=gY_|n{z0|+tpYXV(|j_v0DVGmNIRpL(}g-*<wxZ3<Momoqv>vho_7W| z!jk_=P~&h>$(h)gepm53Ps(m!qKZwZd!%s?XMK2cv*JoM$KN_wS=poTm#qRZQoceW zHvG~5LLo=UQ3aPeyO5h)_mu}JtIY(}bm34>?=ZcY!5xXFIDA2(d5=#OV_d79J)+9z zn*1LyAAjFM1leP<8!!oU!e0IKEA5YJ(&JNo90=RwIhd<W2EC(a-O;R9BiNGUScnA` zHs8q7RFj7PUfsFMm#grcYrnCUE#5TY^h6>2U$y!rHimv!q`-((Q`H<DCB972P%rS{ z9>+oYR}f!mVGa7PiB-B$-y_}V8wa)Q5)HI><VJqgO!kb1pMYTDic+9*qKij2D^Sk- zpB6wWkvJz|h=Pwl|2y%3vy}$+N*tbmzCovLA{xHrdaqg7SVNhU(mj@<C{#MlEB&0q zVm1AkEH>{sFO_JTg4D5o8$a}-a;HJGeg9}n+|MhAC)<|Uf*!oXTT~s*V>D?=ez#1A z!S?;(LjDZFQyDZ|*Ax$R2R$`1Ph_lpl0VvI=!YCCdK}&trqLwCiCcUW^m(5&xKpvR zk&l~OK5-itMPyZ#-zcZdCQ3H)@jT)B^z7DnQ<6FRlcqPU<|YzeA6&%I=b%aFp+DT1 z3@l>N?znUpt(>=H9W88r_#5W-b+!a-O-%(f-BfWz(FXsT;N03=%rs|=IX%&<nIzwY zCd`P8E;$%%xU!N68AQ<(YK`^T-N8#alZ$DD+bgz}b~;mOrbSL;QK+#9zT!FER(2=% z+ni#UeOxhilvD7^mFCKN9M2;!M*8_NS5EA_6V}%feiFT>|G%IYk0$#uA(#eM6-xh8 zp^O_WLw*H@g4TFQIE%<1s;F1`fi*8juXGra*bu66i~<kOc$Ek6J2fnI5lm=(I7u&= zKTTwL>~GWez>I~Eg&6&AmThm?Am!k)D=V&?44`BUyxh-Ibv_L^iw?u7W@Ozul!<^p zGZjc6EgHYXGv}TDz(tvylj7EZ?n!M-FUt^=Qdpy=HLr?g`L&>4V|LKvtD=J3=&{Uc z-waDii>u746Z52dmwTeBYLorDTCbpr#G<f7ywH;ZLyFtk?HUgcBP{F#=d_NWTc;=W zqXtbxo`N@rn<($3dsNh}$kM6O-I?ho5XCS@1)aR;AB-03SPIoDAn}awolBEqdsX&U zr#xb6330{BfmVUN!@Mv=edur82KEolJGc`*>C7&T43~wcrHTKP*gFNE=4OO-C;9sz zj-`0N5EthL4qCr68KP9j&nUka%iK(iUzjY7MxY-w{$Q}x63ahW?I^au0^VG~nW~xM z+wpytq02Lu6(<8@2<eqZD~W#G{9K%hDu-QO@ehTP(sA;6BMOw<@DI*gP@S@bQeVb~ ztizGG9JN|D={>)FBPV?w^@&kYE1j1>VCp<pDwf$wV*rKnziDWsoiHw{MI{Eok}QNk zVQ@gTR^(TZR6vtU=DSDRDL`q!X`G&qt3yR0Mp3lpA*o}BB$OlKEqCi-lVnmT!+9Y> zQr5tsIH*%NV5Oy~XbJ@p$1WmBn(X*^9v@G9-}1k<jjFzRExgzeDvZ^CD=r!oLt&+b zy+HZeQTnP%$t(5nB=s{(-0;>QGhc2TVYQ@9rePrQ&Yl%@&fZqSZoSH%b^WAJ8{tqL zLEQRNZ*{@2I{4$2$FUZ#`}C&+o|BW|BueRHe`(s(?jw10{;OxgE1|9*?HmH}HWDi8 z*w*(Sw|sppDXGOY(4xrdTTlva9{(iz%LUDvCHvbF7G#=COY|zWUsJu^J|YYl;_$G{ zoLee^hh=Tq+hikr+KtCm=sWyXu+y5?y?(cfuC<1mQZS%qCx_iVu3Y%^;POGOcy&H* zDnpbtCb-my(=(s;Ou1*hz?=7<k3_MVwl}*Cj!}#dw(EJ(lh;J7@hwrRahfFov6KYU z*|y#)VIP}bc1VAASj%prfg-F^pX?eRgQwu;TlL`ZkOF6IXLhwHBz*MPLPXI~_xVh@ z)BaJM8BY&mlywU&?B)Zn(6Qf8b-9k?HV#s)1QV2wc$)w1ik)mCL!47H%?R9SG@1so z&bM?8PRI&AI~73%p9*gZ^>OpR{@nSTNfmOe!i|MiA)$t~+QR}%N7mNorG0w*995VP zS;gE6j~M#DHwz(87r0c;4Y)ey_+wvMUWqt?sibQlb=PR9>^02VeB(H*lkm&MQ8c?_ zpy&t5u^<U4ovYqww^H7(?-V#NN^gI$Cf;3S_^+P2E#RUz%DSo%mzZP65OMn4M5>5O z#6LOmk!HrvHzzxt9=RGNe?j$hlyz?&JQ&yWiF@y1iTR<=jzX=&>C=hJyBt*JPP--1 z<{D^vYBBU?eVu9TbWlS8v$-IR1`^L8#T-!>@?bFFFxl&H)V;J2)lvmlQ~|MWSqqdu z{vp}pN?gZJ@X?@D&*RmJ37X&@yqkM`nz9OS?%`EvsqanU65Os_2)y_${B+Qf4`Snc z4|__GyhPMU`Q3?z*hD2XO5d+)Zn&ADMLt1mwW7@DDC}U@LzM2vVAi0EF!=An-M9pl zs%sOSoDC6so+Q-1O0rbdakAs;yfvNUjT~)3X!D0_=`Z!q_OmBXkzBJ32w#FnoWc%4 zX31pxtQ1>8vx?VU?#yPVP<qpG&3$?^!*_tH4e8<2bFDBtMUEVlqgpdl(<UaCu<#>( zd`16nh94f-*E}3!<Kkk1IfxqG*r@pm^f?G`apm1l6U_*@qweSaOnbvf^6zn*q}cra zzT79m%OC1AK~7r>@+IHaf3T%mR2wq{xUK~!&_JxwX0XHvLO5i#L(41BG#_oMTK9ZM zG&Bk;pcRs>D)Jeaf=C&_&J8b6oWc_)&XQ)jJzBbKpe2kbR=^hKpbVDUxI;2^u>Cp_ z!Ru=5^4-zBRYNVc(-k~#ns)Zl%Cs4vrlRJRB>(>Y)=pdwrH=StnTy_1?$)o*ilvJz z^O!iwo{vqkBtkF)?)Rg{84XPw`TKm~q~1&g$~T|Z3?t)3AgN3J1D&aK6ftgF`SA+O zK^pG&{&Dq|a-|w5{_@r>TMGn<HZkpLPcazZ_(Z(Eh(ThP!a9Ps3nJL6b9#2=lNXyY z$2=m(cp`ST7^WW}ax&+F|5~F6kP6cNzKG*YthO3CHa*PI#U$Th_$zG*3fhJ1>0+wJ zk}9{CpE4+O{Eii3g~p!!jmEG$gB`Vlatu@8@hrHt6<%#QYka&zCD54NyZ+rul6|Q` z@-CLye{4sFT&!YQ%rIy($<`5;Q)(k6TzT^ke7_e0ZV{DKlJ51Z$+s$h%1M8&p0`|| zuqh19<Rr=WQ&t~8`U|4Y{!Tiwve2)K>g|1(;WK#QZ%={>QA`n1ERFqCG|*E@oYc?K zwLXE&t;Dc4xJN)yu-qiV2*D@Puws+6-a1rFPAPL4r0W_JX3lum8qd$2)^)HHXaM}| zLz^h4pFI<i2)Qb069*}YP>QS<4DijMQGwj!9xCVZ7?Yv0xTXRRriL%e`}o-NY(?$* z?Op;Uo}f2Qy^>H`)SeBNWIiLBY6)p0i=RprQefeo@sUjv{BnF$a>Nmvr{t?{RLg7K zAQ|D~{|ced7vc(s+DSt!Tt7Q-KFPEPtho8y71#+KpqVggB|mSuD1O}47_~ZkQ}Y?E z7+ds%N`x=TZS^+)>(I_hV#)1V*Bzc)iOQ%mlK0|yM<;qo#3Nu`V&AtiIqik&d+&8O z>$EtVtoz6>B8rNdtMp_z(A-|HV6GtkJUfg?RxK{AIR5z{;F;H@eeD2$@;VoVt=}ts zNJ@ZSCff`5!%zxLOxm{%k4nm>J(SL4=A+{J5GgE-EQ3v4x^t?lIF=M`2<OD=AccD9 z$=ur*bT}%*<&ee1o_d88K?qD<8cklBq$jCUyF{5`<l;{h*UMvNarENt_2Mb3+Vs`< z#naByo`+C|uu*DUv<&4yO*F~K@Px+q78-(JyN3#OG6)^h@U(M9Wv!+i)ODl%Fw_7O zl{Vh2v<X(A^M|HS#32}e55DlW>~^x|hQY6*nK9+1R6sW$Xb<g%-|V*wc71=BuFo%n z6;Fx97kyUofkT1+geQ?7f%=!v;)Vi4`07WJl{q7|?*(rhrD2He9SiYP8nmfxnjw<W zLCT4_p>9*nEmVrF2xD^WiV%N)tB@II^WXSiFKnB(Kj8n~LP_b4q*DBeS}?#fj`mXU zx`L14kz@MRi-5^n(MZ5;Ihmnw`mgnS@dxhnf0&MHAM`{O4&g#HR;Q{MyT=f;9)cXj zpbBKvB`<K?)UbpH^bSWEwNB2bLlc&b_v=`(-u;&iTvR=WuB};zlb4uHg<YTMg<Bao z2RMeI6_+WH3)&-gHzL@7qipx5lrp8H$fEqLxY=vMfxBg@sg;<+gHqOv$1CyleP6qn zFH=Q5w8xTETvq2ca3H!6Gwb^O36qQMv1lubRHfIa^uc(BhbLE(0K=l17P$V@_ZD$M z8|fV-wAA+aL&Ds293Gv;F7Yjxu>EAyUe%!)OOaR%k(mDR?03^JpK*7$*jDd_S0mn4 zXYXLG>e@TlQnochahsy&=t-J&uc@HQO_Lo*)Ve*n5^J_*IITpGhh|>bx#*Lwm0YF3 zI8x9PoO(A=2xKiS_`a&)=NmU+?^w=a7CmqMI_?7zCss`(_!H`XUw3$DHZ#3x!E_-b zBvqVm_}49<o#Vbe+l#h;X9}ek33&qFP?~J0{YKv<=M5Me5Ob^D%d*+E6)iZ<P=72l z{j&U@Fh4uw$CECa59XG??Ht&_YnHyL+EQLXy`{%oAj^;kjF<xDozBhTufnuZXhcGa z!L=H5#5gUj$eOMwZLWk@aU+AMA;m}<lCkt53}SfZeSqy?h48U+uC6{u8yx#2i4O@M z8mCzGL3s-!!v42xOzw5dNm*N2QL$SibEcNWR1kE@hLd(9eO)#0Z@_P_(!iX>rpOdI z#+lCC^X<f5$MwJzBTFG+^)^hsB!N1T4wE(WT<1~n_cM6_(lvA7)lB4f(pCB4``$CY z){DOAMZ|=J!(;^LXkBXvK=bt6b6L=xVm*ZrDpsl6mSm=jInhqR@o{ZKV~?)|1fWv0 zNB4pva=-1O>?(o*Ixt2@T1{QmXYH&oG?KZU7@e8+dPeD#2$RwvsPJl=x)4cG*zAOk z37bv{G79>8AG?mEF=%H)Q?11%e#sIA!1tF+!n3g2q~ACT_pIDeeJBujlfyRXr+J*w zJorr2A0dWOKal_LSO`uugtJiXtL)Eq^x4sTl#N=~-z=4GgcKh{SGxJfrE|PQ;?r)r z7ttpWT^t`_+ZaPtvd@uf=KVeKup+U3<`c-J@Dt;|W!$gTO|p_okrBm@s<<X)wV2$d zR#n`%Sv4l=Y$sFie)lsl2~T!!mo@RQye9&?2>;ZdWQio(zkI7Vm^zfbgUE3-vAtdP zY=0Z;$WPXI$W2z(&nftGs!f->OGtl?q}@tYZv%Ah-Q)3>iV8lq-kT$yNSuODjE~un zailjFV!}SftRH*C7cdGKAqr$z>(cr)p4rHr<h?KIM7AX-`=z+odriERUhjSt?oN#t zD`?1)&+1>k5rdDlG)vAOh7!NjO`~5voOpPCtk@OQSkRCxWP~pG<$%tD)@}HT{>FJ9 zI*=yF=@QfeVCN3+lvVJAtr_4XsoU@WF;Xph8if>wn0l8lNdJD9f-(F%>AmMhD_1I| z)Z5FN9)xg8cp+Ash`9;wA}tcpy?Mq#kLjY&&7Jii!7!cUWqbDERO<m(`HRd=S*Dve zat4P`W6{ee6b99)JH@g*_V`KP>|iC)@;C{K>hiU$d~}dlZ7JQ}aIyof=U;CtZ*-z} zf0Pp1JYMrp1@5Qganhn?J=;z{z~tdhqtzA#?8K*8vd}h}!q;XJ6eDTp=1Io|ndQ@6 zyKv3BE2QgwKog_P){3i;4##8tJT}~JScnrNc(R?S3{l`At+M0Wwd{!cet67dgZqIB zbtK~Q{9#)f_Lj7nqgO+lN7m^^G)cJqU>0#f!;NoV(e7O&20f+!ff7XFNkEKKhBjII zv!taZZSM9PUzFQio?2J^okTx%%CNbT_;zLAkS1u~W;g!?%vvN`__r^GvQGb&8weGH z50`ks>ygVvdK9fh`{Buly{Q;F#uBE)_zczYPzlU@2poCHb5lh=WDHeY>vS>GJ=$FX z5&|1?fc@8BB42_oPe9ba3l7%_wAQ|L*%~xjg9Uo%j)Kbeq!uK_e~*{8bFI4{TNg6N zFVLiT!W=?Wt{Ry$Qktt{Q-_T*@bw00I`R`Dlgm^LbU2M_y+7$Pvi0Z6c17@-89qX_ zaC&Zn_lJkxpiHC@eW12aHul}A3OO#L+f}}yP*wu<nXBM*n{0ZVHVC8aiFaBXMD=bz z8lbAk<ox>S!1ip-2hJPQ7Z;t9d5bp-)2IgdEfO|DqB_f&$lCnjtCM@`>zCW-tR$0V zez%5=H`lLYcE4Zs(h(DjpSaxll0L#5@=Go;4pt4?AdfEX=g+#m#i91u2o7Sf0)OD? z@Qm}Sj<qdu{>_nVT8N`a#lBAvqcrZd`&|o5k;-|&u!dV$>fdEntw(!YRYTDp`m{2# zBxe}1<yd^@-}6_y>n)1c+OnH`yeUrTz`}^uWlrlJ`~H22Y78Db^l%-BmV4NQ(6jR! z3h-6bO|P>r^c@6?ZNc9!3I6Yd>FE%zMN~rNX6&?xhfAr5na2C$UpW?meYanwB=SBZ zi*DA~A=2^^D%cIVL{5_Vkfx^844MZ&=c=-N!fxEvsDrD>;h&!^pE87<^+vL|;{kjP zE|>;vyZ6Mc#%$id3Z~=mm6jVvrtKHy>%J}<3fK@-lonNltrqD*R_7Q>Si6Y{XKS5_ zkj7jm)Pa$Xs#Gk=dv8hXiVA-dZ<Rvq-ne_-b@7g%mVejj$HJfHYZ1sr$_XlPq{<1z zRL~180UUi&w3Q{-cAXa|*Oqdc&1QaGqRc?b>Nh@w@-%Xz+qI62dT5rb0J~p?h@GH- zK3!LLsM@}>Uhkp~c73A6>Q*HsLg<2`ohr<4jCywB(>O)Bd3~f}OUn2hbsmqw-AIuN zEk?#i;(4u~sGla(+==0e;d48!WfPYtx0>Fnab9SXi_!74R6}h_GUiDhtVOf;=iWyC zlPrJTKS#auoz`?#Fudi8<e=5EmY?t;MM6WIjv%V=HrJKB(=~Cj=iIJ%pF(h!l(8fn zjntE?|Hf7M^%oXH6_r5i%<1WAq68DaZ@elE4h9!T9zVOssMAPtZOMP2I;pxqYELaO z34)Semdq1Jl*r*`iJ)5Y*q{dp<=0<c_WO#Ni<$VOEGCb`0hAuUb>^ZL7+bN)MQ=iv zLQcj*f=a#01r3~bx6`f-rhTYdQoIJ^sruBuV7(}CfqxqrAjgqoL@Mj(@EWxN$ZT}p z^TT%gNjDN`@P%fxnWlU3g$6RrOoN`zm+oB93x3<r{j&?0sr3Ldp0%T+B{1B3X><2G za?RTpv>0nl({n-Scsz9UHS{D32cqCq@VCkC`!j$m3>0qXUVu4C$ISc}G^`&rJ-=u< z0l`zJ&4YQ~?lZkwsS{`$J_GOz&^bJ&Y-p%Nk!S=En@cXk%)s9f7KRfHxmOYtD*XyP z=@X{3Npc<&b@h=mpL3|%_-ZPVbGJ9VG3W(Dl$EjIG^Rjz+7@n1esM!~Vba^eiMb9e zR+}#ELg{6htrJ_P%+>DsCl1X=#HFiCnXj0;R9)Zij^sYzHPFeK!G72+*wGj;iP8J? zfoBx;`cA@yEl_Vkq8u?&=Q~7!{Lz6JfJ|e4i2+g4BjUcVGo~iRYccc?)JKB#FNP=L zHKBLk*uzntxx`ck+kGe%Z5TfokjTkM`>-f7gifV~Ivkg|5m%ZKiXl;6;8DDV{&B%} zvDdQm=UixF)7%N2pdZhjqQ4w7(Sl!bST4I%3tVj9;X+K71N1EHE`^wJ2#NIj>3kdo z3C65IO(9IqfC~p+aPA=n>AE^xthFc9pA~k_o{Rmq)_9ZcMGEs@t!{0VC@Lj{DB1qa zo8P>L>SqI*Y{nxv9@RSW+&|(naG!8L|E;6mPD*9K=zyTfoWNoPs+)OsAqCRHsmfsG zOD8jScRb(w4jnDv-LnjX5d;vb902l(@(QqP%PW2Xk^#5TA^?;gwVx~AJkRqVpD<KB z#0FUWyGmM-6+_jCicn3V`C6VI!GT>{`4LxN4{5Ku+MRj78W`-hw(j30H@9lPl2lev zNnw#u+9?+CaY@#-{P*xA<04z$rGa_kM{*>7l=IH=U;Fj%C2yr$l1_&vfY_aDcBbsO zUp@w?T_CAw)48L~^TYVGwPhB9_R?1RqCaQRZ*>B!RFczdXaL9Uk9kpHPMD^qr2*S= z!jWSm;70v-=l1^5U$avC#SU=K@gWNET#cWf9sxO374#kk!6BJRrpi!_jHH#K6XGh_ z=?Ubx`jCZ?5uu<*N}!cSS`(C4gq2!rS8-KxEslxd_U-j&I@8R=ymN*YL#2SGPA{+- zhj|mJUgM*D=v-dCmE5m9&u1ucve=Q|qM@$ER}dseanIa*chNJ!3nyuRdtAL2lizn& zQ;aGVeeB`#2VJ9w_k^TUrwCH%lO!{tT3!J+5=ZR~S?SU;mOToNxXGHul@_RYw_E&n zP5RFeN&NR^w#vgW&U?KbC^kwuO{IG8f6RS{9)QdTV2QL#JK3b~F|7xwlk(cg;X_Oc z`0~%^7mwM@E|e=dQxBL~E&6<)2gXNpba=1TmMBZf+G}H*iu(gNUccw=gW8N$6_(KF zxC&#;k9gfvJ^f9n8Ywx!IO(6&?Z^%2<wpW;v6PIA(E#2XTtCW(^a<=1&g-EgX*l>o zemssHk6hy6DAa<2#2u?+pqZfS1vCK~QJf>lNd<j4UOH2NVJ|>Dv$XC|yg2TG!@sH` zg0r$*pD55cnvk9S`=v>N(+2AmIOpxS0S(vQb04MRh=y#x{g46<^I$-}bcd>IX}N;7 z=hL>;N0j)19zbu#=XM~9#$hfjEDQ<>fz{EW#u!Q@#lnVbTMk@4N-*L0)3+gVYEk5) z^i*fVei+$dVR`Z62l3q4&C}Rx=Nv_cA57N4CviE!5!2*B*mR9}SiY6*R&m}6yu22$ z^+jlym_48urkG|j;XPH7lwPj(0SY|Hw;a4bYXt$1;UChX$#W*>^|c4TEY4uA771ft z;V~Icpp94g54NJo^-NlFv~#nEia^HUU=?5j=JNSW)}qU&VJW9W9#URYPVb_NwRX4R zHVR<uf?I*|dN>^@vLNc*za+T|6L#L{h575&(!5vk)eE3?fvK}F6+qY=7K!)dDAHom z$ghF!9Sgwil@=`XT>XgqA1nfZd8LKNMn{D<gmU=Yqh5y%4-FZgtabST7Q)un*4pXx zH$p%X(N0QAqGMz%s;N;XZ~+|LL>YhNcjoRz+RLhtND1(xVt1Zd2u5%}uV7o<kM^Ju zPIvViXfJ)7r7Nr`#B;i#BT?t7`5L>7IBP^V;tKKC{>z<)xMX%=2!yXS{Dn2hlUtRE zq29%ek<!d3%UA>jOQeMf<I!LsC+^j5H0}+!SA!dY$=CX3z$_>1du6v0@cfa>ZcYTS zPu<<!MK%-eO_x3~T{h**P`OOINlHq-a@#$7OyjZE3!mZ`>G3B)4E=BNV*GdQ;w*{T zb^@4~V{tOX2nBq0`l`;rp;}Tu0`(k8TVGYd?%3Y$?H-*g_U5>VL=X=aTpHUKl#u;k z=W<cirPq<{C}Iw&GULVVEb{GBis8K+G0JG+!(sq;&AS*a?TQ|ij@Qjo?W&-p1X!$s zFZk9nrM#lj96;#?fK?8h=um*@cnjFkL0x2|K-G;}VW_H#0dDXG3zH29$8}<|z@z@< zDHoFiSUq#k_@kSLPd;5pnJ!}4_voV5=D4e6-{gesp{w-V7}DuT?Y3mWzQ5Y)jNjee z)u%%d78K;)iD-CZKRtpU2GVrn6`&cQ!)ny<D;af>5h0@?htJtJp-(F;v9mmM0h688 z)eTo-0EB%33<EFa7fguT(GosSgC%~%YYpG^P}~;+4AjlpFl&I5xDX(IfQR1+hLhrK zwLZSEzW_kvc6W>EwEVxzruuLAQx=7E?}P;cAEL7>A%EL?SMvb}bv<`xig#}`0$XF> zmm^3*LTyAiofuFSY;oERa7EuC*FsaHATLv4%|yn=4v-?RdGI5I2JdwDa=>wA!ANS< z&R61<zB;_2P+0-c+;%`Wc(Fjw&L#rj-Pno>fB?U(k-7zK<D37o9RC68cdtWJz0IEr zQoRmf%g*k&BGBlt{Hr9*APV50nQ*$-Yby2r_oS(kFmW{G$PyoJrX$HpkHk?mFt28f zzOj&-ZcDv>x@CXu-<IM}JT<6znv}6u@ZJOQ%aC(%?_%URT|^D)pNpa|#_GtGnxPjL zR7(c9IBl`5A_*S?UKv)A7FcQ9a}g=hW==)Ya)phv|Fa~Ox3Hjj;qC&G2!)_v4hW{} zJ&z3lBH3l|%!Kvl4aE!I9ng}2LrtK5n+Ln|h6JDcopDb;4Gm45-TYhs`^DAC0&#dI z93%t;gly-2{5qHa8!?L7DX7BPw5=W^iE=VjtH}=!0<T8-9S_i_e!E(`{edOHQpO7T zR8wK1!g;{OUqD#h!{f<;o<`imh7byE6%{t7^<GR5qf3TaGyrW%U754I>Z@dZIYhjy zrZRJsxL!s^QA`wsin7kK_|&NyTW&T=zzlt=`esD-%j2SB$H>-DGC&I(xy3q1O1Ny8 z;JpSEVIW<d`DW-leP8i1rm5^>;gJ3%=dQ%f&1nNKf(oC5Cr4g0eTrLz8>T`P`^<|v z5e#S~=xAjT$aF&BW{H+^bkw}ysaVKxT(vZa8;e{$;D0g7DXYW9FAhJ|A#QB8Hw&<s zY+{ZBrw`l5VoNh+%|_G_lal-zG$sbg`>SNUV``ci*U3H5O`8WTk;a`Y^Zy2_BGp!c zd*l|aQLOPvEmWRRm^JqQX#sW_78S6C5nD|tenVOzMpE77NI1!7qk7Y4s@+|$WFut( zBpDO=&Y8zfT}v}DX|1HNB0ID7gPrD^tmW>`DJ9c@Qv(i-lIli`0tTKc0!x$wB?&F- z)u$~ysB<tl>ww>g{8TZ(#lOJA10FU>UjeqEqUPKG<~<e05JLC?nEd|GSEhwoh~G;= zl04p1IIa<j^`|#d<PH2d<?HHeAu4`HTJxzgBe(dXnwjuf;_&LMX;@qODwe*z8qD&q zRBK9|h21MZe3jYCPgCoDl*demz)nt1o-|`Z_S@L8oxAs&z{mr*gtsB!@O^=4;~wxz z(z)z2E6x6Y(*k84td|e4A%QMXp%AY0AnY)sEb^0#d?Yq(Hi?fR?zU~nt=as!y$y=m z%JlP1SrL$WE=NX>G^Fr8x$sJl=^1rk{Y0c0`yhA^Y#;h9{y4QPrH3i%xKo#w8aL$< z5v+j79vIZalubo09+r9@ue`v<0bU&~TC$N@?*HDDz?NF2#2KcMq$pfBG&poY4!ta& zrVFa>7IV~~-Kg1UdGg8je1;mqe9y=5MThssR<4|GL2A1}`>e^)d|Jm+MOQ6SxKc%5 zxihTY9@6)#^|+DEWygu4v}-bTI3hA~U^l9uj=`&YKP@%24^Xz58I%4Str(G8#bQ@r zI~R^5hv!B_fm4U;hRB6>T8iXU)KgQ!jrCk_Wc#zjUZbBL(_)+k+HAxqQT|x8&gOj( zczsFwNm9jGTSGITi9k!9NcS4c*kt@$KmcO2XYEHzl3nY=@(L#N`6ffm7}zabGB7#* zd+ZIOW~eRTX4(3z2e6E!6ACMOt=G8a5!FLWe!Ok*zvE%b!8BS$xrkb}Vn0o1k4#r& z?LHD^rzocBOHTK}iRz0axk}ESL62d>3`gxea;`VM_F%#x4$x=*UZ6U&ZBJ>kGyNy! z7put2bo}oV!}KU_y-jdw%*9H^IpzxXd&z4m815(Si)ndv9+zM9X{9FMkp?f8n7Fpo z4p5oO{*rKSV;?~av0)41T$Ak~SdDCmk;k%x9-3dKTYMy5Z2Bhc%F8Yfk27Mn`ja8s zfpyu%XZU}gmlWK*_RU*3+Qr|=HtwO08sonhl-n^B8H<8$8db*=Ay$Il?UzfTcDEe^ zgW1#ybT(HkY+2X<aQWzx{NO=>fIsB5<bZ{4cK+|u?|WUkin!0X{Tdz<u~OfjgY<`Z z<K7a_603W}&wfwnCGO~>!oGAcih?;IbIqj1$d)<oI3Toaf4o|(Dm4Y(9?s6r5BrAC z8^0L8rC`7RzX$TBMS_BtPd7w12HN_Qnh0#NqZolM*B=*)D7kPoK4px`lA3m8LYnXX z#PL&MuCZjJ_GP}BOl24Hv~7!Iqt3@PoJH@Xn!`?7JymiH4)8zL^m!Kc(D$UzyOa4F z(z^$K0B#8No=QSR((aC@EuT|Ufyag+o6m)niK%ITGO_>f_C;t$t!gvS_WRO8J2y9% z{ImUxA4CKH_qwdltwhk~Vmc|YvJt0uUe{v3#+h1Ml0Gi&#`vcc;1{A@6m&#SVzbws zavyX+|8;#)AG>nZKu&5>r~-yh2j6#aP`-1M?F$n#b=x^#QazvXdzr3GKSTp9X!b9U zG7}0jAFp?vbN0bea0ZVvh3#y0iR0=|;c^sVixqn)fSp!RQE|(;NdED^s}j~yR~t}g zrX6wq5d3(5T@MTy<fo{(xIU8z`aD#ov2!8^19Fj#t?h(6vHooBhbmyiwB*3;&_pPy zveifX^0;q>=2Re%z$h_1IC3&{QM^==GE|Z8a69w&9Q{h^gW29l8BNsjQ1}iD)Mb-B zsjt@2+*jmRR@!m+-IbMt>W~jI;mU@iOuZ36bQ`wF;>5Sy>$53iznVDLVBq!(pQ__i zUIYp;-`b^5WPE&@3D}1ca=yNI>YtO@Czx$il<%zmUP5KzdrHIiK@vB7R?0_lamxI< z^({udpce*_{YHwwcXMQ&v$ulW0lzFM9W0i=;P%9uCEZner>W$1boL(=X$xI2*qBTy zM(sO+^k>Qc{*dWI14MroN*N0T25v7|@e4^QFP8oK)(;B{s|KvSfK$kZT=a7fX@V&S z#3WUkfXzPy3=P1(4-A{U)r4gehI3`9grV*gf(fRIXE?sReIut3Ok66P`^9xiI-2M2 z!?4WA=z8nw%7AnptNGt6Rf7i?T-1Q(K>p{p5dLkJ?Lh8-Cw-aVTI%B^8Rc}ED^gm9 zqi@G7eZ3Bomml_8IQ1^4o8-N382gtv^Pbf5N~R(RWrucVH_qFEr^pL$@D;!Uh^t@$ z)EfG-0dN5L=6}h^=e`%RcxW-6FIs8vgRk`?=&(g55l9DFH*g37Xw!cH9BZet621ux z7L0es3%q_90Jgxui!QgPR2LuyKo(9;O&#iSxWMlJ-~~WdsIpCfKoy2cs%U4&B<Op! z1$JwPtD+{?ZN(QmCOJ7oVA&<~@$Lk)kV`h9f)87Le!5-)nW5X^0(R5li}S+G-q&xh zz&2yHHJG^C*3Qg4P-i~O1ITkSii)Km<&@8O8~TQjtHH|G&rbkV;6$YU;R#UU^63!o zuaDzDpM#PVm_2ux%Wa;t?Cj`0Y;j-4PG`zKf4(+)aRE8@zvh4GNPhe7ovfmw1?Y?i zu(-41fafgH;MePyKERd(^(CZt{sT2MG?Fb`xi<d=X}+$w{Lo8L?d0#X{rWsTlFn7$ zgC=kI^GZi{hkk4M;qKWTPHx5ny5X1uf7k5mfLn$l&4+LUb2#}ACscymEFqLj;vv>( z<xGV(*L=Uu)1(bGe1B3Z>x8hyQj(Mn^h?U?onV!v92j3j>5bkU++v<(zN199nfX>m z#+|0n@hq69=g(`I=Z*tNVzfjkrkOOQ)*vv0gM<5z+%+?p=;yoaz9o2tcmHo}pu_hX zol{7K9@OVRQf>)wW#Ii1^so(r#1POkU;ILlSlbhT7e~m;_ZPbeWFnpfV7CSgSY95# z7k~ol{P5ufiP>4dKL(laAT@?;%1h?{(pn9k&^a*rnJkh<-Pl06NPjU>e*tKABe9|( zzs}&a#Q}Ih8ew5l4G`?xy}YhK82CauL;y2E1v#wI_Gr$)?|Y*c^9umQO@C{SSPu|> z7?A+anJqratWy_KKPHsryxE_amGzzuYoj2Xq%h$5=_Ql~lmAtX)4EuH95Dc&Ep-Fy zr>>?||6xEE1g>$q4lQt>z`uj~kL7u^+y<=QJtK4gq-?esum`<Ct_?2e;mEVYbh23X zVBtFwaIgow#s80}?*PYo5BsMi$<CgMjAWIOy*EV&*&}=Jy|Y(TgtD^t%pTc0BNP&n zy~*Z(|IYiq*Z*9{bycUQljr&V?(cnn?$4OJ$J%1Yhv;|fmOmkXCkTD%G%AN!1N}J2 z9?jfjU4n3=bSR#J5UWK`PoHk_GV;K}!pG9WBenxhup8pJ#@2G~2#){+7%}Ys9n6B? zJ&?+m01Yy=_l_81wo#(n5EdP6qe2yzI<sP!P~V4FI;i>eK5pue|80THJb9K+v2B^l z6Z@-kyap=_0m=3(AN2Ezv1<5qiFsED{;k{O;C%Ot4+~GC4?*kAz|0x&dFwYVWWDXl zfD+Jmudl{iYV|LB{?C1?H=@|4^y35GECnH!)y7WU_;VQ|y+R>x#%-AXC7Gb`Zyks9 zI?-f5^B}t>Cdr*I-y@h&QY|WmdZVt6u;og)E%Tlvebg++6e-qoO)VFb>vqZBb>3to z%S$R2BN&C`$QZ;JI-tOQ-}u~}>&sbi)6E+}ViQGL?L!|0%BMG-w|{+n`jLNr*IoI$ z#F-q`e_3S^yOQp!>E+?U2L`Fg#CLw~4Ov49Uu<V_8d?ziLDDhs&6_u3uCA^Z*TuSH zoT2{y_y>V)PFEL4GIM9%!X>o}nD9@}&=8WUHaIE*2C!HZJW<=tXEC%AA(Y(PL5SZg zDO5Y~e2npR1p`=KFI;=Dy0HIgk;@6kYh|Xuusvj?+*k(rQ1l?%2?b8FFoR-JtLihM z8?A_qC5SMOp`HxD`2tH;Gf<5n=H!YgJlOtYPX#vP_R0C3nUHQjMMzM`c|;2NW}u{1 zY4!(MSnwf+15p2dDTa3Gt-QCkV{Y<1Tu68(EH=jFPrN=hdOAM3M;#8BjT1a$GV7ho zX?{bK`hJ7pnSnnzyyVE~eQZBbtleE^*dC*Glb%ror<ADB)Bydwk#C&>lSj>dC`!22 z$nP{GP5o@meL3J=(Um(p4yz;{%a*%W;fj%)R+%Ngv?$|INvXC*;sXC)!Ls=1w2ih` z*aXTpPmHIBzRi66coV;Dsw@Jpz~49fe(+pVT1%Qx&@&#k4Cnns$!px*<|v#T;=b2t zMFJx3MND}64^qj<m#ScG3q>(Ueliv973QMF6KypzvpYj&?BHf_{-|5p`1PMznv|M4 z0S#t66&4-|j`3qfevCHb)@HhmQWRsXk7IrE-_+mv=RCJ?Q+}!2nd4&h<8ZJ4z<q_5 zU|4WJIOUnHj?MtQ5lT#i_uzDa`{}&>__Iztammm^n#hh0NrF3fkh~+f#()VBk(qf9 zig{H3QarCGG@k^$!{KlXp~6^8#;q64Pz`B^mVW_7chfmRzlMq=yCGJGSvj}SgOHcQ zyWac*x3YV2K3;)sK9apTEJwS}@jg<W0K^$_UR_-UaPnr$Tx|amQhNj;a|xb%4#Tf# z8~=<&D06djWw?)<DWCDZDAgNOU~h8n@CN%Dceu8qeEp*T{ySUQZ+Uy<zMhGfspYHG zlJb56ZWE<N!9P#jsH(++*!5<6CbFe;o>-yG4iAWq;9U8ahAKV4v|^so6#GF<qu%Me z_8{;O_qi*!M(W27McjN{Be~&lI)+Y<4(h+M%4V}NUdKDbR{0MP=3UUrwdv6A@uYGV z8~4oK!V#tYrK@10yu2^1yG1T~R2fsE@XC<&M#=-GX&-vsna{4_bWPfnoV_v=Qn+MA z7v{V)f+wusJB5vOP_1FWnEGW|PZ<;OIfjtl^joo~l@H%*gVttoHr*YxeoJq{*DZ5Q zq4v5&HFnFKueu4ImNLm$Jvz<1%NZ0uZfkRS`iKsnXV!=JwOx~xQR_2CeImA5QT#(E z6C%_PtzMWjw;tZXvo-1%Bdo=#rTT_u9uhvtwJQx$#lq}STeFmsN-%p~Iq9J@d76BX zH8^*b@uS9ug5^a~*wZ5gSy>eG@>?Ps7Xyoi(6em(YD$5H6k>T9f=xj@sD1Ch7L?3> zXD1JAC>_o=zf?M}KDV^QIl!abrku^pJoSi@lauRKG)p$EGW=~Ip{1#bf#8qg7^Z{C zokd!eICAUzCy+Nf@KGQU@!^G=?lEL1feR-NG)@j`S^p%k@CAN3a*+=P@lE`@dbgc5 zeD(a-RW=*-xt78@>?;^(`-7O*Xnr>hp}1NFkJ>O?)owkm$C6(hV5uKDIUv+2cU6>7 zuBwaw?&MbXN)G>3gO8**dW6xnYf|`37-*Q{O#Xp*4@xvC$b=SF{lsLR@-apxnJ}VU z7T{?&Km1$iXZ_jU_y#ezcp#&{`s1(_V!|5)m4d~Y3eRg22UT<fr;7Qrrxo>@Z8`ZQ zM)|Bf-S|Jf4`i8mQQH4r{zcQ5AXWuT=4stXYTJUy@Jx(g<&@QhsOpgt8Nmzo711=O z=|v?+u957pVf`PHZ6TP}FT*75@RYbY6^ZV={%rlMaFU8v@jScXNBx5Cd-OHZg8V1g zk1hMW;D<}j@ouRhjU!Jn4Qj`FncMguVhb%|;*F}kSjFFaF-%vy%{L_&ZnO83K)h@{ zJCVtIo%QFW+DP++Ou2u`jVN`ZoaB2iCjwgU-F+6|efRENg@7&5=Ru^=&#(<q-I(zh z4PJ0aUdi4{!3ttMnhkAGWn75md|t>3QDwt>OZ`YE_q#P<YV+TU<wFrPhz5fwyZ7w+ zL%C_beLy1e8U5f05A*Ocw7^hEQd~%70TGd<$A%cd$M(NPVMOW%6B;=M1v-N8Z{^0_ zi$jGDC2DezmO7T5n+r;8$lnVUN`s1WJuW#JQ`FX$4N?h(jC?<Q_<&@a34+@jY?=0U z+Hv>6rM%LhEs#dN;r;up5%a|N@2NS{vTW@BoC#x`E1y<XHHy%)7GIA~NE!HaD=8;} znUG7$pmK%Y)AClZjrCc*f3ZFhe#+Xt^|z8=Q9o|>9~qPL7Z86ny7k+Bjj7<5fpE(7 z16no3F>!hWv*o^*HLTO!fh|SZlX;5QnmGg}-!8CV8;oEXQPOTqU_?B(6L3}qC@F4~ zIY-^uV)8L{yBeqBjmQa|#PjSM)+ZHVNotH*O$6a+*fpgyvH28vmZXCOt@D@}Owtk_ z9klfrV}aCVmBv!KO>ECf3n#M~21@J{cHbSBzr-@4Aiqu?PD;)b`ua}{XYmWOV2)j) zrE=q4k*St>)u^~MyBS;gRGdfWzV{-&y2d8*6?CO0lN<TpB+|U@&5(W#14YRy>iQ0f z4`C8|(ap;T2DZ9XWSpFe5!EB#HG<SJ`Zipf3#NuczFf7|NDU`&n-lzyV2>W+wPQhx zjF{TpsHDHKwxYaF_t2o;Kl|GIlt8C|t{gNef9#dnoroG)%AD*4r{5lxzLnZRA41a2 z)Nd3%B;JFNxPZF4ycbp}P0PptXVi%a*<(*274jPwE4kKXC_Mv1NL$cNNX(lnGwCIe zj-`$UFLlH1@6fm)(-hK6!&&NHY}<5&%_X3j*(D`0fY3R?%H}Z`YRxd(>!AL3DdF#) zU39<m1vBmA3t#ZV!smC}!orLG=>r}yO?saHHhNR}oQ@Am{d_u{As^NE;uJ}YaGG_Q zq;luLKnEjhw<He3Ysw-;h1y?i2U2)TrA!|J+&pdDfUP@Oced3q;&S2lGH^+A$;N_D zhmEAk>&O)Na>yn>^p8`~CJKPdBls9s3fI5xu8pY$!4MSs#~mqDpLJu=)C%P_zx=NH zeq{0>q7_1mDnc=WZN}eX@OUrCsJlFz;J0=aiEu13%)TbY`Hkzk(rr}kq>yNX=+LDr zY!po5@APep-IgPK?r}CuMr|ouci9HNTh?n@lN-(kN?DaejuA5umMiPto2nJ@&m`5f zsh-k7C6uyz!xmwhZb@5IL#{X`UDnmP_hsFs+>$^1*J(&Z(5-c1qtVpjoJi`TS7Qya z&#O#@P3Z|Qyp=d)#l#;PN|nuQEu8%1e-Am6sCEzRZ5NLUL<9UEwc?@??O@8L`>wba zp=5}n*)#9d8t$0Cx=$lOdCo5!AU2PZ&2!VLU`;0VMxjEF{xR=A?+Y6K=;lu`?WNX_ zCtr*RY#U5WjOOQ%ONmxrv!ZxO>w3#wS0(9(NmXiZhJp~8|3pVsXh8S7>(OL$N%kq% zc-lYv6vv*c7w*{nl!OV$X3tkuTe~0Pf9~iqORK!4sWLmaA4Y+h=>e={%z&yGMaj1p zeEZ;qh6dujCg$M4$vb0z9arRh$1u117OmzNTdLb6Y{=A$%ni^}sQuRzJH{nx&V^h6 zwgn{k5W^}aCQVoX0{nu++ai-QArTSPqnj{(H^a^W@mNRb9l-Ul0>}b>WjoIKncyxO zjOz0c>beBDH3KEiKGZ2Bd=gsc%vEZy4NmBQMPXz|*p)D$!}Y16r#Dpm<rgNB+Sv<j zu~;IT?iAd`$X*vR4^DoWp1b!=k2?OB9Z4hd2@L%nxvZ&y6TLzr+bhUi03_i!X?j@r z%-Ye(i4Q^xd!cXtQSl1y)-O^^C&H(ca{nF2&-YzK9UT*X-VZs(;%&}U9*>h5^v{1z zQbC8NX(Rmb#hjt%SM8XB*X0&Onu;v*%7XQVbfo1*)m*&gIm%(A#PuIPj99)IRORo+ zOWew=Ve;>%7XEX-CXN%VT=vqce9H2YS9hF)$BQ(w^BFy*LPyym?vI`NYlGwug8jp6 zY0YFk3s>(cUKdgha#X$}|G{v_nIkab^~n+uTJUeK8+z*Lxlat3s6-P(G$hVCXu19o zUx@|$!aRT38etGe0Wx7v!7$}uA0;m}q8o;5lIQ9+f9nbApRO)+y3-k^h6G&uoMK;d z&55G#JPJ?odVK!&dC3cdQvaM6r?+oNM_g||7J2@=P+BNJfl&EI5+?nP>l<N`Oz>{; zSoA23nLy=O0i~D6-|iJM5z^90g`=(6ACPAOrKlT=Y5F}v!C8o8{|o${KQMj^TE3K0 zS(z-QfiC&K_1SxETUvJZQmx<fcW#l<=-+!oX;f4SwrIZ~HWrzoMXpYUi8m)<9zuQv z8R3u|puJv32!%!O?d_do+3sg+h=MT95b%TKfY}5Y!UU<GRsMERrm;Cg;054UAY+h@ z&*AsaIXM;3hOcnE^50$Tu7p9I$9AR%a##7l8r1{-*xeIv6j1tFT3XhEZktrlodaPo z0Z_Jt*k(M-e5KIOX*=@-;uj=dl<4&GEvL4_IIdY`jt`4esc9NGsR)$`X~;^NPc4xZ zCcr(u11}D?3y0runOk`H$;PN7V-s<T^zfSxlFqktJkp0`u%aE)NZQdtE3pcTPyHT! z9K<$<pAZ%nqx<zdb@|v}XzL;bRV%!UIji!edZJ#|qg$&lqS{w7Q{;WfHq=E@*<O-1 zRAQyT@1KI-50<}U^%;g3(Z5>Eg>;KbG@my8<r_-oPW!xNHaf0xHMzXVnuZ&RCz$uu zjEi?sWzqhvhAJ0oLV)@Moom6tzirZDuTH&5l?L1s^=CT5=KREmJZy6DIT!X-QqrF3 zFa_VkdAmJHxpFd%EjT{@1XJ^;WH4S?c3TpYX!bR?$m>muA6oA#4b;tYIFR$J&-qR> zY;!|SD2yzjFoG{S^K&ZQq3v*J0%3fP#p6ehWaZ@-fL0^0H4;<YTV*lk4iV=u7G1cL z7`x!1mjD!lU8paqaV<)Hp)^DAdHn6sw+R2^6`z)Nv(;lc`km1^Mp6zWa}BCY?!1?! zXS^9=2vARcQIW~TX|+h7kIS&zlHlVLy407fwq6)xYRsjF2AE|63M$`wVqXXgEih0< zbX(lMv$&UqqV8g=W3fBav~#a0X5zM5m6tBru;L{~Vm8hfp<u%Twefn+*L!zX7HBCW z+TkVZ1-y9QeMyGKgK5+gZ(k-)W;%cOnyB2c8{-uBO^p!u3k@=O()0RSiB#MJoCA9* z>n?5aMYiZou4|gujac6Kmd-BxTFTmys2x@7L+NB!p`G(K4tyfDhuuCy`aEuI>fmG9 z^q^lB8%-tUz)>G-z=|oI$XzRd<pvsI654>>RE?gB`>nRenZHu?^INsCr`6VEXmm!> zqtlxcy`6L@r$--=R@l?7e)wRsCR_t29vA^;sSeVGSQLN|L)2;fCn2xV7QZVVzwI;# zg$3R^5@U1q%LAw}zPpk7JCGe+vlj1un|OdxsEMk)y!;7e46)BuMX1ibH&qsD>hDb9 z2j>PR|K!v6$?}gSToqNb3x-}Z6AJ#bOl6u<nvVVFXoa8pLL{IpTD0e><`=vOO){=J zg~DV9|Ds>v&Qz%r>5<~qbFZ1z8vhlfNs=U1$B0gah?vOmst4k;NaXyjs%P{3*6n8Z zD-yrJj_Jwt(!$ZLTQg=OwV7>EELTBfcF8rXm$^JiqszKDwh__UX6=GMlfSZBe>hT0 zsrv+MtYP6j43rv%H{%puy=fWEZWL?FefsPM1(`dyQP-362+{S34s*QR?>xq_caYd= z2;#0x4y=#B{N#7K%Ht9XIAwNYqac6gFxOz(`I2jcoT8%1bd61L%kpz?k^6w<AfZ5? z)6;)@EkkRLgXEP%sd8EnTJK9U{hwv42#K1~{0y0oa`B5kE1_WQ+vV@?QfDl1Y>1q) zyomn&?cO*#)%dY4y@>~@qs7yd5vg*`yu3ra3Dyp+YqhWc-B~fBd-1*8ioY3Mcj0jp z)~BD<-(7y}{wO?-SevAr^v7o-;e5l9E8}d7x5I+kj}o+P)`gpc<4!}$xaJjm6Yczo zQjk-M<Qq0k;m`;hmY*Gm2Y`H6xLkM=q9t2MhZgbja8!|S$OH^2MIHGC8!&$>?frb} zjK=dD+dwKIW0i#EP+FIWivkDNfE&9g;%f@<s5<Ue6hAj}-Dowfd=nSvZ;?zI;?Q#y z>P7YJ=lhKWK*~5s1verXY@$JR|J$`8mb~Z491@>%6hDYVgYW|$^IJy^^g;FiLn}DZ z8rdB;3DJ4qPI5I9rNA9_=Rw5$ac_*Bsv;(8#!FJK?tElLBA$qIkwC^@OrhUcPnKvz zz`{kin7f|wR7El38%G)E){v@0_q4WpZ2hS2hTfjv$WeH*bj+Z1MQJkHZxPJ%wyodZ zXmS~NX4fSMSJ>`m&(lt$f2Mj{ib|*|BEpYCh&rbtlIt0ca-ZjYsFjZnn<AlV93j@X z;rXwH1;>haRB<a`U8-U=zv7Ab=}CtXjE9U?VIjR&BOw@t5e_ailBM+HgG*Rbnq89( zg&x&;?>q4m?taq>I8!mFEK8%ks}Vo~JMLAUcM3l}>hf;TXm0)=7eM0S%Q?b(9~YJ1 z6J;#fqSGcvGeEZbJQy}EL(6S<XeB%80@Ixg>=X(Lj7X)q>OIG<UgM2i1+?ez>HO@< zn2PqJv7w3W4r-q_fcIAfwwogKdZi?V-{qMIPxa0U3nDs=+E$&PYiqM0Km@XumD841 zAu@{p$Rrx^%|1z_DPK-hIe)ak%9`dW$+N&LJrXs_zt60~Hpkg-y~t*!cQg0Vb@jbu zzZa0aa%Rgz!E={Q$Bx|S(a+t384sPpg7d|98pjY4?on74SD#Eyu;E$}C|06o&?PqV z{i5{_rgvr@q4vXZa&(8?T_FE_n2VwrRv*iGQ}52%Ro&9T<xC(UMlh>a!Ai`-gC$b( ztMU^-gKs?hR$h$de*PR>+I$+Z5hTo;dm!3khk<g|cinqeoi?{BcAobZj_;YC@PtTd zU|3t5;c_<yX%_Pe@1aaf5#zMC;U|5S4v#E>Z?ppFU2am$B@!prN3_e20B_|n?C}w% zfq<=nfdLwq@XAHb`t0oN!2xgW&&J&`Pyrzh;$PE{3xKRuc5|QN;|YM;@E>Ce*^yfG zuh0gmZ*R6n$~RirymON6{QQX0@bFBacjMhRQ|A-cOEy8K4vLzI5h;ANkgr7_fVhfQ z7{RQ!kIM7x-uzETl=>-abMfD!>(^(PfiU#5Ma0J+HTP3rGPe~eaHSrb4bhKmGF(>l z+n4Hi<jGz8gs<$-U%ETk7!CF4ll#IgE+ykXVfde4nSLeGXx0A|xZT`N6>h+(<T<se zA`z2Wwpgj5{XMP}5Jhlqub>)~aZk#n;*jK>{YOUQTM@aT$ga<tBs*IAOltOJz(2i9 z!+ox^T!Okq=Ro`fmXeFG>XbhB{aNqkB)406n3={8`^-YOzL*Y@Lu`wzoSemXtGtQ| z0$Mb-M3$dtRIDi$2;~HJ3|SI=Uci=WcQ~grft3w1ItZuXCiY9g!Nj$a6r#o@A|irR z8i3$`ZU}iC@5~Q?;XLed%U}@)TR+LWcm~i(!ccm8v`xdk3i;m%ng*?#l*S(7Mh_kS zd=RcM5(O0pyn_EI2A^3g?X<bizG#e%R2lPXcf0=#AXO@xA8U$gsuW4iK5ReTnA01) zwE13T_e!@hxvi`7hK{|=`r4?&pYI!2TM2oz!!?@rr1<0LY3kHi@!~$ub_b?yvnnd$ zvlS8@*Yb0LL-M7y%A(BizMl%=doE71$3(9U#qs>wqv@;chGA=U3_%Yl7@_Up+?!-i zFaFVR0o^(W0K^pop>OVQN1f1qMNLEtm3g1+d1n1k=BaGsU~VYHC0*K<M`2<r%KpqH z`aJN?8=pTTxcAy_5x=WX=IDHN7;sRtEf|+p@x`|zP<btOlGLRMh^38<jW2lrK-vkc zbGekPCM5K9bq9e`G6*>mu<XrHlFEPsj3lNUK-VR8l9Ge4iy`QqH?M%djJT<P$q4rT ziXZujBA5J|oSsmUhKSw8Gan1_hSdcYjc_W|nmbtNbsH7^NsrB*a^0PU7@cnLLPlvt zc2IpGAtgYGyFADhp$#?|%Tanli36XT^VbW8-gMjl_ye-OFE(^k1C2!Ex4LY9;(ELu z#9M#+T`f}HI_I#=BIa;Z@tt^iB6i=)qMW5Ni+F4j^-h<!n|sx_bZbhP#8v|7+g&7e zCoWOy38^F!>D#4VsZhOY(0)cDqr<;?!Jb~@Y<3X9CpT6`ar5h!rmIl}1o{BJ9l;%f zOosknc=)qe=%}^NF+ROsS+7FB&O$yAQYnXP(crqdbK*VYy%_!0X2$)uH`Yh4&DQY< z(O39<#<mvUPe(}w3%j`RnN}hqltq24SmdRAehia+dYvhnrWbBfUC0~U_wRvt#8=aX z=-4JUVs|0$Er;@MBe9KwkTNmv)Q=8X0(c}=%YFH?>n%Y`QcP)^;W*Bd>d|p{!4wno zzv^AA3iTxdL{Ze$v-azh#^~`db|6Tv0**u;S?H<9Zvoeh->^?K0@5RE#HVKH*Yv!1 zJ57OsyL|*aas^vkTdvv^i)8ptgYh6JnaAgu>k~?Z2Y@gYVN)ERk}~~}-+OGow6HMp z@?&CRHzb!yz;LWt@4R~JhXBrheH+yN-r=Y~Y@#Q@(na%6tR**Mt@X>M{&5l;W_%e5 zb!sPxGpw;vIk1-C{PDTiEW-uWtNOIAL@vOjo@^FZE``a!sw`yT{K4~vj+%P5*C{Oa zJZtyf8m~D%Jr?}=;X@UDNo_!zbib!?jqkW(Vru(ZW*p6qN~(sG<?_T>w&U{JilZ5i zR9k+*l=EXtjBcr~sUBlW4>imDftnhMO~E^wugZu73UDaBEp0(JXwEDvki$K3mYV0H zResL~<W>kj8va(P!S1Y^3oCad&gW0jRgCpg>qD!Qj5}sdnJP4dB_$?|0ewcPx5$cf zhPP%zhn9%_pRcq(y0{*77P@mF6jW#WlAXUMwr#yUW8+Ze*oHZBVKIM#YbGaLH)*`! zL1C&b|63{2Is?X%@{cF|bY>3Qhdy%HE9S$+ZF}cmFlM8ub9cY@z}ocX1v&qd9rAIR z%sJ4W;2*&v=r1_O8$cH*GuXhXtE%d^Qx4YQx<DV7^Yrwr3dmcns{&b4!SSY@Uw^t- zP%Z4`P?EST2w++i08p48nkJLwq0=r7SOF{X&JxbL!5^lWCM<M%*|<NH1!S3n&FRFb zsMB@B?iea0Q%=Xe?FKUBBE;DLp1`X6eMiUk$vl)@^Fi;iF>wtmYu@<0<g{Y7nlk^< z8n*L82ahsRwH7BW|JvEOPvd6KtE?L808xo7jX#9-E4t-045G;#teQ6DOAS6Y(j;FD zyFG%#_H$*1%u6C`KB>%)q>@mFsy>NL+V*v!v72`KVIY*Q5G(r(Uh5Fn?tSxXpt`x* zhRv*buX;m^z)ous6Y!i1E$)&>IR^Ukef^WT-O`Qiv^<(`r2z>{?IlzKNrAtsZrn!c zxt81&6JvD_2}#Fxy}r#wdGzceX|PLC(bE}_%x-4Xy)h7Ctc9jYL5_Y++(0t$IO0oH z0WHikp*q*28MJg8Xx2No2~su|28JBMKFML^zV@Nn{M%H9&5oX^rtyX<KkXXcb3z`0 zjfW0i$G>q4>;8N{eBu)HPoN-!L2~RLZ3ZPJPRXYl0$pvcgDKw2ChH#+##@!X7oGqN z#PAmhva`oVL_}o$g$jw#5MWy;ESiGx(CrC?@Py$7);TR_T96}AJ=N9KwK|7KlL$3I zE`cGV-~qzD&Ckyt_#_1KnGeD~{4j9c<>gIOeaiP54*$)RL1`r=rK$ly@0XB(C~zSA zkLm0w&n|ECeUY)HMc?-pe7vKgN*4a4V~!mjqkN_~xT}7DDAp&>Cr=o@TXNG(6PL+p z4_CWPj*YC$oTE}6kN)Gct2bTLSPNBkooL|TvuB<?*pd;%RpKna{VuseG-afdg=<3w zV`XA?rA^|ENX5V@w;i8TzKWHmxqhp3Kf14$n-EpB#Ih~V+VjbD1;(bws@D?}vfKpr z+AV_EzTdxm@x5Im)vd?OwB6iaT4L(XG3N2hB=3|jL^ZZcYBx@~9in!{zm4+<P$bs> zY)EvXcE@{r`l@9}!yxHe6U81c#U%-5UQW1@N@fTp?GDj$!l;#6N<(w-wP>me`Fxt} z@z_%({Q7HYot^V92pKdq7I|=zq#E!Ju+hRfv40(PRX93vx38a%oRf3g{bXVLxg(TQ zF7uNkDo;g_yuM`d=*)pv%kJ`w=LzV$s_LkBgQ`yeV*CKy4uGPJff@>Vu1LX2eabj* zp9Blnq`<(y70<1flR-O8kd5j4p4`8Vj%5H8Bm_}3dG!jyl=XcMiGV}BG1rm?=I9)t zVE`+CDWujygk^53qkPJxQoIvve~}sR+&T;m`=BgbNwfSz4PCQNNaPdzP<=iF%-hx1 zKJ5rg=hwGr{baXE+h;#wQF)95gW}jwkKh{TMh^Ck8>%Gm09xI44(B%BVYx|;k6G1p z-g`!xZP_bU@7*RcTPiu|p2bGy*`*R|Xhm0##uAz3r%mD6qi$%#!yPQ|vpr#Nz+g|o zAuc-h`rs6mgv+Das$%fA&b{AHe`~ZdD=E6GUN5+-Omw5V*HJluVR^Cun-9CG%<!<) zBc)I5uU3Fj;X8uJcWnXuI$iT#ww3Mp^&t}0u1{_i^wF9MCYN5rCkhnDvkdxM>43v4 zsyI-dxMQUwab~{X9cwy~LO??^XWdfM1<ALHFJF=)j|&+Y8PX*|>e(28d;hlQhJnnY zsHaB_#7TOt4%1_ZOvtSFJ)RFmabEcrAbPhIp|K#@en>_wlF9)L{C?<3Znh%vTMSQA z-KSQGY;GY$VuZl>$1EswqV!8~GVw;V#KgPPT%Qd8dpM0(J^xVg?~htvl@WX`MZ?{= zt!AN4S!QwgHb48}7w`7to!~rLi)3E^k|ZW^v1%q8g+${bk>+pBC>M8i1LZMV2+V8j zvR`<Fu`OAWu@v>!GI7j@ovdRJX231TV|Op0FZ0yNlEXKo!05qY(<G*nXJ88HGbvH# z9c_c;Ys=JK?9C;u4}R0OvLqi}8|!$>OWm(Vs7RZM4~BG|f5Yw6eH!)bn&d3q?NCBS zzmbk;<}jQRY8Oof%SqD{%uXCo*gmxL66zst2qIUa)0)J!>WXg1(za7j=|~};hn*1c zl#;V@>~t<S%+c$ig21Zixt^YH2NzCg5C}q~_bnnr8X><InWO-zfK)srgk@Ohh;nIZ z3DILB^X$RaY>Hl!C#Tz%PDMpUPhZ~xa1dzmFeE7$5SbK`S^>q66kdn~qO1TN4Opaq zAfg2tPAXVy&e*!8P;=h>-x)JLjfglUq%#K;^$lfIYk|q<G|ISC^1f1=?^4NEVn;jV z6-(>lH!X$Nt*uhBv6(aIXs#=Bta*tLWe=_ph*3KAR;CkJzG2gNq2Gz)LSbby$745s z*L&QUNxq4#;Aj1HzOl3D4A0?H&q`)Ad|D2|8+Y>12*^`&JmWZVnK-0G1#bA#;)qmv zR`~m&@-prC^#!;l2YGcDqUK(E6B4%2CM{87`T3A9SN#xK03d+2_-~THIMYu09wWlP zx7)NZbu#^d5>fWD^j)C2=}bzpgD&bwS?Y(8jtz|mJCDkqwH_9Td!ZQ)%DdcY|M2nS zEW;M3c$g`=JunizK@I?y$5Pqq;=%%4@6RiJfU`=9CB3Z1%kxC>li&x)U?9_-#7&t5 zuWd;ftGG&Q%q7zxj~SRmWiN}NuLj-VtEWPTYB^6o_94p-gc&IvMJfgZQXOPmo<RS2 z47Ch4F39Z<q*r+bg}TEDZ88o66adB<fWX+|fdoLW=A?jp5fqe(84{t-b#;}brKJn! z6#oA>E3R0PkWSEL`7$<{?T4&s=qs;-rU(cbr>F@U_)Ns2dr%Tex~C?zl-G?>$YA&# z*{3l$hbuYYD+f&_r#czu`a0>xPniyi$U@7PWX<yNkPTiyNCz(n%L@!M!b@1NRu@{6 zccn7d!M~PfK`{O>2~*Ifm1g|(*G^o45%1v2=^yS^&)=3YlzzXYFF1}S(SqNe9!}zJ zU2qc}C*D%!#;_o-Rthmokw)|LK;_)@tV$M!o#J13UuYkqsn<XKW|Tqtx;Nx5#<@hR zEs?FAdDRXn13qCND>?COt5M+3yK!<&WVq&-OUWTp7)9cD2{EoG-a7s)Hpd<ETPRXo zd5j5roV_%sz%p`j?=m0RVnJ&ST&gPr2!kA)pxyqKaUEDdLa<gJIS@{Z4W;o-f?Pi& z!sTFfEGxvZBMcvd7WjGD^{1_;8*GV@2!k;aG={;oH+fmNVH+@nR4-r<_5+s`bP(jw z4Ir#mD24k_^x~6~BS4}6S+1a9d=G#FY+>a9^Z_a*!dn|3S3`ojrK9=rG%_3rWwd4f zS1d;_!a`8lWIcgdmPA~Y6+Bi~@%O>roxS{TeJaYN#FTBKSF4)1`^Q`(yy5R^h&IZ{ zht)TzgkL+Y4GDdd@Fjgvg+eREm@lE2^6frte>+1l!S|~4aJqHJ*W2<nKlk#K*IoEn zo}>m`251H!?$l2uR?1A@`MyNrvTP(IkL#g)8&8dn-pyK9SG>7mWe#0AZ~dTRI*bWZ z|F#%@Tv2|JtRgKlVP;Axd8lnXhEB!<Ya5QYGDe~PDJe<2VFhK=i-w6~gROnfi*ni? z{Kk?J8!OtdsbG67THAY4jgH{eRppuET)S4}H$>yEGn@@Gq!x?$p^|x`5l*exFJMj> z@`_qv`Q|VMbLEvYSyxWUJ#uc$3BWm54S1Fk)%Xi@-26d(!Sinhws!~!fM#m(_$VnT zGy;~~woQjG;8Je~peIc7o{5>+ShfPmhO1ZQ0qhBvu6{IZb1<)+1uSlV_@P(2=~Ch- z!#;ZBP08K6_uqFANQE<49+;7ET0Z1tptX#mvLcL@mi#P>uYxMJHX?9SXZzJr&G7l< z6HUHVo_{-Mo}YYvo91qKyXJcTo&L8qd%N}P>)UlJnUS)xvSE!PCOvqb2P=rS8hlQ^ zt~!rGiI(+Rr<)|&RIkRZ{2!`nie2*um=BU!wQH0$G-O~W3jGTFBz<fZ>dp1=@NlMx zuRtwbohYUN5$Xbvp-F(d=TO+h5FV_97aRuqz_%({(jP|~VHf-uDGtxPC_p~A?ACHd z1vr;6%o&WSZhL=v8&B6@OTZJ=8A)<gRF34w!*P8XX#wiOqN0avb$<vzWdBKZ%OIOu zyWW{uA_OY~?i>)vX;IRD)uL_4jpW|mY-7DCi$T?bmYq^6Fvg<yD#$^|;pMg2MqN(x zZd?72_&vX0M<i<6y$mhtJ@|LnmHFwIQYFKx!+a!RoQI!aZ-aWStJ9^T_HB!FfP)a{ zJZb%zm%)>vpwK8$boRF`11}fJv62HmU4F_XC86r|Fmtv3XP^Em;q_(!io}4aV1zg~ zZ4HV9H<8<u0o6;C1cHRsb=QOq+duf~#uSWOx6Y++d4AJ*r1OeL1&?BQzuF~AL;W=W zfuTVpdUk|(W@g!@z^xNEk-6bw&{@{%usvX5`9X#8t=;tgp>p*>JF_7+2OE|f%MJy% z;?0)WV(G`GUrk;&uHXojV<?dOY8fRA$p>ZTwlsVaA~;tF;{D3Hn1qSu?D;i*phSWb zwueqY=2CHr;d^oKp&S9!6cbZZYBxQlF=#n${%jj?^whho17B1!@)fAq0Q7=$q^%(C zo1|CDc>n$lm=)%lePFYVq=W+f7*$Foub|)_C+C}}D6HnwH5PigdkhTda`DRQ+-rq7 zG_fnMbn(#U(TZNMAZ->S<Kq6wRJ{vJtl%C7olK0i3kkm%Uh=Dti`VD~$t*eZ>hCoF zL>ncWe)1l5%c=ZzF=Hw(XHx6yXcCUELa9k{`@#Eb>QoJiM70&0^i|>Sg9Y)U2&6(@ z9wcuCmmV09XU!Uu{uaV5wB(y_EK$BjCqzf~lZ()7%45`J`;j_cngyfq#lQ>RcZ5`w zBh4+X+l=&bT;x$J0ZT8P7Czj;d`^H_{`*`k>1v-xAQUI}t0AL)DcxNKR!>S1!Bj2L z_bZ>rRBWru>YPZ<p9#thzCF|0J{r@yjY|Hy6%|{MpAOX^Vb0IQHIzQ>hhsGmG?B&Z zlY<{$<D&*m3_g!mycE4*??!r>x090_ei49j!;_*A3&(XGi;&sVbxpD88y~Zp;)eB} zeXfY?6-Q$ckA_z429N!_r(cb^M)L{?(NhFS5X@;f!YN^L{T1wkSaXW?TQ0rk>?F^8 z<bmiJAnFfS!&b|cFT$jO_6$+EKs*x?Tz8in1n?WyAg_eSHzEQPWGh;b$N=kZzhf{! z5CO8cVvFyEJ5Yoj8fL+}12iStgGX%gJvYR{KpIO5kSJ?Twbf)yax%H_#epjPFUUUF z@?0I*oFQ{ez1#LvF!~?TR4jpLCs`#F5Wxe3xbrQuDx@fCeLm2{3!b=7JNDG_Op~WU z;mH?Hnh%SUEP57No!;w$KX3Be$81v)NU#kglQreY<gQ`>z2!OHmp`U0^C(tIR{5jq z4nCWQpM&FL8-B^_UhfRy57GTb#w;Hpv+&sFvrCk*w(+ftX9S6K+)UBd93^JauUK!s zyY8ONU{w92;yPdI`lgI;`mCHlL}Z859A)Bs){wW3W9U=q5i+K^Ml}CS<*=^?c!eY4 zsek4l6K$#7W%!-l(kr=qc_BwGKs*^X-?-nJHnsQD>d%8mZ1jrB5pVwf8D;EM%PMCq z5)Z`@+!>Kcx^w5&)>K=a>0<|95!zet^9g*pqKGNZBxoaIR(e?6R!j&4(tfPR(#t6( zbA^L+x11ZVwYXrMLQ#+$^Y_2@3J%uODfW@yO=S_~83C6JcP<7@<*^32pMFi2ws_L9 z3{M;mT8vg@E1Hg3TvFcH6LXGoI=pl}bvb!?BQTp*alj&rmi{`=k)ezsrSjD4M48E1 zjWISfl>JONyQR$lPcEK=6ida8ni?zypa+0ugCfHnB%%-~Hym(wKrQeZT8)p03_<`H z1xfvL(2H!$)ZGD_0oa~lpa(TVU@&4@(o-=2{H{6(wyuMkEhWx|@zsJui$mXDz29P< zqoCoF{SRUBhTC^3PkVVvC)c&BRQbKzZrJmGlxaFrrFdi_t9HLpI_nJ*7Lu=;n_2Jx zmLLnfEEvUcnF*_ITGUr8nw_Y|L^e&#-5-x!x~+;H75_1|a=Jqix_0+PWP4FEX9%{t zi*O^CO1|1cg7=%Hit`UT+HRW;lMO#>aDT9k7+b$k>&zZ5bxf-B<-Uo<U3GZ>ll`SX zr9qAlLuqHDbog_}11wYbkrP4PYr3`7e|bE;yy&bLpYCaBAJGb!ct#Bh@8dG<4QHDU zugQv2k8{0u7yQ%pM2?sAxRkwBkG?`&?DQq2^Y$!-e{sXn&iUR_QBko?bImmdxv%v7 zZyYMGCx_6>{n5}!5c1+d)E|{f6l_C1tu<}}Vp>M7vhB?MQ$(-pqNCAbN%tO>_j5el zwHb1c3c;b0&wcuFs>0(j#ksFh6!D{T>_($Nb=vUkg02z{HB|FKxoV|AhL%|NbK!Uw z{$v!nv8g+lSu$C%Sk%RJv&|3XJ}Zz@nULno{$VDkZbEIzG}8*Az((>TK`j&$VcfIi zSPsAzal6w;oRq;X7-(hWdcSn5f(GRc{i@eHS6(iz^vQLQsz=xF+w1C5P3n2E!pz|D zXTEK{v}FjI&N_e&YZoF|NWpdjVXL%U9+vj@^rVA3Jvh_vAGKV4gaQN6sb9gRL>}w{ zP9USTi+fV19lnA<Uj^%zx9{FnM_9$@Rj^@<IE%idoGS4`n?8*7J*%H*f3oEsGsU<} zaMi`2m{lT0S6=|di+lH*1TLaefHMoqeAMgc8~{}<vcUvOUhldIt43NjwwO0`G8GW6 zNxYBb7RttVfO4B|40PJVh=yf&xZC!N@t5h<nYzcZBA3T1B!$51+6AFx^3045+)<{L zA3%hm=dtu|yQ!4M_m~zIpVcp8JvGw-Mr+);291B$ynS3;T<cW1aV+`TAHd6iKZ}3_ zdwY8@Jau$**e|`)sF~VEU}dBchxU2E^zlalHw2zFFE3Gz?(VI*1>5Nl{4NhRe^$4f za{>Lfo#t}qrh@^dSvIwCW%zJSc~9L9vRfZ>(kGo)xUxIfy|2=VB|Nx$us1X?f0WEg z2ju&Itf!(Jr?P$%mBRhl$J^)L`tg=$;X!m!HSy@;g0+syXvXv#hw#CQiYKOb2p;h( zxeX*f+jDRm6%wSrIxbJxZC{pB!^FCAPJ43HNWD)UkwfYBF?4Zsf5DpIQC60l$;Y~- zqsqMe@SkP!j49WNk}|lz_-z?|8D(aNpm22C+Ie(D-g8Q|cJL6xohv%oo;0?A;EA*C z7LctF8XqhN*eQ5zJ4|@S8jJ<LsbL1ZdQinnzDwhYXP-pRvVt`-^0?)@<q{%HlO;&2 zpA9y7Egf`2J)jvqIv@Qw_7-t6y)dV|qB4CSS2TA)7lXR-MaIjU)9r@xBU2e-)#!<< z^na7+g}K`lq>r;uD_qD?Z>&YTTDBWD|MPUH)0qJ;1r?|B&!0d4wtteBmv@&CQz}GM z;G+gWK0)Z%5seFri!GC$pz8xo7j!{Jk3M8>QJzm|+i?PG4{k^BYfOh849JA#K$`cx zI-7F>leaRkDgb#SDfmNxBmyKk(Jkjo>`~N0utA*wp0o^zWxBw}<OC+GT6hmo-C-c_ z?eAZNX26<gl1>Fm<;X@4nreI;mBW<nIm`U0cp$}lX{ATP?mGscouK;g_vlQk+~@{y z{0-oM$hgFyE9>Ye0y`2tC;;@P#1A!FGo>Pv0Le{YP~zYE2iV9xx%?6Hj_sq$SN+6D zgtm#6Y2RCB6kzjyYw`1ggzayu&d^K>QscrpO1yM3ZSS&J=4qzT|8W6eU5l{$;e!Pb z0IqAYZ!`J2fDJ^Ncz+GP1<-Lr=bqEw0Z<BI!$p(T>7H3oum|5!RT8gz9_x&uAG|vO ze;K!ubIRdwz@U^Y3Ec_Z=D(-h)Qr<P)0=;h4MKW4iuo1?FhLh%QXXIwf9x$;{yJU1 zJ4Ds5H9yssUO&{Gx}CgM$ebYmVctEIV?Lo|vgF5!>QYeZ*!V@#_RS@{%7qC7#Sy1@ zng(fIodKNdbav}q0&Z-}R%dMJ-)X#<@<|r;|32Q&cdH@0+ge#ZJlZ+;E?{dvCMJ^5 z$aIDrtCv4yZk*3@!O*$(-lPFnG`jk$_tS&lac;^*eDw=5^vw<WJWhYWLxG%KeZLFt z*?Je_Q<l=5ZhX3xKSv4KV}@~e^V-_%lc*T(T)CgT`sDFX3jq2gL61k!Wzp6d-&|Yv z=}2k*o6*izrkS+ls_Im`Y%M1~LH12MRpm|=1O{_}&&c1w4-$qPVQmK81P6HUMb(o- zLkiXAWA1LKaI>k?e;OAvlgp~x)!x6(&Q37Rb<Fj7cQ~%=p1M)8Tsti<F6vFZ_(OMR zhWG9>T$bdqiXY`)ym&F*0iWtvp$7YVHeGozuK=bZX|!~e1ou6hE3XCZ78;(?9E;jn z+rIvO(4(b7K$nUK&QO29@l34)tZaFa$qRX6&i{RBvEh97^yv_@%iYxE<URnVdsarW zPJm>g1sF3(wDb#C|0unUyDd(*U#cZ}xP3NqFtY#Vk4`*2)-qO1@-V{3sPsIv1P(a_ zgtEasLP$*PILJMTvNNvwtlVNOC+j^0@EqYkz`EUa``2I+r}6)|T&1+SdBzKk!gdN& zg}A^*X<OchjXi=Rp}eFA3eYY(tSS&U8Q43*pD*s?BLpnJ-0vs-@c6kegfk*8Z1;MP z=S@yvP>ejkKptnX*4c0s0Mb;~;%=Gal02}&!A!>+kY1T$FHnENi4Fp|7vRccxThu- zE<j?Z3aIgF>mPge!tIu;ON;JBlWA{Q$TKl9rNfoseX^7|J~^qXtLrm<9bN26$^mIY zC!cXe5`}8()BW<4bW(LXzXEsv#D2YbO262}xiBkFwtrEJeo{1#G7Qhl?LLhh)4Q^I z6%$4IrIQTND>!$(vL>FDF?+=5D%22jCy}+wPDVE_P8K(JOkgVUHq0@b)Pvu044rSg zFg}fr93Z*Z@w9!&xNB+gn49orVbV_SuZ|qaVGQEGNhb7i42P*BZ!9WjY;l6cb>{7r zZw+7s)LCg@60`luUQX+#mt)fR4L`bMR=j;$OZR7~pv$r(uXLfHi`@3M`>{f6<aV=H zx$h;PtCs2D+V=sF5_3AQOTW(9wI%&Yfz`o+nN~ZCvJ&+oo*!Fmf`U^sD;KjuuXGs# zvT1)UEo`28UW>r_(&oC-a0A!A5SQS7G~bKb*`g7x+<<F(Qti3s?nKyx(K!6k(*rx@ z)qJ;FhS{s#v0hj?j;0rQkFS^lo;3rs0Ts9N&)M0W2CXR2(ZYvJ`NZBIC?x<jGJ|Im zSd8T4<Sf1i-cSMVl~<;QgoK1i6Eu-vVDem3Qx>WvGzl;P$-G)UHq4TaHUfPs+y#{H zqWox(a|HMQ6JU&F!&mX&m-H~@&_-DJvRi7=25{dlSFBx~Ui}o3cM=sE%H{<gYqfxx z`2XcmhS*wim~xDuGJp&|3>?_1G>2B5jVihI%bc8?JmC2N$xIeRFGG(tQmWr#Y&$$} zZ{K@AQS!1z^PvtXZw0T;_rbzTCdX~_r_NrL>*h<}qlP(7ut@;SE;B2Hg6~6ndxJ$X z@rgC^mqhkJZnG{V2oW8ymPVkmqae%IH$$&LE!q#yY&VE0<;29=RH!1s-Ab}cNoeBE zCD4mx8=h4D80ZMUqXlf?n;<RUbWgQTfijNz8wq>{b<mqt*9Kk6u&-JQFHG2cs@RFV z);-j<`>>ZJdJpeYai;}$oNNW8Zd1!<IEb*Y7Cy<_$W^hW7jt<-(UaZsMWnnfX)$dW z_x?wHK39$fT-{aS2agLD9e)^K<jqXB9xQe&1w`D`G|`tOvC|mZO$!n-5!gDFk6!XN z){*<roZ7#}CiH-frqi$e(b-e!^Jazd&d%hw3JsiY1Svi^_t%q$6MU5xX}G!1={VoK z(qk_@z0hei;cS*tsQqSOU}TN;u@5IsxfWZ?itP$pAzhvz-B3BGHhE1&ByE^m`u4>g z-Nwy-25GxEL@dPn&Z762+Dvj2%q*>TspN+aUNCO5H-|>BrqQiOs}SYFWQ<7W?RTfj ziw;j#Y@7`+Prl{Tn%<<3zaPywke-k%;Hmm-R6kuI&}@L5mq)G$Q%ppNYjuEYRk2Z9 zBlPiqu5fgg34;Jsfv?z9lNT=(8Q@FEGP|m(-hr|O8@!KIXy=mWz9Mi=fki_o75?^Z zgAN<$?!g@4RFA6vA{7zJW;UJUE;-gAvh$a-)w1+|0`UfKn!7R<CD62gGdBNRuTz_e zvHkT+*5Aj}TT>hM@g#K_39rzxNLvBB$tx@rSoO5#q1c@MvJB8&Mo!M(;QgT_&LB8U zN#M$)s-qLNtUO&$H?8<And=rzc3^om1Q>lce1$&EU99M5Tg=b>1fb4t)j!pEdIAE1 z+TVe<5o$W%MbNiH9xG;7EX^~}38EmABO=&P>F4D--w9>n*WG76YfztlcAuKjsdg~| zRL|kppB+na3SjA6jpFGwZ#~v~OYCIfV&}>Gx7wWd*MjtPn%w)VgLvsQ%HJ2kr9TWr zTGOor9OsL5-<UA3Ej~I~qHT1ZB|u)KrLON;=S1hwd$jy!dsrabCHpvmbeYC&+_{wU zcTn)VqA#0fJD+2s8jH2zC>cc4noXHp+akxB(7dMPA}hOrjqU-fD1n6q_s<0pE!#8Q zYM~zlSWS(ZzOQ`exRfw<q<PwhtIEf9{sHZ8dT5LxyPI}uk~gSpHTpKnI%XXlycc%M zcu6JWiMY6<So2vYI;<=1RA%k*B8}lr-@&S4(=PhYRb$Si1$%DwibtOvx-(49oi*ue zzvu0$V|bFgsHH4Ut?ZZ6^1T01X<BX0L;S8g?uR1mZ&x7nG;)1+-qbqx`TYw?9Ci_d zR)69nu40#mTl$Z7qi>0GG5)czDUZ6Ks;|;P5x?)1?{{ulRUZK*YIk=R1tQuH@{Vv~ zvp;<L<U4v8ES@3z+$%G313~}aY3TKW9RO#_V5;BcN%v;>1&AOr^76u7^}k1ksyE;b z1Y9!2{tWkN6z-RsB7$$j+DB$~pE)`{f(}$*?cLkA2MHZl&I=A-DgH`u&Q)6_KG_M@ zPn}X@;T^8^uL(-<;58(&yYDNPeHkhusX8)c#Me_bUS}P_ZaQ<(RO>GPj8J#I_98;A z+;Lxk&RpQh2eOh<50+hpf`e!gd7YY<ID2YqIy{{uoLiTlRA@+=xY51jsc)TJl;7vo zPiQ&t^!SnyaC32SM0?}yjcfGoR?1Zz1>-sosNc4-2W^LGh=!zl*N#(~DBb_19Vtxt zTlL34+8u)9uI0skIRE?md?bcdjChkZ&&IDzk!kIc|3Y2w)(r<1&w@dR&rAfXbNhvx zdH#AY^2+FyGYY)plX^Bh_K^>zkgr8HKKNn(n@P6>d!;dq*WxltXSVx7>gusSK5sXy zlf0b2XvPS*E6M&{H}<7^)P}rF&D2Qt5`lmXYV`0-$W>u%=ECC`O1}8Oz-vfrZe(PX z1gIQra{Qp;z)G4lYXs@AVqXp|@8e^kkE|a;bK?jGk6=b41`D&#^(W<xAZ$ZH)}?QL zO|}5cO3eCl+^89bZFrgoz}<=zHg7-{KxiF^sv8!7uSM_L%P%^fdJ6;R2L%J|n)P%| zH0;4Y!3-M@11vD^ak+3Wz(|A``XOYv1&14%czW>+JlM>_&3i$=EArhvRS^i3T3~Df zI6HDzf}&H}76olSv6a}&Xs=)5c%j<np|8bb?LnuN&E6b834!>aaz?6>by-xt9voF> zeZDW{)0$$I%bK>H?kGQm?r7WT=*@L4knmOx3Wn-!Q4ZM*(A~%L>N9?K{dftlVc@>E z#ax@M6B#p=aqa3Ge3K*l>cG$P41NPt&~e~A^o#8p)irNTWnkx?=lIgmWfZr;bxK}- zV^%g-MM5sYWX6-lg+U;T+r6OXeQDFLo-+%f?)aa^Trmevi|;-q(9m(X0sIMX@9AQ! zhpdaEN$y;JtntJ-ny)|7%Bs=-WFeP%k@wH4j1|r0f%A8XR4o3^Rt&3$-+KsCC)02* z53R?s9R3+Iv$1upA3~KUu;|lx{v0e-Y5Dm0_F7vS8&kWwq;=Rd)NqU$!eIF^Bp-mS zU~xRX9cRPYAzX>p`7Y)&uTjIi!@2%&fbve1Ul+0*1w6gNYLX3b)0YT#N=)(>nq;cS zWV&SrsKk*sfW-=lfB@<>=?z0W?*5hM8DQssK#lna%=Q+5#?WETRe>zx|AL3!WfyE% zL;!~eP~L!pG#}Fsn$@)Dk8pP2KG}mWYVKKZ^7uDxC&TthHAitiD^}PD_>`$`zdT@M z06L1gx;p$|ZEfwTM@sIQ=pVHOhX-?uAO;7}<0j~=5En(Q_jJ{ia12C8`mvhI@94^y z?sTqCYYKSL6j~m|6GUY+@xG?izvmz(K>R&SOu+lo=uV&5OhuZb1Z#uh(gs(eO5ssl z+~#kMgws(oBR0><(fUP435Z8}I@edv_qwQHR!P29&dct>k4s5{K%9pKs7?PieR;Y& zWx_Mw3*|VvQpG651Sv2aW=|edV!fYmVj)lYKBMg-ezrf=vO#q~d{d~@E9Uz8Uq`<- zL537;=f?sTT$*J!1(R^AGlW0I6}1;W9x*SQ*KjU6I!W5PopIRwHfGmm>ff&Z2wCxy z#|_fzjJCOm(Lq(p74v$UFZtoc5%d1aH{S1@btB!r*azmRg|dRCA!u60UKrGSZ7-_9 zOvTqQ+|0;&oQ!HJKAr=PV(islUXfmx14Vuvf|7y<zAYk-&)^Y{eZVI&gLBc4y&5PB z==yQETzv3azD)50F$Zpqi}xE2J^wVve?HcC5dyC%^}-jsfF(S#ns^9<K444;TLO_T zjXpkhizereDAxW0qfj7_@S&pve(gH|X4CAw5ZV_Y6iDTO1=)w=V|QeK1{yLl3ju5d zq`KGt2xt^w)`!(F`!tqX2&qb7>oI(EN)3Kp(8U^qWh&BXvhs&1$jKRkU{i3n;|{`^ z1g{Bz62OiYG0Exb>XJRYq#4WaS~LNlC&cm^=?Y-pG6fI-=mfy19{xL+(iy;Xo=I== z^TV;SUC8WI_+Vt@RPApR7S|0^l}%!2L$ZVdnOq-j?s4|eonA5eCP~GL*Bg4_inUCU zjlOcE#ix~wY-Fy!hs(lPE%~=oNT^H}zg{nz`t^wIR04uy?~s_qzn%eg56wrZY2RK_ z*5V^#F1B1obZts1MqyE%Y2l8ge>sM&r5~C%s2p8O4G15cFfgL0u6)M}vB&#JE<T~A zCdWX(j=|&^SP_F#_L$J9<bhLqyX?<YxBE4pDY=xg%dJT+Pb2ck7dD(b80k4SMr87v zR_@hYu0B(<nTz>b;;$TbcjuL+vE?1XSFfj=%C5rXZzK=N7IWiFe#>xnKTsJEQDJ>7 z78c=k;Q@}=02xZrqs@DPPxx{Mn$v*8az3S-<!0zot;vG^^tYJ+3cQ(0{5iAjjDGXj z)xg3yoNDanDdhQ=HZmCKPc52CV*5Ku?qi6L-wtg*_7(=n3M4M=w}v6OL}_ei{4}3$ zCC5nrx=S{-_m-U%(~rf$4znrySA1b|)irA-`)3{5r~WAsP1xg!yz@?eUb>F810C7Z zvOQIIQcNT3YomNkmyc#0ys_UUQI_-^^6%N_WW=A&7M5*YCZ9*>{<$$j|N4TIo9G5c z)_fvi9}!(c6pkz7m+rBDI+QkNl<Jt&IHwply-ABWMa)H(f4TnM-VZuFr1U<s`P;mQ z=?7<W&3@m<FIce(vk_bwNtDqd}e&cgNqNLoJ6q1niA?a&E3v&p_t=3Yw6Pt}ZyR zz-|m~H+)E}@YydJEV<#bdQnJJ`D4Z?`G<9vWi<f?ntcP1WQAU;8OGiNXDIOE!UhM% zUK9Ro*NaRj$eBsPUsz6ON@Qj++?Sg@`+95dVg&BA!xhgu1pi7(e?h~KGw!%w>GhS} zqMMU1c9zC}Wd2@xH|Yvz$UW`>JvZ!v2J{4SNp?9jF6@>fnVL?+vQESIL<8MFqB40i zR+P-7dJdj4^6}0MY?szY&?+SE%{O{%z<2x4#pQF#;LO&(%7;|NqfbH~p7;t{2zlL0 z`+rP*bySqm_O?Mv3P^XObSd2pA|l=0AV^6nA>Ar15`xm50@5H|0#ec~(hc99dw+MW zZ!Pc-9EO=Q?|aVP&wj#Ud=v*9iZg3#pNvF4%^S@e-2h5I7}a~Ed}Y2Do`riaI65Ua z{~-V--Q~)DeogY7gLi0Yh=QzLBL|FmsrA2;?S7y5*Y9o6E{}^Oftw}Zl=vVLo9Ic3 zP!Yzk@b|bgB69r3QH3?<rFG%r6;4kne+e$mWM#-$So}((teVK$t0p#3OO59uVeK~d z&enF9(#@5d@?WOrhtKs}enUwg0$`D-(OQ%9Cbnd7k>UXR8AC@#-_iA-sgdDkNBkdr z!7GA44qri<k4OcD@R1~9WzhcnlmGk+eawFz_n&{^Zy_G~-!Eyz_-GKZed&8`e4)ji zmjYZTo_-IM+2O|j|Fb`#0P6J$sFR4^{(rw3@bA^nzCL<3HWehv|Ni*2C(L9Jo;&&< zJT~Hge-*K06~S9e`<h3uBf`UL&sI~D#r#E~+;QC)2}YzQgD~;VOF)niKE{B4A`<IC zse^#=fzS{K$MpW?!5{)-Ew89Z1|kieY~-m#ukQpyqQ0b!4GYNHW0VWNeWQV+7bYL| zGS9E}x~O=-2+n<bQo_$q6x8g?@DnS5QK7<eZo_)~a@wJWMgebV=3SG+bak8?0^6E# z?xH|2Ji%*49ZYFuWRSzNIA5(QBamgV<>=|}w*bk+V%PsId>XeJ4B3OS5n5LmIvaW} zAcHlF1T0~qfjdclzU=C2$R6kh2pUl_49iii04ow!D+-?f6<ER?w4hQMS4`D{@ZxJp z$xTZyg$-c72%RRJH{F%saef~=1hG&lxiY!_AX!ETsbEZkz@edT-54(*LcA|P+AIKb z76x52Q)Cx{aRk-#>*YAPQ*e@t$YKT%ITa-Q@B8|c;pMe}mZm$JLa04P?!O<|6AQ%c z8I+Al${QL&>BYS7VP;0BW#r2TU9`Em`7MOf8iagzet-=W2n$#M9sh%HDSFSZ$4ZET zMJg>JaU06pYaHFb@-P>YP$T$1H?><yFo4UJi?KwQzCk)Re8xbPezi7$a4@^|2j09n ztmc2rtN;NlciYmuhLO0-R#6S*V@j|OH{Dz8U=GJiK1LkE0MR4-0+XRtDkb#C`0oYX z8WxJUoS$yKWU_({iYZNQv{L>#R&0Fyegf;7s~`!tIU4Zm&~JfjFfs-q!hLH9jE><* zME$WjUI1{G8N346!2$hOfrEIm!b)}dLwtNIn8aDz+6w-)QdU)Uii-s95HMxh5Ny1? zrT_2xZ&mfoie1^|8&s{E0iSlnRSVq(NQhv=L@-~0C20X!6XLJjjzB>J7=bLHV=1}L zAP*P@5>ofp^~J8-C@(1)nW_LK0|Ub?@O28M3i-d=2JzPXbl|#^0~iAqSOD=>U_E8? zM!A503`SBiU^t5459SaEv9O@OLD;aXj7ED=_}#n!I_RBB>$d-Yi&!8+7$hQ$JrMT> zV6*VlsJtiPlw@SRk4nBvN=QiLti1xF2}~+z$7lS}pgIAXCxSfPK}7T4-N45wOZ~9~ zu5J+k>i@dwVsO!rhy`5eZ^3;6(H;ny+H-aFjp-UE^J~OxQaSC({k+j0C%*$S81lh^ z@&)iYa17b0tQLV;4}!gbaH9h#Ered7FNIIZhb7?U$AgP25RBbNL%J19k6thy-nL*p zJkib(m22~&{?WH1{*x;jC2oaidUDyWsWN|>5A{{3|2~YF?8XKZ`Hl>h&z3TY@8tUi zHA<LzSr{w3q-iv#{+7k5a^zqsbMIr!e$w*a9n;zY{R{*%ZQXHnfXv5jz^8@C5Ltyv z-EmlF2CM>fpbdxtBg3Vx7MZf@>cAc3fQPa~R{@$qql1K)Sp%V36uK-s0eGKr8D zw!yb?s=^8ffKzxARm6ApUp_CM*aE>i19*u6yF+~wBbyJSz~tA1B8$0SuUV&SB2^et z{~-x~{hc{!-GBAA)}Gy~YNO+Gbs)*O34y?#K#`-7RFo+H+$H6a5mDCT&Ap4e=E{`f zbB#ooInxfmwfgJr=IHe|WIr-UmP_X~tI|80cm48LKD*ne{XKkK2xFL+ljJaRV<Ol@ zM2MEkd6sbC4h=_Uii5l$e!0k91t%e%45`r}pATRE;ysIGF53|gk3Oj6b(&++H8gBG zEkkQPskEDTdJBk;bOC!9Ir$H<u&`j>8fuKzilegMYT_eG1$Q49%PvG_XtgbH3VHlB zhrR}83@|a~PsK{;33{3*<QkI)AL&1@Mi_=b`2ciDU>>J`pb-1zWp}n)f3yE{f}<ka z6gB=S1AB{jfKp7`H{)vF3A~{f|2$jA#)H1*V?NWuZ~vOKo-vythFKeiF>MrTI9wC% zJ9jceL?CkWKwxdn*iGl#tX^-^hl_Q-Em`t(b^r36;)Yc=$?4u6Q4X?n1-YJcQ`>xz zL%n};hg_?g7i1%EJcvpbd!vNb?Rkb6hkl?mCY0yidK^t5eNw&Hay&(={XMcXcp{*= zQh?@{Yj?E$A<NZJ4avKveq8g4tvsQSiNExo#`jwmInX{9NgQZWvyi6bXR3<gOn2AB zv4x3k@~;hMNGU3kKFz~V=y6rVv64ZrgCiY>y0=`u6M2Dk`QS_&WR7tA12PG%EhlM= z!IxjgoNzJ#SMYOLS={EPEx-=aKmy(v%52lQA0z(chmhUeYFLNrGkt$tt?)R%K=K?b zVy;y4r!T&eU`u5SNiP^u*?IW&tT?fM@sOpWY*<$t=p`XOx|l1iLz0UROxh-9RUo9- z$ud_*m$^B6HzV}UM7jLt>of-6DYKtHn_B^f%_z$QxoZ4$9l0MApIw~znilId(_=60 zO8nXd1&lUXLQ_gaRa5i;MZ^AXj*q6p^htzrH%1Ks?&0g6^&#Z!4lm8^1j55VXZGB= zPdIY<`-7WpIi+h`R7%|m=X{-(u#-8>F}uc&aMqs>O2x;>tBm93HxQ4j2mF5VZnNl) zcs!Q8B~dxsgN~2U=HYAI__2hp_>))nn^ZXN7qg3VDXp9B5LXm2SL@Tu$YK=K))Zyg zbljbM*X+}2#_)edPS7s>l9A6IGAK}CKU{PbRJ9RMh=2Kn99A0UafpTqstjOI)@*ui z=g)MoQO)(0HyXvgw={15ffOH)#hj--t*%Dh`7QfGfM3wP`g!d{Z|9L6@zuU{@vesm zPLvOEUJpstg;Rfco~Z@RoFYd&>jI0%(#a{yjXC}YjGDODZLcen$8b6h+Y~SPRI(i{ zXr}+(5F5R|8?F%3kageb3sIwvoSDwua+w&K%p)dy6OE3XbxyC;TbvguLo9firRNdC zYlUeCH1mC_!8|Q8A%1r^L~MnVDH^DIi)xI*Umh{??%q~TpQhPJIguJ>VYZ}um!r+A z!LYrzz+s@c#8jd79K~$sf;ztj@8+*gkYZxCm*VgpM|v4as?p0oN*KZDzZ&AqMTp6n z%g%_oIoe}+P^$c>K9x`*8PVj9d1C5Jb<2v(`<gOu5U}d7@Y<)d{BLos;WS6|u^>?e zM@@Tvy@(*a(Mo*A<&@k^=6ftGETF$BeSKgFBfz@4x*~4EgX;bz9IDGt@1F5p4aCso z6_Lo?KJ(^3;9F<-y{c!OU}M=<FKej3cgGI9aN+3D9Q9)wL9_RMZblCY9nCKCra7nj zJ#9tkqc<c6D5L~Ve@|@tdZA+>%eY>4NxN2O+o^rc<kY3cd}IHNwx`EKgMFrRb^0cx zQT?HT(Ir-<7ZsVmSfE3Oy$lz#=VnTGov(Jm?xaeIdbfO}nUexT26laHWWB9s!-!2G zPHf_*(+J_+L$ZTMn*HfvS??xGJ=y2`GGrWU4E0~`P<3y3VaJc1pXUr+9(`@O6-9PJ zP3F43M6te<-u-SBRV$t~yFzbhij6oygxB#rvi^omg6rq{61g@H`DyRrX)hl^1c`S| zb$?g>?GF+E;{qg1sLtjWS=-{;kzvF?moy$6J^giq#YQYnW!LeGhf2ZUHHGZ>6z#>Y z`}rQ(!ELzr0!fk1`uH>MBQ_MMh+1j9kGB{8v;+d-0P%6q>yK6@Fs_8)zfy>oS5^is z!afwDvG3oH(bmPBr`qt&>0UA3oDAQXL~GO;$3{$QBP#?@{a*XX`gWLkI4>ix-JGtV zNw;@WtMgw*!CbCY>L)cK4E6j3!(G)}pE<%yiz9Pa1v(RJ(Q*m7h7fkzY9oHVzbQS{ zEL5Xs8O@Sd-*_D#W}X+!^4ha@>b-~{w13*o&=?>ff+APrx`?`BvYQlO`fF*<aNw7> z)qSy2w)C6V=;7nH#7l6TKASFRN;-<2tyOhQ6&z`;X__bZzB^o<N>)l5CGIp<X)&Vu z{K}p5Zo?(_MOC=cQyC}D_z$UaseP>2e>u$8s@cB3>@xR?CT^2SxC!OSbQ39jc6HSM zWy&q;*6AbLI4m#a4R&RR_*epx7g$CL59Y2cm<jQJ@hiZt(!YEAZT>lahEks_Ci>IJ zZ|Gl}Zb5vH4}%7;<L?Lt4vO?y7v?aWp~{*haSe*!_p3PRJ3=>0<oGkDu0;_Y6{0v5 zf5qeoJpQD9OMsnevw7v`i~f2BL>_jZnCmbK2qZ(k3HTAogJF@L9CxwJrN@=`rSmG4 z^Ox>JD)Nw?NuNMg3a_hY@kl8s$;q<z)t*h-l^MPB-y^3I#4^oX4v%OZLu*D>H$}T< z;@aaV)b7$$&+sJ_sk_2jGivLH@boJv=Lasc_jI4Hx);!>hUTU)ZdyKg`EO-~n8!@v z!j0o0k&_&iS?*E-K5fsFHw;3b3dvAExpnE<`e3RTe-F(Q)0S7$pjh+hU)rbf9oq7H zErn{E|FhVw01f3biA@tz7QgOnr>Fa;2`qM@9&bn^vfXL_`>yVd-xcHAiRMqvZ|9Jr zja1eIiM!qX_1*RRg(CXnv(nW(Gx^Xn3Dpbpgxjw)@8$9msRV!FwVw=TctkQ~+FIc& zmM`X6s2Y|dcAz5uzs0<TXv%VP83E){O>*^r{My0ZKJu`Xy_Xw6T0j}HnAeZIV4Wu$ zJUGB=yUVmp+LyfP_XR_Zk0*w+0{0bahbeD&T>KuDo%F+v&>UfY&B4zLdp=F2?+fOe z!p|NLFb#hi^YVL=@{X(Lt^J5vvpK56d3B4MnrOH}NG|`$dSS4}SnNAe%q96(e{3`4 zKM$)qn6L%kXh+WP<n7GT>AG1t<n@|xnF#P6dj^bNM<{o;W#TGXe*f88V@M0Nxt1xd zZEYQYa2B)c`pk!%_XNKR^;-^E{FhV2RI?3AUg^n677O`hk>z`+H@l<0Lt={lv=fIV zW~lgZ!%h3(w{fV);+$qEA!g>cu5aV?J@WND{(U|F*PxRNd*U`4#!UIxKDN$$7J3&I z`<bRDP$1j8y3BY<5k|Fem4RRSEkKy_^If3X{~9A9V}=YyKqtogqgLXWf{lmSjEi!! zI8?edJhE~bZ=LN+e*YB7n30mls){!!$NpXyAFy>Tm0HYlm@<=EIcGymjzZ8FnWgpY zkUQRIJ@Xwc-IlqzjHJ^reg>K9^xL{x7d+<66C!dSJB@={<5nHjQC`CDd%_1s-qHLU z4(me3xbgJapuEviwijN*qKsB3S(<HD{!*M(sIi@4@0wQXP|d=3+j}jIijPDrUUcB? zQksu>_QL5J)hnMD?TSEx`A-Mv7|j<2ghvD{g>@SCH6KC1Ny+819-;;>b$p%N{QPhj zwW$G#%hHk&CGd7&i#P!KFrbZDoO!-9h;iL_eeRp~n3Xc&n?+rJOnQP6d7QT*P<->G zw1lYaPv1Bjbn;~O27SGm-S)R2xwt+fN$+%{Z8EqMkJ<hFpvi_b>Vk|}S6$l7hR*hx z4A;Xa&nas64VY0V%Cj<wUFlbuOe;yJj=F^<DaEGzpBRz9x2oHWr)|3Y;{bZQ_21b< z@${Mb3uXg$oTTf+1vo~mI(-urV#Z_3VzO7)3Loj|JA!g44K!ww$Yc1#mb%2g`GlBq zne2X&YpYNHdi`T~SE&4dHwi8lRMlVt6VmoJKOX@;Glxq8p>=)i8-Dmmxu65U5>V^_ zku2`xM_FK(PS-dv@jOa^qZ_ENKS9g>74Q=Q0g~+D(CM9MS4^U)d*K*KWycidzjebR zMsMg9PRqFW<=s3#J2ZXBlB9}Z_Y6Xm;4)N=8kb69zkkg6v*vDD%!c-d$vh8rmHiUT z=iWapvoY}Sx4sAa#$A`;sVGmS&2LE!$^8|N<Aw{cxHh=t!;#8^*ji*2LkNzq&A2}D zJJUyP%-BX#8BxnSWUp0z9Ogv}O2HqJEr}V~tRGdXHV^j9dm!VO{=lz5348H`Kkj2( zaK3F?p>0sd>W_t&E-%-9X_ony3*4U~ka{vX$$jRkT~>Xuk+9dj+iu@J$CCOkz<^EA z^=_=$K4RgT2|g?h*y}x+=vrA+0=)zghmZ7hpBcllT$2`<BmU;ILolf}zS-z|omqgr z22Z^5V}AZcmpXYB6)=iQLpainj64UTY03Bfd!X8&fs{Jff)diwBD0u5X#7G$<nOVC zj;v^4PX~{YsFe0`Li(DZS%!ofb#r#qcyA4t-IARC@WIcomu#<b#!8o31S-j<qLT`V z>CdLk$+2Jw6@2Bh2fwFs=J^P9*7I@11sxp7lg>vK)%f0eIGM05UmlbrpR{9%$Gte^ zHP1?Jpw4C0E_1~7CI2B6$NUegtr~nx-|4<T|E!VbuTCaaEsTd#idYRBj(9)bMMqEV zXxC^v9}y`zIufNyeIGstEQhRsq$F+LooT-Z(ML|q1g&cac&YD41l^zg%B&rrneqHL zy{oKNS~YlitSu1MCWWLZ_ld_sVC3EEi;3)rGLr%MTpJ^Wh>i1Q(f=Wnrvd<~mV?6u zCdyra;Dk)pYz5P!5v+H(djXE=if2&rT;0ec5p*Tix;eIW6{J{rNeovqy#g>PpFJP( z$(|S+YcDTp%2Le`ZSUv+MK-8kdbwMS|0PX70_Q=9hoBb~{REeHdK}*2V!bJ${l)t+ zOpH#t{QR4o{$!jY{ZZ^j>?<*vo;S1KmX4g}LI;BM$0yHD^V+|3{n<>KOd})b;`H8W z(*1cdF}&3_Z}Qanxw=7HUySAR7cUUa7YUCS@7~p`?wbQ*_qoRr-)pPqKN2b$M^!C; zb1+>qA{^Q|GxEQYnD<A~yQg&OdSp3b0GVDw{;MIkNxc;xdahMyEa%j})CSUuXPH7z z&YH*apC$wI)#bFqTAYwOuzQ&~@O?VhEgYEqIxpvYPJPGQO75Ef3&ZEhr&r$GR*ZCH zSWsfluP(`o92eJpeM^0wq)w$cGRAn{Ux&}6r1>>Cuw>v-P%I<VUjV`eRT#p42n3jZ z^n-E>m>B&_O0R*57i;eeO-*h{FZ)%j6PTZGozl5DNSM7&fQX`i>IB!?F(E1KeUM=u z9q~PYNH=UYZk_rxtzL+(oHoj7L6U;cnG0CU0hflCm-mmWp#SkH>+FF*)tv6{-1f|G z&ng(?`#W#ti$&5aJmJQy72FJSC|K%ZZpS(2&96cEHi_4+MJ74Q8(HRs=S4Ea#6q8& zq}}X65zH5C-eDm#?)0tcbLb|6(7Kz$?y9+dyzW>Nn~t9H?+=Y!c^%ITH2NQC>9@@J zdfx{2BFdwW9BUk^!V-(Y6i@!0-y>BdD`lG2vu{iO^VxpSowWM>;(9!3Ro8g&;yp}3 z3WHapgYx6f*%Dp*Dh(_J-<<f+>zaGotauEUQeRUo6c^C2^AiGuriV`*ANo+Ry!_Q< zy$_43J+V@Q=oJa)^~AF4&i$$j+wS_%+!88j46j(%d%1_BWJ-;%le6u%p?J)@(xFce z_@+YpDZQWJxV{#fd2e`_Rr>!R__QNfxA3gkq$GI|4IwZ+0KeJG%H$HcAw2Y8(kw<z zPfzJT<c}J;k_mN9T}1^2^muxcGHu99Y+KqJs#AhV*hF*r;#Nsdf6v0=-VzWapgf|g znDXhfUC+-44qi84o43JdF{`j}yY|bvSe1o$q8aC-Bzr+@_QSG;u!m#Dy+{&VitVc; z>t0cT+ZcW8%6UdE(=SLY4}>V)`yJcW31u;AX5O(p?RrCm7pA~l?ydKLEc~&whGek~ zsmyL6V`dRX;Oxt<u0~R$*lx?Yw!H88;zdi@Zt+<85i4}!aNO)|Pa(86*c3u|VxQTt zDju7v+9n&XV+txW(sl4?E_s^jA5v;%uA=e_re8<e8~Ix|WbRgCMQf^H9VutHV4zkz zwy!AWs9Z$X#>YQX-8-o1=>vh=$HlBbdxPpA6(iry+SI?6KZ1<pR<0j9?{Jz&wKs1` zVeUOOPgv*^rIwHE(9;elMKjxU=jm_c4FB&PfwaJ6RWSuK9`MuwIFFf~-LfSBd3j|8 z;yogsPWUL%E8v0WEJz2gPrJn86A}UqOJeAUGo`-#0j>|=c?bp;3O0Fn$5N;BUhQf- z3psWL@CadK-`(A9J#6Pqjr$oOPM9cwX>BwpBLM9`KR=hx@@KSXnT?#vm-@({D0V<= zC%C*j$M7!GvEiqd`qt!8T+9Kb^B?P1;WhE3+c&LU`*OC<i9Q!Y3k~D0S5+qYzfMER zEG3;{r*x}>_Y6Aa`gi3W?mfTiVBbHtYR%;8R0|ucn~;1ck0;oG{w9BO(@Zq-+qWWz zr?`tnL3bCVj*e^$Co<dT?D^E-cc2&%Ea1wI;m{D_K`+a%D&|_W6uF?ksBz3u&ts=& zWbkjGTKLCO(q>zcFyBNsRp&5O=7vEfa-kJpF&#hMs73I%EU0dx5$WEV*~<>{SJ4!x z=Bve=L(3r&vr>n<c#>z7ugj+&aUEcYG+;lZ?<&w2<rSAy?wt>@AIgp?!@rkjVt<nQ zH7p)6gNKdk$yS{{ySYy1j{A~J9YRkHhyv7Tkot5if8>__RL;<l5?C-IwiMx6()k%= zQL+Fs0~N#)u=PrZX~Miw1whCVoKjeNh+!p<UagKPXI<L!L>%6*{{g822K5kl5+#fT z*=z!4=&$P<$OAPP35L*qDH0ztvF{ZcQd#a%ZIYZjF>&cIHK)&r%=d<eY@%P#AD-hU z#-G`x3LT7WS^Ok>l(p%xJf*HsI~UP!Atm%a)-FGsG(PUO0ux;?-gP)iVI6uG`Raga zS!{AL`kNDDHo=6y({45)_&!5hN2d{wY<_D+WxqOnp*PWLvZ+~=>pW^n>dT#C&*&2w zq(90ljCI8OLMtoNBu44S-$;=!qIdysZ@Fo#oX%hov$~ragb_#PE{URjP2$06P-Are zQKv0b8S^s^Gd~=s{BOl;^U5CTmKDLjxK??JY6Sa2t~n;-6F&S)8ZPz6;^D27YYc(- z3Ti_Fg>sEGuS;5eIZ|x)ANv~_*$*8wl=-ofkv=JMI1T(anabESb-Yt&-S19ubKcCj z{qdth9aQ1J|45HaXEDkay-K?U!wI|$zjK=$`Ze<sILcSN9n8Sn2c$ozdrTaA2x@*j zJw%B7%Mc;-xDxYTqcD{D@c4RgW^PnUl2k!n5_O|7@LoCXqpX4gQ=N(H0}YRfagT|r z!h+%*0~rqkj7eN+@iJ*#HNhY}NwjqOoD=tp_w!Ul>_JFq#X-G-8EeU?+$TV<18=|N z-LvWtO50ccngs|F#=)A{4N2bUSp_k^-LFEp#Nc&hi&8%%;sa_jq~L6BZQZ^8DN6?l z41nE(Wl7A_JUUR%Hq25+y8BhLadXGR7C<0l0@hqU5cz_Lu5}dzu^+9dsHir-pkPXA zDJSSTL0JnEGF%FZD9r+hLLMC%k@WI9N8TV)BaAag$BmV~o&H(Qi8IaZKx1QaKZvM# ztM6#yZ`{;%Az4vQ*JrT{Ml{{!C5bsSHZ1GjIYrh5LR|5W1Oy7AdnI2#%ip`-v+%;N ziHratIN`DEL(?^$Eaa#3J2e4fXso`dZPRQB-|ydwwOTo5DJN!<iLd<ESrwt`A1)|K zxJhkbKI?kKyW58>Bk?{*GZkd_6X)ah+GU|v0$WdFD?UX%BCL3|Q&T(pmwzQNm09g| zWh|BvtL2)9ky=ts)OV_Kos+39a*<jhHG6~WQ%Ujh{S|`dOYXXfdF64fDH;J(ikZ3x z3IrQ?L@}(rZ;fLFMPySc0y|IwaA)S{7_HsjmTQusr5KlXCrxT&uQ^H)T+zIqectAW zR74e3wnIA~U@!HI7&X>h`!fCQyN|E*o=v?LpH?JBWzHY_H=bL)HYQLgk9DDT$wo6O zm;X*5rjaX{fZMjVwZ+kgL8b~q$&bifg2V1?A%sejKch4}Tu~2UF9pV0N-8Q?2K7iI zYNS!JP;?Ft54Z3t_4oIai~1zNxF4ob&<-{l&O0hHruM(<w`|)zK^@IU4|p@by9TpW zC~SuERH-6m&4zrgmi3p*S=H6l-j3Tg8sDjVn%(x9?+@Vv^QeH9T)7dCKBPK}=GM#= zT9IPAn}p{djn@hc|7{L=4EerT!^Q1*^Pu)=Hr6+;<sw^2r*XQ7djYbtgtw5MAt50n z>3rULQ@pL6q;%DHEsd$N5DWsoRLA--K>WFRxD}o%pvYvN7GW{FJ!K^s?!Gn)xN>gM zzh_S>5t#R#%eA;UD}Dr-3it27xY%X0JeJaz)Zxz`Wr{e>*3@nlB!feUzDp0ot>v|~ z18{(iulcKY9{DLKH{E+$+n}eossQ|6mcutj!y+QGAvJ)b`7)k@Y=YXlQkp3z4fjuU z`eR}JEV<gm*0y^cCEpbjZ4!fLE=TpXA~dtnb*EgZ_`=3$vP*;HXq9M>zR2|$)usJz zl`4wH=OwMjqEtAE!!MKR_}q;b^}vFl@H#%+w_$kW$a9t*O>N7!Zh>02f+Z<`yZy=A zwl5A{;tmPoz7^uNMN334wCApcoofq={_1e9OB_?zyw8m4eu3=r;K7F>gp>dX{58KJ zR8t08ScFmt6lM4RI&lc@srDaD7!88a22?)v#=b6~tvP^E9*U^+cSA$34F*K!0V2%^ z^ePZ!5Fq&S#S3=4#l=MsXRg909uyLSx>mN-y0_;~#HQOm@<r)B(ruW4nw!(RH&8$; z(qU>dQTV;A?0(I(3LH0Zn1B#v$-Ut|(p!Y(7sw(j1#rZn%ZAAo=vd4+^=seAZ47VN zGmC}O2UewG`#X1uy^BbcJW2j+w^sEmHE$@511Zoc{lV?N*+b7pZqX8H+ZVd>Q8Y4` ztS`F#!V;tk9)+Vs6;fLxVPey<w8c;Qo=AF$dOT2D;$EL`zCouM*~&XL+G6oDV`B+S zkf8Z$pe2p0bI-cRLO~W++~rJi^}OSqEI~%hKhOI`Ptliq-u*Ep5I3+OakJ<^P#q*p z$c@Los)3D+q5l<Del+3zgrpJ8H@_RxgNpZN{HAx3`fuaAMRc?})Xa9?T+QD&TWeu2 zlo<r(PId7u2cR4ZCjXO<E8oADL&&6?%9qpmR9O-)o^{Ekiqq#@#XS06&JzL|E-)32 z@9Z|3@2Nj4QPXpkWZvakeeR{&M60cdi$seTPvX8)WPiD?a_@MXQIG~bN|P-9pm>?p zNlOUZc<fQ7SM05HLRY4qVG9etU&T(V<|SwmI&EVt*nO+w64{woXFpBt8;pi*ae48| z^P-<^aA{C$si89{6ZWY)J+WX+h}9#Fdl*ek*@vtk>;yELBWXFgnoqUSzE9o-2Unf# z`0$vt2F2oeM#<74$a68G=ge@k8yXfz>pb`nfhK`V%xjGc!(M_14<HikKIWu5cb7`P zn;->cObB%T&)o>?b!p=;Wz)Jwl3)8gjYPo^EQ*$Iyj?Na_0)rH+>a@M8pxor^kE3a z3Ykq~U0pK#8tmZgN$$eTtY4xnk1{np_3?7&1To2kuEUrgi>t7^lK5@r@qt%yx~8gJ zv(HhS@%p{-BR?daw%DAZdoL{37k?P6$sYHjk={lZzb&EptdbNd>J7EHa*Q^T1oh3| zn6l$7#luO=Lp9Br;HnoEMB?cYj#AHuQjfYtH<Eh1jn$<YPD_jk%3LF`cTkmV*kUKN z-s4Sw!GMy>LA?@!(Oq{)Redd3;`YLd{0?3>R*p?@nho$tm|Q*~jd};ee`p`=YIRe% zbR3G1_VEWjjWHk6ST+@PbI+b*iswE4GqJuQ>O&qt{SPwDAi5+^S~lpQVgBYVoX(?G zo61e;C#-13=n?dG+XP4w#v3DFSd(tp87q=+&N5IDw2do{8-^(iq9L{dC;9W3yUd>i zks6EB&xmDD@O8fD9!Z*8W=ZRhg<YJFPhb_!&-_y1WPjRKn)%k5Gbb;oBj?XPTG1wz zkhs0aFph+5tdv!z(h&_@7c{(tsMUI(ez<QXFjdcAKIppnF56yVgnQ&jncM4xEs!CY z*xQkDb7|#uv>DuE-s)Jx1H1;v0B9SfOh`zO0-uIbZB}VnS(hn`#4>o0ro|_(O%^1H zKh@KY7=NdMrwarZ1|A;#hS}&@$2>qQgdst}!NqfRWyKl7|KdM=iXOM^u;))mPVNDf z$XRxYTTeVgcX{NvtwV)2buTv})dKugS{7bHVbKrr06?{!QnyBIt7cxdVL`ot)V~Oi zIoF)HYM8%@MlgH8meQ0z6<9?$5TfB&P%rqK%1VeyTuBK7aXAC+8VX=IH|q`tgvL?T zSDNn?jQ@mi1#m|Nfgp+xk7^hZmrFaEGNbxXrGEBstbOVJR;i;f?sP_1e8`^mKIh+v zpMT17OoZb(lTb}BoPEtnZBWQaqfi!-#H_t^NkJXuFaUDFCoaoqP+{GtlhuEDlBncu z7_K?2ZnPzr@x?fNH1jd3U^NLQ@897pX6lS`zMbLB2@jtNoKb2Lg3WwkSFA0?o1oh? ze140$ClaBR5KM(OOh<b`PoELAoDkQDSFR<!uL#>>_n16N--haYHKoyg{fCA(lqVh+ zVXA0!zWRbF1-CmmP@|7}nHSMB^$9I>b#*!2BIu9HKha#jU<r*UpP_HY>9rZT+He)L z=NIye$s6a&q6cS`SPPQWD&Ky0ZEb4ttgbCAN;)H?je%oFok6j`jbVAkjhMr`bXB|J zm4YHrhkQR>RN9_xNCflJy~|gFcW~3w!dpyb;w((-zhpm7`TDJRwZ#AGQNzJWY(hm8 z91izx>Ak=-P;aR4zVf)d`e;;c(-HqFd~!~pO-gX*(tUJA6vZMPH>E+gSD3S_t!Mw@ zvxH{l?_XVVGMnA&ex}2WG`gz`Tf*AWb<fr-?|EFdO5OY&k=ZkR&bR#VA<b2^x-J`o zEqUDJ-&3;ZuW7E+?IdN1sl@zzI1|~Clp7vHG6kfPArezSZ6KMtgi!Lav2_@8J~J{> zb$91Sc)HEsTt9{@S7hf5=yw5<2vIW-?IF?1EJoy=Z1zH&9OZ3<$N^;jfPMzFq`)u% z6`R~zi_Tq;-)XLo>gH4q)XvboS%5<C)(p5C!2F>Gud@V1AEH1_)9fnIE(-uTe!0_p zlcr^HIV*zxR{7A|_Id%hQj}=YA({liz-|Nf7$RDPM8xY*;HYbAU}|Kf70zcM-ys9Q z`+3}Unw9bE*UQJaL_}Rc-9cz$L1ITQB0>?^f=lqj%+##T^xTyY_;NA)bXo++Iv<mL z`}vBL#~;X`pMNF8M1g#nH$CR{e|$$CH*ws><De<=5sE8gEKI!EW3Bc$^)#w$RvEJ% zMh;gGX&EZ(K%voZ6>JHtkjeTs(AA&qAEx7k{jDtfRTA;Pfs&r9{*dh}FOI#&C3IDE zx$FsAJ0zrju3ql9#t$n(9q$J*1*7uKmow9yeR;#VE4Ej&oDl2FUCc<t7WK4`WcV=M z!+|qccRhTmh;Lc2;=_I$a%E*DQUxY?9`HU!M)0-`)Z^&U^{$`Vd*Ay?CU)E51*=!% zTi**D&Oh|(Crbp|vk|fdZN}WFgG@b{k6yBbxBh0JD&3|UG~p%<jfm>_`x5s75!I#N zzE@+*{t*_FDKZ=x3V6emss1yRIHL3DQI1z-m9Nq6ux!lkJ$?-6+CbOfRr1WPmdjE` zMwfj>h_o15=gZ~X<02t8#^ANTF0V?Z1G|`FlbKC~Eq+oA&9`DrNS7O%u!Y~jPW|ZZ zPo`vUZpY<5b1RNUB#l7BIy5F8z2;FKRp~wEpr@GB8dAksc&(nVG@oBgFVub<z__;t z=VPt8Pj}@WgilyP&?a0q2cWDNnwe1sog2dC;uc5aAs%qv9iquV{0~Ju470E)g}VU< ze9PL4h&wAX6wKp>uoi@s4ghPEF{r>gGw_&29#Wk20c9w-5&-8m;QZVR90aWG?Q=>? zV}YdQaeD6J0$X#kl_zY?0j;ObCTHL^iE-U%+;RslS{|S-WcVJFKpqxokMHB-O92`O zdUG4~6QKJ|);LiC-47HYhzQ}Tb6@b$dY_o6uAw0VRUimFZr`~sT0?BbYp_X6Lrfd= zoA6?B01F3a{%Om%5;7~z!O&@f@oQk$l8JuF3f}*?0N~vLJqQwAmR*%@aq|KScY{@> z4)fM}NG)@CB-P_+$h1Kn{lXG12`Q$KH4Gz9P9TBu-|0oh=j9XpOX)^LnJ4cXMWkYc z-iu4p_;fxKtK_y$?)a*Q?GQQ&=6QvaY{l&^j;n6X;7#twgz3SlAp=-FWo8?M9YbF{ zVm;Tie`0J+Hu^mNGOZZ<o%WL#PL`hZp}hQ@+3#1oVK)(?_j?}Edf(M`>v^<bx3~D} z{9nV>3j&QrKJ*;XCvh|x*C=+nhcbJ@VdVrf<a-LI49QSkef{ub<KPUe(-~@KC|j2j zhF-iMK59J6S>B~SZaaA<Ep{KBrO>FEz4nPuT3ZNCLVCK2^aMRY6r(4*0=5CxYi9|{ zM{}NG|Ne27dmVmO(kBOdvfqns(DHhD3DUj8LA}EsI5CiX_f6gxbSo)}a8`A#=RvGW z^sYNUYn{!Yo-fkuMUXgeT^iy<J@_ImEgPSltl;t-@1nYJEyBNXrqi~xV$V|;(eo2% zMuZv){G*s2U}U~Wf{y2_-tk8DwU9+;bQPDUC$C>on7~A5d|IJXO<D)@D31*NjQjZk zjY6%D*FN@(QkXgpCHaqQm4_>?XL-(cKL|c`X=-s9H()vzN|nrw>ix)e_YcSeO<+!W z3zE6#{4N|ol`z@lD+If-{gM(PA>q4z!hcr^s;X<C6QZS|K{!xUJIxRLGvoNC?)-!t z;Q+}b8p%rN*mPzIGZZ-o2ZxvbP@vpG?DPn4X>fY8g6D6UDWO<_GHi8R%ScA;z47!X zKyAQo6&2wwXgT;v1&rmufRO(dj_4^h;0(8nAu<bLHH2UkBZ36MrlnqE76EoxqR{%d z!#&zxrw({pM8w@Y5{HPq%AX$|34ouSzzOWvbpVmx`s91816MWvj8o0@II7x8^T+>C zgve4KJFWhBdly;`FtG}g&2F)**qh9_PHetBbH*m3lmKGulBOB~D0LB;-!~%v#E0xB zHeAag+FV+V9*nd=SPnyNseG~Gb)G=Ky{k!YUMjuX+oKQqlaxu{?^q2^*kLBzm-*sG zZIKW(TquP%xF}wnIBYb9rbFA`kLUKl(UH`ZN2LA`ZK^E0igew5jX2(sT(+l`Jlx1o zMfrsI*uRFVhsmUpl<Rk7`$<%n&QkmAAM90<8ks4$#K*|LwX7Wj{ZumqIbuA3_DAT4 zlguho_D`q^YOznbDJC{C=@09JX1+TJpDibJ-T95aJ(msvc369jC|P{OVb_*i&h8kq zOJ>d#%vt;#iR*K|&W|7Ompq=&@hC9_`Y)u$_CPr|q_^E}act+tE)aygAC=)BK&wR0 zNRM>qgu>2aYHoInfRdh(FVO#b%ZOaiGxi@Rs<Q#UxLUW~nLxbQXSHHspEu<J!g$^| zh}4ATPYu|noXL<&iDJBaGIcuh_m2P_Egg7`ZEL6Ze|fdrN_pR{1;B)?03h4n)>7hG z_(gfRQ#>SQK>tW5S1-+n^|M|V?ky#IdW-WXv{?q9(^4&@6V(4aOa6E%iB*Tnw*6>3 z#%^N^nDsoa>(3Akn3_P_-IU*CTMnuw#80?z(<Rkn^A%tEANavO?`d4IBsu5IONxbX z2Y`%Q*yz%#D1ms4pkS9<V1O-*73&3HI^dP>0yY&YaOrU}o%R&8K!wt=;ku9Txqx9J z!hsuP(<yev3ttiqY5Dn&(~8w`k+QP0lfmK#NV{O1hZry-qPYMkWMO4R`UBMGHTZVA z;I=*=BvOlBD-+Q$n~1w!?~cI#?6Ety8JM?ULHqDwIGAHWr6LM6?RV2V*zD2_jEwu2 z82(leX~?YSUL&AMSINgaw&kkN<IVqg&Q<-<;}1&*zrk}2U}mhI_hFiWA8r~CRrMQ; zvH2|6P4U=>IUL02`(sM^?~p#-{cAR0&q(ZfIr)V}urxQ&DrTY5Xi74i%*5rcX(UyN zYG!#Ya>!iE-6g78=FXU3wm;^wF}jg>=i`-sx2X>$xsrRH+hys}+A!OQWAd2nCW`mx zH(K-Q(kn<N;>u>^`AeKJ34JvxWBMcKS2z%X9$eirZqH?~!QU-uuqW}$@t!qJlqM=m zV5hNrkQwtMx^n7_Wk+;tKGJwITI);42S>>w>%YA@k5)R!nMHrj1%?c79tL^z(mv$E zlF4>(D}MGXR*QhL)s%}Wf{7-*GL*V(HC>Cud(^;HVK8T+?4%exTWVJAjthHa1-@PW zKDp_cG`jg%EOHSyMTe^@{*nH;*q~#e<YTq-gR-f@7es`^FVuY{koRGeSRFL_F-I|9 zVKKZrX++j9bfNM@<jw+r@+TJV$0|p$q#Qs%U_rYrQ!`Vxo4V^xdg>GSmTrYKjq>eR z&gA!;M9t*pCZ|y)acOCIcxEyWx;0)%>QJk$N3&;o|8pwa=2RJ+3m<v*;5k(VFm6Fw znX92o^ac#T|H$o3;Q}>q?9+Ct??W8nf42Y-<Ay2q_0<Ir(CtBXhuE3bk3V_;T>t|f z1j892)qqX&4IFK;5FA%!C+p81u(yY^vvmEXtN$tZ0Ha}G*uCo8OY0KjTN|OW0{r+B z_yl5;Kf$eJf2MXe)mH^W$p&|XrC@jY%tK-gfSV8&jUOI01zK$BQV@|4PRN!vUB4p> zO%bS55q~73#z`6l5JpH2r(c?qxBkyQQJyo`6FgQEl+ul7<!S2;4a2(?nFN!#wvm5+ zq0n;$MzZ$@n|#J^ZmxQ#ulB>)f-byJrkMBhDKDBAatkdjL;cX9J59&gzeo2(GbE*= z5<d!3`KKM?CUYedjT1j7Kpv)hd#C!7LFrNG($K-9IN#e;dr99!6mI<Sr+ik(y8A`V z)nuuxn0%gbk575WGLZBz8B`9&GFKnn|E06teq4*hkd&f~&pN%*@S$C(Feyd=(*xb( znb%k1uD=FjhYd(_`gqZ`^aKL9{gg=N;-V|U&(Tobc!*U(vnGEwUq6Y`Sn)afnb2-^ z%$Q}z9Y3#h*5tF<tMr>SS7^&lM_^aLbd)>n@5gA?@E7DWN(Krh4TN{HjHI*2O>2LY zL1RuWESzRS*A@4=JD8ygC9hM_B=}=`i0d}{*z<WL=fB)OM=I8AvXz$jq=A%CYB91U zs8NiiFZ0HYaVvvTk$AIkrdDtc6AC|v(v}a#Y#-6R{w`lEPKfC}_(HJ&Yf>5SvGV>1 zhf0>+d(0IEwEJ4dTlWQ9@HF1)%P<7R0rX_2INVO3RW>=ykb}P`$=?sTwjMhpvDQl# zi3YMz5+dXU3kwUNeZT-i2!!VkBGrX73gRCc`<<bXg?LxPk~}bY18q(yz}_&F9Aw7z zI~<m~^&LzATh_NAAHsp|4WyKR0ALA}I<3&!6NAwpXiyP$E&%^Rhbu@>*t4|vOkMph z(&ao@O(jA8TL=ynBg`_udiD;d^P)6_`9LGT04S;z1b?=qWrFV{oJeVj*SpsKX;Cy% z?+|QWO5Z~@aJ;}(ZXx)&`sU$7u?-(@`@)RvU0-3eRM~8rTs!h&_2^-=-~5uvbhPB@ zPl<$&mj&71ttpg@AM`~wmtA*zJ&YN{O}ziE&^q>r+hv~7^=`_LSEcopF7F-dDDK}c z(VGdSn{m6DU0EMjWxc`M=n|~K>-i$Ff3KUA;aOtVAEFkH0M!>S8|d@Hb=RrpGcG!3 zsYZO4S?t=iW&?`kh<H1H<W<r>3Z*Rju=-T(hyPDeYU-Q}TKR`r0fjb=gGRfp8rl(j zA}Hx}L3bNiD7>|hkYA~_YwHCTGQXe5DE&NY!<Y0^G4A3}Y^Byrt#;tw%sW~gDOs17 zU4;5inO0%TY@SwecEs+e6R;}k<xqG}xSdsLJfYLe&&!XOFcwvsR2#dF+Cm%+V*K{{ zU3696Q6`04y~ytON=T+{<}MTG3cNp)_^>Zk`XO&qz%jn~J}#~}9p_w*Njp;M$49&$ zdv8abDV!J$>D|4(Ed50PZ<bYjJI6au=i>*Z$qx!;kqN?9&n*k@mY{tr%esfa03w~% zNK-yFP(-n%g=%SLM=3}Tk(FJo+I%O|5=UE}y1d%;A4KF&gRlvqzN>?8Rpsb_AE2-s zD&|Z{Pmh9GHG~br;6YkVx@6)2QtqJD9<05^>3{75u7m7zo=aGfvUCCh4n~#;7kPvj zDS#T6j4Wb)7bhihAekqxEiPf+Ym03Tf?)YC*a$Jez{zh2=Ng~`69D*N%8szwf#)zW zF##QnF)t|?y`2sZrwmq8k04H9Uw!aDgL;6DhbKYQ_x$s)b$}-J!-qFJwfeW6r_H&M z)e|T(x^7`A>{X(1m$POLSEgs1%XF56YBw;TR4p-0m~ayR^Azqb_vsX1Cy>9Vy4X=* zxHz#pD{c^$5Q;=rUP!HQ$1DBKQ;tkN1+=HPi?Cg3so%<47tkPJg8Q-Gxy$c_Kb0Ur zx5qoZ<Tj)lBd9SZWc|*)^?;mFuKQSJbO5h<{t4B$DW$&3xx=e2zLtm&!lq<(YR4!p zkr{n^-J2=D3IvLxk2Gsaj}mWM_4H$koU~B<IEj2i@2%YXS!a`vj1`Q}xHQ#-wLt&M zj_cvukrt`JZ^h3ZbU%<`EV`j4kZD<RHseftc@nD9PyMRhll0+F>q6EJ9j(Bw9m)L* zHTwHHwssDmhe?LkE3MtUSou+_*V%)*n2eo+DjYg!h1vRB${k}uD0Lb+Y8j$gdl9Bg z;MO%9M-crtJO_pB0~TqD{v8!|EdTo4Fsv^I+BNFt18g@jJ?bI%mxi)y3u0&anE%=m zOvNnPwbOgW^yg70nc*U_1+d_?5QKG(ASYTId;8Hu%=@PY_=cQ$1w{M%m@KEJGqx7q zThL5q#}-q|iKE=1FMEv&&91bZ(dmz{d~xXc7tsRVY}-p0vq+KQb6yc{$60UR?>-`$ za}}Yb4FGeT1IW`V2ZujEpFnAkNx~fjcI!`wNiJU?%no7JCk1^yL>q9Kb^b%>0nNK( zc|Pre*pV6}pMY|P0_hI_!GjLyar!~78PGI(3k+370IY`29sE4r&N^BF^A+~li219( z9%7rK($dlhKS_{zz5dsNs)rmJ5fftt2_eD<eLUa|4h>Gg=mtF<9pX<Sz=#)Ps=K}8 z!`Dy9V3$OAdUU}#37Nu?U@roW%>V<K18lV!_;ufCaBr={ht+@Ix&L@?%_xC5#M#;? zg@4VgMmB3a?KCLfJd99F<Xsa9aRXDELKoG|ggthSEkHDD@4faUoh>pR)min4e80Tv zwT=|Dk7LC2LT*O#VngdE)iwN;UB;4h&YX0ixQ;Jw24h6?*v3C1SuGVRfmRtP4wV5r zPsQRf{nP}iCCt8HsAgw0_j`tCvb0Io8`(}!N-xDZO9!i;tvGsJ?I_aMP|47IrV;Cy z(LN0CUSuJ4X^v!7aClCEF8QNX+~vY%(iO=_fezc7IO?@UEr#9ji4xkBpFjeK$B)X| zqg}opn=$&lD*qoW&d-B*SdD{IaO$#{35b@<Hn03&!Dd-W%7zk{Io|qKqzaWJo2lmB z=K9I&y#@n$QI6+A$(F8`Jc5n)8>a#^Jxu@F*xDOUobSHmOP5c!<R+cE-bo~%Z4U7> zW8_**oG^<B-9BtWz{}v1@HiY#zL&H(g0W@6R6hUXDOz&7e4Jqzt(xrHlO_$%#pFcK zGYz3cOmc*|OC7>~b;F&6F#$c$kV?P%1p#u#V94NFHn{FXupXG4Bb2=?0$v2jwQk{r z67TE$aw2HH`TgAFd;iOZh2_BIM`CBqE_>^mcSh2>^_&wEol2hn7Fc_%Dav+stmI{9 z;VF_oDZNR0^V;hmar2STs#sxIB;DptI=L3tDb7yo!H%SBj|itqBh9)$Lqp29#xkN) zUyA(4mao5fWrIXUl2Rcab}bktCM4DzL>_Fa_QRM`z;zuL9NLA7EESx+tv$EY^~v0` zK1hh8S)=k9Q;tRao9~k~tEu+32eGbRwY>>UMqPJ)A7#~2Q4Y6p%zx_G3@kubay70b z8QK!hLoQ<e<3IZ5`D@8Sg1&q8Xvk3iN#sv_PCHB)!M;Ciupt+ZmQvtN+Q|EX&w2L8 z*4Y~0jdTgtPDgnB3ID5qdnGR?DR}w$Ov&B{HUC2Y@YH_6-S(j!N%<vqq%$^uq<=D6 zNYux7go}<;_YY~bu=%K!?sdL(#ymG>4|Xd2@^81GOs9}nAQhb~J|OS={koa39_yT* z@zzj{6BC7~`acu%&r4&{CoaPsS)P)c;86t`3=~Jww1-q>aLnyGW|mot#djTL589wb z&<YFOm6+CySx+>7m@3>iR~~Cpe|PM~7IQ%<_hpF2dTX1I9;sEERfNv*<}2nbs)pHj z{k9HYC{QPLv}HdjA=1uUI4lR~xw*?#`oegeg;xhIFjf!d0+44!bA<SN(YMfbKH4}7 zI@izC&Qj7Y*1H_wbHu+NZx~%W07SyHW;!f1RQw4i)yX+(DLv!TvE7;ApmK$3Zxo%b zr%POS7uj?@148s+W(E*V%cMva^T_0+Jj|-Ww%viSg|@Kt&_ghi5zEQX%1ZfN$lF<; zKQ^7Cf0(v^_tyr=Z`#_aS&Q}d`?qQt6;X?dz6G8MOl3m;7Ud(RS0;xWS3`Lxc03CW z&7K8qt+k*N5C1u3V{hMXTa`6#tLn6AQ-S9@Uvhs<Kl+6l{wXd2Qe|1(`jXinOvWrQ zY>>bOS#!NLl1susyZ7VogYRD_OsUt0{9Ar$o{imnOSdTC<p-R8)4OA~(QMjir?Yt* zfv^blVxo`byAIwr`0##s%)|ToNlBj<!*a0mo3H3P+c$Rne$7;=9q*j97y!yGPqMbL zZi&Ai$R|QNym9xA-%7b>cysO8Z($KHQ^F7<!zlWm$v({)p`XKOcPz8fV+I2o{qN)k zmB#Mi%b;tARZejzjO`3EFw$badhtX@CmARo(I4Ocac%&g<6Fi+9)|3Cyf?6^bA9&r zSGME{4wgB+6vf`2SCz^PqN{SiWmnLY%%yU7(r(MUIl*LX{PcC5T_Wo5x4k>u4bpoX ziCc9?$J5Tjr_^R$k(RCP3W&32uF=b+VmeSVEsGh99yBZ%UN?9kGQgVj8dHh{1VXdq zn}dj1Wu;PIO|oj*6Fve~;O3^{oZq3}^_meznVkEl*VUQ@438ddwR^6+(e=OHEjN{7 z%h=wKj8bpw^Lt7V)9tHHeS)@KWNi=vkssiSyR<g;Lu!=zH}k^&!}sGhX9xReUR@Wp zf{h<rv_u1b#Ra4fDQ@K>io48ncOf?->JOCdS1Z$=O+IovbRcN_kbwqQs-q*Lu<&=O z>)Ch3WkW|Z&zVyCEf2kXLq^2k;l+KFCmg&A>Yb~7KN64E8sFOTS%&Z}Cvty@@A@yh zp;b~{o3<Fbpx)3nnRdVDf5zSWL^Kb>c|Y(c5GHpry%KA2tTZCHGEqdM+iBV(_i<-{ zj|+4rS<FxL(oU=H-M#i?Ax)r6dpi)@xUZwmJH>6PQ0G7pTyl-eJE%c`T+<b0O|X8| z{lywH^Qvd=(|k?ym-{_itJTv~rlXxv2;<)Mb!!)w>fy=BA7B!F>j`N5hZ=Xf7w94> z9!JBK4+5#s4%19;FF~b5wzibC@qvozdZz~@xJW@y-7(@U!Z_wH#VW<kJ&EtU9W&n< zpwh)kJXTy;N^9ih<12$KdY!$FM5a%5p=h+UbX>%kFj{$Lq$Q^$#BMDZ^-k#`C;eFX zmRI`6^=`C>`Hyt2hK2NBpR^I#M_>8vSkCqTeX0QMkb;V^=(vhY5LE}NJBZ4nTGMwi z2qvlw$12DUF~g&CQfH$j3cj?im|Llcbg&g&NYnig!8ehmLY^uxmRy~((XeOd-uH_R z?wUBZ49!c^bGVq!+0^(Cp9LRZQ=RPy$7oKI_~do0-A|w@ND3N6Bkt*rQ08!Wx!`2r z@-#Pl4J7a&1m;@T^DB!b{Lophm-y;Tj3fKpnr}g2!5XWp(q9&NUK-sblFT6vMWqO( z2rWxTB3dIBZ`s&z-`L+<nly$V&nbrKqGle~ETYc(9PB#kuiRNzm*u0I8qn8TY=>;n z8t9|O8anUuf4<_)u=+lIC+B96o^@mR{r4K=wFOdM6gCsHh6MLr&+W!Vsnv6=;W#u# z{Hk%$!s;c-+JKo)v<pnX3~Rij6OPY>NjGiXlJM|{bc@n|bBxPHd}U|pbmR)eLo@bd zMDd7Ndgdmghw<q5rKXmVs)6qnNz4S=o#yq7r}{}%DwO;Dt)Dald#sI5>c`XBV|&Z{ zV0!5ZQyc*}{}DDMIFGRzs{fcoeq@eiYbjT_e+R?y!Re@rb^}!;X|PepPyGphW^BDJ z<Yx+prA?eMS|=Z$EsvY=wCr*OKDu~BopEX1qmQR1ee(!^isXcOmrcJDk+lS~#JZJ_ zdLZoh@28{QeD5k0)je%bN*uvGTWbX<@b@+uul10sAsCP1k&q|=a4ws@_dQKZjR2x= zK|h1Oyh_2p9bm8<!!q%xn8=^(7=p7dab7rn`$1|aWi?jCPUNrXi}!4%UUYb=Yr`Ec zm8AEm=kc@GU*i=YO8xa3)PDMgee_~zWq+=_ycN=6{t5cp&)3~mGUF0Vjq{uJHrag; zqcfa+<jvLodkSEFZ?f<>5tYwxng-hTD!d9($}HSWhFbNes?CG~Ze__DH#cBbe+X7? zCN?#-PT~I$a3W@E_o20=Y5Ya%y$uo5m#Jp2u&I7%%y%cK3cnq;&H``3;cPiDKM8}J zi-XnvTaZDJ07fLYV-piYMpw)M7=V&xk?4w?jh(SbOYE2cSeMaCDA=tF>eLS-vNf<V z8~ewi$!1q|2Rxcj8!3NolA?J`esg;*^kP2Naj(|bZ@+g70*{SD1`CGKFjaSc{&~+% z;h6CyA|xuc#@(xV8^l?tR6enw%0_skBmiGRiOx8q8rNf>!de--(o3n}+>sLdY7rSz zZZrAQ_}%5ZPxP=e`H%{&U8?QHkG-EgtL@J;@s`FsndgnPo@QBcn%2B5Mj<dGsNVBu z==;<StcxC)mp}v<Vj{AFaL?u7*k$sK_8XJTARSYYSrJ>x!`yUldKOs!?dw;4O#QE) z9bv|11?z!uD*>kc+`y~l?)!*ojE0uM1Lb7T;l_h}9L|f`f+?*=9J%ilfwPkfW{v%Z zDZQyZ;RB`{MZNM-idQAXHBGuqdR8}NP9_w&z+>QO!XlXDyk;m2zh5(<(mI<RC^5Ty zb@aA-H1LkZ?B-)ilQoCkY)@&^l69#JEz6L@qle|nuUZUKs+a$1M6~iZi`Rbh?Zum# z4Ji1I+p~2&yv8%x#?_HmO*W<ypE>;KRne5HX3~eRW!anz3~pZkuc@zqs<PX<Mi8VG zr8^W55G18B0BJ;gk#0e{yHP@Ek&;HFQ@TsKMLPA6(jai?e;wa@@AvO97~>4VeV*8R z?G<y)nM&Q$|FhzB`6dZ%;G=mvuj~TW4N=YZ2OhY&4(<b*;^KWhe;Un<ze(G33V&kG z#%p5SsVaWpV%`J=S16nUQck>`My93Chx^|A1!*C@L5VaY_LOQzg8#%qr|MR#-pUhu z*)&#&S{$7T0$<<iaOI^m5;0>vr>(y?`Wg{v&~)~MuW~Gw9WeHLd-kBO?Y(Dl!To6V z1?0>A=4!zmeojv(Xj?LM7j_gI8yNwRsV0>@EK;dcgkAW5<IBDZ%7*^`<8R%eW(W{7 zfl%Acr%BKF-#{IsZ0SmX35DuydTFVO)wCOmd}anx6~BD}+WGJJJ7WwQFzum=Yk-Z( zvl58_?qY}&(+CCs^Ib8QH-Ctt=3^tn*{<IYpTa?XMvY6U97=nV7$tfWw<XNk3)RNs zWhxYXi@G{_gZsfRsBcTF5Tl_)^?=0ndNV*3Z(Q{Q8p5M;r!c5achY)<qFSPWN(g#c ztA7Sky*4v5fc^x~Xr=}vB9!*jYwTYIO%KzWnok4wq<Xz8H;Vs#ZTRywxB)0}1OcT+ zMXo8};=yeKHpIFW6nhH=x8YT8Zf+>LftFkgke+G9py-k*0N6%EL<AfyQGot9LQye6 zGCQs90QCex*R=9?FADUx1SB;qOiUPn83KB6(DzP08G>!`??A6X9ac&JB0&`!fwm4s zX+8r)G@^T5OeifiG*ksjA8rCgl==}UF!!LzCAo9}MZpPJCRBDQ1sH5%IW!(WevFQi zsB&BIyN0?mfy6M2q8jGaQ?E+r^3KUAXK>zk02r|I?UwQmlyLU*_0Hcz><wv4t<f^q zT|?jpLV+}oM1iee$YB|!7XWNg+>~Lcpg%U26ixhOl?la7gkm{|$C3c;LqK%{g!;de zew#%c@2?n@s-skRj**B6z!<|KLL9h{w&Z7I?3GCoOG&D{5P2*mb!SmUaqOQLF9y0& zFaEHgs-KWVLqoA60e#SQ6!{-KTRKSU-+^XIU#RXwr{{p?3g}^=IGO$m{{ko-8r29; zWoB%DG~aeZ10aKkN-GbrRh3nK78@9=OzFOr`ClvmVCKrqN7>3X@1f}y$AM!6Y#`rI zQkZCzl$5X}?$G(1?V1&@ponV@j)0T88~7q8D=f%RWR+mvexitlQQ}}|pe7>pV9u2Z z;Ls~Cls!U$#1JJLh^*r1)duYil<ft6pj-@fIPjiAGlt;v7jGwxnJcv9Y`qEZP$qur z(mlR6`}_liu<H%9^#|65$}PH<YV70vYi9)v*RIoKdAL(T&N{mL$M341Jhs-hR!C+4 zMiY5@Th>s1Kma%7Jv2f5>FUW)E>20lP$-zMewVdOdUCiWWg_iz(2<k#cRd|Lqf-gc zL7|>4$QSybA`l1^^XHO%vYLe_C*-8lSmp8~8jwg=G=TCCYKef5$D3Bc8$V>Ybn69K zBf0b%siV8UL5kgZ?8I0jD?Ob--4xio0LK9_KV&nD2&?iN+=Y9(&$GZr>>2Hzo^xna zQa7<O(m#8y*)uWxne%mGo`pFpoA~>7%Pg%bVh$5tDgkSl$uF6JVAV+&ii}<Js%Yp6 zDSYW8)9NKQbk<eZQU^OB-30V<)OYTD0mhMqU00-KdtByi7H+4#+fI?mOo^423_gQ% z3-d79<A>=kB1I-E#ROWzYmO*@<oT4-3$=d$XQJqC&gR~r+aPNSbXow^AuZF`42^#F zcikz;1L4{GjGZ8fGe0;auT@E0>_z|t!ogu*nU~0n&va&7V-u|!*vjv+vg$)h3Jt}V z4s8;Z!}dwQ1?GVgB7}V}DJ8{i{v&50WTpB(4GD?Um_urA%4H_kKQFwuTpPrJlnN@u z=BAF3Jw0s38p|g_<F=a{diFaz2BNfsm{zJ@UKk?I%U`YAq{T0cah}S{32JKIJQFkR zBm^87T8T#Cw<N;=$41ylg+kM^@|zugPl9YGHX)5*x4J__pVt49I3VNKXTH=H64@_a zgmib!%WUTT-Xu>2l4eI^1QFUTEHDsDrR#5td#l%_1cbyvS9{T1X4x}Ut=>32Qw%?; zrVrnF-iJi|5>*UMNyYoyBd}BsW(*S>`A`q|-X%huQN}Gko*ab>0vd*VwL(M4L}%aA z)72e_WO#yVAk2SR%*@G2*fg(fZq9~gXJ^+bZaqk?y={2_7A{HT8X>LWQ3^Vrzi;nm zt3egQ-a|%K$?#!QBRPH`-jq1NjK<lUUOlzug!mrf{;xc>yzr`@hu2JNv%-rb3}Sk% zNkc*ONb1#{+2_wW)f0JmYr(2aRJ*Zf=w)V><11+vzc3D9l9F<im(9wn%^I0@*?Fcv z{5X5`d5H_%6D)#^k{t2|hBToV$-6^JQU>#l=lHaIJN|P<#p6$nRGCV-xfzbn<e;mQ zef8jqofPpoS-IFfCDZ1Uf@FUCs_Fi?$@%+sXM*3K*X2fUo0Y`($15`1S8nUSoZHe* zx)vtgw)pPWYV3!zvJJAoC#cz*!4-^Vld>ovrv_l&9K)jtrxZ28!3vs7*=cCZMbV26 zXGmpcWf_)D#`C=DG3#AfTwJiPLFugkT*ZdTQ>#!7>pE>8H1$?Pf1|gf7#xl?ogk88 zf8YY48TYI2k{OIllgUj%5O`;Ra-?TW{~n3neeVr*!;H_IGE@$gHY@YneJgwN+4l3v zO?QNaapQUwb-l$e<Bycx54#Mv!X9Yf&nJuSo{(drr6G}0*&W7Xi^MQ~W%AW-UkzAN z%|x>ZBoe-U#l^Z#DPy3*%~@5as%VsNfgXZJckkq?l!~Ay68p>2(x2^Vksa^hROH5- z&&~oSSr<Pgfu3h_|Jza{PNbJug4Z>|5?&XwurR+<3xULUp~21DHdL8hV)qJ1rYfvD zm3|?9-Q{32KXTECJwB}Cm)Rrd32*4+T69U`=(Q?1g|4<GdxNq`PW5TI-k!T+?VldT zzQR4+QvKI?!A3fOQb7tR7H|V_0{EkwxPfi9wY3$c5f6EA6tf_}eo(q{3vY!EwQL#! zSl`QhAXa#As5%@4$6|!pG)f#9y7y5iws=s&p*U}a78vMTTtVsk9L@Vkyn6KtrCm_i zgF+&M0~-beY+>MNU`naD!U;53Lkro2@ZJ7Ao9@0odIoXY{!(>(%+tfD_@S7c9b4%z z>Tum`M81t0_vY8!iGndDvJMH&^7xgD6Jo+TvFdq~G9JT;XMxvgTBrBt5p?^yD;FMH zTR$p=bU5+dF^GQt<a<yx^b3?4G`nS#5oKIW87{>sl24^{N<1v?lfwZqQJ`jSZZUli z)ne14p9Zwqs+fwh!s%D83EFZj%f?Ok#>5?Ds<Yg?r_|HS9vl%-r|*?JzTUNwGVmZ@ z?G_zfXQ)}6-j1ou_Qm;GiL+O}7x<Uooo5u?4>le(i8qK8S^+<q_V=bsGt522k$3-* zg`JSjpY8Fgk<-ETgWdC~3Sv?cj2mR*0q+nUu&TTIrxgb(H-VdU($ZvRRR!b|1N!PW z58S3}XtxI$(K3Ep=451if6tQQ>JNtyO05@y!+0SF=E=!PsJHS0XCz4ReA^$CnD4Qv z0}wb$T9!k*I+DGp+8^kiS6FObKAo}?_B+;|7J#A{oL`eoJ`$i1A!IZOE(0K2x*+;P zi3ko#T#BMpakyC$(16oFhJ;<M1kg~Z?*uZR855^kCX}Ue+<4RYrCs*1rzlXOsEW`z zL=h2z!)IueF<D}#x`JD;#B%9vD(>U`Cqn%mDXc}!^SPlR83%d1syR<4rMN_hz8vN1 z0OcSb%efL#{PlPhA?5kiQV7ih7yVIrt>fC`)D$s|hUFl<6eW%uXfFf{=grJCgxr%s zm2gVQ>ZSD2AAzV<BO{~WcR0wesd<GnE(^_=KDzFQt3=NSw|_DPpndCXw_E$z{bwV} zDX`L%0UP}*N16G7i|5h#b*S0RO)<Y`bUvNr?|q+9;$}fO$^P=^+9Gl0x_~7%F2b)p zS5D2VDzNP-?qvNd3)|tYP3N+`y6ve7o|<P!FL5}mbBb~e=KU}VkiXgY@D49H=CoSD z-zfqwGtb7BB!;fr599Po_1PZ#j{zjtuQ`wHS763KRiWbjw+mGjRn;d73iwd66o<M| z!_-eUwyS)h(BlD^(Y-xq9@~Wlha#gjQ+9G*^Q!{+6)|Y#$dNA!34(q*J39-FQ?<eZ z)^mLmDxZN}EZIIxKGrKxDSN4hJ!}8)>`1*Dc}v&*!sgEwh0MI;W|#waqC)+C@i?^T zE+wp74&eECEZ0}Do1PM$iPHg&5d+;?{Pa4l;dD5Sw%4daD>Wgp)X#MrHG@)3a+l}d z4!D{IvdRmRh}r_bXCEC$xSnr$(CG^#LT*>wXsB0L%;UcMVz3fT+nq08JdY0^ybTaq zy-C$O#PCKdp}&dW=h0A{cJ_!}o0Eg^y;wii_r!E!a#MFpWyN7vFE5h<X`d>yQgxc< zX}^|3*KAB@b?N8s9uS#Jk7}0}x2h@_H8<G%hJ!pey#H+CpO*uIHZ5nQUVC?&>LDeX za;Y2irf|wqjWd}iAg3#Mf6fJv-tY{jbUp@$hnu_jnNLKvB<FRz2q$}%*s28eUZ>@Y z^usvOd$C=*IqeV}p-j)gfe#)eLlx7gu?|FhUuc{+r%;7GFWt9x^f{9ep`kBCw4|0; zfS7^-+i@aOn2qPd$IRPuy}cre^z)?-EJw3mENB=fM@z3|adaZSuwRWAH4v3HdiXFT z{C(@nEs=IhRTbhSPBQB%s<O#YsC?fMO1P)xFj4M?7pIgEN{_8TEfFpyFMg*f&G-Bo z;ZH~5U01P{j|9IY+AVo7&q4-2ke)xzRQqrn2LPp`FZ(Tz&JC(2U%!5hkJ|<B?RUBM z6aa@56RR><BU79ovnnenq^0T8(H37D#~hHnZ`q~Kxi-&LEn{b&H&WS}9I}+^Lv$u0 zDjJ%zf2K5QUh!6lnvYK)r8J2iJHDUU(_1375b3X{&3#^vxAZ<EZRo<mRoEhG-%KUV zo^UX03KJE477BSH?*kNM2^2(5Wc5C>B=RgTFQZ?@sD@zeY^7W<8CbyxX~e(FE#wsB zwQkxoC1vEkwlvQuL9*ho;Cx$2tUWnd@Na3pf<Z2*|1f{vCecGRzv=U5#@DYcGvzHe z+^k+II1<<GIgdD6mOlGDJoJMYdD%_W8zzmR%B-jl?mcwDSG$iXH1=FDt5@<u8(t>2 z&-J8N1oTVjSA*F&#N`|v|Co_Ew6(SRqYFI*3WsFoNQ{XM0dMuD6n`&|UH9`~Z#wHi z?lN;sHJ?i{Dgi4(4$pW+1@Z@n^>{Ve_S)pdHm`3#uyIM8hi<I|idjJP;buiZ-PWje zf_sG@J3~7EQS2*5CZ++_NWe{dyN$-Y4GO^QkW}HOdSLVGeeYm#M59{%7v*Bz#m#~3 zXKvBmlBmF=J^gQjfGxe#9}^GG7t=qh!xFMy5NtsspTmga18%^U!!veWO%DQPcTn%m z>y3QhqZ|Mf8H}Q$tf3;wN&+_h>3MmdxIaH7a(+)L+V?Zf!(DUeZ8h)x#6DoWgoaa_ zexC>}n-ix*9=%sSZN3-h!4V;COMCj_?MFyY+nphUj&O=mHsSKyvam6T!1QGN`lZiS zS<R_~Z2x1%alYZ;sCh4=$-%3KYi&NFEhr*MC2>02rC5pVHi;Cdip0|<P-Nc&=9wQo zomBuB>dDL7Z(OjaRv})CO6ZP!gt2?#36|1+-?_}jr#ZDj%bo}Jh=_oiVlru%mJ0Fj zb*f;|EUDPr??&efaZW^2`{GrYP>%af`jede;_Fz)BHQ~Rx)Jl+o$j$fDJS`;WiIXX zY1K#L%H>5zIf-y`0pi5bo-wQGLGpD5aq;k7Bk9xw%>h%r!{1R-hKA@MJ9>78{`>d( zn*`jy86T-7Q((zK@!CVApQUJ<LKgxwut`GEQX!<ffC<I~6(v;MyxUGTO88Rc7zcP- z`KrpHNeUXvmc}PDv$J`v`&LKHIr7=^*P>#E&8+(RHk7<ubOQ-#B~?_op#`UWug<wn z%(M2)p(C6YyeHULj_-vUx{Wh3Gl@U91atHP|1U(5QO55yczqtJsMsaWta>*EtL00H zGV`5FsxD8G@%NdSC^RKGQ3*WPyttgM+h1Va78yir&u_b>H2%1U<A{NN`)Y98i~zY` z7y<GSNoo3FwtGwI{kMvk4J85IL`B8Q4%He_{z;veCeaCUV@jLWRy+er%##!Eu5V0C zgd2$<Zg}bs*izBRJiht(DcxY1Px%je3@n`7JKt9R84aj)t3BAUc(<kO<I}WVY`5S+ zWjM?Vma#9l(4gh)ICI3zd3#dcNcC24EGI=-Mf)2{s>Idx_0L~3e))Iy<>nfkZaWXn zdI`HsZ;5&A-|QM$<5SI6FgU2lFB$t)%lXZ)rbBnvAKhBJiPOenYS25(bB}D$_SZKY zQqCOH;nslqiw>&timFrxOEWWB>r@*f1zib8?hc@CuwIF2mGo~9Azd~hPTJhK9->rU z33NG0Rr~cOyNo7-pStCtby#&|Xj4^Z{MF{C(I10!O@<E{iB`5mw#oMx<Q_c=Jq(Y2 zxoHuHUK89Eq-%SfTJU~e1Vu=@E6BvT!4H2kqmiYF6MvKIvJhpFUK_^I>}iy$dR4<7 zTcMTJjCv`j&5BEJN0{eP>9)gcUW{n@k}`6N$)~L&Q2^3Q+EY_g$7|8byQSB*KnT${ zRqViF>;d26Qhkw5jX&Ml>gD(0Nh!1L7a395rRv1vb~4P-1?r6(NvF4?WvM$EVw9H7 z-8k9Uehp09FhzGSoQf+;)WyIZ6DH8?_KmHW*+_KH)Cwsi^BgKxc>Ao<ljr1A+g2Zn zMtE#BhO|8mzyBpCo@TqgZTmW{F+2den)c<K`ZX6Fftiwvq{zAN_UJ|guU>sAuc%mQ z$kj43y2YZDg!WYjGH<~HQ{x<(eAbs$na|Bc2R~O-#DI8_{eB>o9d(e){B%O1utbh~ zN9artL2<){^jsny^G%$sMufBX`Env8?%7ZM<m-K>ZE6DUs=lXCh6S_I_j;lcv6+A3 zBtM-3mF%v}Qp>fQC(-9`AJ0jRM>9vus&VS2jPK_sh=qLmq;a-D=l$)E*@)|(L?6Z5 zH-Ek?ZctKn;MF^8U74)kHGxIfyU%5fxV~M-VzWYe_;|+SD7nB!y*Dq0z1n2g5K_hi z)5zTH?4ZU*@ekd%{pdoc_csNVIJ+o~WU@!<cN2Y<-}#)eOie347c;_oFzebD&%a7d zeDw-6bY-!sxDI1^VwRHQt*__i<r&Y-)MTof9d2HpSBFBLAZW)cH3087T*tEAT8XZP zMoVqrx<-xRapcNfqKGo{c6-B8-u~kbUWJnczPh6g24HG&L-bb{g>VNdQrR%l(qYGA z6={@5x;d<O8S~Wd{F47MI;Ly?xqH|+G~J+|l9WqRhJ$hmwN8)jdoz>`l+n3snBC<s zGtnU_*2;?vK|MYqoFI+)l33GJA3u=Di{;Sm`}m8oRw+5-eiYimmpHxjrlwT*g}KSf zCBc05<>LI#>b!U2<w@b?K=#D}OU-)tw7pN9QnuUgwQM)*b*|&yCggV^kCzc77Bpwg zD?>k-BpD501q;nhbPa#*473z+{Q5asukp{#O%~<H&5>s9S4?J7j*Qs?5bC-!hqyt6 zbOQkgP6Wrf3bbN}SG>Hu`r^f{)Q_m}o3}ylu@&=p{+8$Xme|LSANBi@qpRBEuYNXr zukJ68+5K7N#>F-4D=6w9f1+$-Q)Hg9z4qtHt)iudBbVKvqgfGSSuME#ROG}PM`!1o zVbVB3ZAs!@p9;C^Wvu!)>Mb#mDn)u;G%#0Gm#TzsRJGGSv(nL@p~*>EP<YMBiM-q1 zu6>WVOG;AG_<1fXm+6QimFwog1K0Dg2k{y@{XdzW=Hw?nad5!f++=|_DOA>(j^`q9 zrg^ckf0^=9@04Hf_(bnbw{^?d$n+B}EfIq8;-85Tp2@HIK2$mEiN=Ld3GDnCD^w`{ zB<*y7Px@mp8```YP7hUe)uiQnaVi^kAhxLij3Y(;$yBl1+R{trZw}tID|{kz-f_#Z zu`^a+KfATCg=}~9Ig<#UI?sAAz@@;m7c|DJFCCkm4WmQO*sYsnAWEcWj&J|kbr6pi ztlL!=uNprsx!W!U6@wI)$^h;_z<7UOLroh5?xXE&-amZ>DcoB|=AjgExaYPc-wcVr z8NOVyhy|M$9IPPR-rhdrc53D5==^=+2jt~28ydV|F@9|{*v#R#s;6G3LVdm`CMK4& zu}V)Fw*0DaKR_W-P3ktaK^wt(u=Hm*0w6nUCgJvhOm{}w!GZU|yrU5(-<((HrlYgd z?!{@H46`aR8A*7r+k>j|$PHye9K;>yaIoy=cM}O>dK&Qx!)<bhs#7slAZ%cO6Zn}; zburvTX;&I0sy$jSIa9@6HRR{7C(Yj6Tlyr0=XNk&%v)6y4)<I$?KPjBTa)l4D8hE* z4FWFPc2LJ9+)de+J&GI4B{VLAH8P~jO$@1Qrfr1H;fhs2uybF~7jd;ZrJY|q<w_?( z36>}xk&!L+o6;*|+~nxC=%E;6zD8wagT5B`2p1^dtoZVa`x*KAp5`6ob27d(yU)ee zvw2O_4&!O)#MNAUojQ9=2?#$#xg?*OUW>Ag&sEKOuE`VQWHFw^8_<|ja=)r!#1*#q z*<QQVlQ$-hu2fmi2`;a9Tyt`C92y@Fa@q)Hi*hhGcl8;!4yP8A_VKxt8c)-+%1Rnd zKWn$*+HY<+TC@_WEQ6%KEut3d;<&I%(5sfEipmdB`!Oztr>yqV=y*}j^x$j^D`|*b zZ&ny3Hl}^lnY`=5B$^Ta7?!#bJ=(bMiaK>?XX%YfEEjs?I#TLu)KvQS1hEP*#y<J2 zV|89JLZ`+{_tW1ZryHlF#%RR+JQv2uX#Z|`FtHcTmp_MxHwlBvw2Tz>JH-W+j@C9v z4Lc~!O$W1np76VAd0b!Y$SJCHmPCMtRQHAkuaM^=>v?x3`f<?5I8zTXYGM1gGPmuA zO~Q<FK_`)n^$mUe4PGlrKW#})zfF-x9*8SEUfFkZaxyXvNv$){9_;K=%Xj%#Ob%^P z>?B#P63+PEpM3A$<!^_sZBa(zY}EYt{*4YM0WJQjF+)XX&1aQON@*+)B_%n}`Fp1r z)}2|ts&n+TVjg__sPIb7>7crgFSrwNHvHzg_L%#DmVnjm1ch*$k*_$G`yGiaGeUPm zL(prwNETW2>SG#JH;qq}Zz&Pq;^O>b-W}Gb<8Y04J??pAFp<5EC|)>!wLr67vlD&_ zxB5C_(o$-MCMU9PY*4LRQ6NoZ;NjA&asG0Lads`$AAbf$#%NUyv$Ybc+^~RQ_3?uH zoEZ-}8I3ac-*~;ve!>099fyH_(#?NX>yo7|^^&11wkX~Cr&B>A0`X!X-md~{@bLuB z*O4(rTjqF?NwckihnTaJCCttE3Jz6R_b1mj7SU_i78y|kcaiaB{xfQ=8=t+s#VjmL zBG=Zl%c>GLJ)DPUog+5~H_{3+KP2#9eh7|E{<@_Rt#iw|j9@+#(+Gpw!k%EZpudRQ z1uJhk)~}};2P>;E|1l?ORvwky>1Y|+tKFO*vX$)4T$$d<#NXlPMS`Np{t{@Ex)kbk zeD=A(WHarf-_p3rAm17gkD+p%(fVN*0e0OL1D5GWVjB-90=k;-EE<o;2hjvi(0k1K z<#0<%-;J=Dt|TzR4<X~C9VwlHzN-#$0jsG@I%+5m5GDM0!9YfFr|EptCP=#&)Ywst ziUr!0SB*Fdvqg@NE3FC&Q+uO~g6?v0E~Wz;?pO~$$7^24>=uW#FQxCYIuPo3@Defx z<5RrqH(nf|jZ;!4N~G145``F~byAJwXK`D(ljz%CYXtyqCm`7B7mf)|au7G)T}5$< zS5`W|pxu7lSy5Sup5!7QJ$%s!ge%n0)2?tqBdpZ9RvkryVuXa!SaH|5pR(96f6@Hq zDIFJ}dW$%KNir1|Dt*~eHz?9UTEvDL`WuVzXc2;he!Hxp(lrjV=H~KQ&m>HRmr8Fq zjgG`SkJH)lvHp5p)xUMux|uSB;%tgr9bptkv05%(Li4G6OT-$z`6@ZaK=Z|NWb!Y< zXTNnWOyT)iAwUSu5b{X%kfSpaNI`WfgZx1z5RrkN%u@+{#+OkF%un?6=vb6f7H3^t zN(|fCFzqqziK5s$4mWL7{^3uC3Y7d@ma?C=@ki8opiMh}B+DG_=;8uW$bg-O^~$q` zQIk~=66(*ssrWg#OOjv_4t6+%zfT}rNL(&(zrjM$Hvi2G3+7fJH&&+|>@`P6$JekQ z7vB#J4?hy6?X;r~t@%^b1IrZt*g)L^Tu6Wat6^cC-NrnW#PGt0coOhI?jt>o-VY%d z$M=s8*ak^SW@0d4nxcbD*y!LLY)n<C#@NFjmk0|BPgGd2fXc<yN4_g=>K0rzaz*_A zog63N@i#+mNLNZ37!cjNrw9O9y*EsZ2u|9F=x$_R;sd%)JLx5E-UNJLZELaPn4O)a zTx8!d%_u1eruS9nkY**OR147l_X^&&;MT0yN-`4p)2CHck#+6{w|}+qXQ0RCQ)A=- zzY;%6CLRjQp>nJew>oG(bn~S@d+{de+UBN}Lb9ekMe$2Ctj<!w@SqC9;nyE!Zu_s- z{_DKOQ1#GscK<^THy0xprIfwvrH65w@z!Hun%a$L;^ZA=W&XH)Ic|%m6moJ|x`zmS z@8AtLT2KQVcM6*Qq4@8`8MD%z@lq2aPR0G?5R5#2Zyz%if4m;JD{~u4#b2;^2Tx8< z0m?ubGtO?Y8QE*wS`BuN+}zA8tFSO;ZcdjVFt`hwAka3zjwm7c=DTktPmcA;tH!>M zjmc?gtqXNZepZ2;Hwbc%(nt8&3M$;bNm0?s+kr0<%pMsMYDd1kww9j$6H9b(#1~wN zV1?)4I#(~EF8>y4C+T{$AfD$EPggYsRH&tU;^V88v3#ppUAsZyWo1=Zpk69xfO^Zu zA3!|m)mXtK&{_m3Fgr{dP&e<3LQx*5BFeB_zxoKKF~EOmXlTGipv)5PQX3)SO~!D1 ztT-FW5r)wv^W<2jwOU)OJP<V_%=z)LP^6ZsII^M@NzpdTZ*)7kmjvbf!6@2$M#viK z!x~yuE?}VJF#L=bjTEEti?R7y@R7$$dNPy+BC5fC;^yHoO+wP)b2ueVd)Z!R?2qQ} zOYiGzX**Y9NqV_<Yg}gxaddQai#)acfSoJ%w^v?WNbH!2=Cl@TvZnamCpCW^EVwxG zw|g!6-gjh7JsXeqU68*`1)kr)iN?V<qdP;Zb^k89cW%ll5_#Gfv3*Kzw7OpB+E&X% zM{TUTiB3o-CMj>hyYz)5n)4$(^S?K%9Y84H!~>Wci@_K9A-Ih7^$2X)`JvRni%<i^ zSM$Kqjnj;D>gq+OpDAR9CI^;;)Ki`BDoK0f*_r!jfBoHqsJ$xr@+H}zwO7ifi1W~o zq}eC+d0#&)^~TyyFZY8hsTA*UK3Ye&qqiL}cMT2g+ErP}M=!kpFkfz49HrK9WA9+d z97if#%jAiad!ok^K=Y-;{Egq)Ld%oPku?X5ymcT+#CRyLiq|ROisiemrZbpwUI%W_ zf4|+ngR1G6VBTZH&i(WxaK?Le#{klUePx4IOX<oskQ_kNWr<=h_()Vm$IT1L>FxC$ zT8<f06&_#7^y)%J9uiQ{2@5NSO&uNaPCnGt^4MKFBN(5LKNTj%B|=g_xR<hW_dkzI zMj-TZ)8%4|NhIj#@L;#l#wSSPe8#l%-p8ZE?BkB>bGH+?J%2_gBKM#AxG!@lR+iP! z89#C5!N^uRBI3DA+Mgok?&q2I*c&=H_SL!=wC<z=>z`1SDOT&5G3r1^4W7q3Iy#=) zrJY=6Hk<U=$StFYvb4sOR!PR<mC1>*{y4fz61?Aell8SJC2>~a&eLR<c3pOtKZjYa z*iyGGTdeGTQJzz<Fg?n-wpUwQOEmxT?+%C6>gv3{|0FB-a@6O7XH4^Ak6o`{=je@Z zvFAAz8u(><Gh-`mJASA8&f!hd<9$pLX9QJ+dISDba)<oRWsc57^T*#iZSPfwGb}!w zaKNsMeLcZMi)Vyi?sOR0jeJ7c6edkS4`l3^?2D!j)Ior@``?~=Htn)OZtrzb?}p}@ z@{}#6N9S_KYmcPM=WI{cd+)cmxO1oQuTs|22$x&-KhK$x-)g@xZE;}OpcL)A;rw;n zR867X3I8-aMc-Xx_l}EH(~pPZ<X@lK>%sZ+ccg#$@~Z1V?DWtetp6XMqmAj#pd)+> z+SO+9vBupu4}=^uB9zZsuxd}e2$NUukn)gQaAS~cZ`AJkhF%}Lnn^H$fA#8BzZNHs z^IX2+q1BB`G4eb>9JnY2%<R`k;Q#*LT6^SkFk0-j=!7PnJLSop8+!c;@*&%;$UbB> zg?wb+kehHALvzIymBAak_(X%tjf7`t9FncHidNb28r;HKl>~vm0iF|qY>a+4S{(YX zz3Bq34UC;*pCcjbrUO#aALFY3Xvp&2Y}pru_QsrooQ2wd@{v`k$M|R@7)KNq*Dv$e zCrdK@SyE;KpMFZX!(HpaOKq|KdEfC<W2Uljn?{_kBQt$8P8U)<#o{ho@LpS?jYHe_ z-zq}cEz2$)@di2rjoZc<xTuH?3<`FkdSfVLcXoWdk=HG&cd=-zk7yy`5llvm7ML<e zJ2gE$d3lO)wvn5Sre5ReHaD=XXIYSK?M^iB`RgA6fr2z|X$ld-6l279T<vSx7CTrM zjx=v9T1tmT;+FLhvMH`Vbqo!H>WYi0M)#)xSd{zX_lNKUQ5#7Tr~kaYDA|q5{zSLK zn!@tRid{tN*`JKgPD2&z+4{T1E3P_TBoW?+%oo3W>gBXLEh%FM+pjN3TvXAe9=RIn z%Q3c=f4F*7oZ30nJ|cad#B9;5_8+s`9SzzPv?qT^8xJ<OwH@UuxC4U#wGy==)^)|? z;~nHFm*q11<+@XfdujBkK+)BO$tE{j?G8l}lvjfqQN5KXQx?Y~gI=-Q;)jB8Xsn1a zlZNaK#op7dG9Rr@HhuIB5j9w_va46$hLCWh(3fGQ)h@Owq^YnP;FSEoc~tP0@P4mD zT4euhYqQGC(i}Yv3?xZ!tlj#uBH}qkkfqC>qi}MaXtgzIj1=v>M{UUA;o*$km}WtR zVECH~(s3sTGK;5GbV$I-4AyN<j*|ZP?+GOR$bb=~@MZ?#N5Wv>Zn9Fe+!vWI&ufYy zIXeEL6Itf5JTg4&w|!cJwk1fIvhuTbD^lV~`i*cz=#<;&`1txY>HpXV<2}j(cOT?0 zLBcY2gfWl!4e&RFRB0qmdB}fA{nv&B5_N$x7B~;{M-Fk0!ivn%Ek|Dd^v#+qWL*-} zJx_aI7s%7CS8V=w$MEEZa@Uj)+#n3v_eOntjX{dfZbH=TJORQj<v*uda92rd_WE-% zFJ|zcw2gzR9mp|uU8%>DwTaaJ`@J1W+<~s5N}{ym`uHW3=zm`j5fMbEvJ8}AALPF9 z-S}%e85<hJz||ml3sd92baTT5k3q`DCIagT>bMT1>6mw0u>wbgk32eQ3>*)?4<DYR z&3W!SxqEo<)1#)a@6H%zU0NckIr@mQ$V}KvC(18S|5=h#Qg!U#V_))b@(1;A|NDT7 wK>r>8`|!Wt6>)GjH+p&S-$cz1!|l)ImHd!V9GBbm2WT*4rIaL#9_#!6KSODfod5s; diff --git a/supporting-docs/projects/images/fractal-small.png b/supporting-docs/projects/images/fractal-small.png deleted file mode 100644 index 788c6a241e1cd5044bcdfa6eb973ab8234ec32fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14136 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 X{Qn;y4e$H&-zgMj)nw|V%p?8>gf*o> diff --git a/supporting-docs/projects/images/koma-preview-thumbnail.png b/supporting-docs/projects/images/koma-preview-thumbnail.png deleted file mode 100644 index 96717544bcd80b2f2f415bb909290e2bb8092a0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16274 zcmZ|01yCGK)Hb?ka2EHl3xwb-u0fU!5Ilsy;_eU#?h<SX9vp&02=4B|J-9<~hv32Q zzTd67b-$|r->n+ynV#uBefpf|IejKvO+^kLhZ+X}0N}rqhp7VqD6z=nDJ)dv7GyDb zjNGAHN-IkP097%#55^e(6`RVdD+2&t%m6?@FaU6eEDG2I09+vez=06}AesUIP&j^X zelL!^fN7#A2Ln9+_s?!Cj7OHdaCxWv_Qg6j1}+uZ#8>rM06-$?9ZXuoWAV7nIzg}B zHQUnx)_UVqQu@l4JG;1&w2BB_9+)eyL;6;|np`*6Jlwvf(9&mXv);G#v+6k2(uJkC zvxV2z*@$(^@l;{K8Esuz9EYu)eL`teQWGM*5tRuJnnlIIm~J<-*uGwkXms~$Ern^4 z$p_k0^OgYD*1^1n7VVK=(?2tA^y#bF;*&@8R#U0<rN}mPnN-2cao@rmu5~Vn8Dv#$ z30H~HnN2VOq^Kw;lt$ZGcMTu8OT7ySEHD9q@HX(*29KIvlZA6VUE{Y0;8b~l6p;7> z3qXdX+E@x5{8yRu1#cCJVk1t#V|4|q878c2K#B>Vjb(&tAscR|1`2{1VZ!qWQWsqH zQ8Wl@^TZ3X)r$ZqxPhnvQXt~LS1j+5EfeU3=2Tu&^T~%j9-W!KK9}||+O0%1P?P)+ zYo2@;qfB|n1i(9Q9_L|eXoWm2+FH7lUj5+=TZ~ulCDvfIwukX<2OGcDN>C87;tztA zqo;LZsR2H=4Gu`51{N^>=o{C9E&aXDoLs&=D_!pJR%=9n?~Mak;!@GG^_{digz)Cz z#ymBLzaDx9lMUM(PvuTtNoKKgW{KSPO&I!Eoh0r?6s`J-d7);_Isn62Qe!LH&M!Sa z@7f<X$+h3icli8mPtLrTo;zuAb1fnnf9$FKv?Mm|dv?jLeQf^Cq{!;}XaPeOg4vl{ z>=_$49~)WNvuC>I&#?65{}|J874Lr+M$ZxXkoBzp%s$>WJt0}$#$6WFiIr0eDyiZ~ zqQN9v2tP1p=>AqPS@26wqSMH;75>iMrS*Kv{Sm-kAoTF}Y02H4;z12Z??T!nmZ4p* z*~eV{x~~4=-^8g1C*6gluL}n&>T%b!V$J5@{#(gSGgT*B;-S97R(s244QbNg06-@m zR$5??l)J-HRT;ng!_h6V%W`$ic7Kfcx3HeW*Zz*XauRJNAFX)J5)*r!7(b7ak>~J` z23O6F3^+QhAB8x*>)mK#-?h+nr={GBQ3OLxj2LtZDiK|dl%a{yNn;@)!)@MSePdkW z|0eD)VjkC2^}htsKabW&todEeU!DZH<Mmnee_54qHfGbpl;@)X{V67kK#3j5?)vii z`k3n9>RgB4Wxa01ZErX(Nvcc(p|HAIuM}z&n8`Mz0se`$+}y=du(VF;^6KWs)tvdq zw?T8_+|vPlF>Za)^a__#yNg=v6wlFvNGcE$nFAGN>#d{Zvt*mFvq$A&y5U{PSWfz> zPleZ0Tu0ooZ&=J_vO=$#7ppaYqxBpm1G5DRdy;$5AE2#?+|RA+_0{n3g)w{mUR<y7 z6}hqRS!Z5eIwUGas77W#4xc}8k`G(F*xlW&_?#FXEcFc!C4e1fBqcn_y0ufMRQD=@ zxphYx%!o~n84N%>%H5=(V6U1@YW#A$t*2DqV_I6*y{D*#netxoTci}$#=#@H3}_w& z!o(WNnNtJ-_bK_6mlB7kyfD%fXE@@?>2>N3sHv%$^9dv(!jb}z1fcVea1=z8Mj4}b z%~iYcVUec2d&kU(v^U?<u;hh_<Lbtbs!4D-vEdME^ZYo_p933Cb?AT*dWqH4>)$|8 zDIHdfo=}h|9jx9DpL`e}eQabz@4{<~rWf%gH4p`e5)c@NU0~Kdr?Uitm2g0%i~>hw z15CPs_P0!oxIgw-0gUocsD<8kRwsbL$wdl?hYrAl0)Vkbe-53DSIj^gcW6MxZsVOR zuBo|Qn7wEJPy8qwt1;ckBv(xa7?!{v0fVA;g6upkd{A~M(9s;1f+3*YYwm!oxo^eF zd{~a%PzT?O36@=E+Wgh;PC$`?L1%PE17xBss>v0FK{PWz52p+@vi#Qv4vtlyy)(46 z$C%K7)Fh}YV9$Nk*gTvv{Wn%N{7Grp-esszZ;p<Zw)9W|^G9=R+f1e=J4yfo3zXf= z+l=CUN{2>-97VoVCDDwr-3vZG<dG~ZhMIoz`49q5;-~!@A|=)2w^V(8koI_e<#-H! z-@>S2k3J#QTN1UH1~TDF{-A)5hqvX_gtTv_{RDbdaeyGkX*SPJf&7BO(gpo;k`31n zEf;lMT873(%c6{Y2hFLeRNKO1*T+jVE15KDAS~d-=kM~W$fpQLPwmNSYpx5c2&TL0 zYbme>!x^&|6u?Zx>L9+&84*1oO}JFR$eXj;;(IK)Vge${*i;OLZr##Oyh;FnXJ;G( z6s2TUwUw8z>}Ri)`U0;gE+9euYibk^6w4xN?_X2=!e9rkGWK9B$l{e60FkJ|3^Q}n z75n6{e@})PHNufFuf9_K8FmrM6RHIOl+~#X0Tp}pht8ABTg9~uX3c7QQep{kF$GbX z7#XoJyITtj?mPB7loi057LKU0sOVUMc@Y!Y|596sm6-s63xMK8a~iY&Fsdvph=o58 zX2y>d=N@4MROfFNThpgP0T9hFk=d^cOgy_?XFXe-C;m<m9%7)5QDb4nBheH<p!0X$ z)Z#zir~4O8DMQUDOfhBDv0||h`Qbd(M&+$IAYk4aIvS|TLKaYf4zaSYg}r!tobg4P zkIF<#0RZW&rWXB$&H+FP6j3)$cc`5e)svq2jT@klTsWTfPr1eeH5jNujTJSBgYdfr z00z_pz|#>VV{X|aorUvOot!`Vg-G=ZVY%$YV5SQP72g}0_=>BZDY50*fDxJk&!B7o zWgG$+7eFVAFP<0iJT*oL)Vx9Y#sh=GDBj950SZXd<Yk9!udWGDY}0+^6imojV)MG; zkv>Y$Ks+dsVxT%Jnv^^NmK2DA6bn(evP*t1Fm0y6&DzaDlr<Rrd^@kYXj&BGvbOc^ zMar}1x{n}>m^w<_cpnB4sD-6N@M5v-8130@_nto<l@#mG0Q655H%G79iIO=j7_UYO z9q`#TTqDCy4J$Af|6y*Yg4XWXHva5@fq)3WKatSUI%@k7XD3Kqp}9O3*LaYGw?JH* zrX$@D!d}C`hnjSe_uX5@<JjIeYj5FE(uLrWJ@N{RJ8zj_+fCRY%*EtSy@x@?wAy#y z1Qg2LJyRW#3DbavI3mYw(%3lz3k11Kr$!s++-kdPG}c<_2lN0^VLA>;G57V^di#zy zj+egrEfNBb!yPZ1^W=KOGRz7iPgTr9moHB|`mf=-#2NiNW6~>IRL6v*n~Dp=YpK+a zE&FqshG}ZhKOak`zIM}OGebM&w`s?fpSF7~I|Kx50zPk3e2OKDptv9jU?IxVqfIZ` zBK<n|m5-ZKS)Ns)G*1_$RA9$WpAxY1m>YAcb`z-ix?Ihrr6|UA71l`%LT~1-Vc+q( zsXvuxokJ6$B0cc7nC12}b-S#4m?lx&rB8h$LXm`brmlt=`eC?cR{<9bvP+@5RY>$% zf+J&S+|Tr2rnJcCc&NnlLlb-uwR8X1^1>vv(?WcJXv(&!h}+Pw37CMfp-Rs6-5@jl zGTCrI#me-&*@;0iaVk-nGi|Y6^bX8e33Y6p)$MvmLYBxC=NL=%KBaPg@&2>WYKP-3 z4Rw*|3Kk6TWARDsd|@N8>9!1GObT5d9i%qncQDd3^3i;VofVKu8A}DEY}nZ`#VCD@ z0H5c$7=~Y}!_T8M)!lmHrxLe`L+JMxynjH1NFCB~6)D)YyYz0}gD^upn)&@X+zYrD zG>Z~c$SwLFkHYwb+N#8tid(h5eqdEQ9X=9o5_fK|c5%P|>)~l#DlAE#<mdnIq$A7c z7=C^318)|Yxw)L|O^NOJEkSGZ#z5Ok!h0X?ch0vIa}DN35BWOVUmc$plG-*n2H3ki zw{sVNTpvsC8M5xw)csV}2XOs~t}tlkBS<!@NZJU+!8DQh_R@pZ{Z>u!v}i*Q!EyM5 zB+!Gw{cY~vC2^A)<ifxG@5AXy<9*i77&G0?{P|W~5(<-t%h`9vEtg6k3(siuo{3wJ z@u!YVkK36CQWE84=NPW<ZDsc9xK70>_XY*>BN4`_1pojTMl^yPu-nOBi3)zX-)a8p zWRB}UjoQlzor-#l{<i$3Cd|6s!=&(ccOcl++ORfxHGMqOi0{;qa}>?VOatBMH-P#4 zcI&{V<j0V0%;8H2Pqoww>CgHk06efs!e>ln(lsSY5jQZXtYsz%1BFR?@-rQ<&A=u{ z9ge4<AkP%7_!{u_ot$hm)VA;iX28C}>W63uZ2%RbE>kblcn4cjXnU7CfxIr@OyN3= zuTUr9{%9lQLrAKA_?RG>s(j&;;wVOex2PMs-B{vI-2~=8sP+1b3(J>#t@}wDS;n$b z$pzndjqtI?cey(n`9CAaPlHDb^5mK_T#ripR*=K?$4l;+921_{3NvmRW?8&c{&V@_ z5}_nPT6>sgpE?sbl=dUkbcd}sG9A%W9wDr{9SC1iY48<gp*76ZDJ2avwYMAiIQF`Q z@E<cEAi$+1-NS#b+`g)Q-E5~iOP7G{qS>XW_0s6{X&v6;zz<*vm3kqfZ=JXrGW6~B zjGXs%m@LWEPKK-|D+dgQ3DDQ0#=ppG3VE&F>`DXa%2)RMj!yacY7P;AhZ-20g3t4> z6ZO4@5G{bcoY2FS0u>N|{`37^?`Kr!x)+Qz{%W8PJ9{sG{6Yr|H1|jaj5X`pE9ZLt z3)vpVnx|6CVCR;o^2qsx2@C<6hTIamueb=$q~o$F4Ao`5HQHE(ANn*^QYJ-+F7FiF z6nGhEXVS8B<|o{&)^~kaNSz9466B5}9m`C53H>a*BG>sk+49G5Q~I}zDQPfQM$2N@ zDhqdOwTm_uYY1fthw^>MH|#O;9f3(7xX&y1g14T-(r>XBj_ZK&^kg{mr8WPS095GR zH<l_HT%+8#+YaMdX~kP_a`2q+wk5|i+R6%^n+nc|L!gM}eKP!uE|;uflc8}3)!Iks z{oitrod^<c%`Z}bmLcuSi0-rNOqf@Fb!*wH&732b4^-S&y^7og8UF-@9!K{lc*8ie z71}#siJ9=>6W9(eMOGGm#6so6{03az^HqM4Q)a4e@DhW*a$j8Z>Im!BfvQfPv*x?z zZ&~+T-=J6+Lsk<#O3=pM-a_<`OugaGb%Z<sr2m`TxFCDZji<I!UZcRo{bm2!UsiZU z{pW8(z`CeP1kbA<QbWNL!@ou~xcpZLck`DP7cY2vgyn@e^#5)InLmHqtZkgv9crfz zo;q&J0&Q}u__mqeTYfnY{>JLEBuz1x5Hc5T2E=e^qROD61s4ttKcD`Kus@r2Qp1jP z3r3guyxpGC;xjm&tgI%O^O~v5%^-n=(pr@lt?hn{f`TC5`=-#l`TN#~2vhg`27G3* zXiIK-Yx>65H5W>spQ0w0!4;Ad%pZn)f1dt{u^eArlz@CY@bNJ|N^+qGt|hMeHQF0- zvA8vb7w&K`e?K{iXi!P0VGJM3@whip`+gD8F<<inMZD<bfcDe-m&=rA?7^UXj>A9n zg(|4I5tH#>1G*|TY-%AFL+4CrW@h5mByu1C!)2eYpXt(ZjWM{)glj0qZH1qXT+Dp= zWARG(+FD(Uey`hWzTswGpzYGi+R2v(3g0lUkJU@9nt>jM7Fy|FdlT>dnp(QUUzq77 zkoc8<c$EN@$=}>#0ppbUt)lB2d<&-oKOa8n(#`iUCw|1i4aA0{1{!xdzS5~Ym<rfS zqA)~V$5~fffnvwL2c<iGKBE#Gj<(Vzcv>)&*e`I?U~?{?+IV$Cnv`i?q`ohfT%)QG z3GSi%S~Xp^?bvSFf65i@@A)*jR_o?lnIeX1EO^wch5l;N@6%aIxgOv(9o<+iv%avd zo?lc@?p$@r_czS>yROTLHVdkDz%5N-j3SB`sC?eg#K803SK%!00a|F>M7?GruYq*n zx#tC}04Sg{Q)4bug8~3_)DpiM4AjjPdN8@k-0RA5S<7*u2VC~31Agx_``a(A?-dZ5 zxuJHVtuRhZadBe<vS@`V-_ZTl$$cS4e0*i->#XRI=lyB3bHIhApz!xA{t<8-DHaq| z6~POpm5q$7F7|6c#R5bF(F~fsFy1~ZB!7x&KmnjMh*oL7#sqLF0HgwPJajKJ1(9b< zCNnWDP}I(Axb5XM(ac--p)>X97XT0nVA(a|Y_wOvl~eP^{E+<eCou~Hot9)4AIQc( z+LNmD<Jrryn!);(q29BTobk$ug>deMD?i>Dr+mnLUW!nHjR;%DtjA%T`uaz?dO(1z zin#>Pc7gl1xg&%nm{|+%gR{AE{Mf;oi^ib=5@s^QiczYserTR^0<Attuzi04+bN?2 zjv}L894K#cNXzevz}f5xLFZ+@BjKqj2yFmwr7^D(p43PvcH<qW85J;MS6ujVriQTF zE(M|WW_yp-*`@6o6W%nA|HW*&6DuI?e6b?nGfHX~fE_a^cFr%g4wVV!I~u7}g5P#U zk@pqjQ02GQn?H3jXVj-_3g_^O%GkgZAEWNAxqS|^^FV?0p~Y;}uSe%B8!ZV-sq%D2 z`qCB3y)DjK?d3d5ZhkC6H*M$VsUE{vD3u^mf{;WHlM1OS{wun$u3*K2ho1^~SnCNC zhQw0kLL(tnz55+6T!t07HNR45dl+AP{B*`-jM1cMq}~2Pq3iZN8}Kt0)2JJ!RaQ^= z&Ddx(e~tHA7W8$oh%E?^zyg#4DUin1m>lB(K)L8Z1Qw;|cLiA0xv&?tulA^^JP1ds zv}JNnWl0#di-3_tWT>ge^yiYY&7T482?$!J_tJ}{5H0lMRNEV+HZb{|zMjJm{fiv| zhsK@zhHv7U_SoS>6Ie-ufvSxs*9A?dX}^SVUZ@3fHSf3Wj}hJ_hA$u89A44lpi2o! z{9bvsMGtgTFKeTZV<S_v<L08XRXlcU9W%LZ)UdDG5~SM+R%#44hM|K495~HlUbjdX zDQO3ooxs%3W*>WG2O3#bL%Zxad^^!`qm?|{I+*fx$FkhS{7^pP1T(664AKDtp!ReT z?=p7YqOYZ(?PrQD)~kLzkKv4@G8!}*aPbPi=WX%H?zbFI5`kar%B{{r5g@FgZ6{k> zb|P#rs9FdI1<*$cBZb1W7*sXjXW_49Sc;1n9eY*l?rc_kQ&JIIL$X07WK0cTIsC}u z(zxQDPQ%s|M|glSAtB_N1l_s6J7&CT<j>lp*Pq4D&WV#6wj!ImN+n*QLqrh`9dbXf zmyg^<z5PN`C|?oBC6qmOR70)^tKbg2t`R#<37r*p_vljV+3^V~VgMGQpkFfU1-z%O ztttSOdb;R>P?SU`K4@RT6q|+)A|W>1WrwRsN3TNHlj`+s{7|c0al&S;!g}-Iy4k&V zzEbm9*MR580gdWML_DSXC)uLfSl0bo6gzDC)sIeqfMUf@7$X76t1oTQq_FoWrFw`% zvQEV24|-m-&9?1l;#j-aiP`6ybLlr<zVQG1!tn7xtK(st8yAd}7ip+@WRV8jd-(U$ zdniJofY_QI0E8weyaK-^{bmxWZD0_cF#Yf#&LHu4Ikh{MK>{_a(S{|c-?cvvFvffr zamM^qNz3t`GCpCW;K3~9s@_a)1feE{QKa11Q1>bQ4A<G1l{rya@HV<~Cm~iXVCM_F z#>g>&k_svc7EHOv>>+=y8v(<>uKuK~;~sR7nD~ZK?nxR;Pnq~D+*{^YrgejnuBc=2 zGd(I__ra8;K{(WqZgg_*lTX-sVt_aL-{9|DyN1NclG7qiNXTC=oP|jN^v%Qg!|LzX z{4FMr?d_HDffp(f1qDS*bMs5Tf9sNuQ<A>7+sXdt@mcv(`-HxGGLjGLgcr9D{gO{- zmYJSE;2b}u_CrEK2>t(cdtV=ca~=Hemylg=+0FFM^f@2Y{nS*T$2C4W>iY+cJ|#0# z!uReH83RGyP5)BV#md@xzn8*rxz2X(@87@isuH*7!`!FKO*InU(@_8(TNExtuuJW% zOt>3Z4U!#ePAAdfV$CuuxXW#+TtIGNbjzJn{|gFGW8i`ialI_ju=su%cr<+je}&SC zwVxfIewQ@&*`3v$fyKZKoahJuXr*F&E+g+I8}^+Us<Lo+SwJ0Su#uQjCi<fMqiWtf zVb8~gMFz1;+oK#x6LoA-DK(UM&DEHlu@NmC?0tY#giFU8Z>Q8R!VwtyJOkMKoz49B zRq&(p?P33iet(~SI(PB=qneJV!wv}u<Zsis@2At%Ho`ZTzqLB<W=yL7b)pe+aB{AA zpSE$g{zYYoj*5zkiFux&e|%r0p{~GMVBoPH;vw$0(SvOoxhdQqL*H>RCbo8wdE>Lq zZn(d{FXDN=_1~ky=>7h!dY|Hd$)2EV`V3=OO58)dvlJ;67xX`w2)Xcgx<1RrPEuCG zLmRy;*f*6-d-J%rys-UyPRd)i+1U2MfF|sV6+SmpV0hh2g&SWEq1%<elWSYy!AbxH zsV@U9;ti0Rf8T%v!@)H4C-c`36cBje&=sgB$#z(7XR;Ri44s{(H$lhzZRXWB-M#eb zQPp(3^?TdH^5iRkyu2K=u6E%Y*K>cwI1cIO9371#p$58b*IS?D<Yb4Y?WC}mUV9bK zcNO>d_gTKz3wm7cTLW=?mSZF1<AekRn9_ed4R})%)MY(sb#-(U3MMyWB-?9i69&!h z?(X#FlnbZO(9qUy$J`0%L^U|bhqup*J`{R+dv`;`J^ubFP)z<$?ItEBeDANj@J&03 z14exE?U($Q?}rUr&(-DoUe|C>ghK&nsB&R*WP(d1$K3(+2eh7z&k(+)X=aBA0ZD5g zq{<W0OK=2(1OeZgG*X^fQ;4xBI!n{4OVY)%qzlyV&28obG?_|@*f|`s<SBQ@vu?yI z^70syhm}=SP9z;cJG}^OqSSv)y%CCi$t)>YOg8pg3Jl3s5jk=0eT#(k*CC<b6O$S6 zQ${T;EiA52R=hWQ!gF$R=%4@fFEuzwdR^|B#=P0Ne|o%Gla!EHU0ajn<C|Jt%^cni z4GjgJZ4Jif<>k4r`MOuZX{o3@4~hz_7mm;f#T}6=5`%+-$Vb)J*CVCycz+{_G)7^B z^e?HY@1AZt)+Q&Nb~D_W;|Fb-rPo?v{$rPyE)rSvFJBty>FF65thRZ(3pBVU80MsP zZjXi!HT|8fuKNTMVEw~h(dxAK8w^HA1KMH_u=rb4@B+S}MB40Pv4>>Ec!eYmnjzb; zwY3%a_+l9z85sM%bYG{f@4zF`gp!HQ{c$ws1P;l)c4@QF_V2TdjC1Ipfru(C|H84g zwr0&5KV7UVnQaKAdMhy3dncJ*^2~FgFk4BpueL!4!{QMTC`b{(lL4D2ut%Z?o)HC> zXAnz+Yyp@qR8&%o?7;!YIETAmQtA4&O$(x{n_=eR<P^zIQxxrg*|VOeS63L<9#7oI zzP}Osz4lyW_?X~C8~Crx!T<0)k-g)h!vCJ#@OH?FOQ_cLUze&ld`d1(4!RWr^nIJJ zocrMyi>jwf!A_%^v-{6Bo#&l_pd5pRx2k#FJ$qxiO1f>S)4w34PpNp3oj=%wJV@r$ z005W?$ctt$nL{8&n-%FZ7AsSJE|#GO6mwPjth~-+m0)|s7%<Xw^3h!tw4KzFrTF}6 z2ajmYV>7CVT?>SjOiq#Iy|aL{6Afi$_ST=ziVCytkoHsj?7(*4WzqG!*xLQ-SHs&K zq4wK9uU`f?ho~$2!gPMrj}>#K9b8P#aFu(iJ@4El>OA7-ZH);rXgLRzN%B{;nLjcP zkH2$eTRpEanW}Ez_1q4argXkpabH8KQWf0pvoSbp+}+Jh;;e_H{LpVNi2m+jSJMCf zxFLCX8-jOpv~Uss+W#9eRI}DF6T_jK@=;JnkuQL~sF87M@NBc+(Esr&Iy!oFbrrb< zVL3G|@9kNss*b1fSw_=|xgAUw$-VU4$_aZZ>VBeE1=q_OnKN17UH-{_I~tJS<m2Ph zA5AwrJY0S#@$k1>@@^sqX)1EY#>T3us>XeG`1(@*$IaZFw7Kk0Hgr55uia*>?eFcu zO-&l$^~9RS0<3Y{d(mPijhoS8x$OHcUS|1e``b_Vr!ixvNUzgBLVrKsZ$n?ZI8+@{ zg;TQs^9R1RNNB_){cs{=bB~GZt57-BQC^TZICw@gsVwRvTv_fI0R-5Hvf$`_L%g@< zu2L6#!&?<GU^u*3#-U4BQkfQ#mMV@XvoHGoxNIOu2P|8)$st7y=}cooeUI}d<k!oL z)=gNuQ(Ru^n{*ovgcX_Ql=R4?<3LXUj|O<3m>QEja#D&&o&l#^)6xu`$&s!fjV!i( zXZ_F8==--LbESlOqw!S-D4m)&T*cf&_SV85``>%xtg_6;preD(0f-zQm$T*P&+Fm) zL)EyyUVMZ0y{9(9j0Kv*p=hnIlWq+i?*5d+!YpbGCOjrl0s<}%U{!icGUXF6o^5L0 zG;3v7s}}_pCPv|3s3_q82H7HkhH4z$)1Qrfb93jPy4i1AYzqz=<{j*&97i)>TY$Iq z)E@Fatoi2&`@7#88RmW@ZjEj65gmD@ZG|qw1PoumIP>~EOY^}{^xuB0vhTV%7#(8B z!p+bv)%p>Yni<B#Oh^Vomkk1Ds<jhf<g(K$TkuN?{3*~~ri55AzX*|9kI%&YYR|UA zS_r&D{Y}Jcq}+qOuK<STp>&d|^Q9(U=Iau}TxczEp97WUkCooNZKF3&ujQRL%9V&2 zySJgp3*e`KNt8yuxJB~A)d`+PIBR_`Nq2a3N85t}RU~gM_ewIZLYYcwc94R(b?$dY z-ns;oNDzLoS-X&bv66A`Uc%<1)2>0F6~bgP1M7S-W!=O3{r&EjkjL;ba~uk`#MjlP z7$h1>{~XuACJJI_R2}diM!Ka}QNNCmtbtoA$sgi>Fjn7{u6vi6O3z)@-r&32^e}P) zlLZ)Xal8KXP-qSf2lghhD^tEZu*V42U1bdh&W6skg0j&}e%tB`2C6pa2gNFlTz&Pc z8d$e4YM)Cg42?$y4fdlpI85re;FsDKNzwPeCVTbZ`{8w@*$h$-y*<ty0*?0)3&RQs z(~zPSgRt21@Lrz0D>GK_cN9Bp!(0e|vGb>nEa9h(N!Z)pDuq|NxP{lfVg<3o#@h=8 zit*A<Q0udkOAsR;grqI4!>JnL{n-;dES(C4of%%O9RN0THT&nM=NEi~id-9Am#k%N zg7nbL7fzE0Q=FDe2c4fLO`87XFj=4_eC@?-)igukIF`MmipFc70INw^fI0dLNYM5J z2EJv*eu_~b7Zy*>^7Zxf(rtB(3#umYE3lQ6M*-kqfP8XqqzaR%9d*c+3aq}oW1|~3 zxUE~23DdblgCMXFp-n%78l6-z6eF4+xSI)4oh4Y_fsG<;*cH+KXF?z6QqIfVj{NG4 zFA!nv!F8rE)cGz2hW==D@k>h=PB<_PX7^hq`Kq;a`brvWM@q4RISm)*bAMZjtCeB% z?qN;d?$-+fL}dE+pIiJ>^5T3H39=@1FNdN%Y&z|47kkcbvps&+J&S3{UTnF07QO8d z*3?nLc9$#OEQ#+|CA0A5RUP^6ihV)*onwRzHJOJwLAsB{nvHMK9I>6z_X#^aZt+ad z1?%6y<zTQAUR=$F^>$9H#+aY+gQqexS0W=5T7}NIJX3BY$+H$3GU8NiuTnaCwYnzg zBh8sFMzX@|w`kbPI@2VyDndriJhY%69&KMWi(dSq<+?*B<z-}@TT{_vQ8|iG843Tl zqh&hV@sPv>8ZqtfzJ?ZZg^}aw3hCzrpZzm~7P9{a)QAC>8QN6c=n*YkC?LkAR+%Js zQlv?vL!nG2KndtvB>sv*ONw9#W-!8R+xgG~0?Padc5zU-A$IKSd;8g0SCS~ij^LFy zO3tqz{qL?ltxa9jn?tbzV(Rg$Cs0yX2FE)09*bT|{T;0J#zynetu|D|lo89fOo<FO zaJg@*wLrsDnm*`FMU;e(Hl&QMOd6H`T11C9_F4t*<(87MP_VEuCm>GhR7!yX;RRAA zADB7S<S|iy2K#ND{BgDd(teQw(QE>2ECA$)z-y}a0CZ-iz;<kmASwP%%todG{0Wfl z7K^G#Eco~PckiJ92BPgzW@4*Rc#=D@ZMThV`K+=G09~2?+sLJ-HNIXM#kd;Jx>|1A z)VqIX=wEH8_elqO6y(RR0u~@VUp75w@<-4Kz-V8<WFO!1_Bqp{8^L5jh-!`?pgeIN zcM<{z9os1ID+-lHf<0d`5nY{UZ>YH`4d<ya(l60ng?GI&;<=QZcb=*sSa$MO><Ie> z0+_^I*_S=i4;?+t*f$)VFZz<8=IVXWPeQ@qqKM#|no=l2@+)8=mmwE9&KZ0p!n21X zAJJ<vG1t3!w$RiB!o$e@(;V4>mn&iIuR)hqauzu;TTvekg<o}YRdAegAm7Y*wcqu= zXyM#x;pW3x<2M3g_R!eNFi|;5FhzoHn=oXv85JuO$u?dacpt~fy~OVRTh;#(ttVo0 z6BieEb8{2vk)8D$)L8ywHt)Zrnf6EfuHzaGSkx%6(zuvdtCTNR9$~xGNRLo=@%;== zne4sEf060lHy&m#C;wuby|?I1m69NbA?t3UhLTbV;dbtWHi9yAeeLOZE!0@}&6^B` z0_NAR<>chNy}gl8xUauI2!zBzLd4<0JQi+lZc$5Zy^|U&0Qd)sp=#slAxr5DijOYU z<fsK1@UXvJPA69zrI=6qzk0(J#-ypNj&W}D_NPAVOJt4esj)cC(<>^1Wk_aoopTw4 z?CtGMO-;qzj{ZHaJwJ~7o;V{*GI!}joVNaS1sOhUP#_t~f2c!6NhvZq`l-eL=5%Lg zhb{5zDC$3Q*u~upuVE5Cn3}bZvUf!1kR_>dqO6&yhzwuPm1u%;YV*g_&6|#YO*JvQ zQU1-4*F<6&Fw$az5rj!;V*tSZ(}r8cb4=(dkLyji`nQ*oeh>d)&LBbwkDZZJ$=i6z zrrVwLZU_e{PUbEdPRJYYYjo-V&^)7DG?IEt-q%Rd(9^3j$M?-IdOC!R3f7#J4$T5w zo7ibqDrq7<@{HF}(MUrm0rVr>me)R&w)s}jcaexQcrLL<?d*glT|sa{JAEy)I)Mpg zxsCyfl!L>m!}GO6Ol0J;*I}7fxn9%$k94*~1=6Gt1S2D(&LJ)Z*U@s*#ok07lFuI= z94Hh{y{~STy@~2|!Y_8k?$W%oVJRU+4<ceg3CGeWBUK0oF0KU2I6gFG-9_9gaU_N} z)V5%2$yk44-F&rESeWH`y#T?p^;4a|Z)s_fla=*ZQ)ME)zdq*cYb-zX%sgz4-jruG zt(xx&dZ9lj(08=bf`q@LPk0=ok!6bWq@^m{K?9|!;@j<a2PGZ%-W~2c%i3rUTK-qh zt$ycQH~yDFM^1hlL%}Z7S<k)x|1LWI5t7kKoDVQ+aTz{EbUX}Ot?0E_Qii^_{>X6d zOMh@~DNAYUvlcU}*M2HzD-=;+U9~gwBik>8jP44Y%e>iq(v|Lj8E|%XhHGki=HZj= zZzPiCf3mQv@?CghW~R>j=EQ^JdSBIF6blvIk=7D9CT_d7C+D-RT_@<A%F#&ph{JFI zS#EGx`~6!@Q89u?*7k8w)$e>ljy_S{?`|sV35l*%VdIj|4_jOLKobv-MmPr-7gza& zHu<pTFSb(V5Cm<%=XwZ5rpHFOgWp9uQelyAeO#Pt7lc66*b>_>3%Gr+YqE|{PCg-7 z6nVsdT3oZh!N*=;rC9j7e)-S*pIzoxi`lMjZhpx7FaYBhew#vmn?2zqF9=_{(C#AR z2y`!Bu6Fo8BdKPVN}=Rck*a>P%Rb@rU&8po{Mkh|j$zGSwo;3H&2dkpB1|L>(E1@6 zgKb%=r-z5|`CldGcxfOW;eS8dva<SWJNwdKHjuemp|`tU6NCDfp#%4=dR%gZ4EAIq zj|?US>L|7X{&SU?xuZeIQRSEpMK8xZDE`CxF;R=ti`grPbK|^R-MJ*%tHppnDJoy* z7RjJw3}~Qbi#oo$avMPCJa_^R=EauAW@K(q<%%toq9ZL%7Ba9%l?R@th%=me)}&Pq z$rwuyE)nEl{}xr~mprjo59de^_$ccxW=H+DO?ytE%fyqfbn_=N|B)XaVqOIo#Md;| z=15Ww`UoeFFrP9aOZtB=&5)K#Qq>wTlMj29vvGK*txC<7yk?KK=u@yn!XOU;!O^i@ z{2Ym|HROU;kzfY)IOd#oQkqi4phfSz5d$kQ?klgq+=Pf*tQ};8mMq|BOmP%x5~uzY z6YMPW{eF#36)SrNK6Bb)_?`_igsK_!N@sWWi|Db374fPPt)>*syRwF|iMFoN1>5;! zPZB5P4D;S;Aae5Ap9<mVl2#8^<yvFfs8_O={^&g6=14m1V&g!jU0PS-44YKhQJ4Oz zM)n)Cq>?(aZeNFEE(V}0P?$6AwQ9o^v29shOpc)A8x6=1Ps2CJnZU0KKn?ggsgbAa z#Hj9UUtzd4JLDtK?3!frRu>G@xUJfercS)AX0u}q&(F?Hvvu>}556lNt5>mfCVpo* zI<_)og%n8(+<9=)u@uCSB-G7SnufS*E=CIU&Hq`t|6B0NVXn57@KrqBof2*M2Z?@@ zs!}<DW)$*(8HJ%fS3xpcb+q|}S$yy}RKAj*7I9I>cBBeLKXHu9p6h0HY#D4^rZ@nA zkt5;g+2$t&%1}3OYaFCTeTXs-08)oXeVUAtCxy3I5HwU<so2#zcNg^$FG9v-->+S0 zqAN$xfs|4CA{O&xh5C?rw0@YgWypNm|DObrfu<k-pKwdM<~Io<w(qLU+o|6@dN$4I zDa(&m__nzm#V*L(wApLHqqas-@$CLc$E(Hv^13p^sEwQU(hYQ7w`Vz&gKCTosQeiX z0_GxBg+W$}dZnBO@$(`CSgdJQHlf^16yBp|ctHTj%?+;qs}rwg__gd>gVj82q>nN9 zr-f~0+Zz1fCP0&%e3;s1SXVds_kRsNYVZEPxA%XPp*TmxNOdYb;12c0_3!$3m0zsb z>}J0AeULPsCL|QopdL#f-Kb;Wiu&{iKdd@#9KTTFS3Nm_eaIw}-UpzjEX~La913G% z(6uiEBXjPYlpAcz?CJ7$z-*9@CC%hfq-Aw8nl$hD)gyVnrrMLW%65%Fk-f4-1F?Ou zimZ~!r9x=7Pvjf$anJ5}4EL!m1ugL!;_r;Ah?m0BUWiGh1<K>pk7xx|F?N|Wsg%#Y zs)chT?ezbj^_e3nE3gcEQXC#K!!f<QeB6XgmQ*fp7MPcw6h|67i|*)X=A46BwT_Lt zO*2MqL+{-7B&1?nqWmQ3Ny{<Dm<DQSSPYRT+F-r+Y`IGz1gI&nng>m$hsXmJ^vnK) zBgzkT_U)JiSXtn#!E<}eD~+&>4vQl5{-ECKmq`7Lo0n*SuadhN|8EWcU#8=KUs4Xc za{W)ak?@+}kazI`PGt|NBhado)5KJUY6$d~*Q5mt6wK!uo7hs@i@(=PU|=Y#1OAGR zjSBlOsP(~=vslq83>FW3TlIG1XNb>Yb1;pP2Hhl5yR!w2>`+ed^V+j27S`Rw`3VKz zX~zd3W+*ScJmCv=cvqss1la#G-$#=5;R3*=Tk_$nO2NP^^B~Wfq4EEw=ZyMQ)Th3v zh-07swA$}~+ra<nNc~7M(jwAo91<^n_=S0H@y6lRqz3#mKiY_%D{WnlNL20)ug>A~ zPeh#lg&_9(e{!TMaCR%Ef?Cu?`4nv|aIo6@I&N0;ymS{v;;2A@nvk;QS&h=q2_-Yp zb}lWSV8Or{GV=Mi4l-3aBFbab`}4dFG)iUN6)L2f0Ge@u&8)gv+jAi}H5PKgs&+Q& z69OaKz<A+ZULfp^DlBuClY;~4ICZr7u_qdTYOs|b62~PfnpWwa{m4$TVvUo(yuPM3 zrCwneW<#)~kLuLC>qfH0CL;@mYQ9@tV3Auu)E+&itQ4tLL$LCfkMN`)KUUR=irBER zpkQjVKknML?~*WUrL2Py?Q4^8q<`Z|6ImKb%X`HC*Q{f*oT!*hDf8#nsn^)}uf9X5 zbSxf6PR9E`n4E_k4uK!xqi>yy*#Jg63kwS%EWzp!Sb`EWGUJr=>pE(5@@Q734%24! zWQmse`x1tXUnLc#FDe|Gf(K;3Kme?eXA8L5@A7KuNMxh3q-#gC;c%%Q`=y3M2rTki z4i7ZDk7y=({9&^$dWFIAACivfHDOD{iTX@;7W1K?E9J&ps5e=L5rrtPLe3((^><(@ zqr1z_q8EayyjWXSHd<5hN|D*1>>|4v?JfTAA6w77X>T$J-L7&3T7<|C!_03NKnz48 z(RtmmP-Rq%I21DoD4&7<3osBHMGe4{Eydph0HDSKenZ&MqmFpdiG!uF0Rw5;#9yR> zf+Mj&04yRzvBdV39MD{5=>tQ!Y_?H83xQ^?5ou%^N=WPgN-R@gCzBcw1o$YR!AZd8 zHP9Kreix68fr<hFqVl3C24X5H6?X}vF8vMa%L8;$nvUDjKx;h~I9@vTQ8MEMBu*^4 zZmK9%V-F?b*a||wzz9-UV>4w)A&PS!ftb|#fh?Qbl?<tfI#N9p7myh<>MJ!8nqXmU znNTJx;1{Yqw5g9TU*e%w5`W{dQ<8!z1S%9e!O2UR6d8SgbY|lMpfmu86#^gY)vH`g z0PmN1EC4wcCJH_ldQc>Y>7E*>COQOW2E%^hlTf3OnRYgb%Km~ZlQJyv>TzC>&Af^< z!7f`|G|G(~Q(m8YIkPhbgWAS^GCvuL=Wg38IT1S%UXD|EhfbIDu9xnWzJ3v9yxqHT z1M&3!Ek_4Szt0vt74Am|mgkhv9^p_4?1Eqh9R8yG%|tegNfnNAKx-#AnkL!o-5L`g zPdqqil5_h<xl*z$0j*=B5#n9TFEWA%HHv(NfPB#J%&#>Q3r9{IbXwGb@?Jc>%#g)6 zb+&f^0(DAs*<O9tkfO+_7*B&`!pqKj6d4I;do69(<Qhivpmj3Rav*-Dtk6-PiSy%0 zI3gTXW-#CHz;=yq>126LMzM*(vQRZzf7SD%Z0vkKHDc<lobH92OZ&fRQ-{dRla{O1 zl_jqr1#pL+h<iK#8;OO<m5lU^71s-6?X)*<+=^`P2c&c)ZWa%5&94Gm9Nq|c32JcO zUq`XvgsWlI7^L&@QQ=_gkrspuSF}s4EpB8=csCa~->lMcI<)fJnC*1tbQMidSg@@I zqO~w{W$atwKA+ge(BJM=(63Apg>FoSQ<Rf#ceM$bzaCfO;Ak)xy>M0(Bc%VhFvXqO z>hW*(MnmB(-N852Hat57p4|PEmmS7<R6e<#Zk_Rrc-jB3tI?VD5xYo~T!mD^HP_31 zOM|EV$?JPUku~p)ruM)micHThNzV4&-dFQ`@f6+g-7))Am+Vvs$2QJX^6Q%6uIR4W z<V^aNhQh~QE!C6b=zHn2C`-dkE9|%46_*r-p6jWptx9PVynUw<zYW>K)W6Q$o6Eu& zATT4m{aBQ#@cH3!$^Gji!$zNnf`zT3s_-{qe8_4iw->j8q;Ed7R(pIpc`|ITu+3)A zP+;i^{~+mmv_05$GEbta3T;|$Yuijrmb*FHqx0R#a%x|#@$Od~_o0tpy3<+dZKV={ zKw+Vjd(>?cR)Nb>)0%blHY!02unhX9Kem9&$J^G{8<H&QcbwmS_QM(a)sIu3+69Yv z#oP(6nxt7fC{JHnDGos{<J4$6jwn91+TYjP+aDh<HC!2Uxu0!#ZvIe4u4<3W-wwVB zBaC?9$cv|1ObqXLwL<Ju>q0RZ7)+spBStPwaIOgWuyRY7DNvZMEzJFfBZ{ttSAZmU z?}WxqwU!ClR<X%wC;f4A@{k7;N~eA)Lsjnx8b!O)rPYO0s=Y%i{Y+LzJ1fV|3esP( zk=T!4nPvJYc|-rLT)(f=qi`d%YBIp1;)Rih;^?*g?LPIfwR>j~{V?e*d-vn@k8fw? z?W?sQHYP9GPffljA^nCKB`)sy3S`GUB&kY<T5@c_>6uJ|h2sNj#U4}RrpdN4OY5pF zrqQ$H=-2LRvsCOmPR6Y(0-}-RF18K90!!p^JYWwx{S|wCduu`C+`Kuo8V%l~f)|9e zbk=!_H6i6n%u}hndv5(_BSrB|zwuUG`p2X#O&I2q_CKA<^9@ALlEzPqIjpS(t^L~} zbffh!#7!8u5^Y%=4DPWj_L?d#?K6F><e0-Hq2Yzf^mf)i%H6xsPeS{G6<7A@z^wg= zGC_6^BROcOGrv1Q>{{0G+&j8_OAh-~P>}tfzxHp;8uRkBzOdd;r}gx|eB8~{u!Qgt zsS?uCQgMW-WABHd1c7=4aM;zg(g0Yf9pA0!TRGA2hGN&+Pc=g-ZI^)Zuk`m$Pp0sO z)}K~$Dm5hjw#THXeW=2!>dA2TjpfJgr#d>s4HR4QLd9D0CbD)M2Y*aygJ@pgoQlsA z;Xay3;Tch;%#WQY2OvG$VZniAC+0$eVgSO(1se(=MTq`&o!S3J$&V@ppG2VY`~fPF z%HheP0V)ZI)IdA9F1v3|4dEkwgsZg9W>uv`u2%dY)CyG{FdPzOT!!~{Vn9?+`wkQ) zZHD_AfBV2<sRAN}K-jUxJ>m{%_$o8fV|D_e=va&-;aEHquFsEXh;3*pFi^^x3+SD0 zdD@;>g){7=57Oi#hsg>BvM1+UW7($vDB+&%&=C4l;ioY0+fnXEggl8g*l|XS!KUnR zY*U_^!zvG5ftTU#YGWq7yyeZbXXD&2o4?fD$hbBDVA20M1)Guy2NRRI>nxXxr2nYA zavh0ZjnbYgStqGEIXQ2AB(lakrV7y!fSzE)6_HrnH<KMR-c)%eggoGG<mR%`|GfEL zGA4wYG{8?zK;9RmdKruoV#GYFNF5r_z*K)&+Lvq8>q{iq{b#|;F6jfbVEXs(-(shm zIutt%eWm*BS|q-#48fR$4ZTl~6C)vC46sdocBQ2-F)?94j@sYEy#!j##s=|k*zF** zgvkDDv>B~p%xyGC_?2kIVbKBzd!`*HF)-g#tUi?UBLdL@jR9(SE`lwScs)M}(&@Nq zWJfz5ZBn_H?vapf*hiXVoc2_`dv#1%#0W1kkVUAwW%TRJnpN>LZ^5*MHnju3&9FTN zV8X>1qw=g&b*_J;o@-rKJuA&3$gc{q7qqq~xr}O5vcr#Emq`Id;ydz)w<R^J!I&%@ zfaqQmHy3`i>x4>e#H{9f>m&`fI#zXI{@~`$U+&MtlmICO5izlJd8Q){Bpv-_gJZ*d z48cRjosc;N$Wu%k**>QxJ+9=koVNc)fdi)fCT|_3-ow{fO_4Y|fsR!<P=7-ZSAZsW z=EJB=8%L>L8VVA-<LZ%(nOKvT3a6nX&#-Lit)ZpGHf+e)0DFo>XIgn0341bgS9xXH zmqm}tyj&4&Mhf;HvQ<N$YbT<bJ{NKKn7lxKVA)qs`Kry@CGQi6f%`3kI*b%OFzS^Z z)_>fU$D*M1_1sJTX6vMqX@;LRBB-^qhm2C3r)+U+F~m@L*0Ntn(qfX8w)ycAgmY|% zB)ui@%{8N&Q+yPnkCdSccC&82G6+rhwv))q7&!ro1obApv5Qt&p;7f$X&OV@)#_}; z8zhfwUTqHIuwY~o!9-HewO^i84~zj^Fs&oE3C8P|6&g~1MNM6PhyzYg*ReHK;vl#E z52Swqb?O99x0KcV)mH#Ey+RCe&bP^ac<)eKOb>E%Tl27aQ&CG07)XRdNkvH{&0w>W zNLoAaEgwZ0`p&}7xh@ERHy{rn4q!sT4z`gNA~(V!MZ>C`G*HaX$%R8JWp6A@Mm@2n z!w0LoAbdMGy}?fJ_I}Uh2ivBg+jL{qk+2&vp>S2w7u8q|Y1iNxS)ik%qsn5kV(|P` z5d35T0ur+*9Q~&=NFuBN8|mFYtFf%$Xe`H3d~zyM=SU85GReg44A>LR)c7T>ZlITq z4gy@Zrqnp4^adb)UFm@XsPu$(aK?6>$Yc~)$6W)p<r5=4qc`F9NCxEhX{%z@dn<f` z9d}o5*QeR(S}7oaZDJ?&f~2O*-rnj<YAQR_btLn4kfdUKrPet%oNRJiakJfp7RH*t z1>*Ozu+i+%)uC+_<~i{UXD6XBFP6a^p1Qb&$-N*YAIp*yYt#62xJP>G=*k??>y($B z>1BRIA$hSD-8j5kSpGfpJGYrLRFuNN_l;qwV!U(X-@ZfzAFbWD{2zA5TDsme6pH(t z(0920NNIGvss9jB(<ZdC%JY0cV);5m;gy&d=0=w-h2;w`u|aEmuGYJM!xSXP;p;_# zO?veZ5puhh$KUPxy~Oi9QRETZyHfHRP(X1?2_-GTP~vUXoS}rs+RU6b$4-Q~$Fnb? z6+GAD)c&+hAR|^*rnzNlB4l5I@}`F`=Gl>WX<=~rrt3!L6Y`VW2tx5o?$b8c-N|1X ztQ2N$M{W0e%6!RvNluAlU2z${`jLI*<;cLwc$lzP<!;fbKQbV_{w(InQxR;dM0vW{ z?*7vid`Nid-e<})Y80vd>0#rLdu)r1AQ<yohW+40UZMN(0-w8eyLY8(bC0xquKCZ7 z(<+CDm8t&mcidx8ks)l~6`JINqn-u!3!Yav!(_&)@c-V2q4_Y`lREV(ZobZWV4RbB zz0u$cn==J-(!Kkq3m1?Hk3PZol(f|EcKge-X<w6_r#7{A#KPQ?`eQOux(uH>GZdTj z7}k^6M2X@l#<EWL=u||lI<cS)uM*!}ExQ{w^H-N$^v<c$w;i^7M;~3GaRz_XMauO! zaCjJl`z3`PTRV3?)QACfy+?olULwzk0lCl=eV7J;ga)f;9#(Pb3p<Y;uT9Wt;mP-? z=Yo;8PV{d$GC3K65;sy%<-DN&n@?Ey_sV`U`)pLNN!0`G!!rlToAUt@Far6}`YV^W za2GRU7jsclCv)Tuzzg9K;)IBBLIgB;ctm*xM0t7GArMgrB!}Pf{(n`lcQCWI@ch45 V_-(x=hpYg2_f`c~4mJAn{{Xxi@Oc0L diff --git a/supporting-docs/projects/images/koma-preview.png b/supporting-docs/projects/images/koma-preview.png deleted file mode 100644 index a1d723e02a6c8d569ce38fa055a2dcaa6536aa10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54047 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 CM3O52 diff --git a/supporting-docs/projects/images/matrix-console-android-2016-02-16-cropped.png b/supporting-docs/projects/images/matrix-console-android-2016-02-16-cropped.png deleted file mode 100644 index c293a26d16f0aa768666e4e6f88a8dc94ecdc781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12077 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 diff --git a/supporting-docs/projects/images/matrix-console-android-2016-02-16-large.png b/supporting-docs/projects/images/matrix-console-android-2016-02-16-large.png deleted file mode 100644 index e1282584a24cae8d714f00519cc6aa4c5f49d8b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141463 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 #Qb#1D2^n-Jy9LeHg+f-I(K5RO) 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ℑ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Μn6u=WXk`39Bw? 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 Re3u7b2Kpv?MY;}A{{^EVpNIee diff --git a/supporting-docs/projects/images/matrix-console-android-2016-02-16-small.png b/supporting-docs/projects/images/matrix-console-android-2016-02-16-small.png deleted file mode 100644 index 2d89b7175fc5836f8f21534e86f9df2ec15b76f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14616 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 MNkxfbapRBw4{2bt4gdfE diff --git a/supporting-docs/projects/images/matrix-console-ios-2016-02-16-cropped.png b/supporting-docs/projects/images/matrix-console-ios-2016-02-16-cropped.png deleted file mode 100644 index 24ac269571c53798ff87ac22a9effb3d0eeb25d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15252 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 diff --git a/supporting-docs/projects/images/matrix-console-ios-2016-02-16-large.png b/supporting-docs/projects/images/matrix-console-ios-2016-02-16-large.png deleted file mode 100644 index 8da09f9ae63e4af0769b8e14fa0f43f816017d3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116080 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 diff --git a/supporting-docs/projects/images/matrix-console-ios-2016-02-16-small.png b/supporting-docs/projects/images/matrix-console-ios-2016-02-16-small.png deleted file mode 100644 index 9e9740374c84a8fd837ab06a1040565ffe4c3a46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17866 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 b4YJh*l6)SDH81?s6(l)nWvLR0SN{JGAZSUi diff --git a/supporting-docs/projects/images/matrix-rocketchat.png b/supporting-docs/projects/images/matrix-rocketchat.png deleted file mode 100644 index 9779e3c3e733b91839c56c18393fbcd00f30fdd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205787 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%0A6Brm+`nh}Feuy7dq1W#J5Ec8G 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 BHZ1@E diff --git a/supporting-docs/projects/images/matrixclient.png b/supporting-docs/projects/images/matrixclient.png deleted file mode 100644 index 4ebc3a353e9d98ddca83a09b1d798c7d529b98f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305661 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 Adg&ReuNks_{++@pnGzS@Y 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 B5mx{J diff --git a/supporting-docs/projects/images/morpheus.png b/supporting-docs/projects/images/morpheus.png deleted file mode 100644 index d70ba838121d8fa833ff4388ff3ac07739284c69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27507 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 diff --git a/supporting-docs/projects/images/nachat005-150.jpg b/supporting-docs/projects/images/nachat005-150.jpg deleted file mode 100644 index e73b5dfac353367d4dd581a80d45cf6af32b42a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12517 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 diff --git a/supporting-docs/projects/images/nachat005.jpg b/supporting-docs/projects/images/nachat005.jpg deleted file mode 100644 index f978515fbf0e9b93377074beb4ecd32a990bd22e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201101 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 PpI_%pk9QW+{9gJWuuV|s diff --git a/supporting-docs/projects/images/pto.png b/supporting-docs/projects/images/pto.png deleted file mode 100644 index a49e54f904c2ad83edfb3337e8bfb96159800f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12611 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ïaPECl^sz0*NHk1rbi=G(9K2r<1pO z;8qwZjY>i$WYMg<t`HVdE?zZK7RhpT8Q{PUv@S11fO$$46P8+o6#}PXs;t5y977MG z;6fxRNz}!F1gC0BOOhI`CZDzdTPt=cqe+S~jfydgWDyd~O40zUs;@8#wG7CN7);&B z=<dhqmvtJ6uxg5tSptX15;+P<;N%vHut*OugDF9wDZKxPN#u_ectTy%(Ls>z3@wY0 zXxf3+O#`wDnZS9#8@ukd>y@x^C=;VWA}&Uf$jOF<NE*{C3Com|WHmD*XpbM+lB~yz z%2PF_CQ6SIy{CaBA`fiAeAO%`m%}`mO_`X;y6Iq_wOb@f6Gn=`Nu(%F14T)@dtpLi zfU<U}>a9l7jmo%^l2ITCqCg{A=+;4NN{m!B6Zp)`!+BCx?iOtMthvbD*ekLKi?BxO z%2q1<>(-cTJ?Tw|5K?}WV1ZQ4ge9s5)>5+oDcOQ*!M*~hvIjANLFDtsLNZ!+G@&YB z%d)kl0H1)hGfm#UrWKPWku|E6&_G!g8cZwX3pTIp0QOnC1(Bo-p&%$(w<327uqR1| zk--wbVPYCtlatbo4MZX|SXQvh72b2%VN=r-y4{J6w=jF+3e&p$9|?EqKvfNpNK$gv zF|9(QWs$V-9HpDv+=`B$4kyzLBw{RN$|i|YAq^@45};N1;OSXOAb-59osxn`49Y4h z0*OwNlNmUx_^rqE^n#a~ic`8A0`2aehlDNIo^J5cbU`whg4LO%z-|k+XCN@A-gHPc zW7fN-w{D%MomDX-31n(pusu_L3J8`4yKceuEQ;OMe8Fc^^0r`mCeIdZTd-}NE!eis l7HnIvZJjOHw$9_7{~!477t!*fCS3pk002ovPDHLkV1gpBTiO5s diff --git a/supporting-docs/projects/images/riot-web-featured.png b/supporting-docs/projects/images/riot-web-featured.png deleted file mode 100644 index 2967376c0bb62d9f3f181b093784db37dd6be30d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47871 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 diff --git a/supporting-docs/projects/images/riot-web-large.png b/supporting-docs/projects/images/riot-web-large.png deleted file mode 100644 index 4fcadda09d965c872a50a4d97ff64c483b89dffb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623569 zcmagG1yodRzdj5iAT1!>pn!CDDbn5D0@B^3Af1AAgS51CONqpQG(&fH=l|xs=Y4$6 zTHjh9u2Gqpy=U)x|LTf8p^EYnXvl=fFfcG^Qj+hKVPN1rVPKxZJwpJ`Ok2k_gMSc= zWhCCgJUsr%YAJ{V&mh@LYB|Bcpr?U{3v382kvn)2(OF7P3~>n-6$1+{0vZbiPZ2na zX*!GA+1QxcI>U%Mni@Hqz9)CHaQ;9pAtk4%@d+Id28J9)>fIYv_nF-}kF*zO$(Kh8 zY6k41P78RQtg}?XAD^K+24rO^!7}Htn%yPiM-r72r$+Xf$;ons60TH!+4X$o9>@@; zi|mN><ma!*c6+kU_O!WCy*WL#Hes{;<Xo?OFEf!Z8+V?Z<9d2}XQfV?1(}|$<e#6v zeMa&B`Pbz!t-<j|;J;rVW9Pqqv-ZSC{NJ0rTg^efrrR*mMtX|!uRXnk4wR+IZ*_4< ze=Yy_PL`F;#jhG$jzn%cH1pCOkg*nV{&fT)9|DmNQ*4^aY>9_m6}fa_G%St;X6q#r z{<Y`N&lCOalbg)KH<o$=Q!!vBo)L|(WkDz4-kM({|Lc8Sd1a>0xyN$1ejsCxZAE^& zw_S0n=~J{Yq3zKB*V{gSU{sBn{9qy(XOwD6^49b;2>F<6a7s;7fZ+%Fc@X{D|5>BN z6h*D($TxZ|OAT*)1ZphoHL_jI>`E9GB&E5Z!qv5Sp8bKzhcsf#V!y}}6^-r{Z7;~y zE}gRG`p(5)oMV_oEl&PX_<4JQ$DwD7<_k#~nQq$}B`p;>k>J&_AM%XCv%{a&%LQF* zXUnuX$`LzRI<0jGejhI57l--JEs+aRd`aRlzY8rb9*nw4C^w}QCHSov#P&5C_22)U zs_E=LXhjgQu(0qIRn)LM`XHOZnIgaqMOhB=n)~rS0J#tx=P`_I(^V=7x{iigTAr6L z*OtXr{VdaO`9!DM9IWWx@HyMgtq7`)t(Wxd>CI`@$||t|C0RrW<!v<|cbjc#r6;M8 zQ_W8H-f!~7<CxR_8eGobDHy5tf<+J3^L2ZU$0>KB<hjX$GOzP9JC{aE4)RV(O;ydt zmqPI+rolh)v+S+q$TSR1b?TTCiIW)3Dj!*eHInA}kvIbV@giVm8ixfn;G==bK4Y~- zhN-u_oE(~|sVUkg4Qx?v|2LXyYN3%XSv!2{B{ltA)}!R*7AZ;jQZ_c60SM<y^G&uA zClg8=WgUBLYqT%$IK`AU6H>c#g)f<yn{VlwF32cZc{wljO+HR?$RVBojhr;U$~2Vy z+FiI(i_qYn%kP-B;!FN@jO<=&jkLo=*efuyvT;EYC+KUcYGRWvsGaRBsIsHaTFq0a zS<w-LvfZW=tO-_atPA!}9542&kKA=Hy|qgs3@Dhy^DUN7EZhZ{_8WG%o(M5}wv!38 zil$@yjsNB5&|IM@A~+rx{<FRY_3axmtBC%f;;vy?oerJAiS!DWFbn)H9%JojZiwKn zEB_#WrWK!_XqE<dqjxwLn)7&rUIc+4R*BlH#f$zW>Q>h$zQSB3zsGYWmR-k<@jZVT zmjBIXp7OWwo;Dm9r?nBIL1RDe-_(1y=p~Fm3rl%o2hFIcsd39Eu{{S(Ozbrp8VgCx zN+yGh7K=;GbdTac=-W*}Y<14yp+Ykf>FX4};!IMxY^*H^VPYLQ#owlk`?%9qr(;*` zaSWtVCi_1-bTjBQAeehoh8brSTUNXmZ9nK;DdK1TWB^~GSvs|cZtYs+!}#Aa6e6R} za0WY<zeY&7a}-nzDH#?J<+^Nad0Qt()twMkt3K%>;9}dH!552-J(Di<>Q!JIjVPk0 z4HuDbCPo`%vIs`0u(25|_JxIWe;*|cf82I)SWKp%)Av}pg98z6XW6-~mcyrgEh?1- zy@uClsxJhJ`)q4cEagnHsIalI;fp-zTKR5$$r`4UU#yy{?3`hh^cZm!_3sopv736c zS`_td&~-SEuw?Cg&E)Mr*SjfnXb5rY=|{)>@1^X@qfKx^s-+&}H?8Jqwk6C(OZ|dJ zHw>+s7j3fWSlavqQ#L~w@iDq1APj%F9AmC&t?s6wtLq&d9o_Jc34$6?CL&2?<0nn$ z`<;90A<+t5mepe8W%dMN;H+H79am0wjx3g{J@m}yXoLKX)s((dd)j;y$qQnnM;JB7 zVnIbM56Yqa%Ijh*5Pw=#;9ML~qE&5YGPIkT%x<opNFugEE!(j(UcX!QY2c<m9Mflg zNrH4E?u^L3Y0jE{nxSA>Y^cDa!R*h|d$;>09%5EnIW|wZc4IYOpT=gHfaWB_N^Qxo zX!AeyO5gR`lB?C2jEzl9ga4+r@+kgui-AQn7~dIY=rG+TRNdS<oo;UN;)<5vBVt5D zcgW=78fH=<Q#w;$uu_W(<+qus=?Gt~wQ;rf)?`x*k-2Pcp#sI4Db3;7xY%r&B8UaD zpfc>?=7@T4`(NZvR1!u{q=O<w0>!ib1lLFqPuMyn>654`;^5>OWn8+TCy!sE30lWo z?0fC!xh+t7UNA0Kb#yk^u1DT3{Jcn&bAkxEIbBusQ|UwOW;uf09*!Wc1vhgl3S211 z_uw7LPCL2?7$k4nU;}jI9&R2y!!{mnzo+>dV5h8`u7+f9`jR!0wsS-*UK!SC^E&Rn z3@aXsw%UANNgwn{<fC?7c*-_m5C+Lh64HMP%d)a*feVc_BfqiL41vzn=h<`ry1gNC z;>41mo$}P4OI8h|YHe0j>`s<ccy*{}S65d|M#lX2+}i8lP@_%!#*TL1mShfF)Od3R zi5D-CaaL`vo6Cl}$GfR2HC0imyo2q;o2B=C;G|m0h>F;ozBnlu7#ovZp22+j7?ne$ zi3UftNV9mJldWRp3AKjmxeb{@${<<~eRQ_BJ!b;fQ_<6P4<d(mTci1Z3fz`FgsYTe z;~I8S-43UygujmNQl6Z$`x!5Jg=<F|T+UNw_^vBtN1JxG8!I(j7k?RR(8EXjqz}_H z*Kr>ZT&ZJowqd$*1q~D(+z@4zJ9c7+-a3f=jSs70iw!HTw}|ekJsUdnLi5Y(t{ zII>#*G98ZTp8U0Op`@)nV@6)1WNAs)*VhL_%<uYDEF5>qu^|QC+o_uE_3m^!pIa~A z2NZ-vv;aO0#+5LMT#Jla;Z^R6JRZp#aX001=Jt%|0sVRs+TK_eMN(t0x)v2=Ud1Fw zF>@k$HDi~z?U5(s&}x>dV=b>-ozJ;t(;|DF?;^DdTb<i9pH1+0OqxS7)(reEX>-d6 z`!|;z1kNuN3X6*o7BwEOh*~d=$=dGb$dY(G2r&dM%Q5YuD@}Us=Uhhn2K(c|a*dW~ zFi(`}P44n|?3B7`Ho203ri*;TD|f<TF*|-{s*XyPG+v_3@F6Aox3)&2`6(AkqoB)+ zbK3Tec#*$lnu(XO+MS3@3EqRqd@KWfe6vQAVQj2kN=n|cRiq@o#p~kmbky&quyCe+ zi>H#}aQeW2Y;0_7NOZKsD92FR>y6Ek+}-(>U`8FG&W#g?LC#T0$&dn8TU}ueNg1i7 z_a0)Ydr0v|P@W+UR8aD!35uMVf8`b*TSJN7sj<Kz1ocLL3eBPG>Y3(kJ>Y1i(noFy z{x#PU+<t`Zj)1l}HmE{g&HaJ;onr3Aome=lT-^QLO>p{p2bqAZu`y+TLUVK((e2@v zUiZ}zvZG@I{lx{}Ybq|k+CaOZmh@D+>!38I#E>0x{ou(JqZ4x-|CPtrFgt@C?gn;# z`VJkOjO2O=O($=;b7B;4zf*egA{;(-up_&(x87RB&O4>N-|8$!q@9fX)vM$we16zA z;q4UYf2;84=XjL~9dr4x^9h`u(D#w{pOh}h*JUN&57O);^WLT4vMVPE-D&qkk@QNC z`TR=Zv~s`Ms|z@&+pYNS_i#Uu!kL<rL+LF<mT&RHGDYLWNQu!1`o}D$j-q;4O{a4p zwLE<D+#&9oD}_$8G7E~P+oY>1&=y}rw2(jS^87{MrIgBH%e7F32HxV$IP>DRgVDy- zy3WDjeGbN<XY-}EP=?3#g^>&=F|X%W1#Vm8vtF{;q@-u<3cjcKqvcJXMhp7;1_okO zR<XvXv<yrt+`0~pFkKc4EcEjg2p~Ilj9p71Vl{<H`Jr=5i@%QIP<IVNLOsg5-0(02 zNihNik*8`7$d9l#|CzA6@^Vd!f+Q`EYqvwtej<9tKkMbp^=PTr;~Z<4gYj-`@bBt+ z+JhS{ZgK1|%HhD5uIqP)_V`d$Q*%6Aq@bf4T6S#$&wnd0AFeis7?M{XIWcYp4GGU1 zyme7~HLe!l#hcE9jpe{&OgR%9nO<?l$xIb&5QW>Zw-Q!lNJm|qvxs&XQrF|~e$cmU z`VtpTH@NVLvhN|eg`al{cHKe{--BGN?;*ZR`9Q#%#K5$TGxqY8Y%&26F)?_B`|G;f zy@Qiv*TJtbB=zY69>^u*(zdqp_PTH0)Lmc5r^kwvhor2Zv01J@yT6`EJ>#rE!x2+b zQo{+J8!A#+`&K}mS%*H_tRLxb%WFMXNo4N*b}9<xFFa{A`)Rr-u4mLS6JP4sWSPWk z!xj*ZfY1wXwTRV7#UZ97DJ^ZbIh;+gF@1TZ=&V<epC4qW%a7AJtn?xfE;y>9=)DBX zFcDK~T_qE9zEnDNaPv#2!_@c7X3rb?;<3cYiX!#pJ=foi$alBFubs*A#g+Q5MytCZ z$pK4_*_J}L>hw{Kd<+nw;QK^8(IGZ2u7rpPXEwG!SDj?O{j0AhkNr><Hi)<ftT}Du z<+(toi7Sx*5|@tF{w23}d%?=RR61)n_H;t$;AuZ+d&9u|d6g%cXs=N<o7ou7*WFwH z&)?oF?m#e8se*hEG2$}g0yhN4M>yrM;R9_Ov{Y3mF|mp0`Bna@(~15GuL!j#)@^ug zG%cT^ge9>HeF-FE$SclY*JY_mM{Um^4fNtjS0Ck|qo?O}-Ni>lC(dfV<?wC8=wvA@ zD>AyvX9Upz)z$CBmThN2n=K=xj%uRIsX{{|>+b5xDclVDWKsD?g+B_ZP#x#uPhMIQ z52nf}OR4%-5t#DgpZSBBgTjoQ@m{Syc#!)o$kQjE)DQ5ScY1!&iyy9*`^nhYFsiAI z->w%eu-eX!cUaFy44_J5kVahp`r|?(H|pO%&VeR3y85;08H2Z-63Z`s^C5=yf#mLx zrOv6_X<Xday23e#RZ61N3dH5NSrP)ZVYPNq$%*2MW9H<!mjJ1!3v>HUQC#}#zq6@a zK{eNSnRO%;H9`|r0z3*{HW6Qt(GP-lLGMcz&@pT{=MOHppR$zjIIW}7C}gbu`qH^O z+Yk^>uc545g;NKeV-ds;k`kHJYBFN4bU4~eu;J0joNO<!_(n~mG?mLQWbhtVPOY>p zuccL;c?t(52pRz2{`BJJ0Gr1Zm6IAF!ih6bE>n2f=Bl)5|66Tsg4?{_^W!`7jC(=c z@t><jldO9)$=|+xJ8UZOCGmckKk!b)NGvy;3K^L_D?NDEJnOcgCo+;{<b7~Y2Edb8 zK#&s02Yeiyc*jPc?)ZcRHZxg=>fJeBCo@(vS=PL~yglFfjnPfLskk3w@4Zv-L?;6{ zD@j-@i3J={OU6CtXAUk9B^6{kEY*-M@2W)q$tH)_A5vPNj`;CR(K9b!zH%zQWgz0V zTl<aKIg{qv9Tu%wYfa$b;IO*78WS7)7X0|k>2?|(E_Qs^Yf4B-A+)r#d|X19i+L}* z5|6#97L2-e8s1loyT>VJCxmEk)<D;<woQs!55G-t9_3(_h3o!)P$6AOI~9gtT+Pr8 zr>Tn5ZPs~uvoq?ahErl;?8@B!jJ53{`C_58r@NPb`gE&tamQ``-mCh8o$Zgub#xmF zv}dU^xYD`L%ce|1Ss6>=c3I<eXEG5l!w;7{35jqh+V|GZdiF>1*RL;l(b|kjuRGu< zdJTk68bdagPCSx@OeyW|oG_!3rh-i7Kyh9=99co#oxEu-3&_9P9B=su7aaY?P$o8= z?w@!nZ(=HG^VI)yl7<w@pmW43*yu*ZF6h1J0v5viaw!-;sAD8og4c0X@~~xWOtmLE zvmMOvJTBWWa34FNxT7OmLxTst9GfXbUA@v~!?w!l1ZtyGZCGx*cs8cwy%rME&n4p1 zfGDQ+ED53biF$dE-|u%{+gc+}eklnQBZv9NrbS>8g%{ECpapF6Z}{d#<pe%>(`-X- z*C*RzM-QxIN1Jth#^al>FWiRVU{%MTglR3j){$k%JeciVOGInmI7v@j^AaTWyr4DQ z$Y7R~{Q9r)<=wZj6IPYf!60^uQ1}BMz<m^!TM#X?zW=3&jDmvn^ob?|?ss+i;^Leg zzLnl+38feN^(IWbybT{xf))<UuTQs<)*E7<--~=y;PMrBv?NTBw57L;9ejjhj+ctW z=tMzf63xEy-RO;<j98Dd112S8&6ws5Zux63-Hq>jWfQ}HXWru9RS$l9`lQ}2J-`9V z=-3rn&LKJ(8d}M|9oAn|;)K{=j-M~(?fs+xqI%fZ!#GyIt*8ng-u)*JLrkrxtW@mF z(9?gynj*(oFq6I9!ArBo6%M<sm2UMWEa$M3OlUxcxkXY+3JC@T^{hj$ZllXikP$u) zG5UVP2B~}+&!;(CDn`Z@iqtwG_KWJ+J;Tc72!#)v4+$g<oIW=AXXzDk8TKx!)6LY> zuM;#IcjTiqcSMx>MojvUHIJeju^yTe?FBBLB*>-m-i+BPDYK3E9-9o<4aVon>Av6? z>|aGPnZBIf=%RUPjE{g@bI+aqZB-SZWTClcoXiD8YG)VO3CrrZlmrU?zXK8_vL5Ls zr(E3jZ)Ak?Ju$5-f(e_;uR?)>ef@ptyrrXCt4qOTZ%(cXi%MT{zCsGOTx$RHC#d~< zXj$reQ&U(&e7?w|nOquq$8A~oqOIh;+CFPZDlS><QI=s2=1?U0>+^jn7d5f2odS-p zgPSG_1sG!+@3`l}0uZzBE>1XF;Ug(5D45WN2Kztywn)j^FQ2)GL^|aVA_NuZJYlVL zn6f@MgeM3ri#(+Z^B*^hBl*kRVFof`oT_W6DUOxL6k+!oB~e>V+Pz;wl&SaHFP*YE zkI7VeQK7A>92eLASwy6F$$s&~!YFYC<LT577b2<GTQ;=?7BSrTyPVFJ#dP&P6KI!r zLcGYIKX~|F`3y9>(%CgPz(~lV24x#7y^!5rX~Hc5vxGm!-vc;W+g8k)+!$p+g%f=K zfooo6gIZ{!<8w(k($j6Ld0Yctf54kf*i8MJDiN1xMs1plDkEAVvaQ6zGbv~+rhGq* z@Zs4p;l}n=N`5G$KuJeW?4h+KiKi@y&n=P|{_T$}4?)>vo+vOGnn7BXvEq~~_=yXP z^Rzx{D5)Wx{(~#uzWeoOSYrAr>$7{AqJfJ@w$O8H_}!1W8s+-EutB=KQ6l6YNe>O2 ziK^WoPr@YhIxZ`_Kg>6BRR;yuf1Tb#CuVi{u2~ZltzNeNZdz-a_HS^c8&=L#XqS55 zZ_&X>%gB%+&VDReQi85F5FNr0F2X%Q!@%a54Atta5G81tlqcwo=|?bh;|YmwskgMC zF8H=|apTZr#p0|N#YFM*@QUM!=f@)rgYK`PD}}}Xr$$Ij@49l7i|gr;a1Uyaubmty zX1V?TTmq`i3$>O_|2(YkSd@-IWh<^y9@zgZf5;H><y~Ph=o_~l$$r64T0F@W4NlbA zjQ?ip=jS<k`4(J6uAElpgs+%jK?GTr9(<Om4f@N1h4>@k2g#E^hY5Y1p`kwgl#*CX zsY2TZbnLj5UWLVzoA<f@j6-ijLZ+=<k53$5)6r2rKa_d0<?-^9KIZ*m#mrQlov=`5 zwB7uf4KaGK^^1QF^BE?q+~`!L2_k5ur`zKwZ7;DhxQnfyV4g23s##iECHc;wVXgi% zp?`j^<itaaO2`rNyO>T@?d_M1IP1A`f=(75&)cVJ<KyX>$vK8fYP+sY)|!7mV}!!B zi6p$(pHfgHT|v1q8-*ahZ<>&K4TscH(Dw-}T&mhD)_Hk(OJXF4TBe7!oaO3x!>25; z628Lci5k_nE939Y&DdO)-K*Hx`2_6XSD(K4R}d7?I=}qAdf_>Jda1zM<SsR3@uxib zcgVsWg3dsmk3{2B&!!Mz!wL&G0{-a6Ln7B(*kRT;uuaR99S%YLUNoa^I&5LZRTq++ z>Lt<-{;Tqg7sCd=;@YlE@oH+s+pIyqf3yy?9#NxzB{jV2ElK9sw{)yx<M%|!k<8Ng zyYw*m7FC8FPh9tA#OiF}L4DoREd3IQw__qZ(w%&(&zvcIj_t{$C9Om>I?kxqvk~?) zX5s!i7X4g*Sfo6Mwy^lsrS>Eop7%60H8L__X|<UB8jX&l$Me#P)%t$_?l7M^+@uad z!o?xR#f~lsy5LIt*0a`aRClyp1*bd0953X7q{)zg&I~oKj7iJroe&{ZtJIRs<cb$+ z@rp~1A1cVSUGKypWB1v9`DgSGU&RQe@ZI^r0_6H^=QTZjZdqAWeLYWARTVy`<qMzd z(=YVd|HNRIN3Fw(xU{tNu#4d84Q_Z~wrDV$<LWQ;!G~X8sH~@}0)t6CL%0{b<K~(! zSUwD!V*02f-D4;BklW42=5^Ju+Yrapy?>o4iihA8kKVn@^uD<|4+VEq?FA0Y)u<Ds z+H;W4Y|fjiZXnsELtS5uad)OARfR_3OKPIbgYR7<!&H+8#3Cwfyy5ycEPfbHod!)7 zk?Q1Cq3aE=(jHBB@;muA3@8(O6o#8G3rv?Cn~tu$0XyZ)<212>QL)@^VTq_<Hc{%f z7*c6$Y#d$5W_tV%mr?)ct=mJi*M4*QR8kTxhB>9>WQL&E<IsmqBma_~9tG4x$VTq> z?-AYMc)2@#cQ+SyZbH$1$Itv0Zulhjg~r#N>7z>xPqrcj_;w{QBio)^T3KD)9r!`& z+U{(Sk&%B!p{!}NUE{P}4cgf^=qfQfb%)_t&(?n-yDPjq+uLO0tC}}RsGX_uxp7Tk z(E6DhEri@2&fNMdhC&oy(DPKoGriH6pF#Uah+HbyQ5Uwt=QQ7?pMj4Hu9PdzYBTfW zdM6Ch8>b*Ny<f$~##aAuf1}mt{2E$ogJQcN`B~dm<;#%MN>8NsVF#l3!_5MXprBy! z!|mg*6bseU*0-kx!h6H#!Vb$%cP7g>4wpLX=WH2pQMR_WPPaybzfegmJM%$p+<>g% zciBmnB;dhj(i0JCc~zoOZZ??0sZ`fiy2t9auj_fSKexn1Cg2{UAawQFq&I5m<VsRj z_M6>8YXk{DSG^z;H6jM->gCaj(q3xRKHh&SLr#rpe}dunou-95+v*E__a%5|J@cK3 zQWEsj{e`y7{kf*NjEtf7PjJ&UR_3dp=4qw5FI%*`-pq>+2DB&`hqIwi#C97mrMo?J z{EpVZmbx6yDW0|OM5R_pdCoQL+o~5MVrLR_v1NWgFr?SiH#lfCIO8(QW<CM0qcqA< zR8&O4%^kd5Y<a#r2YuBsfBc(|Ygb6Ld|z<NY4L@Z42Fu<7UlC{DS5}(_&BjQw&>=% zu+Amv{Sv5RN;tp!>4%HyMmP+7-fW}azFi#W5K<rvaT$JU+qA-^tfI`L;=xzn8iqV6 z*A_HxCA8G`u)(?Cx}uJSjh!>?gbD9CS*F+D6^b1i9la5Vr~fRf?PQ2QnZ@Xd)nr*D zka3Elqstcq_aHUMn?Xc=6uWaxcm<<Ub+&Ue#CXzXX4G(q=n<aD^y=Ri8#Xe+X@{XB zrq1tM+8AtV*1%o?W`TMB>?x1Wwe#VbhDZ9)h0xK>9q1X@CF8%(_n^sqE_B7k#x>et zRF|)|z+=*t1ZbvuF`;v$(m=A4@uHsvY>I`IVt~g#lMqS7UFCjc{O8Y~`sFZsFhWv1 ze`bGs=^%7>ssh?BH~_Dqook+Sc@Tq*&R*}$&E4F6K|q;r{mENhTVu8O^KyB4nU<b@ zWmG}f6rA|1%cPzX{AL?6*m}C&!9?}b{Lp`cf)Yn6qMs!K9pbmp>Z9wb<zrY^SQz56 zGlBW+DJ9*)bBnE@Yx0BWTp)sOZyO$@)MUn_rD2U+bbVZa(Ci4C9)Alpn7J1|_%z=` zeo*b_339qE%j;tQ^3FFbT*6=&M@==5bgoH7Peo2$oqBC;ZTD^&<@#(7T4Z?e37eCc z@uKSB7jD%u2g0}Hmm8WDP=+zj9a_eP-ibJxE%hnHHY}Ose)0+1j`CF6Pk_2^6YUpr zs`bavD5LZpbMZcjf)2}(__a@36Y60Y*32aF7%{*Kw(FqWM_a_vd`V0t(L$)i(h@(| z8Z8J74P6@7Fj&hDCZ%L$#r$Y+f1Eh$d$X4&<a2H1M={sp#qD!*Zd2RxHquIZl!F)@ z5kO65@Hp_WS-8>`_u9EMJqQp77#`JZBOyNC2w!|k#LjEy#THpb`LgQ=3rL3Ghm;<W z%396ttTz`21t1>_i)XfjKLM)xOH9o0D`EW4I{S&)6%`dSPa-9vNllNIyHW93K5A8) zao#Aj4`+)eb68;M)Y%Fi?67-Z+6ToLxxD$W7XX9oKF=<?$EM19nhgP+_}A`qbwKYb z$X5ck_s^JHPO<FT?zk@I+!iKlNxfIja;k6g=%JMVgDjay<l>GR-@3SP_C{wKp6^bJ z_$X`Xrp1BtWi@R7=qg-J`(^wYqsM9QDs!aJFKD3!AQ!9sHploDoL3^fCtk`l3S!el zAPz9wWM)o29C4!^@6WVwCmFeptK~K<T@wJl5YJi+O^-%cm~5^7@q-8m2)-sJo^<0G z4A)_I%(IUZlDaWsBfk2>PZL-_rD;rz{+)|Hi8^u8Lrcjqj5#VTD@#M+Nxr`U_p?oe z33P-+g*1Wg*fkLUGAjwGc3lNGia2>vH;_Rf&suI5H<%p*@}UP&M)>{ASg3P<f8=Jk z%gfQHPhg*Xy2c`AWba66#VaB)uR9suKB&GrrFKkjm=(T!vrl$Q4uetd6C!Nqh43+H zV+WeBGqBS0Q;VWEao&YN6KlDR<~}~t<`T(^{vw7Tu@5eQY#CA14_|kGX{Phm`EKRA z&^>Fs_Ny({EmTOO|3mUEAyVyO@^DJN!{#uBZNpkZ#R{p%DyF{Qoy)xY3Yzb6TxNw0 zl<N`oWq9p3#F*kFFzWPRD+qK<l<HJM_dvx?D9G@n!+-C!nH}uDo@}17m)qPd5Jkd| zTNTNeI5L$1I^sz?9LC|adFGeI#9kEz!R|rsg@MQ3b>Mr!FP|wi2x$FeZae)F)RBZ8 z_v=#&^>Y0|KomGM=)R<;{!^epMlGKvDH~@nOla5l(8Jx@5lrU$3zQ>!zVrxE!A7mu zfszF%br>lbaF6lryAG<_x4gW-0dX7N%pR^;?~_6A(-DcU@$n8<Yl%*CE|akKi|w%L zWx9PuDg_mq49*Ah>91AtfBc>ef8W?+I+)I%h#_?OF^)zdHYTS1>uVK!9((dsZacHN zMi<caj!#Y+mV$@?e;Ve_|M_-BOZly*Cm)qW)cd`eny+8KI@2v`tE=}Ql6kiut@KJs zN*az8D(QNx#iwiAemk*VJ-Kq<%1gB8A)W=wT}RU^bYh-%tMZnfnn``4Ge&8CxBd5P zzvETa)nijqeuHxXWsgd|B%Xi29<H#hy2G-@@$PIg_%@H5nwt83QA|`V6_AaQu&FCN zPS(x#K4?*rr<@d)l<L%>hj;&sAYj+NW0aDUGX)3nUAra>%qH9=YovXiL4T&5Xk)FW zmb=5RPDd4B{nr$+u&~?#PXle%=a^$o7ZlHJ$oSmkD&{ErKW>;18J)X_*LB#>p0Y$Z znLa~6-Bi$y^UdmsAn5cuXn`P-F(7OoERLPQ%r)Y$xb2e+wvvgZERJyeO1(SoU!8Zt z@Um+{ySTmLv1^I<^?UHLpXoX3OzE1EA4u&jI`9r|ekH?SgXS#QK2{W$#Ja*qY0+qr z@<E@OH2OvcYPZ2StkZUqg6N^9W;9h{G<zAD>@JwW)sN%+&DE}dXkHus<r$2})fG?> zpnK>DUKe{%iA*6M!fo?+c;0dm)of>Bx=hTnT?8hbOCcR*b=h3Ru;_Jo<@%xHmYufM zhAL{RV%c<thE_?`DYE${y$Xlx!uNgW>0bC;&d<V%v4(E}4nKTj+X+abN}FCL*Mm8U z(*AC4yHq(daj2G#w2!pii<_pi#&@ZCYv}b2rhS9AG9wQw!HL4Z{r|XmxbI<Xrq2dj zA?Kfr(%+MGj(ONX=&f5_bnf1K*9@)h4kTVER4!Q^aS>i!lX{SO_zHWw(#|hXzwOmE zvs_=dDFkDy!-gU^>29{0+2^`$|Jx^aO(Jo5)W<NOxR@@(_u3*XJUp4rRN8+2=6tWy zxN;awUR=FuYHAJ-fSw2zzWvk@fS7Bc{mZ7p`^vGb<y^ZbnhcU^*9z8aeM9(xx4XL= zMDK8mm)rf_!UKukBnVlJsoGK_pWJ~l$ELYiSE$Xb-@~22`IL#k!|lne=T7PEVX*Lf zkQM@0t8qXCBK6v3-ETgT2e~!9d%`$bSzH{py81pWEG#54G7tR1X*FSgyxON;SK`&8 z|2W7-a?eYG>}hh{Gakti1Lh*}2z<;l=j_@GvWH8F;*yep@`w3Vj5nj?gFY8?c+H%G zW8TgB%;C6<#xp-G0B-~DSI=X=2vgp6&j;q<$Nm70<1x3JJx=NmT5lxf<)bVcdxS#{ znorOllXM`7^>MIvoA(F?MaF6M7bdk_%IC5j27}f#cof{jQahiLL7zVfGc(#?<{;pA zWeCerR8{TDmrFf#7wGEg5%;+}ySZz=T2GC@XZ2rRHU>bh8)OkkG8^2kaI=OlL)EXF z=7zp&Rl9?Nqg81PuaYm@vF3Ob?ROjCdv{%foMn*`G`VBLC9kHodwy-T4X%s_kn0FQ zof$1qC;$ixjJtqy2+&%}w*YF@n?|>T`CW-fFsS<$T8WzQBcS59|F9VK-vc<y+ST*N zhEm}<#~kj+kA^L-&~TJH{#(;Ty`EyV5?V$^w0(%=B>U`HJ^O~@%gG8*lT1>mU%h(e zec-i#Vw-zjhL_GOu7lt~)speqO6FznkN-h)_3oVKsbljTHoRWv3_Fu{iv_}WNL;C< zgBB7|&Hi7g%0F=4<F#GBl87SC2Gf9Cz`J+Kd39UdAzzWOx7$o)Ga}sXy|IY=2kdB( zI}Lo3@BJS5GY2v;+9gbSpRib*S)$+X*>#m_j!bV-r%Z-VEZ;yhrae$ji;Dw=g&&Mr zei7l}g&X02*R1rvI$7viD@N18ey7Gb%eG;*J`mNK%cWLRVYeU@mC1w2g}-Ib1De6N zZ!dFckuA0?(gd9n0uV9&09mgvk+<0Z!PgHNJ=MS4xZ7AM)o1JE(&((#@kze))|V<L z1OG^v6$I)Z1WD+x7#ZVJ?UMQ;EL5%z+FFA&PL|I+j;;l0X*Yw0wyI4xJz)kn#NKqU zxac-Y+sH9S3%Qd;CE>?X7L7xP8qAaU+Vqd{5xsWTxif7)lG<OCOlG8JA$A-+G+Y|_ z3hdPtN<(*c&YLdpk_wV1T6~2@y>xpUv8~)s!rPqWI-HeBieApdDdNPFA_=A-&UHp0 z9uf)p3a=BC4G_Y&&%x~*?QB6VA#!btP`K8B(7uFYh`Ynj{#i|Tr$Z;XOm0$9#_BWI zgLye4Bco~&t3rpA{G;0w2)lzZv_{+aygG9Pq&CPotXppf2UeiAuNM_$EMIM8(r|Ld zgSArymbQ@y|NgaQ(5p?i$BJM;cTL&dwSF800207MZ5*GNa0JyvMO|H7U0r?3Wfxj! zSMq%Tyhq>rs9QaA+$9|ht8tm&GFKRN@&K?%=6B258H9#ny8?Q2P0PkmdU)9mC^O*N zwJw&vDsMiPw)dLIRI#wx=hmA{W;H<&^g6e$wFPj6oR>G*&i5p>!}Z0B7l#AvkP6p5 zZL@(S%yDPM%t+6@nn`6%&1WLMzCsUY1`pk}Hc)qfRs;MDeT2wBefYWNh)G7aV0OcZ zEAtC=)CO8>ltLYVfQF1P$7Ma$K9tU{1OGq?&}Wj6k0*=aB$zYM0rL$`G!@=7SL?A= zzowxH?u(<T216@g__gY6Ns5adJJGm*q?|MRUCER<0QLjPjI&I)A$E6n*Niiqot-^( z?n#~np-^VIR!r#@ABSo6bjlqJuH{v>_w7+Hs8_7!Lurc}>}+h0L%__P^|!~=1<>b+ z`Qey(&$e0-)>>}#k$dNtTRFG94v^*8A=vhuO@8dvn%33~=)rJeN^kcM>?gyAh;vCA z_J52gNJd%w4@`DAB4jmwO2lRTOea`FZQQl(WSqt<1z@>wK*PM73j!l^_KxQ!xx<UA zj}xsvp?l-u+%E$8W#iTsu7(;8=q?r%EJYhadi=8sCcbA|xIxT6eUrDA*@`Gd!j9YH zca6==RM6G6K19(1QcY#0L$<~g$A~v!$>ew7$BJ?pbFIzs2eI(os47rR4b68%y%6Iz zKR;htOG}J@p<mnY)5XrM(;fw`pC@X#afd2l+lOnZkeb7lhQzo`Oh_gfp_Hj9P7Nog zJ11EZHEvV-zz<bpV`3$jTWlh1(P;l`olP2r<`f<Y)Jk7SLls&vyp<!Liwo&#P~41h zC7=>}B1u5-D=;WMO@vDSI@=<=`R#ggIV&+daA>iG-rc8C{(vW>N7Xaq8i>=hZD`r? zgL<Rwt<ns6RAZF$w!5lga*}Y-bp31i$-@PHgGKv23gkFXb{?N+3bxm;Y}>+*uCQNA zw|rMqTn7EpqlEbk040ohbRt{gG4t6dGU3)iSI-uGE}NMylW4&S22Bk`#dg4#YSmb( zC8p=12M2&)LNqXc|2`%;xerWssix|<I5@CpXIw-9HA@p-fPb-u)<$k`Z<`VLKI*TJ z#8;l$gvG&p%XG5`J80(L^7F+7^y>HK+=-k3*8*A|IX{2u_O_(}DFy)gs7$#ncer#( zqyW)_>;o-*aA*PKHs~KiKn~1JDcd6ZlE1U#%m<tgrvQabll{uynZW;sJn0+UiCHBp z1|m;OORK~4`_<LeOBxy#W#vEFBIVu2NC*(33q6qa)#Um=`Xik)vLgsN!@x%#_7K?t z?G^M>^Irphi0qmx)sP~3Ru(wqz={k_1sMbq0i$aTpYL0JDj%T?@8dqRN09Nwtm8_t z->qq``R*Jlch8XmY*7qJ@N*oR_)`3of(vhJXvQkBrBZW8+-=`gXJnW4>N%i`d7@ca z=~3PtG5#^(nAwrnvDw;X{g2tQ^*RWZ;AafQS;usO@Vehc(?aA2Qee0GpDE=e^Wi;M zLty_H2-&~=u5hT^2PCb>A@lh7m@<krF!uQ2-r(ebL@p!RZ=V;&^>zt^L%boV?UpSR z4T4ds`9>ShS^?yN)JNOxudjD!YnrBQ?!t1OV`H}#oVzc-W@;_&?BAQt1*LS{hSWJF zpYw(dXBe(Sw&2613mo9|IytF+LHfl{b~IV0E1iVH3W%Gw5oKes(|JsGpRy_M^wU0d zp4g-9{ZVpCTj5rZol;+q-;7g0>#@pbZRSJR&{P|h(PjXa`VKC<I}EZRs)R#&dmqrn zxBE1A1arT$R(acn>Z1{U+BsRyP$BAqJSTi7%W&j*bzU4vU!n9#T(6PCBAPRkoX|){ z2q^UR1wCV#$GvmCuVuFf{deX!G>9@6iy#@ROEtpekYq@J=zWbA$wC4;sX)lWfn5ST zt|bWas9HB8U>p0%5)sofYi@2{?X)q(#4iyS7pGHGa1<P!u=3HY&N5iLcdb9M+T+BG zS|LLg5K$G-J$C`p`|HWJ+D4!0r4M&-5-Yq~Dk|94qAy1Sq4SYZ#JpI|H8%hV@}v*N zz((4ighoc%xI}?$k{z|itw7Q5TwZz2%p7gmD9*~tTAE;5si}SU#^x3?Ys(dF(zjrg zV3)jdBov#5mYI2DyQJK<*5KxBr?()}_xE(Qd8#R&1f?!CwU%{eO`Hu<G07}u1enuZ zz#M|QU9rXhqTr{i(E5@4unP&;m*WGcV8)&+KghSi{K{!-?;Gd>!Zteqsq@4m$5xh> zl(rIu4vb=+tu=LmITlVUTt(l%Tc3C$J`Lze*MkgYh>qxX{zP(V+1zC%+;b@?t$pYD zzZj}K8lc`Ll18r*;K~v>Y=>jey(EPQKL}Kt4dwvu$*7>bsAy@gZlP!8$bP}+;!Auy zflFGEnm|!u$Vcel7(^J+@K--`F1NGeT~N;OiMjAfvB7=p?;w7d8}6^VP;NU?I>Rmh zJ(~1NP8QU3sBKdq_kw3|I=>qh5m9))1uB_P+H|!o@{L$wrM-h*I{mikc96WUFDb6o zB^(6gEGaLT04S-cgZSJ?ii#`%JqWbB5yoK-Rym-APW$`_LQafEEsz$g2`3K5n=3F% zLEuVdOfs@gp(b)mth9s@nCat87G?C{RNr$r^z?qgAq&naCgyQR4!7(uu5`Q_&IZu7 z%I4<WsaKODTxF)L(#qI)6T!EQEHgVWeJKB$)fw(YMqs$aM{Nv#JH#qh$@`~Iv(Sg7 z0TgtDBt<`&<DoE;+k^eK<4YRg`x%Z*MKKRfI{*~0&iEQCCzEny$D~Sue2wS9SdofB zazu&ZPCei-%D|){9!cn8OBDP%clpc{keq{TyM%CJasjblWbuj_Pu2%lKmc}3qTn(Z zcKE}0Oh%r0fO&;z06)^KjT0d*#Wid4*P0`Ifb<u6x7Kr{cA#kJjNdZ6ehq5~7;Z4` z=Z`l7=_855LOGF)8_%(UDKQ+-A0RtALE)dSFcPgcVaKYhtOQ1ZSqeUMmj>MqvNtcp zvO%f;nvehvD&R&$=>?DjK3<a%^A(r6*3a#`Mo&vZ>dMCI<p59cymtSjOs@&Xf5Xsx zvbs8_A;^cI_k)J60;OR7f3(7n*Pp||MUQ9HsRf1EZ{?_$3<bI{L0{f1eX$QOn<*q{ zt!E&nloKX1eRI0ByOHVSd10G2J^fAJ0X~@MNehf1;S)$?ptA7&{l)8tlgvukt>LYR z`S411t~2k!DGoVcSGP@P4+myK&~X4QfgyYwvypKFdJ~SSYFhTPwMVstX?HR@FnQvJ zP40B;72BK@IyD`-Z%@@&;h7dFn7B<jG|jzyMH81A7of1C*;8ng^3)lwM6DyAZp<<! zDWPwE6j$Areq%Az(sE8{NZo7Nr!e-4EdF@CSAs=R(y@565%Z}035EO@!veSb65Q$` zJp<evinzL}Vyx&%6@x@ECBEmXwh!zbBIOXg^QDVPM9(Jadent;Hot`#?zZWjD}&p} z-Fo82;KD7Pubu>LjQ4`B;~hiQ{69%oKn|LUh{`3|ujF82V|RjU{D{m_O=C!S9Y2qk zXmHctE!y*FyM#DXeAcmRTUekQt^g`V#fin$JeVB;NpGiiQB}J2)8+v5!Y?=bP0_3- zJ-`<96X4fg@R0EK76A4TjMja?p#`6(j$6J0g$*PqSBaOZp57p6(*bod5`1%4Q#4Bt zid)tTt?7VLYdtHqtMLScIpWTyYaU92?kI;=g(2)CF?7%z2SlDqfa-t${+-kGgbvxm z!vh#)o2D<Ts@Q-JKP8f$iK*w{;so%)fu(`tN?|!MnVAqU0;k$!0txGfrGz<%F;!h% zS@P$G0Ed^JTbY`^0=zs8_;Dw7?)G$DPYOLHG^^338amwjZSsS@jAn#*^gq%n$8QLv zmt(Mkm9mq?zDW;|!dZhu&~0HdE$iRFF#Pg#yF0kMoA`Rjjn<$h>{~~`5qGm+uth9* zjW~%LV=tW9KT`$)IZNg@7l&()x{ivNoXbu0Op2wq(4Nek#>5G)(<n!w)wA;<Ka^U# zg*R{CQd&*;`j_p@-j(v_f_|P$$ZuIvTuezt6#%MM-|N?_YwI}{^YZX`9BpqrV*~MJ zP)*hJZ>3Rr1#cV{WqF$t$iz-OD++N@$D<}Ax_^9&F=nKBCEvkvihh6~mfeb8Zt;;c z>$(uJZK*eR{FAY=@-c6|MQjYd0!tou*qLh9ok+RS;>p$UlO>GzP2-b!pQ1k%iCv;b zZqy2P#!u&lR(7$_+SpGW!8oYXJX9WSj9pu9CbE5mN1Qhr$qu}=m<`udqYt*iaGE@Z zCXa4#UBA2#Q&XLvd%*SWgml@SxmbhKd8AYE+09VnsO6S{99FN(bbWC^X021`Fmk=d z?AHhIfBkxj)#d#~TQs0>02qgtFNo_U^<v=BQ&PeN=nr5f7SGcUK*_`xaA)aHU|gB8 zDqnll5ze7@2ggpY$N0D=VD5ISA)AxsWKvR6yHk|`5F*?14}E6Um5yuD9CB2Gg6Voq zu9a>F`T%;3?BbrB=kvSnYW~`rOS%Gxh79l(WL4GGMTLd!YmScuYh5w(%$GYZqn}S7 zX=Ht`Jx=i`;?RYIjg@HO9@{z<U0vccXT25$LPq`OB%l`|>?Hdhb>o2np$uq7F`u$A zsl*TOZw{P*In|Z_YgkX9?*60l%*eP_*0fIve58P@wFi9lyvGK~e#^zY*~8Hz15}`p zY0DYi>T~m`RRMJjKucu1mNVSWV2npX1&3b!Ie>$^*P37`2TP|3)K4&%q7txu241u$ zpI~rsaJ=uYHh74m%xda#S$%Ka^*z>b)*+dY5KJm?Gs$<|2DTjN9+luiqxPFOuz=Dr zx;kD{)zDzKo?`irXk~JDeKxh{`beakL0SKtS$hcXpZYE2)CZZGnE_WAKxSD$Aki$H z2-&_6_lh9pvHv(};Fq3i+xU9Q!|302{KF3yE2IDfJ>2sf!0+igbW2W@8!VXhPM_VG z)-W3lSzB&EHsY?%ki0C~r+J;G<b2ZS8-*W|d%URC$g!t#XjR`-4^3gM5A2V5%9vYI zaG;(0_nq(Y18LLLs*h{GwVhr^Pft|aQ(N?4^D$qtEi#5oW0LJpRbQpn?!P%9(iO6P z1}oaJrdILly|I(o;;<Y?TNLiF(jBa&!k+ndh32veL;8(!9<3qaCMib#HjR*Ihj!ku zU>l;a?=4LdT8EmL8c|hrj&8!+_XI6M!a{A#yBxl`R_vbU=gptI5a#>iQttzhOZ|1t zneyC7Q20s7=W!tm1udNzlLEhL*)!uXQ#<U+u9@%i3R^4Os;H8E`|do9Zk&jnNV@Z9 z@RPK=prd#!)EnE>z10M$+F-s<O-oBNs}l+)#480cQUQd>4EJRu+qOGbYc3)Hu2uly zVX2O>5kzFW2uk6a@coK#VPPRTH+Lc^;p3B{6K6~iI%_);fYJLN`Fp@2g1h$o{hxqK ziu*tFYfA8(EqIle0R%6YGM1eAfIw<lGE_g4T2{JOy2A&&F&!Ce7Y7Rp;^N{Z<aQDl zIz~nmU`{p#q<%AK2OUw-`LfA>7-ZP~Yz_4aeYz$yNzq>ca|4)?JLJ!`8+WVvHLKnu z0ftVGaI;0RU(n<DC7I7DCeYK75WX_vqJU9xIWJM)7-*(|%%tME1LULVP(kJB51?SO zSxqoJ(w__W=iJK5%1Lad$UrByQImdDAyzjws*O4kxNK)bpnE-*HL(c^JwUi?09q}d zu5T8YLk2PgQ$eb*_}zPhtsm>l)DH`lrp(AwZ+<esFat!j1Y870(^aPK0%xyc9i5yS zcFLNx<B>zm1XJ~+n^x^)K2KHvmXj4|fa;~%fxRmf6cnF;WK-WCtyEnppc;2l_wVij zT%jA8enX{o^H{fjm*B<)O~A7NN_ize)s~WpDT=<FxDRl_NI-w>7>d>juB4=&GxS(q zkc4sHu}PV)oB6SAS9qg^k|Lmx#7@+YExhB5ITBvV&h@IxDe(GZ{aYXMDdZ_wiE{mx zC^!b4V|_&9SULv>`TK@LpIYzQz!8l|<Dc~<%$ni=<*qq<@N$lipREx(I*l}^qZ~I1 z`mXz(!l$|=vgViL)J+;nBu9RZ@K)7fNXcHrNczwU0|r++J(96>W5fKR$nLpceSJM! z&aOP2R(mu%4c|4Gdj0qUnt4Q&cvMSAAM(&NjZ@uzET35J&QzxM2ct&0dmJH2?ao%F zhsG5IdM~V%tm{A^s|IF1D2c+ijG0HZs`tl3565i_UeWGef8d3Gkv*(p-nU-3M9umX z%WT{LS~iqIG>BuTMPRJHJawpS<xif>bgd0hw9xg3f`XmmJ)g>hI+>;V8@i&>(zQow zZ@DWJFniZBHvM2M1U|C0DE|G;u`5>!M&0@tpc^^%GuFLJ6I+<~3@eBHFT8G)AC;d1 z%2zV*QjeWnE{8K~HoGGMnGA+BI?-*xCpcFknho?Cz`{jY5YB>K0OU|%zw{QciV3=- zV__JHiq6yIx;5i_Od3d=n+msxHFhl|E~x=;^sP1;O{z7&f7fnd+8&x>BIBdYiI^`M z-M)~pu-IA|qoHpiB(0IlXoAJaf)yekK4gInaB6W(wufc&BpNqAZ>&EGN*+k|VNY4l z8`^6$M64^@SzTXO9xjE^!*J&Ng<@D>`;=rfrtTQTYW6#X({C;7zo{gh_WU^l*zV zXusFeU8;I~q%AmJNo@LCK>_CI@N4NGP$d*qr5#>>iRmuP#Q5V5I+ycnm!d!4c}j4z z8cjaTz@;u6<o58$c$B`8_NHL1eLr(UAeOx+_2NZi!NqD`-TjPhlh^z6uwwJ>@D4Z( zf#)OO@|6GKb5+w}I=^#$P3&fXn+fR!i6IF>GbB7b7w983R+GkcP#}tjSZARp0XB4e zeEhL!%!0uYoYQadFDBamV<byM3=9k;7V=IKA%E_&F%}6FSNS^It27=5|3`P#>gtQu zi<W~gX=$KBm}s_o^8$Ed0xZZcaB-_F$F~o`1kcPhYT0qz1(Ez%=-+boX5MedIR=ku zXlUv?o}&@CIn#06TdKq|$3xKBRO)@|_|L4LpiRDWo)b~S`7^5WdZ2uLIMi}Tz3IsP zPE!@Tp!2P|B|-y%6kw=8qm7<33vYA|0B*G~oYYqt-fj@b|9Sy@TY_^^nXqhcTn_I} z7e}UUozQWvPX~I9WV&+R)kC4L=M0rf1spq>9d0aH2M+5X#bIHi86U-JfFA%4TMf9F z%hvBM7C=)+Z<>>jCKXI#H%A9X<*HA7^>U8}s^38||6L_>P^0%w1%l8?ewLKC_I!dv zd^D{+R??m@&=V&0y%>QYY7VRnVE&+%M>VJ=|MLeeG6(HE1LfFN@3sg8R90wlx=V*N zw|6?{#52_wfLD3;^a=2ELpC}OE==&LaZBKX=YS)+*S5~6M!W4eJ>%s|YQT)RQp+|| zpL(Y93F(P)KS{Dt6;x8JC{*9YMJzV{0{8ce2bQs_9lMpo!Vr{nRB*;OC||GG3;8#1 zK*jVLmv+8eyfF*!2GWJac*j6@aj7Fpu`xvt-L&vuS7VM13FDT9He+F%r~fwt!I5+4 zs!%0U?2uY{%<yq6CD{LP!~gM7y&Z8O2_N_WYyx3MIt{A;V^5z{UmCBIxPQyv9a360 zmQ{PK@PP&ZT<ukFhNxc8k^lVDtY1~-L`%;<bkFQ6Rq-!B<GXHPBux7H&ddzgR-@E9 z=0x&I3nfG6utSq&->+YwyB^Rlc%=Q~5&V2<$trj9Q0=xc;xKo1_mJt9E=OqbqdbAZ zBXMu4vYN&f_iZe~+qWOzw%xrM9i?VGWK4T<hb0e5JTXC9t04aH8ZGaZ)}l>u!aFX8 z+OTTbI;xIm-js2oHCnuS;p`%KH&o58iotI1#zB5Lx#7a;z+6a!5Yl{`e1Qn9l`M#L z&yb}QNPM}8Q{c?8`!BodTixbw;(u>f1nv{vW$>=Q3-dNaW;RWl+j^lvLtOr^pYs_7 z6P6RQr(N@jIsq>Q6Kwnv7Qxeh9IYYY1LndvZR>YQ%8hUS&qfYd|8hP*qv(1i@Be?k z&7r<aYMB1NcUL@anaG3W`EN_`G8WC7|DWScd-|^n`}UbbXxzV@sNl#Q8c{#}b7{Ju zP@*`&TQhq+BzifQiqB0%<%VzSbrHlvWJ17>LQc#kWtih4dZl`>KZk`YzQ|NHegdt0 z_L<T>N`c8rX<=4&Cu~iXW2`R==|AV+#hY+Je4l$`n()r5p}<Hm`pjlcLr~{(wTl0} z{pb46lHde+%#~G;8eLmH#Y-w%KP{pw&uPs=R#57LdN?+4Tvg#;>4tez2bed#Qw=;F zhJhkp52FTb=TjFG622}e5#vT9Q2pPvPBJgf$todC$x+4&Te=n!3wjMl)%8joENWM? z3{3&g4<{O>&i4+Z#$zIw9#9H9t<_`Rs%efZ*;rj_F{U{3RH+!q`-&>w@7|=n4t-GE zsDqI?uaEZRvTACKX#MJcei-w1C`uw|{qIFw56%AIUAU!9x^*q+h254Tpg2IrRImNG zSP_ql<uTrRBlje~?+>R&R+jMw$+1VcE|Vyipcqp!d1~6r)U>Xlmwl$OtKVN->7vso z_EwTu_x?N+Bwpw|6U<j6AlP2FzkqE#XEg4{nXEM2!XmK#?|CAY9aMTa3sVdlDmkFp z$)8uS`zECpYy4V#=797CTwhk^s-hQyUKf>FrD&7SVyXozY`$9~^Ycnmv%cXXpy9@$ z$&`)>jgFI1_%irS3OZWt?lTGZLcm)W0;dM+Eg;sR!9gv-{u0{(!K+bgtTw2`_5p4{ zL<Hf#Uv@F{*2^&@YV4Wcj3<>$xYZTp)3Y`L?|>3IT+E4Yp97vJB0t8dxlMf?26Mdm z$ac+CvHyW)jEsq#yrDvri2`~I37N5VMRfK&Q%^8rGBFudyzG}co2s(#4gdVY&Bjjz z&oJres5OZx@I$kbsf%qtE-$a^Et}x-8_2M5akMiYJUk!yf2_S#SXFD-1&Sh_0wRql z($Xzu&`1di(jX<>4FZBlDu{F=vFL7;?vfJe1`z@2KJRkx{r~@SZqCiQaO<;K%r)oy zzVFR3##_o=gZb~#<dROiWAM8v_rX;}zXX4H;j36gtJFhnxg~*Tn0C(&>Kmiuf4a-v zte9I&TPicl#X39U3_bktbHgNc0|n#Ych;rt&A27{%IFSfZEXTi$tGtnPXZAP?VH-P zRC<rNaBtsLNnegu8yh3M7nV*zBSxdx|M_%~-TOR)*}8G{(Fm_VPussoC`iaGSj|>? znnIUGv@_3WQw=@c({&!*Q8K#e`U25yIIV{L&X(TqR!-1J#-A;ou*-?zb#c`X(L{=3 ztWWK;V9ZYSOU$Aidy-1}%1B6JNfv9<PNMQsKT+S-CKx}kWh>Spm<&iX=HcV-?%XCj z7i~}*Q&XMPkXCUce}VGV*flkz<MRA%{i)9xRt3(@ZpnXT9C|4`97?n?dYrHiy*x=s z9Mw_3jyNhj;h6fOHmy;SNSXJkNAl(Z5d-oD74fTRGnvR3RP`b@SaXi4<kBN757}#H zT?4`eDu;$^QncCqSMmTLmm1h&Hh;S}om-73G#!1gj}Srr)lP@1r@eorxRkjx_u9@5 zo$5Qm+#QmMUJ@^iEHY}UtjgRE@mXkZ<mHra$SCgbOf8D96h?T4rhikd5&UO0gM@Z> zx_*#qb~NucMEy4M7@jZM6w0)MzW94<B5nl|5^@>3RyU;KTL`_&$SAbk-81F5MZ3U+ zon<`FfI%*N#Ny$7X;FJv|G?dzXjGZG2+_fYpr<Oh_2QXqPA2X>wNOK;Z8g-6=eAyG z<90jL1lpA2-G-)7^u$IA;bELJvmM)C38QwHBiBi&Pw}~h$g`a$xDC~#^@T(6fT6DB z-8t=ZVCUHKK7{@s<1A=IeqX7*e{nIzPHW&$W>SdTIXQ@&KC|bx37AZIr2QfHI115Q z8n{?xln_uBp}adfu;v>xaWYjTSbxe_OvSSClQYEVqX0X-cEcOxYLWr_iSre)cE(fl zI#1D|pWL3a(srW7RP7AXCH6ur-G*eox8*{*F`x6R&U}~4{}Pk-TQShXL#8z<^pIeF z#p+YOwqkxE`Uq8q|68}^T*m78!ozM!qJQ3RZ+yhSOZKqEnqB++kI{EmH9n%>;jVj* zX*VOIZUuLGyjetJypC{s)04Nov+WS2;B2`XW_rnSe(Iu1GMI}%WR%y&*)BhnqkJ|f z`f)*EpuT(lH`k1-7wz%~?BG34-TtNuo$arOb6*?J>q~a=s5)A9`AF{gU1x4#E6Ok# zvj3#l7=9z~M@|td<FiaIKJNas=~J1o2*0S7K1TD|bK#7Jx62Rz^&ci}JKF6$U2a%z z108k&gbOcUf`c|3Q+@gr*JZ!>;?txuF6!u$D4L)810hO7RW>)TsAreHx-uHpvrgW( z+nbd%rB&f)*=?BV5`=y4;j5R4T^A1yvYt}?+%WF?$xm8wPkPsrgi&6Sw{<2-Ykhrd z^`}KqT74FJ8)n*DbzC$Box6m%snlj2yKmn`gb&wT-eUE;^6)Oj@gDtsJ-1H@uP!v? z1pjphid{R}3pFD`_b-Oxnm;#nO4eyiCO@Y2Ao6N0;6<Gf6dGs9As-1aZ0*Igx{FsH z%_}3`?;!pr76)l7%f@!v@mVM+u%zTwwpF-^Lw|cD{hltGpU{-E_?fHiN`3>6)y?>_ zN8z&??&qKp*ZVbUfu8(ftM|zQn;jC8+f~xad7C4R<&|%ADzsxIpu6>?dtB<K&l3vN zFOn+ogl4}w!d_!itGrh1h1X+eTYp{Z^es6%YlfQ}S7DTKakl@5WcHsgVmc*>|Jfvo zgF}P|o=Mpv+MX)WcHf1Ex`@vwyJ`;XChZHKn7+F9+KO1`8lQjN&+(E%%e1{ks>4S? zWpqgE@$An88>;AZwJ*`0K1y3zC!Wi2*&<s05@C~VY~&Aj!zVo|!4yn+R+3K-%9al~ z=FMrAN26m)m<nQwGTrvEe_(jXWJi6Bjxnes<aA`oLtxHD$=%H@%)gbSkdDfNO)C89 zdJ|sW5kgTjN}eHxK0%&KEHSO9E+V*=;&z~{aCGX{pf?LeJSXav8rOdf%A&%`w=!MF zK8!zwk0gdyNXBUJJdB#saW3i?pT*NUHFWAb+mBh<7xoRf>n<N=oE~>J<F)n%?HMJX z(zSZNM><qi)VFmq#--P;eqKWa$Mg_xS(%nw5X2j1pyA%WF={5s^(Tk7qSAI?+T}VH zf^3M>gh^(m(p=-mLru2!B%dR($Q{|>ko2QM=~-p*{R+J5XW<I$N>*N?`(a_<-9pkO zt`XpA4Q)H2J;cs3RcT0#>nc$xed?bX$=og#i1qQ)!V4kQTxNzq>0HfQdb$7E^pBMe zWr(E7IGVKkJl!9YGFS-jF20CGD9Tqy2HH-LCk^jtmntT|_nv3Sz<s&sxi!ecm{=i9 z=|3Uc=rqSnqv43-lokt5c>+)QH*8>?-o)r!w!-b`*cSb$?N>76%>B;5kybl+&@Z|= zx%)RY$55lGIL^<Tg!c-KEay1;?mcmIa(dro()CPzXn6Rou_oJ#>i2u!nby_f9cOM+ zux6L%Cw8e}KN;r4!y`Z=8N9)HW#IWvC}x@&o^eG1eIU_NJ{AD#ay6<^`oi9KncA^! zeCa##NbXSbIe7|*V<B{O^lgy{Gv00_N_8Y#Ow!z(nVOnf<WJ`vz#c{9<}&*=-GVl4 z{i^8JeE<EekF*PJf1dm7KZo8f?Q3LxZ>5Fyq8K+A>7QFgLbS{m#vC;RV#(vi$)m)? zG*3rTZdlGP@4r)I>1En5y!UY}t+}#film`N@X_(L4I|To(ev_X#+-zknQtCV$)%|0 zxT*D59M7bg9xZ*lzv8HqN&7JIKE&~MA7sC4%7qR}ju#akG*l=1#wXs6iNBqnMMn9% zqs+mqHW=}G#l1R?&Hrs($u}%Dj*iyvC>#xER2YZPBfCs;i}WNqF1$uY1>Vajlvs2) z;|_o_0k%I%1s+~2OCBbPq^%AH4<UV0-)n=^HHvuXhKnHz(_*j4<sq00nCRkU-^+h4 z=F!}HAF?5=ar{e&HpWwI012`#8xWJ%)1w6~D6+r@pfP~t<3K4CaCHm$1G}AfBDNQ4 zFJ0S>-~+IhDypgvMQB#bQqI}lJx(tcjp`blo({{>Ig+IH23il`!OxbeJ5YU5pgPIR z&tK|&?*6-a5x;r9xSsH@9jxy=&)JpyAxGI+%MV7+r)2Gu+kNNu{*=;}{+o66!ZS_k z#`j`>?v%(%a>_|^cAJTHeR5@d-u}YG%bGSNG>Osh8b@brGW$qA_G3*o?Y^`n&O67s zQNLpxth`6|Z>MOxcL=R_SSD?FYpcx2Nu~x3X-5_iC#}Ld^k(DG>}4fVJ*v6pHqfqy z$Aa4Sk>U@XUcIO&UwO!*b-Ih<`B#XmLm^puNf?I)lcbHS?-fHoBvWMzCNjqK&7X>4 z^T((7dj_|5GKD#XsXdk_U)y4cll!3XS+mv>t*tPG26N81w6(jN3-yYWw6yGsgJZ)E z!)N0gZ@O8T5IJ9Q1IcN~Z^!j-pU!@fsjd!UEvm!!Bp7wrxk1~)ixv3jO~}L8EGdSV z4q4+NITA<7M?)m-9Z1B&ea6LaLqkn5jeB=bPESo6xyr4Cg@xDF*5;tWvdSoaj0II? zQ>Q}H6t7C#y4u?K{f+S`1qRIqcfR2CVj#Sb({1gK>nQ=OZ*g(a@_X@o`gz>I>TYOg zC?_{}GZGp1tEA&-tg2B`Q!}pq);}v1_EINdi~59Gvtyw!&<UJW)mZ-3IaUuEBc=3+ z6l(8ija$vAAu|tTcvd_M6CHlqZtcJ8j|!~sK;V)rE|xfyzUBLj)4z7MdVg&i9EASw z5k52VLDw62AMAB0#an4P>XT=B1;w}AHZxBNOc*ENGbg2=+}5SNnA(%}V~7W{IvPeW zcSDlz{Yv;LzRa~+M=Py<Ef~ujy^+9RI`g)2uZEaV(K(@Eqt0Mz6$j4)8|%a%QhF1q z*m9n7#<xraBtt~G!r80dixpOEW;!zY51X&q*}1+lyXld2f<o4%q@(s=t8);gan*2j zcPWy5A;Vv7?8c(&oWB0C5XnGO)xF^EV4*=S37f53$&0F*&y^^WYR8P<Jfb6dckM+^ z?553cNp*EnwinpJ@{VTjKaI78b`Wb6O52$;yK~BLl4O<C5>1xaMm{}a(r`|;<oCBS z#>&B#l6W+ZGTtFKIVWM4gQ=$yD|dH5cJRKSU}v`2J~MY*ua?ao3u|s(-koT<q0!NR zRX5<F;h9qZxr&R2cf;D}ml5qE09cYsyj)$YZ9Skeb+&bR{)OX5%D$~&?{bV@_||FW zusJ@p@MD%}7LfrY6X@(X<+7%p>EC7bEIN15)~onfs~q~|k&V6A=(py|{pEX>Noz~K zZB@li=^?P{(}|{v!pR}49*om7;6R$$#H>0!)YMbo%=BK%IA&%sJtptp6{Q-Gd_FKM zu$8<v>D|4VCr5#`&M-T5nSxT!>;681t=?DtZdiTXny7i*EZ(MAhW@VFx$E=u<+D;3 zc{+vjqevHfi#|C|&jTgA#6Q)$69i93YY?8-3)<B8OcxY1nB_t_5BYVwW*&<dh0!+u zNpxF(OSrq~ht}W~hlTzpO8aSL^|pqQnQ-U?=~lWHd4`ZSSGJLj+x%Vo394Xjon5J6 z-a@YqDQBBW*~MlCxo#8E&i>4AM~zCE)iU0<ThZ(+J3T!5UOkiIC`4;@uNB_*!nmKp zkWjL|d0)X{6gyNVl<I-!cvA(HWe1(AcIyud>r`_|qH(#jJerD-vd2BFSQ!3~yAiqj zA}ky2D(cZ@<z#2;ZR5=!F!?H+s%e<6MCl7Q>)UYLoyWYA@zE+lFDpMia;U_v`2)(l zOpvlH=4|D*D8V>thq`hF;b&v@>SU#h*jvtGUYizrtZ(WA4YuP3JOh!Cxnj{cg+Bn+ z1*mE1;tyvhr=1=^^+4m5OH53WlPt5bF&U8hanR}~ZgI76Zid!9K<K1R%EkFx&!GW4 z0A{`iK!?v<^BWqHTpD+ihQ*btX8ZL38hf+SYNkGpF~u_yFwv1+FN35q$}1{%koDor zy9_JeR@8vdXCm^}lD|h<{A8%Pcg@IDM(a~s-ON5a3X=MB@rUCw64|HpxjgjA&dBiZ z;rNos;W>{JaL&lUa5ORC-43)MG8!6KkDnVG0CYh;oN^#&n(K`t?s^$Hd;Z%6NklCy zEL`^q8Z2+lUnlV1_HQ*T(^H#=KGs5r-r4PBf%Ex!;*_H|BhsYEuq`&AIy#G;B!it~ z@eYo_+zCw`g9l1=O)cINl`9&0=pGCntDebc=8Xs+L7wjA5+0nN-KcGQs|+U8do-IJ z$Jp+N^e3He+1@iDAr`J~<zDSZ91)deh`o^qHdAtCj6>2|vMrj2EhBs6JSJ8H#yzeW zkOQM8a{o#i@UGAEzUMYR-!aWGfa&-|eRV8eeM<AoCut8o@eOZGJ9h2&sRGMOYklDk zPmULet@Undb$)uMnEv8@>DQ^|@t&fF$aJ%v&<@gac6wDuPlI2+$zpPbpNaN@aTW{- z+^%>I+>KKFFhIYf9oBduCiQ}XxyYhzNWQ7kmPd$a$ABfD{)Gxj6p^!~(ATl&dJl)x ztm`)U;}a6TV(5%R`qk<{o$r~vGeoDLWBkhS>cHDvHEbU3$2yOQb1eg>i)=nu*2V)Y z^Sa=aba`g%XZf+~*cdX5Qk|bwHQX>d1WMGR(z{>Dv0BIo%`sopM@YN42-LZ3u}}HT z`C^#7sYe0KX#MH*mRR8?FdmLp1irl6Xsl>1vYJG~<)BzzW<Jc&c(%-O)8vZy*>;Pg zb8<cD2s9oQHBJv6H|~VlY$wc~nXFKLa82w>5ZL`D&#}{`<Q)n0rN#WoMCM^$(~;|i zxw%5~-oR5?1pf0qy~~qv({fP+>|AKNz6Z7~xsgYCX#4Jf_<%s;4qkBZjC+C4&)n>z z7@y-9@>M&Xn3)+}cMlJ@`GA{8Z+(t1K(a~cRK)rBRM#T{Q8i4rt-38SEVsX<Qj_(T zdz9aK_ZVn3t9=tqcOo$OhtzmQk1dAh5<ETE?_=elM;zL$qCOe#Jr=3lNIY{Ocwg+m zL#mq)rh4b0srymysX<~&$#m4({Y^2f`|=JdXq&lJjk49ZR3Cin>i>CEhNm&`aajm# z9uCr&X^6RXf5X}xiU1ABtB9r|MZ%>Q$t_W+_m7l^E7(HDl6YM|r9Rh|xk<l9-F-J` zExS;fnC~I(3b6yeyHe)H*R;iMKHNhB?ve3<wL#9e1Wu)fo3ENBujAAHe3@f|GJ9xl zrYq6X%%ESp^vFn_`0W8rs}pr$jho4453!YtWx|0d2GFTrrz=;b`l1!s6!f|sDKq*v zoF64i=cgyOS@jG$CO!6yOn#(8mi2%ksi}Kav-;)r#XA{Gr9xDb26mIB#Gg`Jm*Z~c z+UR~g>SPMHda6ol)YZN2gC^g~C{%7L{>d2R1?8WyXXlqL#5#wCMudJCSk5ueX*u*< zSR}3vfAr*$XxP1BqYqC^zkjhHsImN{EZADw^Na{LpmWv!*W~ev<N33JZ084}eIZ)Q zRh!q?1K!`f6(wh|>fjn4u(2K*8dg@+kkF&`g1NxjpwxrvNf(dUi0rbfK$d1}I5mdb z((DC6#oe~@@{x=ha(vpUCq8-{H;jz|iZL`g@qi`nrK?#`7Fw8Dd~ntVZg{Bb^!K1G zAvQDXW)~`a8bOJ^=77h|bQF{uSR~ThBr$6I{?UE&!gCu8FYK^zK2;cy#w>&~D)Tzc zbQnR?EMT%p|NW%R7q4fVwRLr-Z|VUwg5=S?<nDr=+qPHA!GZJNUEjvxef>4ku+bA? zUF^_ame?lN{jLpx^aka}j~_?hJH(Jy()E0QUEmHMAKw&k=1_R~o?JGH0e33kD+rIx zTwWZO0cZiqw?G0HJZD$8E-$uf01%LqmzUs>FhNF1xp*J2`g;S<7+L`8f?ejCF~kJz z*F&sHYM|8H_?%Ai%&O61wOUQC;OHGaq+8MfKJS*-mPd(ILdwNn_TJ&)@aSk;3xRkq zbdJ{_p4M$O!g*a009m{e;5l^n^vKc^iJYuuC_H%rP}?TpEE$RIyi-anR+9cAgybTL zT^<h@O%C&*B7K9{UK&AH$lvBpt2xAw;y>L#R7bCzbbqdH>=38<-kSaC%Ra$M_|^^q zM)FG0rx`^Hl^YNfM#qxRqv8}Ym`JS@a0rbjKgDWzjUZM<y}3!Iq_IByyX?+P+of4! za+;-|0C7V;i}_2*^6*QCqt9+a7jeIyA5HPOzb0U-j-UJB-s@Ab$KTj^D4V57BsL%| zKGq)ZW_32mJo$y+JBYRCW)kn3=<q6Yt7q-42R1WhN~eZYJhyRI7zf<+5E~ZcwB(;l zv*Npdyh4#e4~!+FHaf=}f4x<<`FWg){azY9KQ)u%ZyVFm6TUaM8FhJof3X%XKST*M zx83ifw55KVRAhCB3|mG0d5iKa3US6_{+D?Q5YzJ-@D@I(y7_RTWd3^LciVfCLxxfq zZzme87%hrw{J#C+CL*@O-xU2?yHO-oNbpRI;3&Ug1>1Ah^i;lxOGxa2xf^+t^7|VW z&xwQIz#T3R&Y)`7l%x+T4)c!bI-orh8|eAs;hWWVPuqJlx;nfiZ{R%nN4qeu&T3!5 zeKVcLH-8Xv=pLs+#TFbfIu+qF{njjqJTr~&Z&uyDf4cj{oY6KHOuav<Xmw@4MvZH- z-|~{s_n8M?`9XZ+Q=Jxfs5NpQ5Z&=|+?<xXXE5Vx#gp45OIo1S_M<Z3F)Fq{s*yq% z{-Q}_=3>j<f#Y@jfb9a2of57Wr0n!BC_b0fCFtJ@N@r%u;bpT*L)2U!|FcaM^Sbb= zTWOpu12OT^up1T5)#Wx`4xOfE<GjuZv19_>ndHMA!Acry2Z!BI&Cl6?ApR*O{PRp* zeP?>hJI2iMBy5RiK%@mkGDg=0@QWIxz;E^S^##N=cc3>Q`?xWB-fr{W04j&Xm2mG9 z@VAo>>rLBhe1Q1`arL%8?b03EV@wo*DO=P^tKE^OO7pesO5*3dJ}22e!mIpcTzq_O zfKl_FTC}pV5;>alS5r@_ma1EIb4~6@a+&G!m_5}6LLyF?sUDD>nw_xTwwz7Ro>RBA z4bT46C^NwW{yJ^p#vef4Z3ES>Ub(r6_X*eoS}K=9Wu{g*a=4sE2M2aGKT)qhns+?4 zDkjZ;|2%N_la}>7$HfB2lH}i}qT#1BEiKtc2J;m<QKA8H^#OAaRm_7vmI(|E6!7I$ zSD4%Yhh^F<mtr@#;mTMvKsn;b{X5RbyU&9kf#}r|Upe2^W)REU*bYe^udc}o%VQ;t zvfDjNcj?K0*wbX`Idfu{FZxbQ>~e(z`*3#B6|GHbJM+Po=U&Eb4Fx@ug^!!3+{9Cw zdY)s8bgebE5BzkW@<GZK5MR$2S<FM$J!QIJ<>MxAkfolV9vZzd)+^S!PMc|9@N_<} zRlR~wAvE-c-%M>*JEV$?Kg75Ndn>9euSpC$k(TrFj0i}mD_}{={)Yw7!OQS(;bpUY zIG)WRxx4U8*X#FTK&pVMwi?p|6*ZzZ+-pptrNwG0vLAmj|BM*p9YG!D>CZasQ+<K& zYxGL3ou#|W*n#H<s0k_RWlNy&5T>4VdOaD(3VaxFenT>?9`UEM=BMD%imu4O9g=sP z+?+C+#%S~DouRw$<fFE<zBfi}Fdr4Z{k;-LL2J@6bFN)ua`)c&*_Hcxo>%z<+FhmZ z)1{X`M%`o2xkbB8mP~e4+wcY-*#~a9^fr2;j3a+h-h0;R(VWTIsR)W9>j}l%(T{li zs+p>*zt;#hW*c4${)(ISoisS9EkW)*EoFPR#`i|Kjc?KUUk*s+<Ph(aJ`bwjkhWX# z5+Qo`c>bWo7)8+(Am;&-RWt4ubW3Q}Kr%f>hWD+ldkMkMb=?A1R#x2Bx7OB}{Qdm{ zPH}FsC#qn$%r{px8Vt_Nh^_LQT7Z&+Cv177RD`hkaUfs|*WZ*`L{LwD`a}w3ER&D6 zIfaEL`uZs2PU}B^8Xo^yAJ^!xbA?dqd#w{IT=pe5x#uhg8$QN+#gwzYg2D~Yi`^8C z#Eov&qNU-K3&;5_+P{rRJ9o{)UPjY5<u#+C+d^*U0%&MYN6CAhs9aAx@16Oe?RR@L zvC6x*YIt-tU|q9|i>G;hk1TmBjfDmN`6l}IR?-QNy7i}V8~$^_yj3Bk^J2wa&jOGj zrt1&DA=-O}9xNot=i2SXoh+%N|C@C*B}Zz@a@j!$e^W?e^<sUy*+G=WVm97@6#K2x z`OSW=Nu7=>v(f@H6t8&5ZlxsP%R5Z4`OazS?Qklf4mjCSt#+Qr`DjvkP@!Cs_z1-M zR{dZJR*gL-rA<gJI^|5>pcZQH^(V{X%9!>MT^-`;&g7{-I9nn2a<EJ|$yzU(+nTA2 zlHlx&jP6k)5B;Jutx`tuTJ))xh-f*^Tzb-|mgcmC%_^OU9_m1gixt)QqOFpE$yfc+ z^d1e%nqQNDC>LrBK3-Ur-_z}hjIQE}Be;%x<EgsN1J2Ae1}Us~eKIbEd!Y#eWMm@X zdHL?N7~vl7mzW)M%e7p|&lRjRw$tC>XUI~`Z!kb@`ex|Kr^GJWt$azx&>k3DENWN~ zQnOR&VW!g%AG-YB#maN^4q@zN^Yae&wdkH@lWA*5$8y`c%1Y;z1UbpH%F0T@J({|$ z2?}!ZIJ--Ey_0XUhff%y9ISb??%lf=Fi{F=8zi4QeKy`vFS%u*eh6^Fs^jkGjrPrz zU~D(dJDfqs2jn-svNvtG<CbhLR&1bNCAgok{j`4YqQmD5BPz<q>vSn;%X2l<z2$Eu zeqp4$7ZZwtdK0^3R-ePBG^+xi_}AHa5}bD~6(yPu#n3Fy1hP&*tezl^Psnp8pTk0E zahKV)JE-EWwyX`ix733zefItn9__E2o{Bh_h<4_dz7u6~m$3qaDY*|WRtwJYs&^Ee zQr~Q_#{Ajv-Nb##sN{Bbyw>3<G9aG|m0BE#y6^Edt6d9$ih`kz<-FabUXtMBT$(Hv zGEt86<077-t4+6XV%S-FpNUe&7y75`YdO<NRM;OkvyDq|%812q{Ib#FM`YbFIqDaf zES)IxVvN!AxG|rOS-4p2HoR-<nFt?Ku^Ynbk@~u4xey=d4sLj&>^y9pn`}WaM((=> z*>&ybO}jU?BhEI;7K|o@@SSK{53HWC>GpI>yqVTYeknK|Hd+%sMjF5uwqYwr@s-y$ zk;Ike?ftq~s<6dn(W(4L++va{w`9bk(wWRuDe#9JY{jR&L`kI674VdZlo)02N~v6R z%ReKzBT9|y;`BZ^8*{Y6ev)>&<0Qf6E*a|`o@5E0ulw4(UKf{<qRs||fRJ8vqd~Zz z*xXvH4d?4oW$0iZbFNgpp_U9#m-4s};J5?yS{R%bPDnZsY4Ij2xk49<ribF|FQZ-1 z^}O!aZb8L<_+e)rf`ve28--H9nw~VI#C$l5JftzHw}g)4D^lp{6NjEyUfbl~uIV-C zgF$teR9N+nC51cj6P4qmZ(7IwP1(5wF{pzHG^>m9){oRl&`a&arb>Os(h)TQw-AAw zNoNhtkE%n{&PXzj>7#vzm1ypNq)8W6cK_iNq&O0>`<b6AgO$&|*~-G`3GbWk<JE9e zr5_jlwH0a@i@$<gQudBaCnJvClVeoH-w58^!*N>pBy(fBn@o#A_#FkEq12l<Npzbl z%%d&8<nc?{UbuLpH*v~jtEzG9WK`8Qeo79vPXGLwEX&tw;;2#FDDYQY4x(UXI}M+- zKqGKNaL>_s*!87d6{42H{eB&D9@C>?r`pN;Ify(V(}7VtDiX;i5$=%cOWUo)MnfuQ z_GTwh2n%s4!gz9dVGpgp3|6KOMIcCG9uKfwbH86r(yaSLV5l6WaC82Iy^)}Bb#DGc zh4zoS1EXcOXKdQ-(E{h<zr4MO{Tu3J@9LVmy1ovU%nSM?ka|7cLrLI%)feBzrOr&^ zy#wd@Q<erVRJIrOLG_zlV%Hg?`igDF#a_g)!HdPeYaZDbdR<lncFXX%TdcOofZr!R z?c+xA`9E6Lj6``1F;zo1IB(ESI&cj%rDH;Pbau8Xj*(>=(D<jDRoi9SDckBfutu4D zI5|1XY`<)s^2puoHC5J7;VNsNIQ(*X-hA6?cVflz+NJ!v7%(WBniKhxwD)xZ5I<*g zd0?Y7X#!eL0h7qs3`$2z^A{z?w2G1{Bo|9c7jJIry88C_D@JzF6Nv5+BC7?)CVyd1 zt>mtmyOJ~-o;WC1M(2FkYmyq?tsnLu@@v0yUvk)hXz57zl;`YA-mFXiNvYUaFSHuO zXw-cpqkfMkQ!MDe3c7DGrafY$Wg@jE+*R2lmvA)To0M(&#i`zZa)bT8`Jfhmk8oG^ z&kj$~e+|e<fQXwzwO<a+OU@X5PVskXIU^WGYG@gd+3%QL^8e1&bLl@-nH}j&&~o7% z5%}8eWC5#Bm(o+_w98r@9zxEk={(UbgwYT(`N_`qP)zs7o=AM5N>yqa;R=K|A9_sO zHjiVJNto_&u#T*X-h4Pu$cN`->2`6KS0^LQ?MjpKT4)5Q9OR7^&CmVzqMB+Tm_5wR zFECk0+)xNtDz@lxCQ*MdzVC42c~MvWy=6vH{?qXIM8JZ79zx?&#KQffLYzXs_;Ipd zn|B4GU&{6nv46Sn!gZ{)Gn<un+}r07<WiI^2i1LH;X^7zL)V~{v4B*jC9AjbKjpY5 zsQTn%G9+(5zJ2{?M%&|_Jf?Ryhzo+}mb&eTWZhk;U+UZ9j<Xq0^lj-cT5V-jScz5^ z^6-oJF8C+O8JK2m*Nc>V`{qU)!CF}Dr@<yABBt~5Qfu~vbja+Zdfv0X??qKrF#s@c zUW7>JF5s7$P!jm978<s^Y|<3Bpc<sdG>HNt06*L|Y=HX=Ni>wquWW<b9WvfNt3EHC zV5==OB5P0l(W}l9y|A90!ahZC?JCdDn*;4XDl8_-&58dCg+P$g5#8~69p!MXBm&Ry z&WEa*(BnpAyG$?-$&qUCTzf>jfaJ;;(Vmh4+0=A^=5PDU)aStT&jJI|fN{xl@u*@t z3q;VQ_OdNd^RZ^n-X~~~osx6#T2@6b-Qm%Fy{QqHm0~Zor2_4(??Mxg^!OFyG#}?) zr%V00B$@yLQqvT@x-Zf1d`+J0U$;|Jz7!o+Me`P0Ewm1q=rB3|KpSWH#k-%aVU$~t zIiG*Zr8nRpc4BAjwxKnF(Y<%o*4cRm8q_tZdTaO}<0L=EG3xfNC7(DsxHr|?FTOJ! z({UcHC7!{*DOvrqeZ%zE<o9onjpT=!BkXD&s6MX?_l)NYn<uQa74ULci~in;)L@3( zG~HI51ix=BJIj2^cCwFAWTjoa+Nu5AsAX(yS>9ZyvE24cqg#{gq>e*RAo*d$y-~v8 zH%dpI8wodi1+!w4G7PrTMmW`d*Ca=)exA5rO}iDmWoW^Iz(y2CmX!*+(e}MdB`3|u zn9lrW#FnEc_0)kf8t29O)=Zz-cmgg#IHwqCc71bZR!MYL04tZ@4Z*@-M9oqG+vjCt zvg^b>rSID0n1iDupD@beM{tS>Dj4#<Lj;;>I#J^kH727y*O7EPzj{Kj|7~JOR#r1q zX7F*>s)`Pd`qQAtD?V&^Epr*P=S;|siSK&bgxG$r($L_b1PFdXxbxw|bp}R8q{JNE zS_2@i-JsqGY|qf}aHQe|P%bD`b4h@_bC1er|K}(a(EBV>F4rP1f{+pwC?Xd}i+g)} z#n#ipfT`VaO$2)dRJDF&J*fGinS(hG<)cTB0?4c46awK#+#PIeZo7Q~DR#&4K!N&$ zw1K$z_%N&JcuiWo+p20BsUW-V7++GtRcSrl-5t$(+-oX^Dgo&&4EDG(2QdE6AeSyf z-wYa39WbZD)M+Mz=R-n#JW|>5xZkA__3ME50nb>zW($y~mfM~nn?r`AG#Y34jpG;h zy~RsY2zYh+7QH61A8f6BK=n*rf8{-Le4DNhnnYW%yKYzGAGG%myqbj`A6Xyc`asxl z91TMzy7G;H+kG#+@}q;S`-SQ_M|N*^0F))MoZadj`AYlG8`X_(oiiCq7wgu7rN$~S z&4&lLUM0HvY2;oP%Xq!7wr_WDJWY%wL!46FTC0R6^ERQV`JAxc`H}hn>Ccwow92d; zHugfgtqC=>bSgQ#f$v+E|7`JJ)b$_%Z_cRnn4oi%=yDUH@Ax-KpIb3?)Xrb&)Z$JL zZsStVI{4lS&YEXs3AUMEDV_5zl$ObM_+>HsWLAQ<q9SaBH$T<6>9%UrBU}Qf$RL6b zUB>H_A_`22^!kBZP6TQx?@D;xZv{oj+t@I6<<i$Uq7Updu@@S&{n;>kQ5%o=^!XYq zLM1~*3SA0}^i7#oMy4W`3?{NvHWE4#&Y+Kvnb|qS8I4Lo0Tnuk$hHR#pWf-o$=b%o zee(p+6Qc3le$e<Qy6An+a%^lYETZXH^D9fsr6vs8#KVgj(DQ>mv<>Z$tFM6%S_-5g zHya*G*fRID6wlhtKoS(GzhvsE(877te6#WEs@S0rvJss<eD?GC7h&r!Ak0r{4eoYp z6<JpgUxY6@Y9jDf{_eb*<WdTRe4=-)`KPwyIxZz3Fx2dD3cuD3g$adYp%e1ILb*p< z^qJ(I_7l_rr(bAAzitIOqYjsOP0CTM+?5zs$5U6?HqkUJ=2jNTd(mJ@bbtu9*R|NY zT3<JB?>)2o!!F`-H_g<XIiB4=i%K&~QOI6Pl3C>7JbYErbxO<Pd7r#Eiud%FB>1O_ zr{6%!r;Y8OM|6>jzY`B&OK@E4gBJ9{x~~8<Z%axuKNMS+8lR2e2&I?<PRi!w^Pnu2 zTiaw;8|fdK3fE(M{NFQZjc*aTOqG5c$46QI8T2Jq)T3BwL|>hTLzNDA_=O&J%oBC9 zvg8yMq*-_I@h&bbslFU0erf-7$ssC}m_K<dBbMRCtsq1KS<|gB<7g7;o**@W>jel# zvb@{M+Tn;e*UAu4&OjdS-fxok%zWF95K4xgiA`yABm~dKb?g*7mLM($@>JnmNe2y3 z$f$7%2%-j7-$`Ytsi_sa@4tfNJB!?^ux5qgVm;;J9gJrA2m~7#h7p)$&dbXSB01<Y zP^Y4LUgX?}Tw86g{ZXWr7O-~{Tt&iH-5zJCkluUI8i+?3j&pbQ+lm5H@IxSX78Ddr zISxNTN^+IG`2PEGe0==Ts?UWfvTUsDeQfOR?%ruq28x0R1VZDBw`kR@w}-*y$%#9S z`x@N^$mK*I92_(|xsKP(v{AcE`63V^pc-pB@)jA!BX2}OQ87}6-W62+j(&_c@~^J` z#X9ad@4v+<WdBH_@x0PjH-dVkPjld>C~+B{hkvcxOoxM)CJv--oUsWtv9{8$V#AG0 z5XtX;=reEhyjb~6%Sl~&VX+!=vz}JErtvxE5}vx~=E)-mWYhPFP?Hs!a>Q9K?J-Qo zfE@H3rKqt+M@lhBUc$Kg<xIGf{s5)O>4tQdsl)eYG~*S;yQDSR=&UJCB~)3AmF`SO zg2^Ek{u{YW2xyn4X9~*Y^GeB<ze$$~vK0)<vUnYgpkxXRHzZ@KmE{DMGnpippI{nh zJbCK~u9{v`*XORx1(E<>zbkm2XtcCyHzq4%gO$EDUZOnL@uBW{Uht9jUqJt3--rQM zlVFDm%Of-E;O@D1@}0~QZi2yn_A@CiQ*yfn=SoTCj?HnHh+&@MRaK5-)%CZ*&9oy$ zbX&q2$t^f{PWxrWTPL4eY&epS_xJZ-qGkGye7KD4m{LU5yhWh#+F?nYc02s6Ye?KU z_yfS{;<aL+HiU_e=XWLPb>a0vb-zHxK~5|(iolh07XBmr+H^xRis8$PTmvC7;x62V zJH+LO_+^LNOdbSEwq~4<Y_3X`3P&jhmFqoz#(aA{Q06<s)9?o~R~c=LOuuEeza;|; zC>A9#&KD{{DEV{;WzuPzB>LMQdv>ia$zyjzmYe@WVk#>K#Wp!OpG5`Kqg>~4eeh5> zmfd&f>w*?0!nBG|Tba*Qf9IY9J|9Q4x9ibatq;ci#kWe7f0CcT*;PU^9ZUdAX+Lq2 zhZ#>n_w<fgPAvL0$AHvAqQM(i0~M9Wht$#VXdmrkp*i-xewV&}6dW89940s8|8bMc z*i8Z8-)<4P_442BJB8o7h*%D^xlr$Ul136M;5peH&GDbq9lV!UB%~!bvbV(UvEMnn zqn=4}WBhqeK~V>;%*4Mk!mT?G-BHd(V#dFzM-QU0KheAyywhduqD;w_^z;<=X^OTp zhEv-2$t>E8<6MUs0=kt=C#gUQOfIdSaqS1=Gt`+289B*Ull>MDIgP;!7EG>!jeZCV zR~lEEBd|oZspd=wzx2}_L`0!q)`^18;@3wiBHN-Q1CMrfcxR>TxCNgDtFg<Qyh_w& zS7ab&j8-%<j{5j~nVG%cDA4~}^Ds^;bG+OweN`28x|<4r@f?_Ts-K(E9bPogYjl6u z)xkA1d85Q$=MR`Ck)bNDXLm{D!Z@qO3ggEq%D=(=rXZOInmqn=>~$+rm6j(rj?f#o z=4$#KJ2w(?UI+MX`LDV|J=?Ltosxt=4OQ}rj>?eopcicm1}gP1TFd^RCB{IXKJ)wX zKQD*PrxZx*MQY~>!^y6NVm{3!Id9PU*joBnUY?Wt0q*c)KHeWcK4onD`SUj*rh6kO zgck5k|9TXFVDUU60_$%gUbb{W5yt?`0>EH@$?kC(d?xR0?Q-LPFq#U9dT;39vu_ew zvi^IEBKt@HscaB{y4ke7$uVYJqq{zcd4g5~o2Q76J30STK08Ycl8E*08XAO8rd0L9 z>!Q@^R1N&(gf_cxbD6hpepPYeeS$IDva78<(0(YQCMh}owM4X(90{8vWxX5i5F1NI zFU0qtIw#iF?oBB|4rG>={=*q7%0I7gpg5qxb8}L!GwYZ$#A5#p^&-*SA>gMN3C!*q zgeqf->Kk73zvlO#SAuXDH!a}-@0}oP^g%r0Y2Kk;lz4;mb@cecGz;un?AnDJa=b^+ zC}z7CG&M=aAGEXp!~9CLgoY$e&JiMbQ-Xc#y<GMXE)z2s7hh~}1dqt~fj~-uZnXb_ zXcxZv_%>r#x9s`z(K{WZFW(0cuCDGYz)rNw>Xise*lLV0z1+IQc%7BQga}Kod0(ZX zhBxlCEs8-)AcB^%UL?gFjE)G-dX<9+EZkrU3@oI~L4+eHQeQD4A`rPbwSGmyM>I^~ z5q^Q2wXVtjQ4Y$ycuzx=bzd}7)4GZ`>C3Rc|A*1A5X!{V>eu!%NyMDh<yo1>ja!E3 z97oL-4}+>`k-%jKqP%?L>HRIkNuCG;O6=gGbOe4pdSQY7q*&o16djVYUl+YjPvvaT zk4GTjZqgB{uUrv<+zk&YYtu5QrVE)|gF}jHnOKfq|IV#We!Eq76dtiSsqM32rKYCd z6Yw9_Ra1t5aO4R9>l2OUkIN!F)g|e265fP;m3$uY9CPR3)?a2te2gCY*YLhe*?y%A zR0Lv<96iu#P7uFwb-ot6u?Pjb@oHlcRa`+{20}R4Aob^PnLA&f#3-+F)*;j~u4MSF zWE^25Rx(cKPQ?%=wtej`#V?m%)!h0QMqHMaO33B+IP_NdYNU&m<@lAaJ5zUNpJggX zHVrynji<Xy0sKTH-zuo=Tm2cg91AEo+`RPLIz0;Z^9xB+80g&>MZ0+;mVI{aSYhCo zsA}T_6+V(D((3BGPo#%<m1lm;nx6O|(qCT<PN(Vf;llOT+NzBy?PjU@k6hxGo%h4> zwMC}}@V0!%*~qWbwN3=9kJ*oVrL4s1oxguKe`Qcj`N58t$ZUtSC=m*4POx7()38Bd zdMeA$y?k9sG|9HzYzJ*g^(@By6PCvG1zPjGS1gEh)fc+`eLmaly{|_a{@sIMeEuSz zIePVj?q95BIR2VwDtw-NS2X(Tp$Lpt6t2JcKwg8u&Kc&*Q^QkNS5c0*)-Y_q8SFPO zq)K38_54P(j0#uYc!AM;<X!Hyf8HUc9ffAc?e&)>qAoKL1*|M8cNAm<j8g-uF_A>D z*yjaS7UpI;?HANVr8XO^-<@gpWvq0Svru(Nva-);uw3JkOYVyfKYyUY>uKyx8?b)T zSZh$aP&x`DS>;T2{v9LI%JxJ^Gtq(Y&sD)j>2F<fgRHHR5C4+DaIQVlcJ6z^rscuc zK#j4s`F%iHNg#ZY1P-h8Cr&|O|0>Rm!_H7W;CNyx>pYkCa=;1e!@-jI`X39=bV)m) zUV38n=;&e41d>T-*MH5Aj<lk{KxL8w#T|c>QH=kgrz1&Ex54r*h!;z!Ffp?-65<-5 z`?s<nf})>)t1gyASNX@V)AjomzFOt|#i#ZJT{9?T`A`RWz8l#z%0tmYK6Od_`>9qp zqR~gIg;GTbmHfA0394m~@9N(zfw?oQCL{1Uu#nJ(81a9IeDHJaAOCOe;{P`n@c$1& z;@0KBjMv)^m1!K>%iq1fU*%QiXgsT+fBv$o)H1KyF!&J{nGvRKliTpDEnN+>z<Zpf zz$H3?H|022uF`SPUwO#W?ih4saVB9(jcuYdf9Bbb=*q2nA50rU{&s%!o|QwlWH0(8 zprIcm#zpT<mVLSNKkouETvMS2M_<B)$9w_;@{IqzKyw&A%6?geMR)ki{H`ysaZC@= zosYH+0Aq^+U^rY{+`-w|h%9r^cDA>-2N?#)!jzvreFQb8w*<6VB_-F3#&IO*i3~tN zp%=uV?H1eTo$JVj>@#uyo4%45cnM|g)$pg-dzEPJpI6@q;$&)2nf{sru)3qOGemIk zMXiQhP(t5vZ=k<>_rr$|59H*q)08n&2Bg_YGb$>g$HtyLOd~u$KL;H46{Nb%x+6V3 zJxc2EI?UFNy7Ctm_jlQkUM~SFHPN}Dp`pCIoDe$z_{d0H$N2bL;3S*zMn*?V!mQCW z<)Gwb8b@Jjn60PG^d`%k3>O_HHZVlJvlUc;?m3K4SOmrOwvGL7laqiEPjUQ5`4#yc ztr+x9{)7wV!BQC`BO_4NeVt|gRsSSFhMp*;>;9_|Cb;bM^t4&Ll&L8rT<8uN?zhoV zNhXr!P3I_hG<c%4G{`Dg0DIgH{9@2g;pO8qD4S3war+|o@4~>sT?K17jL6M>Cvi)H zjr39WaN6+t;KqKe0t0Bu$jZs37ZpYL`d&FXIl&A7DFOANA3x;a8{vua^VvY<UMl0d zf0G0+#pjZe55Ip~143tL-4W)Xo_UKu%TpKD`JZpnb4AXMOne5Afwg`2P^mkB>VXm@ z%=LuP;_wTA9RvMdJnJgTkhX_LMt3SID&9P#gUi5=K?c#NY+{f%%#2qKenB|NdRtPy z2<YBM+;I!W3yW5u&;&OL`Z#n+e><bd|0K2mUI891tE%c|lHywgVr~EANMQ!lkYNp= zbcxg;p00B#17RJQ1v1g-bsvgLp9>1Y_Vyg%!Gx2-VU;+^9uM<EK?!aa#<YDK9tO>I zSjD{)o>N_QEiFnV(R~uwFs5xsZ(0mM+SPA%D<(w!zlRp=K#rZU`?0sb4~VT2jZoMH z=}cr{QoK))LtJ1|$k5P`Z<hJdxi@?Vy8o5z;df2?soB{WMdKk8mJEcLgOigXFxUh( zCp@~dGe1oGfTe+9;VK_pY36vKkw^+-E3K?HHMzvx8<OE*81Pao8~zVvx}Pf&IL~%J z;2Ut!Q9&;eI{*a}-JeR>F$lCsODx87tw#O+!ve5_pcuNp@6?nw2vbLNy=(>zYXC^M z88%s05#yo*EU;;DM_EH72!5o`IcHz9Q09t<-a`Il8ZK*QY55YSAtK+ZY!pM=q{GV< zOPI469UTqJsK7uBsI8IF(V=hO9<q_b=(4asf9%!N(NgQ`5;iBRh9@SlBtV54B!FO* zT$6ZAdi9|V4`uE>cTo`fp@U&4Glfu+QPt52%Q6RXc?150#mU<rFhL4Qe{XFlw$B8# zV-=v1$jr<<GCocm(pEfS2{i!ys!89bwteI&0PO+TLcP5TpeoHphHKySS5zIjRxLrj z$i2yrii!&9KJSx9DkN~cKFGXjY!rL(;)S5=_ANMTpdG6M58q};M}mDlOscD=XE8m5 z{WcIW8apAj0xR=vV&a`{5hH2HbzF2PL71M^jE#<d`1tYhvuC6T#J7<V-j^QqL@@OX zwKqjP#iFnVJ$twdplxBJuZ&?>44X#rYcLoP7B6(bCSy>D{R&c1eST;-+wKhjt|Q1T z1L}c1d(E2woSUlJ+AverV&PmxPfrPGB~Ytc2G}|S5069VPRF;YDFs0)6Hw7Z7BoP) z3N%qkW_2|+-wmu9U7Q^wzY0h_P}Nv6y!mfvKo>}koCKzr05}CC`(b_EKwtm023w$R zQ3q(=gWA)FgoKbGvzKQ_J8(q`3W~K~zv#(uxvi%Jxp{a1jf1q`4i2ya1~90yysC;A zEaTf2SjF@qCNPFF^!Dwl0!S3=*_kH_d@>@gF)cL}MUvbzuCJ@>!9U7-O}yC1nKpZS zt%p^Uo1g|_#7V{(rvPt%e#bR%L{me9Eagc8SXg?Zrj7lp;3rz%U=f30Z<9VJQdA8D z<03BQ!SRE1&45&YU*Bhd48dbafj}OxI6(RjcB7=EBvgM0L)w=7{`c`e@O-MBFSPND zVJ>6UIP$p&>#uaaIMtfH!^e|UM^nvlG4#vpzVlAU<;7he&vkR}<7wI`Jx*Uro8xEo z;RjiyzZ;J+JXiZ^hqreBES*Q#UPgW?+uO<3IBpk@5H_{{f$6=odRntVIs3UT<Bo12 z6E*?+DFbw>@9%r`{i9(iVlDlA4?6dC^f6`@zq$nncmQu>C`=ABr5r5IK@&opX~ ztCFGj8#1FOdI!g^v#;+iD{Ba-XQ`<h1C|#?4FrN21T602gKp%hnwp~0`>s$l9+jA= zU}3?kTNHC~;SFmsWJZ!QAV6R7^@IM;)z29jsNe#@xS)V)T|M*@kIpaXa*6VvZM+{R zFPjj_EI=T*IXMY0Yx43!Kpc8*-+eJ;@N-rczR=-^)$@7b=6OyO-J+XSlcF!{K-)ii zNRTw7jYx^wE^{_wWPEm32|PE*6-iUy#JmR69_)wy_u#b_cMnZYOmzo8pIKVSD-wJ) zxkSF4?{=zVU42ZsBhhu>M9HPamiSz?bw%A`@wC6jlZH4unh+Zu<n_ckx8l)4nPXoM zeI%SU{rQW$H__#ageSvf){Q*P#=RS)-scRFPoJ9QiwCutoPIy3L>ICAncHDp-W~0T zuQ{$Ruj6xSci2^x#Vu+c>NqA1UIy&YyDW3quwYq0=ecZxD#ZYND1Sm2wCDlX2B8Uf zTtTX=ni}$qAsIocb~9c>?l?0uGcuy@qTEq1_XS#m3{mS2KFQ#~z?dNAzBz_@!vMGa z6m~Ah{Wz4puU}DmVmPwP%Rhpt1w#WiQo3*LJX2UazUnCIKz!!lj+Ylq$!ME>{T~}t z2UvD#$}(cnjICJ0rNy2PA2w@_9~kVXcpL|SQb^6`kNt7)?sW0J)avTRp7FG1b~;6n zKjpmgdXti0MS~yhT$&V3uBV&+9&6N<6oS{iDib6M%rvDDtasm)NTNOJenB7*wPtTW zA02arGuQKn-K2$Tn0D+7iGnKi-+m6AdzoCW84rG-HgrrSzp|Hke`o}OQ7Y1<;rchd z28#$L@7-fifM*K!8{fD~8iJJN67v!U*9a2FZ(#syq9P+WatM-)swT~?tiaFWl}&{9 zEH}^FqWC|Uxf4?2HIqvTI|&aD59}IF%!XdkQ<y^~!ZPT=U0YkrNf8Db-EBP(h$tfP zVOFV<5&>Lrhr4LpqZ=oC!jfN2{c}TuSErxNf7#+APBJ(rRQs}GbgdmBQW;Q;eO<=> z{eHgvo^J7+eXj{I$NA=ZMy2u6ORn2@{F62WPzR@nn$mu_%Vou+{OIDncfqxN2Z#I# z6MO6MXrDOE1x|yGXo^O_uznMQp_AGcUs&8tguP{mr$Psvb(Jw92LFT%Oc!zrJTWnN z7#OAifkbfn;MiC@3>aA7*tkPSccp6biLNfqv%DK+6TLYq8Sv8J#(p{9$HKybcZCtr z(E|UMOu(871f9TU!2^?#kp&G<T!_H&M*+bdMMZp=MzqrbRuAG%2tX568~79OzRW5? zU<RFB;2sQ4O?j$1A?*RE%!5}VCy+^b<)P1cuN8g?sV63)RNAqa*4U`a?)*={)PEHs z;ixY92fB2Me|!w0x*Vr?gIY$5<A?H?uyMXP6Dytlj_7T4oKcySH~Cbu(=e*N+gDWV zb-v>IBk*a7=XxHS-U$ne8*%%elrI-(Mj_ZoV?O7vV`zMW_qXZ?dfjdouTh3X#B;Ir zdtn79ughj=&Q!jA&rc@9`xCu~h~yaav;zWqdI-!=Aa9FIO6r4S0=x(lDC#4_74X}j ze#I510M_ZKSr42H98(Anfq&<7=?&}*=v&j>yN3r_JzyWnaMKYiVkrbqhQ$s=O5iAl z()u_S&+2m`<rpE{lT}m{TX)xCzX>8v^)RIgPAa%C5IA0)Yw~B*mIh6Gu@nwnX(=gm z@bBQ-lmF}{!E_~*yk`Zs2{HBg6Uar~%e8;~v)2;Q3`=6KxdjNKArQ&Y>xzNTTjl)C z9ZZT(`j$m5S37EcUQY48+y&ECe>|m1@oHnD=J$7VN=3C}w6Zvd;}{ef&P&#g)umwW zV7cs4^EQ^`(_KBTcp{CXQOafP%d7U3R=u+11Ah*tQQ+^0NwcVMp>TL1u)8)lH$jq= z82_ysXh9-{Qq3(aGP1MZZWMhHqe--~w$1|c-k=*XyVYUFn{G}4R9$3i0}Kz4bwywt zy^f9!g!K@ff+o`gb#;ihq%w9Kyuty^d)#52z`v=tu1m_HEAmnc-UYxNsZ^cmgWMlO z3q(@#(QLhN>0CmSz92%8tT)Bujbe62b#?5*LR#*t_ApA9USW8tFm;})v<Qa3wo_j2 z$7eHP!&n~^7(rt1`@e4BdvRj?(emY~`tS25YReZjCNgd-IhLwC!xNRxq8JE^8ngKu z*`D}yJ+l3=XGYdf)uV$$R#fY<<Ig=1ODxA%<#~j1WGJXFbv;W<j5<KacYSly7{nog ziFqYss1r8*_OU0)&6`L^_~;QTyaYHl`V}u=Hc%?ism8{}T-{7e7$D{csdfm?A(?^D z53CWq6uP^2C55&B3+V~{3@Fz6da2t&IdnSXt7e2=O@3TA&i6dG3dO?8POQ9=n%xiu zQNoqf;ie<mfcpJr`5c7r2hH_853gS{rAfIwJ<BY|ew0?!bV;^Eu%p+1{X))4LTYaA z7x^TCGygF;IRQXWkbj3D5Oz3ZnXu<w`=_B>arA3ipHl{G9|WhMNee^VzSlS~g3WyM zFs(`8B@0Vt%m3;V0ZK~uHLFc+ctPGc*W3oJsxEg%qCkqzyKgmRV(P!A?&Xb_81D<~ zZ)bENBN2wO0GF5sDVqq4kiO=n_2KG2tOA|tw_9bE)uSP#hlIIls>T5XsgO(s$eNHb z^-@<9a>F$=P*+VN5A0if>U0R{A%X-Cia;#b3c}1+u!CUVAhUqAiHwbv@$wQyLql8J zkL37I$>$B>RSB2SEvMIinx3Cy5ZrnHJ|<@T+V-E78{ZrrCZaLamJNKb(bCdF5^f=( zM=J7mcgw-<MUJ5Xxm@Iy2CmanEiD`g@XoM&5GGAnB0;ubFoCiT60Xhbj_Jeea61r5 z%J%;^@bu^!yk0@7$Ux<wdDqLORf4RK1w}<)sMjz&X+`R3Pa0{rQ6Jp8_E^l-OyZY+ z5!Erv@cbLXly~LjyZ}Ylgb9@KSs!3b6zIcZq5C5{hg3iVLADsd(17l$EJU3!keUe_ z?kKqy0@hNPnF4tvoQfqxUSZ^||CNtwl}2WZJ8?)kM;Jkgd`L*jZEQFo_do{CD=Q|* zIb1JZP&hd`fm#~m(0>CtY4CFtVUYdbP};H`5Iy8{SW#I2@A(KH21UGw8QKdxP9Q2+ zY}`YN91jEoe3FuqAY}#BOYp2f4n&hw8RWf3Gc{V?q(lQ5DqI}oXhDVFXU-3Y{XPEw zWR!0N(IsmoFn2T)U@jq2H$CJgN4q6I4-5_jA#JERK-T=XkZ>JRO-|3^L6B@+shqSn z0?@|)olPr<9|xuVBW;*zZQXcmg8cI=U!w`80^}4Fe1?Jqj8uS>6`1lZo6bBScnicB zBoQZb@qf!rim$Ih1w5s$#$lBkCR?umcSr?$;L(!34m6Q{-(Hh4$Dq&vGAa81TeU;0 zf>|cOm3;egec#=>dLA93X2@U^;<%S{7NJOlJb^I1=941H0&dj*nL++WAF?0N@N4%O zTX#f3&L1-4b?-HT_U{7Ds}P>WPC+a>sBrzyJwgd4Rv{~+n*g#?K`I7OQ7;)cK$bwM z0ivWG7(n(RHntNunAj3f`~YMLjBA8S!(&ZNa)>|wYSVuErV2Yv$Z?GjJW(jE_(hHb za^favS{DNm5Ns3@PIKk^7awu(mRVoE(87)f>zpAK7EF7elk@9JUxK-{wN&;nvf>3t z0pg6E-3Us7a0p3xpsu8tZS*Zu7Ls)M7D!s*utFWhcl4DgLL4qG|A{RvJ>3sZ8<fVN zas_(Uke`~Fn?uO=;nOE6H#Z>!qJ6RgAQzA+L!Jgf2Lp|Uxaa>v)>}YTnSX7=V1Ous zN=So(fPl1gNQ2Udpdy`0cZVP#ozkGR7^HMacY}0ycS(KwcE)-B@A_t~S!-|*&biMo z_P+KNhs@xd2n`{$iGUoXrlukhP9WF<E`~@iJJQ?2sq9^lQBo4~PfsBQ8Ke;43ehx& z`{AVia8~4ju-={*TmnH6371@}3~O70;zv8L<~#f}|2^QX%O8@G;Cjn|=7ig7zOFSc zE^esIj>&4i4PXl;=njES))=XxPKfPjI+)`DrzW_l&Y%tkFE1^9%F7FTp0BT!tLk1& zSO;0GIuKt4;9&Rocn37sa9C_j&I9)clJFS7np2gb0W8DeFI)#kq*nPl!q84*a=`$^ z3OaBEg#!cZqn(A6EIP36Hh`Z8rR++yiNEMw5@_9!|3iEA&9ARWynsGDbmV6OgXpDM zg&3>}pf3a#(Zf%GWWDKwV+UY8!TscGW@c)tU*~&M&8A-&mi4&vj?B2@$^*vI#k&yI z<uR~=_(|UbfP^gbG9oMhZ(Qhc;lo6J!1H4BJB}4+5e><JHv#X7vFgMUb`_i`jm{Sz zVG8;ISS#$jkGSi??qe|?Ie=i5nB$GA^N8Ss<I}b{&fxX+^<Kq^CBs_t4Yq&QwRap~ zM_XW8-9Qe`w)|<1`|D#*V95b?2Us9jGf$aE2L%Nk3V{7SSogvQh~_yJy$7*i@ZzKZ z;pOXsrK%1#`+%#~Le~yA3!I;j6M>Ba^$eh8keAC2T{^@U155<>Ayn1x2NIH!$g|mK zXwYSPX=!PF(FODK^L<v`7~n3U^}Ce~pbcW&UwzU5-@OF@1`kxnxOjM4%mkpv)EzCh zfRmY7Jt-?|Yp4`1BS_3e^8LVD8U@<AVzuun!^%&eiUPg}KpMPkH~|5C7MRNg#Ak~G zFiY?}f;AdJJj+1wnb_;bG!??ZH2|aoNv8;k`UW9H$X4Xr?GiyYf%;ja;MvWpiB2Gs zQIj5APB9_^ao~jNkJotcCILV}65x<fge8(ckCnwZkc^*)EYqu6bM7+)oqg4)N(7q; z>?2|aO-+h3s~0bZX@2SCLdxlyNDF9hV<2B9gtcgd6g%3HkBkIMf=~0BC+ZW}{cvS4 zMqSgCeC$nm>{`HpdzG}vg?wB?0k=)xif_{?HHflvXl4r__fE)oJ<YX=ZlAxi_Dp#% zv+rhB)-5a_p9mNBE09nF4GZsFE~Fc?1L3%Qx917cP#_Q^N8B75_q9Kf+OjoJ0)UTv zk#~d%6kC920o%>zlB3<~VD)v*QHq59%c+2$%gWBf(_o<#510h>>ty<Nm1d0>hRFAu z|E?$;Xd~P8kNfr@0~G?Xz`D7iaeZgXeZG<V*+*`oKr*YXB1*^{S=G7ib8LR(b1^St zS$DaM{W_E#5VU5ixR=l*{D$16GB&+Fm^U&PN)}j7Gh6n9a1<~>iVPeF2q<M4j%kJ9 z(7xgFii$O$RrVTKsRwk^zkU$neL!N*4~cb*8X&YlSzKR73JGB19_B)kjD)=+{h3c~ zwX({qdL%1yq7rDS2%iVexTdD2$rX)r9xzG%smXi<8+;yw*K<HDs{`BrnrloqphO1` z5PQ(5p&}V66X&NB!6llHR8(#sOt=XG1^~zcG=_q3=R$_K-?`8(5*Y}DGU#LwYjh+~ zXQ4F<EQG<6BqKfD8%`szQ9pz$+Fr2)0LZLj2=Z}&P^)RTIwW(GD?!$E?~4X1;58*+ zBW?eCDFfP`dGIM&K-h~w^@Y!J3&_1p<MT7%+UhC-p;8*h!voWLZV*5Xm&QEee8L>9 zr~^3S2}Jm$Lf4)k+lZ&4#-gi+gzkai0m74n3<P4+Vh=ziUA2?ilLQ6TeMZ*w!OI>- z4pLClARltPk~Pnmf`_<It&o$`v4y99#<Jw{TWluGfw3{t&gUzZB}gUPZOBgc6Vs>G zzGD22gNdLSmX9YW&Ee{SrljDPi|)-rN<K0<XNyufHhl2fhpe+1YaTf6voASzUZ`c1 zFyq3d=DXqb$m_uu&dr8vt%C*H*KNwa7=0HM)rj(O7o?!1@#3O{t^}S$dS2cw0!+2# zJxB1Em($VF;p^;%3kv+BtJiEBgI|FKIPmmHk#JnQQ44gp(-jR+|6f28bhU;L5zz@l z=9(BdJ#1`#(KvlAS(#p1%7f%UB8EIbSJu*GHXj-uZh@%q7LYZ{QrrN6KN*+)2zZGr zz+vJ5@dEZhaz#A8r%Mu15IcQn2>$#rgn+{Dnnv74%!*!oLvqC-=GBiT(f)0EI<-1r zy5Y-JltLYFhhOX(8bSm@002_nAaFLBfMXO+KtQwdq1prdsRm|D?FdU1$t!^5YQZha zr!+I~X%Z)oC(Z>R1e^-dO~OfF?W_j0HRN01O6EY;Knd)IXdatojDw+@NGLco$6I(d z|8y8!Do`r$@bW^A3v}WrNNEbSE;<$o1p(&t&Jk2`feWsu>`0plm#PThk8mx(i-(0e zeV+#2Ka5h0hYMiv^b;BfM6klm?a*{?kW>V{5TKigpc88IOP)e-0RYr<)MtY@%)@ek zvIOEP?*f&QrZK)n6{x`7@Cew6?vY^i_V(g*8ZdYlX|bi)eROl*uYIt4u>WabMe4~D zo!3$r00{&)dJe3J`HL^Dt>1yaK#pmyZgB@ILquHR%2r7%#HJ%71;|uICK*tB!8HWs z2XYvLS9cgGuPtUw`!(}!vD@{naNW?-(IvxHgh<Do-z(Wl3JO9n^I+z(vWN6O5UJCh z$r{5O2gz*q^hTZd-J2jlZ$Q=p>@*Z8oaaGHjwN`u6&(CKT8RPQe<AP!xJ5UFtN{|c zMUtnVA9IbVJOm1^!+ik656kA^Prxq&6GJrVin8*328L89V30})$}h<HG<@?0;Xr~j zq|)=}QeZ}e!c@L_fpg3n2bxI~=c87Qc{p4RAgo(DmVK!pVBubrnlSXez!%K=_))W| z7;^s1+aC^~KnZHC=z`|S_SS7DZo(Y6t7JCi|4h6M%3$yZ2c9alKDK2EP}4y0yDZeJ zaDsh(RfZ200E|B2^(Xyyj){qpj^hY~IoH&lBg8mC#tvM$S1~)7E1|0Z90~^_G5pV& z*q|n28&^TjX!rvp*b^qTU!TzfQgHUvX4sem3I8jx)N}r|4X>X(soj}Q=O&g9lFJJp zsIsz@oE$mplo+N)?cFY?oOKkLz3Yq0crf%+&koM^UW9DQvN5>8p{#!|dKWr>0OZ6) zPEqyM?FC}EpR<Mu`*zAe>{_S5F$0`-Q<A0LetuVhxs8LpI}S$b5~rxUTKf6ii6~Xj z-@u97pv3%BQ**!eC^sxT+{bw|9oD)ga}y$sP8lBT?G<_axFsYH;iaFfLO#^U#2E)7 zsJN}+Y{B=SHh0({SJj(p5y_c?IQhxVsai0zZk*vxBg}%OhV-&98uEs_-wNU|df@~C zECtElGUM%Gssd+_!_y5nazO#;`G$rZh8uQL$ORump(wb~(9kfG{^BrIV8^inu{S{S zjS<uG_J2n7-rs^{FCFDTGDBSzCjllTC~%$SC(}aWz;UJyByb6EL?d~rZrV<8K+fQ> z3ea(K9u&K2#6cWy;nGY;cGhyp!X?k}M?ohV+Y01s7u~_%%HFStQh<lM-k8J9_~(&o z=Rr!i4+``goT;P|9S-I1lH_a|f(8z>?RjTB#@F{{_czAjW1-1{F=)eK85W?U0|OFN zw*Yzq!~pPOSm#}!2~bqLRmNc^lAV>Rm)>f4^^U-8SPb(6Rc8+a0|UW!o$IW%2)YF@ zZ|6#^`IMPy*ksYzT8rynuUcSubK>`}qM+l(7Kva~dq_5sqm?s-t~r=*`^w8g<0)7| z3&?Xv1aW*6CsQ9cB%q<T7%?fbfI4OyaqOY>tAU(sF%gkksRIqzN65;6kvDWfh!qUD zNfd)X0gw=A%LUKS6&Ubm*2^~13kr4%0>*L`1qd*`XM$R{@CCWlld3gK10fdeamZi4 z?mC0@05nJbgfVLpQ^=BrqjH+9067kajG;@ayI3W0fe27sh;anWA98|1LLQw~65W!f zR%<pTRA4zVD{ava$X;tGF2!=u!{O;{T!{Y_PkmR6&`W;~Csr_2GPL{?3klShP-r6= zD-bUfkRc2e7^o|J?mhXytX1P>fAk)%IW2J4py>|+C<9so=sgLyv5vPEt$Dz9=1*m@ zB<I!whDVUMIlB42QCUR=hVaFU$^O%N@EK(Exxprfat+**ga9rDNE(t?V7PP+RWVY) zFolIc?iQqi$=&aI!x0yJb+xddfP^#WSOJa&i8O64LKwn@Mg8|!7N!FpG~jQdbIDhb z2RGti55nve#^cq{jC5|#wLS+6eHdWL(~82}PnVU&a#m7}@iq+fq!V}|;Yb3n^hM*> z_eid``ub_LpG>}1!>eli-Rh>Ts%$q(!Q|e7^D`$4YlZ3j{Z5Y$i(tWH9*byNm{bC% zKO!>nI_xi|1u(T2oR=^TGJpvwj0X{66LPu!L)G9lW$xEx&N1x1i>L^o`gzy6FasB& zNROcNAO!syLMk0>$?<VnsBc2*2ZIctX|uMoQ&LtIV<wn|oE#lE+%oq4B^2P+(1wB7 zR(u^Gj&R3(V0=Z?*?G+zV#SfD({Y!BR{;APnwZQ%Ix_{y+3djazwJI8VII|D<B*?f zu4qyLa0rs=h19ojQ^LUp!%(Z5MkWYSCO=)2u&n(Hh#a;h<PuhV^ND3%+@s|oh2;g$ z5#R_)%8Q=WKOqQ{8%Er%<uzSgf4KlrOa^cO0@nb3<4nF&yFMG>20(phzz2Ry&q%k7 zWy2LhWflhR@5l5F1GY)qTRd_oBPQ9JYOf?V@-@P-_-g@Mg7vqg;4u!TX`<uu=WyA~ z4QrkffZLHu7>QWP$_j%>dPJi$LuN-MxQT?iLTdx<wwh)0y~fc4I2%u3872dV16qsv z+Zt^ELCR&iz<oAqKNC1=Gw=$K3xJ0Hi1f3RGxq0eQ>DUHp*{#XqlZB#q?!=**a3xL z3fv>e&JP;}57*4x{Oh%~AcR8=Y$THGgZvpwePPO1dAeo>{dq}A3Bv5Bi8O`L{<|bt z&fvA=HWeyCRt=d<Q1vwgkva)C9y<$^t7nfg{~ewSSe5EHXX}`!X9rb3${}OEfC1Y> z28Gzx<oGGgo`cJ(S`~L?Q%JfIGR%PCEK(}~%?0{}%&ZnTt0kcE1b_!AGywL1`PqF) z44bn=1(X_aDY(7p7~?&Mv<22k`-ewsbg=n_g}Oz*SFR7wtREjz1}kWkC2gEEe$&-Y zN_;n6Xgb{HWLD+bxl$iFJO7K^B`IN~kX$((z=A9??>6l34YtRv8Q%mZvTsjT?S-pg z%H(pT?)-}!PhZO_D&kDUm$|}HzW!%a4>*|_`ft<;bnFeE$_@0BM>npZhGLTu-8i14 zm#9n(&D7jWbOA&X#$GezRS)CZ0cvN14XT|>029KbPKfMjT-ZT46EKZ0EhU1F66Rr_ zv$KJE`Om1#7$WOE``f-=n~%4SBRg#0FfuclITk#U3sX|u+;=zvetoEGQgHUf$%EDR z@2N6UCoSF19NaytDY7ez1E3Sy9b%JWjscFBM5I)RoqdlAN0MsDK&J5K&EgYOdz}Fb zyB}xECN=px_YD3IarHv!kpF1+bA^(HCDhC7(x1tA1Q3MU^w|LF!oZ=PJUH%N*@H$3 z!72csg4h0~zXgD+%<Sw&{d~ZUGCzOT8ZUP!C@j=wdnsUZ47I78;1=g^N2llJYj-UL zR3DtqZ%jCfqkSIeeL{8X4nJG?lkdeO?)!!NDJ^xI5u3{x>2I!x-N8lGn8dN`cep@R zUiuP9S$}u#jSE~N9_mrGQs?Ln*C<1;_$7ZlrclX-5f_kydU|RAj{+ze@ZVckE;Y5b zQnIl@D~$vr0+fd!$UtU-3^86_;(X|pOzh|Cqqv+iL$_mkW1a~V_c+yhc=GK}CK2#z z@o5~*Yr6KeuW;tMw!d&Jbpk9;I*H%&xmBlNR;AszbKJp%L-5;V;qNa`%xGJ>-%Pp` zGXmH!6mT`YGf_&;j<fS*O$sFzn|%H|Ib^SwEGYf3+X%^fk{#a}z@0zqN9K+BWkuH6 zK*M~~qIBi|@Z=i{>~qrb1rrEyuEAgjiexAR;9Lakn-=#jydOw%|7T)u01{>7JwXT{ zQ0<Tn1Lbf{jWB#T0Aj<M!@)umR30fb9<1AMf7#sLIg@u;#d+0rgu`rV?%orO!;8`n z=<l)d;`sD(>ykqwyNpNgaGr3`M9%B|#;p7-T4?-R9LLUfSeloJR{Dp?WF_nJqn0<u zYGq`e)sjLAcTm<-slKZfgmmjPk|=)=)GttLuZ^h8JF2tWN0a61`ZCc^mGFPe&^zvI z>?xciSm7Zd0J7HVvciZQa0zp+0QmGEkqLluEv-8)E-sJ{jg!%fTr-4(gm7`gy${<a zrQ7!pR}2UOJPGScKTO(>J?Wc>1u_q2jK_)z-Qg7{j-Hh3tmjvyf0#2X7kehl!Rfk2 z4@X5THYZrvb{q=aR%c~WA9#3fOUhl665YcWiSBk#W&EPb0~Wyj_@{NptrPW$h8fn5 z+$bDnYniMTSeuvSXl*W{#LE7D^4}5^MlmoHH=`w?#=RN}?`6oiVPPj15<TH{0`^-3 z%r0aCk}T$rOs)UWCIZy6C9($q21WVjs)2#PLjnQi5m+hpzM)2at6#K_KYSxE(~z^n zMuE6M^0H1RGbZ$(iP65@hL=8m`w`hs|Ez&LRPvHsFgihe!nH|RvXkL~5qgzH?#a~c z#j_K<#bv?My?+VEUWYXbxbF<v=}7O?NdaTBF#&}~Eg_V!f`y%ZO(Pi2(_D~(jhb@q z?d`!aB_2#B19TUJYN%)K@vv+xC@Tv%sG0~l5(t)W5e7(T_4A6BjJP>fo{E5)>APnq zjXn-Lkpl$$wha5C#|p<otG2Mmm)4j4%!2E+MHt_P^?bH><Xav45ohz|7qiR0G__np z&Fp6-@4m=IbIi|Q%JQ$FM2$SK`^8PcM}J<ovxKi-v;4wvjrS9bF#e@11Y7BnQiV6; zCNTg?QAzpc9cfH~0|z&y$N2kjKf}y#I)C_B;!pq?b69~97)-qp)EowGFcbu3DvZXU z+;5n8w{6b{{r`+@8C)FzD^c8_09ZMc`*~8S%X99bh|c)x-~DgwU54n@&LfF~hcj}D zL*{FJ9L_!)(9+V?K?9>`c}pYK?YVQ({j^?lt^~frvh%sMfpH3_r&uvV5=Gh8j)Xqg zq|@~Vi3{a57qSkNuYXVhywOT%)9-yW`HR5s1Lqi39?FNy*7ha~G-!?weF)EGl+vvJ zzE$V1aNfGxpNL)AY7R>E<+nVKm+6rFI1sa%p1Tf-UV@29c0l%p*AD+USHV0Hif*W| zl3~74G!h6L6E?Q+@821bS%k4M6(n#61Yp9s(J|Z0c5OfT$%4WU1Ew;&XL)uiEYIR> zn)a9S4Q^t350=>Q5)XW@)h}YRP@GcO8^l>tb2<INcN9fqzuxS&xgmJSIFGGQORm6b zLKkZ8_2bL4e62Odct$W8vAL(z`ebgM2VK;!XQ@hutZ+m_;4J79t?q=Yu+9DiOR#EC z+u>i1u!S>}O9pyBA78Q9wr)IBZ`52@C-wBu<k!4(3p%Y>6pq#5{m*i0`ESTgWZD7a z0H19*8{ka<xAPC_LtYsV#`drjQ@Rf&u!5vN?K@UL-$MZK1;i2NZqi+S?5F#*K4-Rg zJ)1yd<n;3jMthRvhLr~YCl@6KtR?$@kX1n5e6^?r-I(tgxVW6IJrbNeo}4=EIyiMF zzjEOY#dfvGMQw8Dxh9p<7)RC^2X1yUV+x?}*p{)xwF8-_TJw>zGC-j6$`2DgRWf>S z`q#s~06hXiLB&NdAE;rvRRhYmbY|&p);@#ZUk|nS*YllDIoTO=%-CA#bJCs737#iB zO8<ABU|KX>sKEd74x|3v>S*!3M9^U%giF9~-8hH>fs3J?tLhvl%gJ?g*yIXjRIzxv zc44%hXnoFnl@0#X&=Fjc#I?&jyOHgU*MGmpzZiOd$je}ErphQQ_07MV3Hfb}se;fo zcD7JV9^~uH;G_Jx*D?MatcJsrt2$x|(~Z!2C(~{fVDThisl2%QK{PHPor@km;`g{| z*!Q30o-KqV)#h(6IqmXbto}W2;F;ni3-(@bBIb=XWN7$(prXSP2XGb?3cxLPtPl`r zJ!mpkm+6Jk0lb^16^W_4H=|AP38gGL2#R&cPVG9vgZ}4r(nt%E5V7c=sEP+j>-6)| zXF|gFoaGb@&s7=z;VU{;kSQzA2x)ww42=k255N#76tj@^)hk<cS$`wZzW+bB>2&y_ z&l8bbr0?4_3fvRd$zJb2Luy0Usw8tOHW<jv_C5W|LI2r^(mahyi#1Mnw~m|AeCDb1 z!GlLuj}wjlTQ#t7cWb{1F&6pf#o$G>e+}ursX;I<sKJy#@!#z2j%>``SO4=R(Em9R z3hDoSL)~-P|1D;w^FN8bw^<8uy)kX|F^chj9syafPvn<pd6simU%Y$?Mn>8P-^ZeH za34RW4o^sEhM;&twtc>q7P=f7YO<nA)y8KvkySLmDsLt{yjUA?E>5a|<``#Pcq0k* ze}BKTN5xjd8@`iGPe7(n^Y5XSjrmP%7-&+stFwHh!{~cD(ADD{-5}y)zZR*oxMd%s zsMs)2d3618dPLpI)k-JI+{B6-`&isQza~Tt`_D-g^((citSfJ1gd%h2zcpH=d!g}A zTgAB*HjK^4{IZf&@U**`a}9m_a5=NIsR*v5)N5Zlx#%TKhUtAt`-NAf0QN>@QM`(} zOXPi}jLq8flbdWALF8W#DTT(pt|d_)t_Su^2|G8)-tQX0UyMw|nPv#lwvha*rtsow zIUjYxc5_@5`t4K!w|xK_rG7X@Mz1V$pBydoBica;s;@V(B;Wwic^hiZ<yWh94?l2v zX)j!pB}Z$<@w>YHL*AnA4X2?ynI$SIsUJSgtIO>E?6EKDh`r-UQD;QW_P=kA;=}{x zK=1^GiSgCjj1f=#_aE!oyO!kNcMpvR*N3@}CHe|=<0w*6QNPGlHCeQF1c#lKy%bIY zmgf%{{2nV>vR05W@$)Cze;kmvy#4z1eVzda6oS?b5&9Fd+(Z{Ij#2N9Sd82owBm%g zcVux8YQf*-Gd;S1edsW|A(vyhN5?L6ha@OWlYJ&<D3>T8vzykdc2Qd)EdIUp{Y266 zOygZgW}-bVlKtwB%vS}HlFVsEX>moBe;RXqGJ4^hZfZYp`my&qcU8wCMfr+{Tbive zny$PTSK$B43D`VObO^&Us}NuLBqEx^g4^#)-!0_b+u+51Tgj3&Iy$sLvMeyODA?mW zR@ei5@zU__6>G0#)Ls3^N9HJQ=P2U><frQ7-I_PFwLVmp-J0_xEcdGL6dJ?E*eE4$ z&&Niw5hYxl^_&-um$j7mSJsP+MrIOU6h<7Vd`q_+u?;9C;3&h1YWIC0RBNO_5Ebd& z`<f=5_L7bQ+6n5(8A@oS`tB4hnhYh$uSIf#j{^&0%DY^z7;)K!KT(`L@?DE`+H!M{ z<r_>brhYW|WOviDugxF5_o4Hn1;$GiVrb&Ny$}xfcj<y+Cg;`hex8d4-kHaZ@p0ES zG*Yw*@)V&vlLu2xveglqKNAe^H7AH-k~%5}PmurY9gz@G!InvQRbXv5gY7NJOr^;l z*M0Y<Fj5NMz`Q(IZiC~Uir$^};pUqO$*%_FXHf>&>93gw6(k}qdS1)@Y{aIk>BZIl zzt7zQ>t&@rUe+BCkT_7?N@K#*dL>9*;n!{Wvv)@Cr>@p)v_)$1*vBPFN#;*Pn4%tF z{-3psm1EMWj#W_D&B^RuR7EbP{N76>)A6!$b|d-bj{mW1Yp2`xm0>?ON=N&nDx$6G zHuVIn3m6OMm%IM|zdz_jg~fIB*q2>2gDCPgH~i{+Ay<hgwOFZ1PDW2#mdv#5qNgkj z7gA#JR%K~8GQvsn1K;lWMGJg;JJ$d3DLL2AO3yu#<#k~*_8a}lv}lo%ml9w8=Htn) zc{Sle<hY-_F-~CSAFKA3H5s#jmKKAROE_L1nL_?u>Rb{P6_(tK)|XBMFda!b;$l#< zZ)Zr!+4_aoe6_wRo*p`5JDoFl#jA$a4^`wXVakx->%x!A*Qp4!b|F$$SC_SRMepE@ z=xnRA$Y|X-BcmuPb3#tkz}-B=?pIYUeKu2Ca!$Z#n}T%Qix#ol8dRR3z>@xdRsltJ z=aaQF5iU~MlT)&%58Ue$CE0H^X!nID&QkZ!)g&(dH2k5%F(O1R+`F{6ysT&Df|F=| zL*}+f|B408y(vqsoVW+NX=$Oncl}*#(0#KUad9yhnU@0(u^hVG^_Z$2=S&3O^1OH* z-GV2<KxX3fsM8IJLnlAqBDcKrKEHwR+V1#X;6~3__g1zy0Vdz(bof@%gyYmbb%$;4 z@8=x@F)l-VD2adrq&N<ct-Br`Y@M>p03?0NdoMrTs+|)bXA|9iZD|1rgBM*A)k#cm zr&;M+9$okEBF04F+isn>h4HRrZ{Zv-+h8Ew<YX!F_^@B&+^cqNdgJ_<nRxu=W%qtl zN`qCy??=C7QuXwDhJJOpxve;jZs#Z6z`S(Wntgr{-MN+6NIv}|Bhi1rst$XjBCZ>P znOd`cl%KUJmhukg^2STYv3XwBC^?I^`EiMFb(LRKgUVefgSFv9LtPza$=m-f4GU@F zLSu1-fL(h&!<$U+Ij#}0)J)OFc077&Fsmtn{a{R8T<;RC;%+es2d-G!kCb=b9gL25 zS$?yGEn45OdYdd{r9}DQdZ6lcIwMmWbokZOrM{xcD57s~vV;1H<16(wmofhGy@oio zb2HBPU8_SF@74l}dW3kz2M|gyP1*ueEa!DU9Rzr*15ziO*#R_^NU;BAKC^Oi;zi7# zz@AucF8QXx4>q2ZqTQ1i=_*4;6dp0cJd@tzH%-8SOpkms?J*uksQ1;?io4y1NUF2r z!sH{F2T*pTw~?roY;~U>J=i<WiYYQgjY+ZOdaBYn!c-}2C&8<6+<hRM<zf`Gq;`;y zJ+rjG*}%rMd1yvH8+5!un%B9w(_q!w>3ZR3ez1V-3vr%>&Z<i&PRac0oqH2U;wRC& z@eDjKM-Epu$hCi$U!#q8q$K_Jt<l6^kSKkWpD3eRm>GY*{numh=+#sLoH;sy_Fp#r ziUSj_qb}RuK1<6HQ6}8`w@A?*%=$Vk0RYX|E7INl-RWzXn#@F3yeKavvy}e67~La& zgDrY+Z0b{m6R}u|I7><9m3r-aANMD(c`af2T%kRsvbNP>p;dh#zP-aHRY;?iv+Q6q z_nJ?gocc>-bh1eI=ejOt!uA{Qd%hTbeOa_0aiIbQx_o5DC2`r2p9~u&62LH>^I8EP z8X$t|Ne%)0-o^f$L^l4k!|>xkLRi~i^4k<McrgW}rt^Xu$Cs;)w&a$K-_SUS(xqIZ z*0kap%yqQ_PL0kOwc7pW03zPlVVLNQm&6g9o>AvBlD3_)e%2<^|MD(Pj;}pUqcXPO zYa5PfQnR*}TDK^Qvx^JEshixbKyjZ{&;Tehr`emk<rAtrwmezD9@yz#7?OVp0?C=_ zcPb&QmUT3R_d0)P-~M)~-hIR{P4L#;dfMAtOC0=0nB#^a`;RtQiZWtJ{*UO#vg+Vi z+C@*d_$WzJwAY9$EKK1gZ%#=(fwcbbi(0#j7~Yfxc6O6S8~3V1B%3trmSs~kR_@dr z>ph*9%oC@Y$|JH+4G{IbczApg@Yo_eDO5=035^hiwtN>m-eq4SqA5dM8T3FOBDo_6 z2-@{bdlCghF@$4Oev)7}{s~4zK+U^zoUNMs7G@t^gM(0#Pa%FWFt<pBPzP|uznDGH z3g86_<SDZR3!ZTSwN}g@AECQKXfO(>B4@DO4lmNHd>2(#rlX@fTt7G1=$QFJyHOwP zrq6vG7Qc#d=MKi5M}xPYi_)sz{L-KG^vk!$PW3P7e~20H{W>dEt0?@X9`!__HPUhK znb@b~!n{o78>o1wLzgaSUAyDdA=Tm9(ROks>8mLJ<*w$j%SyRr2U}+w-%gvA`@jL; zkwCuwl)3c-s;I|l(SmLQ+2z|;QDDwH2Px`5m#i&e!es>${N5@zHxz`80@DNpjLES% zZ#X)rJm624OX>i^#{*C0_#4Zg%ZrVkr-n%>Hd8G<&B{1gi!|#plYFSB9J%}XtLAAI zCkklfre-AajoM%G+i-q&@t>M$1f|E15xWb_(_bwlUKz}KeLr|OV(UE3LF6s;Mu~0X zyHi}Uz&*p*{m<+D%mInlKc<>pX3X|!B)9i1tvEiL+EG>QYxFF*M~TbDs(Z;zwlbnO z$-Ui5+TrK?)D!O0G|#{NLj3*<qLo}l3(LF<xKR<)?JatfO$q^t*3^XDsLV?CHi5~Q zf^%Z;GzW6u@VH#_-}=}?e?wDvk3xKQzDJ^e)5fcr1@~%#fF-H==(DgIX(siupoy7! z=%lvo%@2%C)l50FvbqT|+?J1<+S+tsJj0+-d6Kyei{_8IO`1BGt`p+bfp>EU8O{TB zVHPax5NAXfsqX**h6M7WAqeX^tQ3SOQw(A$LS9=2_~vztZDAFP5}-;VIUf!?^Dvdi zf&i_O#M5B@eF9);LmN_y$nNa<I$&LaoEMXfFZ#jD!reX>Fd~CtB7%W~ybGZcg4!s` zgHASDiD>av?jpBotm{KgnW|WH*R!NY14Z{%R4S`;a#N&4budYJV~f;Zj#;&BZs}x> zlm&nA7RUOvp7!I@XBra`b|SHUcE0hHi`L@--*?fv&1Z3bm`!{iYb!m3$@K7ZDjbaO zWhVO>rJa-u+<AoF9*rwn`w8dR4F2ckOV8%dwg(D0i=1a2#$S)rDxnW-Iqt}M>qboW z8MD3>q`^`)aJJQ0Z8;7fUwf<)BNF)#^Y8T*e}+XmDw0zHq~a|H5CF8?VPgtjo)V#5 zjg-?e#ZTjYuKR|rLligrb=X|r{kC0Jhd%iZS|&YBTlaCs+m6fu_<lN13^VT&^DxF| z$$HD^$ct%Mi`_F(EhZI+XXG>uCeEG+?%V)xPutbOqt6?)c?`(R67DxAMF!)M!oa6= z^<AGtAmljnH$<)=L?2KL0W$;WG6?%2>97>$E^1)83}`D*Zn%$E^M^|ER|I;N*n#k> z1(PobPe*8p2-OStpJ4EXNzCz;rppOXH?YA(X3^h@N~xJl$4Vo?oHZ{mPxqrA&U}RU z*9O^`I<KA5^o%k!Q<T?*rZj`UI%<5*o8aF;r31}1b;qbE1#Ux%aZJIuUzK7EL@QDw zD3km4%-1~)xdKL3*0?!HmKTR7NKu~QUhd`jjg8vN?zm5?@U$oHi)m?Mn%sFzkS03! zkwen5KydtmFJ=B)r^raw<AJJ=`mMHSX6v<W=X(_=hjw<Ziw+%4S(5=@uk!R-{3`gR zsiiR09IkM}-JItX6ETt$6<b<q5(odmP^QB3Hx0Y)wlD>od+kEw+}2F*&vkZ|F-9V+ zqR=^u@Naax`z7+%6Xy4EpBv#twR^uF$f3XLfW?_m&2j59ts|>n<4pC&LGlp$-2|4W ztHpu%-VqTw)88IsVxha*VR=7zpX{miLiGBhZiR?W{I^7~ZxG@e7))v(ZcZ`0DvbcQ zT2j15Ztc02NaRaR<|{v^YJIp@zUB*TJ#;!)cj<Ei@f17J<&VJ26TMpvbi^R;?+{v| zRqMSq8!o5)93MEiI<T)1UN+3sqBdL)%8=w6_=aW*Jet1y*LU^x(P^`n?Vb(+n5-o5 zkzAu}z9lh_X8z2hNTpI}W1E#-MrW{?ZE(MX`qq10xnZ=$7X;Tedxwh%-8yCyXE?t) z;JCLee?NU*!fovEhW~@!9?6KjN^ts$ed%rai#fcc5zn5PZ#|rt4SHU*`RhwIn|@23 zoO6;y$Bq^qI`(XNE8|@5@j~ch>f9kgo~`e4c8crGDfheYc#L;G_h9q17;<q^|4$gB zf%~rB<$Ww2$E&%`sf%?p3VvVEdNNc9fBZn-OqX$XB%(CYewRWJdMWV&_LL^NII9#D zZo{WVu6R?dcUav+gtbvP6h0{W67)v=zU?1UD=Ocq@(JlX;LBFMPcCMWxh5|up=9Xy zc+VX*X-VDs)dG0_v%-)%B`eDhhAc=p9f^|J+VGDPus~lx!u$Z4x-bcL`A1I&_`>`T z?1S3ws>5L@o3RspIy5w-`k@}I5D{a=lEZ0#$cd*0oi!LefQ904IE|_=&RoH7(%q-5 z&FK%#EY2b|HZX=SU=rJ*t*Ae59{65zOIewa#gzej%z@KeYkTia_WEZPmK;BiTA%G* z@-xYtZwcyY72G)nO!WAIor_X4PWaly4=wnzPxT0cC(dt(GzO+ul)Q_=7i?UV!U>A= z<g6<8wOEkWZ`P4xwH_r*I;@=Trrj`c6l8j0q{sa*t|&iSANyXUUS?K9RvJAm-P-9V zq45TLU$qQ!ymwwP+8PBh0_$po)igpHa+TI^|3!R!nc`Q=?+T-1C99&vid0JyWcoc8 z${sH$W>X*{+OoHfttDkI;z$`;)73{aKRU5@Cc_;IGBq;%kR%Z6pRi$~Q(Hz%z^#k& znhurYa?~;<nGtHMcWsQvK+?4jJ$P4sFerB8mZpb>ZVl1M0d*=6p;iLz9_>1jsIBcj ziw#J*>lV9HoZgnF8(A)PeM&sd$|4J2p0d{?&j2-bTzdm3a|pOCXIYMwmGzoJ?v(HS zdbv9M!yg#Wz$FD?fOdQALvWR73Q)JGNqFWl{%ymUis(J7;jV8=i%$?~d!E4u&Ks7E zf4KnQY0L2&n^byk5_K>^*4WlbZrGbrf1D%k_L<q8FHx1E2ALP#p1Cu*tzGD-nm#p? zYRRH2SuY$aKkU=yD9^>u7^#oGA6~qfW#()+(sAC9R=zj9!r-QlVUWl>hcl)k@{0fb z^n6^dnHf&8pKCjLHm7LnE>mI<<Kg@WulIcInA|ZaR+2KiXkAoDNabM*f64CNV-&@| z?emRBmF_A|qg(c*WEW!Qti^fm(=kwd$w6_`B3nb>?<H87m6xEG*^<4LE~b>3!0+^? zxv7OBhGWa&lxvKP<T>j0?+>|Fog5q+6U{k(mBl?g-uU<Qf<wFMJxA5+7t@mrlX0F% z>GZN2gP1c*ag_gPJ)ic$gEYA75j(-8(^Z4UZ%Xp=KY{&y8^#o1Jb-W(mZgeNK#wlR zfRFG#b~h%-fw4zR`^PyHc(g?$E~A8{Zk_u17C_lW<SY7}i88>W1MfXVGn?PJ{#c2} zc#s*<v7lj-jaqd82W0bbCRj;P@oncqxDcIerV{>Q#Z2hAK)Uf^F-x1%*=HTWrbs-A z$TzVKW5MTB#S1oEq|#OUuhZQ$(>Jz|V&RjHgxliT7dQJ_g$=g63!?|S=lkV?>b!1_ z=Vn1piB*Csa;NC)XFkVoglz>0zx@YM9Qs6lm{lsXqbHN#NPm?=L5b5U9V$!HOn-km zp(woXQk+q+xYUyEXqGJNt&FtFP+h(t&KnRJ8_uCqr^AxG#Z@{HIA?XUAJh3+nAfXn zI@&a@FJY@a7mRN%Uion&@ZEcB>n@_JVTIBS0mN3q>qf%`h&>}S-0w5%=U{t}WGDhP z5)BB!2wfu^n9cmhY;0^t`$bjlOs-qk7+SSq4j&KfStJ|?NRo)&1PI={*gwD*p-fxO zZrp(eObCE(3OrcHeQaWm03_@R#^MJNfkY4ekQ^THRuDzY<eG|@DSw9Y<2YlyVhB~j z!QtqR`@*=ZvZJgole^IKdp#KcK9(&ex(~kQ=j3kh@muR-B0U8s@8Vxq>MM)47vX2( z->*89_T2v^JM5`&5*v8uU3~<2sUM9FmXq-@a&q)ukg4BZUNs(nA|4dAeL}Kr%z+hJ zpO3!nAlFKrJt!M$I&CAa5JB~fr>&B7WUyHOft!nCXqzV9^hG+l(qB731V6>Nfm$>6 zasgdk!kr)lCG1hDQ$9-mF^z=la?k&LayQPM)v&PN#iWre8oK*>3r^PbtVL(Nqsd1p z6ATt@)Z!DMSu@dkp-tMy`D5DezOH`i*240v-fW0UNMNr4&37u_#RO|A9j{&^KE~T4 zB80|<YcdJ9J~Eo-)|=y)7ljiu-*1zW=Pq=AAD%85qT(C==zo!=^Hk~}-r)10J?31| zYh+2c%_!VMncv%{f9CEBx@DTtwNf`@H?6FuyD$gk))R4kw98_baijJdNX>7`h~<QZ zBqapq=i?Mjr!&s#o9LjmuV0;>x}jf;GZrc56esH<5te|Sf_u1nvOn>74vbE2{ShVn z+fPg<J$-J(omO$&MYuwRzf!ky(EW>GJ|^S5W`)>Rk-+>`;Jqe`EZvb;hFEyLI$`?+ zbrG})-L^eJT;8uWK_IUzHjq$oX@<e^%ZL7S?}wTUwsL5p4b<_?Xt-urcPN8C8HCO~ zQA*s1LWi+41)};oL^pwg5R?ZOnPEf!-s3&H``%m2ydF>G1}54O#DDgOe>~S^l?jKI zV|&`436AeOC}6Zh2!zHcHA@U&#AT#n+d+&PEO2`G9}Ykn4|-_;BsE}bMgzYbG><sc z(vz`oz8?*0>|I6kM5y7M<My7wtOgGm5g#l)z;|E@Or~4}RT9v1^TFa2oRdNGs^+xz z1J0pykr8W<23a9}<Jyk_*V)qt@H3zj0T&l@E)wLf&rr!$-$wn%h%BS6FTYc-+rP7m zY!&6Ddq4ez-rn#xDrNHP322{n{jAg9Y2-^b%n*o&iQW}v&%z0I=r;LyL{b;P9vI5J zwgzULR7WEp+O2;}=UKHV<Vk1`>@X7@O#LX6qGyqQTIr;o$cJ)A_7*a?siT?QIRaww zkPn*Uz_*t`3k4>AQXa=R#9T1EEDUH4r?En8NMtjBJ7h3cYJ-&U8L2W%m4|n$z;suT zRr46af0*6QoDtgj_tIrL;Ep32C_q`JfPDXR%ADk&7&<VdF9u73+iK>hK)Ge-;Mj)x zF%O;;NCAQeRxVSJV6i#v8-r|>&7h-hW-G_}$Py7rk=ak8wzRZ3cEmw1&S^%5Q15KZ zPANCcmU_|<%54A{e=O*?!s6nd0P)+ks!jc$sv+Z9QkdoMNbDK6+f0<DF1I(zD{d?8 zeH>zEP)e(nw4xxY-(YT*i=*|!LZecoR=D`J;2oZv0{LsL0T0jFIb6+5{M@Hk>3be! z?kne!loXTJ7u?es^pxRp8B%i)cUN#R*+%i=lKKOyCw0XbBsPD^u51CRhui4n1oTCO zg06f(vFE$Dwz9ga3(9C`P=@G1pChqWHswt$D;0;&p!yR~14K^Jw7)j;`P(=CbXiCu zMgnj_0Xm5;cqk-yG?=Rc&R^8fBu#C%G6}99CCJhsFd>K)YV@7X$-((55@FAM1u+!( z#gn@O=mJaMVYgetN&mNOG~$+04pce^F9dj5jKw>J@Z)G`cX!GrPJ<w>ZAE0m?ELJM zZ}aCxHH&&YL|XL$`~9D1$hD@%wWo&vV5Fr~#)+lC_~}bb(#wiO-dLm`I;st$Ya*n~ zYVYF7X_oR8#2B@iM+9lo$e0A;9x&FX@P6j)^6u@ypi!=ANADUlQ&f$SYPoFkZG**R zQPi}e=>aKIofOrd9qdId6I+)Dd6YAOoY8y^+X}~UrP~8BxOgUrSGCA=jHQvtyBdU3 z?N690L_tgrlS_pZ@hv20C3E*eC*KYxq8NeLxbqHh?m=WlC@#NuwP0653%M#X5+zNY z%is@eeYZtd$o*8!(L@EI;6=^N$?CRv?r;J4=Dre8@&JeSE+=Oc68q`xjRqn*kiyP@ zB|b18b||x1z;p+Qh^?Te0$2TBixs56gM|%1kIPdBQ&UES@(3cO<E}?cKR*h22HpRX zl_jiz3vb4;1wMDgWFlzUOj$XG!-NQUz?9%9vt<ty1VnJ~NyG=SFk_85>3YKiX9Kte zAWGUJ_dgYvZ||>*Rfl9zqnorNZ?M81iwSj0zP!osNX41`o^knzX~@3UrYiM#2f=eV zsatCDh@WDAO=YHxYe=Uc6~E>4JzSP3bL*Kf`b2$rXmF>ce8}~KS8+_FjCE4!k8gwX z8I2Oi@W9ClJW>SpCy=KMWF1hBQG`m8<ewvc&xqGE$Z$_~GX&?5_yXA7NY5^DnGzL? zjIRmAR~=9w$MD)QBFYx%OAwo8P+(5N(}(v31{$z$w<XYMP;EEH$HMLGK{I&*zVCN& zuWo@sy|1^ocgiv&95|4)69{VTAViea7Q^O)aPomC4hN9nHqS*gOifU;JsOZ6nvqIV zL}`>+lLu3#@d~G0h7}zCFK{9=v@SP?zKNwiKG?`Go2YE;`}Xx~9eaC<KCxUPU(DC9 zUxSS~e?qQoGf)cUm5<*1;~W-W$$Dyfb~0&4AZW{6%6q##GH`wul`c!4X03V7oG19< z-ck8YqMsA{E9JSMhl@R!=_|L#W6BM}SJaP?6``58)*>RM{e0y`vZu(%GnUNJYO4c{ zw-c0B*WPgr3G`<$PQ)Mz+QTTlSZbvV*}2N&^%M|XmzN*hzO4#0>xFo$4vUMfkPV{Q zpQVhv@6SpZ`w?>ST%m|C;qo<nW`mCSM9W%c1OP)qiF%Z5q31(9`k!U1w}aT$VRZk# zUyTgsSRHbaf$XyxG|nv%_mvzi`&_%AEE5I21yp1Pa&Z#DWbFvdQuFRw$x?b;P}Vtw zpMNz-Hv=Il>@CprZi26sWe4|ybGj@4t$=TzKYvP1oy~L^DKcwhm(k80q-k*}*KNK9 zqV}1_V04OG??WD^Ile6-$Gvh11xVDVqH9=ap1`sBy}MKkinRtv&y@!6HX!<{nO9#% zn8vhzcgg=zVOqRs+T}jlIaS%tFR6$=pMBhy6K-8f)~_#duqR&R@Sgjs6uM*hhT+}O zoVQ+Nlw_P&9<t+X^7@MQUZPZBc=%pFU4Ha*a{+rU?l$(kN`A)&S^R0-(9aUWSGMkh z=mrDGjDC3ZjxA8mf^u$5L1+~F1qhu?i;koFE`h`Vt~hv%u{!!+L5jAYd0<);x4OC- zd|f;Uw3j|)j=rcD(Ka`0v8_O;ft;D^nKM8+jpH;Epk`hJ-;0SVH@Q+@O5hj;JzhXz z)@`~0*wi4{oExn7f~XZ737RQ``D(!U%eQd`x%VbLvG-?r&os}*f<gGTk)zujmMAtn zdHTGz)OGbBUZUgFBLCyLIy1o~O|U2f22wPXHy{c+@di%_7Px7_9E5?K;Lp(BV)!VS zm}YCifi1@V7Z*brx!BH>b;RW6hw0`HAsZoDeaa=WCtqAJb#XPrs3NVq`(Af-sbS|{ z8ejELGoK6O+d5u3>i_z=Cs#OLm^E1a${m5rpznNckO1`${huV<WLg9nx+CHZ)xGto z4kEm4Z58P)(AfuxBuIk5O#}3n2NC2<2j9|-$YaDOePKUB5>3%Ih-Q-JTBDHM!CcV( zgG5CF<dz`uMbm`F0hG=g(KEqq=KRy1+$Msc&<uv8H=Leq5G74<RvleO0^tTU6iYk$ zJ}Z@gddVKbH_xUXZNSHL2>ft_o9^5vJww?@&eUHQO0h|UL0x<7F$Dy*M0Ns+aUU=w z0Bd-_;u*<_{(V@4f(0Q43$EeHX2Ej<*k_SzKBKBZ#u3(UyT<zoy!{jfJbd*tXiv%T z_R;R93z@i3?mfT|mn(^nGmEVzyqKTL_KxfNpL$my4TL^X;Mfuax|`l?4Z&yMUetqh z;PBI4@a@S{E}FXwU%>Yb)_=Usujj}u15!;^5M3o|Zo&2@WYMl`EIdfDTp3>5$LYyH z4osJWG1xI6yo6l>Dt<)L2zAfdCoANh88Iyj1Qn4vcvO-8=v>*;E*c4L_Q8YzJS-C8 z$ulkqMJW;~>@6V?Z%jmOlL7XHAZI!1`uF<isq4m*CON(MHUUF@_{QuW=Ry92jr*@u zAs33<z5T>yiH~ii1Y(D)?@@|d4tV7^Z91jx09WJRw~BoD&}_pM%>^a{e#y)h({<S2 zG*nfapo8<*B51s%u(GmZQ8w22%6C<?xwA7PHPs6oq!JIh9#Z~DPM+2YHZwNnOK)Sw zBqAn;MzIaU<c+?*ey8y~@W?^EeAED$$GMGbqb1?UNECUaPz#WS6RRlTg3<t%e<w@h zuf9GMlJLao8SsLDw{P_NHIKdq1O7_M_kZiXGU+7GY`K<&mGEs3wlmWWswIj$vQ`<d zg2qpe;~ebA>7CbVcw_jc@UK=x$<H3qX^=TxjFOJ4t+l$H?>3?3U@7dYB&&d%E}PJ@ z-2cS^R@-4uRApcIwS9XqPXNcwIV5XVVGcN-NU;S{UYGBv)rEx|a05yT2?-4dPP4KB z0yhs*C#Yu6MH<aU3fD68K)wbNZ^DPK`xbiiTl0`27VO<jh6{qfmchuvbvrzX*=G4E zoI!h^T(~W!MIjZ#1gsq#TcmrD!V!E3$vIy&fM0ST#DRt{B)OeMpH!NaZ=r!Eqw&?r zpPUn<KjsRRjU%i$#x5}Lbn#a`?4yfFeVdl9&_>Jg;JqHL@ra`TyK3TWv)S`gUB)Pv z9kuzB<A)LZ_aicBy}0z?v?n2RT4e#{=uW5+F$#cRbx`IMgLVWd{eQZn0^@#rw^t4% zNrwOdxCjpyz@|pF7?>gm!Nvx4FqD;uoCbITd992qpPk@SWQC&sd)1jE;+_D&KgK&@ z#Qo{%vuDT@?Vt~w?xvC84x}#tS~Fthf<Qc=`=XZNVVPJbhd%&&E%1hQ94>z|z~~CW zjBdIpP(@UXI<9<!wo6e#!J_Z3gM@S<A0Z%dmv5{6gjAy@B*Yi-UI57wlr;tr5sB=u zq^vQ>61F=;0w&uzC)z-c`F70I04`k^6@RCh$oUs>yt3uM^WZ{-+pB#>&arJb>q{dF zC}J|2_dn9zfBGOui~FZyE<+B(qg>U)I>irXb2jU4i!||WQ=$%_Y*e}{D3}EJH{!f$ zW3$)z>%2SI74a8AnkFQD6>b;+23d6)FyYdWm5c*2KvPT0G~Cz8VCy5(3kR$Ym?x;& z4(Ule$a<!rP>rO}?+oe$=bBFm!{q}%0K8g2)*Hl=-8eHfA7`cy2P%?a%taEESYB1? zs(r>Y1pXvdATnph^aKP3WIZJ?0SAf8S<?&@!Jykf9ByD-wg6#A0fZvpH3c6ad=0a> zDQskP#{ZfAY)9}s9JasnvV}P`u<+H6AQF|4s(2sHrbFPAbU^2GpB(ougDi=6jw>6l zRFQ|)`tn<wpIBV5eX&u$j^s^wJ)CT=e{(b?M^-KDQydh_s?c`H`<4h>%3$yP9(NCn zbPpp!_oFlY=cDJ7CTbS_N89Z04tYz~F_$h`2qRVi&=X=`PyUbUI8AP+`z;=d>m-z$ z6r&Y3u9G&Gd{HqdFjC7n{l8CU_Pg+0leGvMr%4)XS{+HeJnHV3?xD|C{o#@m<`ZR> z2iUa0^8n~WZ0c0idf=FReDlrO?-M%0JO2T2z&Ul3%3$a!t72?=W%u=`7VRLzWppC4 z`kGITT_iViXcUa;{KoNSmGLfLyR6)ea$UJw9*<PHTLCvA&b0U?zR|x{f`887lP5fS z9^(@e$8?V7f-xO0F06}Nl2QwZRGS!a*`Q<bgXY4+R8F(^fi+${VANwC>9mWb*IyNV zQl<0zd<&z#c%kDwl7{Z@+!lW3VU*Qld>vl<oCMDE(txRZLVYBjhQs2mXSQ9Wbqs+p z8EcdL_!6ItnCdH4x;9K|KI>w>QqGZv0ED=7omfp(BYeTVt5&X#*VA0C3R=XGoz_y4 z3>J~U8jwuu(M4k=<TIu<kV*6clL+Yp-UGV>iz8)~FsHZpFK&UE!&(sUdWh^lyJb2_ zjV>njQ*MyAH;>{H?q}<;4oRA<w5grn7F?^vugLQ9ESuZu>-6)VWMEhjao_V8A9!Y* zY$g=)$z|9`@)5J1Jb%FjjTRx=IbDOya7`Y`=UU{y_tqQ7MSh%^^uL*1xZN{!^B&QY zo|{1-l0>wAL0NQEN@yH1dPCRDHpia#3M!XXIyQ@8l0Upv%M4<hL_MaH$O@;|F&1N0 zpNxhxDkrklc9kzYf6hAm-}AE==2mkHarwcE;r#+t{wbc=Qmk&qi&sym>$PuAZ(aE$ z&wD-4N8YyliM~F*o}RL<-rQrFs}@9D@Z$UFe<?%|-WeHx>{3BanY=ak84r`LFw|CG z(QNn%&fQ<B`3Dux(3Iz=ECVSc3sHz^ZDF35r?vC!#S4)|4&IQ499;F2m6ar(E+=rP z#*NyYe|gT~2@o(-q1jNwq?QQE;BE)nv(vSQJ)hZ+-W{p2pDLCMFm+3M86>GoE9p=! zJ&g@$!~C9jL<)e4o9i;+_uoZ?v$yfPM*Hfnxw&FdCZy+n^3c62rBCtmdcNDw!uFSg zMFvdXTHxXdN#_v<Ypp7brH{n3{vLLBWHUd^i`#At3%`8BhLZJNJGHlfy};c3TnLMl zOOk=CF)C6@%ILmJOUtH#?nfgYTDng`w&N~#4_vD*Ilto~jSqWdwlbxU7IBYu1+U&( zubXgdDmj$Tjic;<v?fO{Jk)4Pz6X<GD`e9^{ufiy9Q_$&(-B|s36F?S?#@UJ>5#mV zJs`&SsfX}=&rQt499y0Q*(|jE4BG=!G;HFUvx;MTho!6f<A?mLtZeoULst`D?iy4c zt$lf3=6F5E17+f5zkke4l>?k9g1HxV{G*s1R|zo*1p<QP(XHI<m^e=ipUI826LVUe z%5W+Ue(|;DX&;>!lj#3>_Vnp~WcPpD$`?m_r{PE6zy^A&a6c|CgK#zexa*D#huN_7 z6D9hk2#@rvRH-TJvZj{ixi$<OLYoEx5?PuLMjl}E`~$K-U-<dAE)AH4Sbx8f(exQ( z_m_?KhJn0%e5!GA_;eUsHzgK3rEEb;czULgnFRUoeXJY)84fl(WXT^oirKR6GhWFt zak_riM)F(vI%UXGy`r(T7v*Z!P<xQcMnYHN?-N%dY)+I-;El04juODLKp|jrB{>+i zxSehkrXl~6zEwrO%n5tWg}$ko|Ex$g&<9(oCj%Sh3{%iF*r)Ipho7Gls=QiHT#dTe zD{P5@`|D$I^9|JhL*Slfdy*Drtai>*t%>7z!7mGVC=c4(zrNaIEqh}d>RaFa@FK%C zhKs>6V)=>%5Bs*Jt^AG5Om$nhm9`Gqa^>Z5QT%`Zb`ecZz|11siy7d(CG2dOLDls| zg3ZvlFh@<+(cs-?#v6rQ%VA#6!E4T3ysQpp*^jM!9^WOU(ffVH=Y^3G*Uyq(YK3?+ zo%2fZ(PzHZbMN>L22^OXziRh|(7nd)OYAB{8yVR;azXKWd*`+7s`kupJI8(Ac&xiq zS3JG38uW{Dw<A>?raGTM`If<KUAL*z5v3vjsJ-J=0GSgSyd5eWsXQwy$9<>r@swqH zzqeWhtcrh$6yOGzswnj<+bPhT>WZJ=1=_0xKMM1<`&A72iixvD8dr9EbqlnH@t!JI zFZAUu@!YSax?X<V!NXoZ8^6OOY{!+$khUWFL5z8@r9tKmp@4DxC8u{>&9YJ-2N*JS zPb*(|uRgPgliKZiO)`uXdy9^=kWO8_w=ULBSv$*bEYe%`ZD{Rp%lViYDV-FvD$7wu z&WF5MAy+aoX*=dNJ;oMo6W$vHacQk#+IbJ<n(#)co!OwkLdYcQO4`DqAt`e0cRzc2 zeNk>^3hm79>;fEm5xe*KvpU}OGU=a<q7VIE*I%_IR_Q3d>QmdDud(!-=-<p8xWT8r zhRe0ChZ>^e6XCzg9TMfMX^GNE)<4FNx4m4}`|g!elLhbA5r1(xBl81!hE*&)-~iL~ zShJIBp06KdW|8@QGK{8GRn?63qD(LzFHH=sZIsHmW^pSa>`}JcBQuWd`&!Md=<lxw z$gf_VDqN$9?wCy&9xE^GmhkTn#&3OOlWJb4#QrTyXP}zH&*?tx5{I|)K}PZfMGbKg z>wLg#EHWN<t$PHlnVW1yOp%YFBtiX9v8nR7^|$;(a}<<XiNM*RcmA2H6Tze9e3-Q# zf22j0pYX*J#Wi8-LdSriYcRFv0K}5U_~VLiBLr6S_8kHTB!n))&K_W3{$F^4Y;<yR za=2r~+RI-!n1#t7KhkNUW@Raqm3_FrGI57ASkqB$(P;C?B_b*^RJQ(oy^b|?7}qG4 zan|*Wk$3GM(kV$YY~`-&MV@w(tS7#I^Fhx;@8+_hflB+c-^!0W!0q*e(yc{)yVo4V z1GjTblEUp@^1C=0&CX|%7+dCOW%#7q-^VDst+aNjURJo3Dn|OocZ^)EHy29@lMA0s z)fm;!&PUDcrRSEs=q5!|Vj?>JJhE4ll%%t?<8~+Vad=!*YuC+MLS8NBPV#4ZcysYP zkwy&8Cm1yeS}1Uswj603(?P+p=@!g))q1XokVl&f&WoTDZ$U~=F*yd^_N;!xSU>pU zzEY>w<m79@K;b6An!ocMuQzW@lBYIN<xBBj_2%Tr=P-o3{P;n2mxY8@6$6Lelh2J> zgpSVllIQAJQLub!xFnyL0c}9<O1(Uuw$#Nh{F1COKW(VGoOENEUs*(yiX1mL->0At zp~Mz~DHeCfo6GWLZp&kFq~<{XBEO(oq*rTDy690#VIb>FqB8u>l<em^pZm1$O__O| zz}v}&s69(qB#wRsp*1-rxsu5*Z$?=2zTgQ6BzVr4P<{I3imtFN$L#Eq8pjI0bIkJ$ zJ%f#L<=QXw>hr`ZZr73~e2ilI*2im;Y49yqm`tO(X=RJm?7aV@9h~@&Z0^$uS3hI8 zhFdROUn6`k=JEEblAJ=34tmFWO!1H_XFuM(ryp=ro?j(RxQS(FomW(uI3I)+<|o`I z?E!>>@Wx#;XaBZ%XX&ROS4i+tUip{n>0W}^b49KzTL&;zr1k|T)U!*zC{yd-b}nX9 zKEjklk)jyGWc~lBddsLP+pTRF5CjAfkWgB>K^mmHyA}<CbayuhNS8<>CEcCUB_-Vr z(j5}tx$bx0&)(k;bPR{+;=0b5^O#3yrv1wWXodLAJ;aj<C=7gAj$4<__w~ja6<84_ zj}^Cfmx8>f=R=v=M<DYrf*9=X7QI%HF+e9X?^Ud2D=LfsOv4tkUen(Ax(oH=WSove zPh){~3~pB5kGGjCE7c9DMMdxn0QLSAH_q^HVf6WRS>un4C`IjSTRLs(@bKV(Ffo=y z(#d_wv3gXV5AT(q&!y-&v=9xezF1m&SDy7X{1KLRA)w`I+QZ_{E5n@lI$6vgSOcn6 zJ6bQCm<FdWRg|!JK8VyHY9kwe8tMWnr2Nbxl&2F!k=r5sVky@fC2VYZCWF2j<t%b$ zb_CW#!AdrIh5#|liVFI4(fOZ0Bg-If@)5#cr>bl;rJ80;r}M3UQTk2H(+w{0(EL5k zBq<v`qGa!V>9=A3SGjYo{Xsj}lP|C%M@PxeG19_GGFh{4s%U;)nD1|-d9x&+#zDAr zBwG7H$qMaDjg*iLtjKe;Edv#Nb21?o!oJdZJ2MYg16=y1fC1wB2YWH4+4^>IFk?-F z2kn6N{LqNEE85lv0lkQC%HzXW;YJ2=KLxwGL(Ek=*c6qNCei4JqD<T?nFZzItJbr6 zl~m&qi8I8^GXo}@st;ZMIkVq7|KEqbS<F+G5+*z(rdDEx6?w0SebTV##{2d+aY>*i zYI%N~S>y!fi`ePZlN%OlCWd?sC5$9E6N*-vU%w1T{aX`EckDhrWjCncjHQ=#Dht8} zm$6hZ%S9*_0!m)+$fx*F((WBefka#ZUuFL52QMtnl}e&1Ri!WF-|`G{{PO(c;3k6- z2oYY&z^bAQu?fn-JlB*uYQE<AC7^%S`cLcf&o2by6N_V)IiBLju_PrS!A3Nol64nr zb=#QI2&=1)Pfn4N&rep=MvNpJ`ASV-X7$O<nM&mOONxc$fd-7OO33rz#>Uxr%0oGZ z%_~~+$ly=@7Ft=(y2Dk=?Ou+S&%_W~1y1?y0j{tG+F-aQWdnc@u{iB2mNl%u04N&S zE6C?piVDup%5J3JpC1!N@<~wbO-L;e8aU>dp>-fMRAAwU6d9URCJ`ZezBwSgsgixX z={t7l;cO#U_%Cf`{TXnjQEYPDBAQdha*`3tw#-Qv_<-o^!f&0fgjQdxGGEVxjKcE~ zSve#iZ+`EKQw+!J*@G8(J;7h_ITA!YKNS6l(bxQvUHG*q93;_)2TY_lul2JFQD9j- z{l13MO3r`-5R@4QL<|q8e!#f05=4-?_X~UZ`S7r<-y^raVe`dnf7sxEY$+k?d68{F zgQ|kq6_S@L#NJuc#2Glm_;!eaQ$DZ8HHug4->zEtb9=meK}A!+6m59GRJvF_9o7Q& z*D3bM5>$a;?m4U-6Xp_M1Q)uVyAk$TLiy*3*EvO1oJ7g5#hw)`NZH79d|GKUPE^k_ z{e)h>`mon*0Fl1Vv66smLyztexby~sOkfMY<$!?%54E#AT5P<Z@qNHW!J!9IQ~*dq zBgg@15ZHf#)!hlGGJ8wSoKT}S0KmQnPE~rN+#0}07K{_zH)ACv^OT`k8(<=V;0GwV z4#3O?%(;xw!<euxoy;Z8vr`+N_+x4n(tDUpUz#rV^FCKc=*SP$HCgrJ?M+weE%)&v zvMp~2ZftK<4ruwmZGuirnl5eR%+&M=g5&fM{i9G*T7yz|gyp1=GS46Nc|w9>LP}@< zW1{REy^*nSy$iZw%F)a)5l4gUoDaHO_dfRs?re1CMoj@m0VAp%Rg$zzYsSTN&VeS* zCR?%vlT;VW(4_`^HvroB3g$l}MgY~Hf$_GYmKHQJ7PSM+`bL29Occ)}81!ubKhEdS z6jW&L53oi03dS_((S1+?fiX-N6TyR%rJ{LkU`lc#>v@%fJI{ZAluTtdyd(MaF~09J zEU?($=^#wBpJwiPhC1?Saxp2L5%Kyj{z^)`K3LF@sbZDnP0Crx$~G|nS|l~htl7T7 z*Yd3BWX`(KeC#EHNH7)-2g+|UcmL9|;CbK;r?A^<VrmL>=;mf-S%8JBJL3sg4+G{) zXdtp47Y0hB9hV@c0KNjin-;j&gAw&67&OCz;AJp4t}y6?b8u*)#L@%Sr#ik5my5uR zYqyE<nUt4dzuAA~Q#Vvo*sF)~#Rkp@Zm=asPizGdxl5gGSLi}2-?M3gG{%9OX099} zzU$2EaBAu()H}4oZWh!EtSSeT0s4brWa^^lA;A{rX8Cj8FHsbmsyH=qws-7ofv3LO z;ho7Ph=l^~H8dbiTAnAJGDS8{mJ${Uih<c*iC*hBFy_t#WJ##a513d118mY*NvLo5 z$6qVJ3&_T%43+dW_<uctKl=(3MQ55_%%;@PF1b4?jS<RA177lEJ_GdtymcoUOPc&( z_5B-{^txZndY<@*`+xcehv3wN)SNxAv9tc(e_e8SQ&PjCR}DUbbT6@n?MY*-IeUUf zUHeZK705k#zIwG_TL7|R0Dy*=Jk$eb9gSdm?eRw;g(VmOzz)DytQu&4@?}%t{LEc~ zvv8U8zD({V2$8josqVr3ccc6Ae=BPjNKL+`x+qeg$%iqgAH2IR81<tyI)y(%C0@R_ ziYp2m+R81_!0>60cH)tvenUzSl~ugzGC$Y)5i!X;peUfo3DF-LYissUv_SA?GV>9N zJp$V%;28+O-L8whN#OPa1EPTl)qH^^57gfS&|Clq<R|d)fdNLZ9l&)5m`%K8UPn>* z|1pb#(&T59j<I|G=#d;g^vubkSlMuHv|mu%C0un%=b4ukQ%w_rxpUw|3vX5RGr(L_ zrU?YMP(WDGn}hjNq9k)8TAX}1;<TOx=ho|It&GWkRaQa`-vH}5;cUfG*(D8q??f<t zgjscIKE3q<h-?&~l>=&o`_-IjG!IDn`Ung~p$@qKT?OkG)+x`o0hpvh$Iehu4*^;= zu=>_>-@<+?xQ?=;;+>9Z2Ms3sFU;{VC54-fooHRMO@|&qrjnTf1qGo8UT%t+K0?oX z@C~m8`M#b<iYk|M(f9bmE_tDHxC1@nqEBSjZ*p^x*WV*b4Q2V72<V_u(a1fUgzxzy zy<kU9QDJfk?@<j0$-LtSleuA_Rv33qPfH^Juy`kQ?h4lE7`9^DR+2Up`aj<pg$|~n z;5Brb&i98G@CP`cc9-=_E?~L<o&h_||BpHM&tdWptorGW_J3j3gOWK4KB{h9zcP#e zCCDX8SADt+e?{N>$<^xJ`{7Vd{@ZX%TIu0X`F7^;ahq6o?HKq!D6_yPZ?$LO)5m zI36~cy>Z!W7A@9K%oegZ=+j-vj7ftv*{w`ZKgm->2u41Ji^+gxd8Qb&3-D-IL6Co? z;D>~Mw9F%L!UNas2Ok4Jv6PDN^}?%k;!*|Y<A0&g8!F@Kxzk%Xr=a<Yl2^H^Fj<y$ zrG^k{>aR&*lgHVG`rP>V`(b^k>+kT>!vpe)$bTA2b`KyKD=rurj1F{~x{hNg7~)Yj z<r`^beZ>hcx`0o{7VA77iUB_ERQ~^~3V)PJOw_0}@8Y2!f)_hP>u?!4sFi)atC#%} zL1k)SZz^?Kl0aLWGO`oBbWNUKty7lrgewimEn=%a&>Y5#X>$piR-vWl$EL;yFC6}4 zK}99=R>dD2x*G(kaO5%n<4E2u@Iz1??QIIIaAzIa>0%i{YZ5|X;Zn8jLZA@nQAJ0t z2oLxczYMKWtlDEn1ixoymW@y(4QC}2G?^lC(#IKLDAmlDl6S%3(CuNKFuwEN{U%PD z(osdva-RavQoRXf)up-kFNZYoSXeB7CyUGd{k8*F-hpdLK8U=jXuRA5-CwVVtF?+G z?f;f`ci-N(sb(CMVye6V6G$N~K<F(jug{jF(%I^2#_bCI%_a==9}H{s+`s<dG9MyI z2|377E($>_U^TC>9o4({c@>OsJA1%mP6nWhsInh!d^P}FJatQ};>Z4n=p>&iX!}u@ zu-3Nh9o6V);Ujjpk@=Txd7c0{@-Bv;E+NuRlF)ivQ8nv}w=CiQz{qK27&=(`_XD23 zgM)Bi&>nSV2mXa&eh({29tYGniA&AbAQDQdcY}?y-hhS{^enOzV_(QaiemLALc{;O zGv3^aM{^z<+W2|&yYhpTW)eW)y4T<1;r$u-H3-bq;`u2|j1j7~V3F+O(s2BjUjp;q zly|>)T<O(o;`0O9tyby+13y@rbN?2Uk@%2glwC}V)=U@;{11QsY`f-QU0WZb`9rsY z_FrkZ*H@nh#L2n0q_fK&#_Swd$18n+IRGGW0v=Tb-dJH3Y%3Rhj^?QR;#sE;^0t0H zQ&Zja5t=OiIhy40O0qH{GguP?@Yz=`z{2EPjzP-m`6op^bs8w$$!YLeYw^<=T(CPD ztpqBCW_{+j%Y8`uA9ipoi_v5CN(TmmbwHXT9V1%+;I#e$I`VQ?;>WwbPrq94niEtn zlM86Naf1xs<W8D9$@Q>Id<}uk4?l8>lh3bEMF{O$K97F&?@f}q6k}+5a<x$YI?Txk zVz=5Mlr#Qj+>AhN984&4Tt<n$7=O`Zk=HrR@w{h~P`TgQn(1evCZQ6@JV>)T_$FW2 znr_D|30wxV4PpdI{D4=~@g?ik7uLKkD4J!S<+`VWGEhUc%jpF7l6}GbAvmw4-u@XL z&2u#RzC7;!t1Z8Ea)L<AFbQs_hNz{#XeY~MrEGPall2zNLqt!{^iyv|&ZK2F!vLl( zlZOhzA~n!wSi;0eXPpRj>z%!0CsRa$IS_rKBv*(bq+wCss);uJUkm!o*pW}B7rWK7 z4fcd1Bawhp0iqs2>>1W3Zrs|n%3?8Y>@VO3kq~4;hAlIR_lG=DeiCC@PDKXLVUtnY zGXw5*V6cXM+SCJs@Y~zqw5LQAdoBXt0Fh=4?eFSciSegPw(FXGM29-@^t`vt@s^9f z``YWn1;4Fv<q*a@i@3{LXgT1vgURF!R7&)wDYr5D8wIu2O=LK>F^b8na5xoaY&d$Z zvkZbkQ$q)wr(Bma9gkYorv8%FdW_GP_RP~S#4(`Y<J-Qe-a+^xm4Up_y*&~{Zp#uM zLp1>3-!&XW&O4kM<c8W6BkP9L^4!P>|1<7eD^$%Y`ttcaz290M$A5~-witI>d{vkJ zXiwFXzYR2D-T7XS0rXMM$Bm}N{43`lRwj+5rwrU8*KT2Z0wSzsf~MiiBGB<@;3qI; z)3`^#n6$h5Hya^g`fM21l6ULHtBZ{$#^9W+?05bQa-YjVyc@_v2?W2jU=mPu{z{)Y zUv%^w*xIJSiD2UZo`ee#Sl@bkpKC2F#Drl%UbX1J4!PK2qDfoE4Zzn~PtH%jFbj&= zL_q+&js}k%e7C-ZWfPV;g9b^>*cGu&)0?=hWQ18TPJhB!t@quj*FTLsemF~ReB9;) zc^%!aR~}7!UlAGp4JrQ0%Q^%w`|-{V+1&FMyIt}_UAi|!sYWXih%}^{tu_pV>4Y`4 z94sts-8vpoQFUlqT0DDt)!RA7xjXJ&TfW}Ge~+Iu&{~}Qie2=2P(}qtliO~@pyTc& zXXo)+tGWHEIIlnPnZ_IWa%`NOsW|66BH<Cl$lCNCSm8weFHTxWl><J?<ofBjM5PQM zXDmITN<<Tw7#n}CtTuJKn%m*>*hGqtXVpxS^YldYhbzUdGf4?x|IgC{=A;^u3Zo7j zHj6*^Ccl%%Ap^%1Aw+oTcR}5k*#6HE*w`th@-b^%ohqF6FnN-lKyKk@^>ERjhFQK0 z$KIoV8@FHDvc0ur)*<md=k$HnF+4m>=7-qup6S(zf7ZS77N`JPx5dJC2|sv#3lR@3 zi$bFe4dr?~;GbsF?>bX^NP9apo)%Olll;DP?YEPEfGi2VR;(Ohu5K6|zWI@+_>*AA z;syQRYvR>|6pW|?-*9J*qpUSkEOH463HRL<qV=28j}2uKGBT_)?R#>Ic3m%b9u6`J zuF&COGw**FC>ABGtlac+Hk_9=YqokgZ_SPdt~|A_P{rDz3uh(d6f}prw(O^u=-bNv zdRfkJ=8g+Q&RQQKae^p8epVb^7n^UosG^kUH<7(?wP_c1LI#F;S*zcQOJGYx5t*2| zeZFoxc9|~Imgsbb6{0mv9sb`3+do~paI?7c7zOmX6@SM=xm@ni>lns)49rbG1m{RF zW)`&8BGVwqjf`-G!2?k!Oo?`LRDJ6uVTpcyr*VGg3EpZ>Aw|I`>e?O*pT2?11<CE6 zJ>HD%X7|k-ZtL+}c<{c%8LY{*=G{+MVeyn{?q<qDgG81Yq^2WZmRe~xXLNofOXKtW zRytS^lkt!ev<xV5j-yWvq4kSbI5xgdhhRamzJKq3{1^A)wz9IiM5h)LhKAzSD?^rY z2sD$leLfjp>(P&&qoU9flzDHzQ{86j-(fyowm)#vzdkf`i;Nj+#L|5=W>$L2mux)I zSxGJ-Pq4EZF>1ftfijy!zBNn0?UitGKwy(4nTuy`y`Qy9hepiX0bS<b*o!482y~b_ zs@bAUtO)+!ZiX()wH*-rf)CiW&l(qbfswh%N?WU}oI>n~F}L>}R^4HR%@WTyZLPh- zeUq+`NUJ3;8sI=nd5#(~gN`e<OUUaJ)R@Bki7KBaD%x-(_MBz&kW^)UW4N3AndLmq z4QynT=nsOZ>5>D8ME)CQFQcz*ztoj!6@E%r0otIv{3oR(ay~w>zB6p54{|Gy+w~2% zNvTkN0$pE{SP72T%FbWl9SZdTZabcwsZYCJdgKSqt^00vs2lKbM;EqR?MZIfOG<VB zQ=pJtyY1+EIRl<++z0*>SYTgvGu^sE9zO!+p~HWdeLcmH)TK{50DS?30%Ro^0q$?h zx$ZGfxgdSs<~PgowPnv^6Ca-p&~>)mDd?L3ZtlTCeKZJzI|J10&m-D(6|SRtMD90+ zyer@9>!V-Y|3L(CEU>F<p~Rn#Gx*#xBz{WS{Utnx^5Y|pTsKb)+a52=&$Wr4xBzYY zJwrdbOyz3)D7H*5lUa>Ab)F)vft}gsohyN^;mtR%O-Ey-=WoQ4hY#3nvOkNj)AqRW zN5@;h53Tj!W|;ORe$Z^RV5e1d)AJKF(*6|B0X>iZ-@$U@K0Z6!?L4#80lo}ax(wV1 z9h8EW*Hg?LfOYl<J3kp7hJX%=WSQ!-LG~}jDp<W$^eYtsTSc)4Y0<mrSa8w8F5&sT z@*$sg-0u1fJr<OmoY~ggVG(BXDr>PnT%Nf)r=_NDZ0=IK`W%!s?eJdMKK1TRn%;C1 zKVU>{oOEv}oaA}7_50p+39L?Q+nO+@=QrjB1FqUjznAzNCk4J|1@{F4_s?L?Zh7@v zc8K_IvR_pK%0C)_Z=dcbl5a+RuS~h3x<HrI4gGh!6ujWx!C&7;d%A&awNXp_?1XhH zfk$LZ#OKmJJSM>S|L;u)B7cYN;w`=)jnOU0dRTqBZCwFrSn0?7HzX@Jcbv4x<-pJt zN+AZlBQSpd<@&hA|F}VXUr^-v^3|*J+H&v6X8x=9WM_DPa@dWx9jHskq?4E0*`q$H z&~LgwHa?)D5q_sg$u))GYS&xke$Pv^qU_q;HP8R_X<$2CHh<?$>Q_pQVTXf$j3`1r zd4=N_3CdUzL~XX?6KNgYmw5l(W8g*UkY~HvT+sWpb&L%_)N5SF#;fD9*Hm^*sN8NU zB{bVw;y1`v<vb+?ggib4U6oPD?y%$6>-NlV@yTk!@}-x$^$<)to;xw_fA@WO{zB~9 zq<|`ZzyN{+;z688p-2_+W50wQ0ixf2S$k9;(Za~d2{Xvl-D&NMU}}-nUvc2DqQ0Hh zsj?><Fplf&6aqHJ9T^1~>oWp3or9OIAW$M+fghr=`%v6|FO!=vJi4PfJ=GH`a2H#2 z4M_FM9M;P^w@)ep4>U76o(v#G1*YY+Y5!(3(;G7nOIdnal%sM1@a<QgmamJ-IQiIn zfa&s3DF3}7a8s5YdjFe(Q(y4ApqccO;EPCfg9VP41LSpB!?N-fJ_hXCoHn9}uzK3~ zbe^8nZm_pG(fA#cqpkg~6&@49POD|*zo_)@pikuNKG&>6fUn`;{3;7P)c>hR{`u|1 zmlqsGBYzpCcTQhG^myYwj?Aaaw%zcK3S6qxT{>4-+&bLNCn=*N$Va8+SW9un$4?qS zViaBvD^yyz<A$k*xBf+x@{IGnK3dp2)E=?=^k`C00I)m~q<&)-HKj_WPo|UDv23}m zt$}kXb0|%H7sG5_T_X3%qh6oh5udrAHG1tm?7ant#*=EL1yX?DcK)4Sm+wiaucU+o zq7b^>!LHKdk?m8`%Iy+Jpl!zYEBky14{mRIknCU#PL9NnKUCwaIAk0hS)uMP5@^Ii zNdCvk9HZf9z%m(s^c>i-F_-q*$ycSg*T6)In@3{42ot~MM_$M&F9=<mcF7QMNw7}k zSjE)|zja^Kfu-8>E4QbY+KHpET5>}Edo2)JjBsdO>Q)wkgQ-u`0&|979i;c)0|a`G zFvg87{GRGLki<bi%}j?gue2FT{DMl<N7qDeZZ5G;9vVe#WV}h<51(W*K2;k;%zsLD z5Y$z*tj8jj*;%d9a>(auw_n~8?bS(^V&O5j2l&8%&@2y7n?AsYed8%_X^8?<gK9>{ z2M4H!gon6J(NR}uz(jX6-F4~hlaIs);@e#bNagz0EsAzh4+TEwL~BXvM~P^)AP`%h zvu``sM8P3^0}aj)2^6{SO>Y-sN!bJ-^gYlYwQHn1f&@lZHr`<YpDp5>!<C2h%)i?X zA^K?Hx1@?^qf=%zXo`bWW8py*b_A*5MA%a);BvG`I4Wbri<h#CsHv$}y3p~OVGw&D zwWG)P&$l$kT^edaf+N;9htu_tq8Y%|#fuBmID8A7=6o0%H{+z8d?Xo@|4A4)_LymY zgNOI?oEL~D?U(nxL14_5wXNsEep!kBp_2gM&_N?D0Q~nY<kP>UG<f79sJLRK`v(yD zsvmDttU9FG>@B>$ee5dOJAjCNl)y!l|8g=L@5#;1EioClMGxWcD2hxTuQXyvA3`)c zg!IhnWVq{}J^Ef7+O!=KroF-28lJ^Ew>e?W+XIpq+!gPWX5Q1A*TbX9IRUIGsMXbZ zpO>JyS+*-roZ&sBFbcen@KJ}V5TdjQ2JL!g7M5ZEWW6E+e0+Qn8ibB1@HaaiUa21G z(&MD0rL|;P5)1gGjjI%Bwi&rEIhM^g#`pQ&h=AY&KjrQda0J2jgF%f`O}s26a)2K( z-)VQwXnk!xlmNa?j=A_${$!yQ^)3m@xLKrkbTns~W1G9>u9~AiKR-8Sc?<j>f`$EA zO-C!7q;S2LT4f{U>@HRfuZ|b`_SP^c`}$JwG7TJzFt-r7>f}5vQKC$gs5g-lqH*wM z7+8`=nE5{ZE#lt*ZpDFtfe}%!(9ob}G(ZOi^0qFnuJjarOjuH8Ot{<U_lVxS(X1%~ zG3x(4L%QH_DRNx9rc1x1^9PHQkPnZ#r=@3n^k9^c@I)jWQXl)BO@qUS`BILAAc$hT zPK<V3wCLS{$%Ew^&1V0QZH_Cxzi{rHFewH*>>3ZU=JRbIKY$G#O6>6!gcZD^p<rMb zxgRXQ*9XDe=Sd4T8=Z(mtL<LftdcY!E@taj^pbODY^j`_+~Q?rwEar^V&6>L6?@IJ zlk4?K>eCu$tn%45XL|}%gE0DVsSkQHaOna`V<gZr_UbWR?7j@}1Eij1AgxPRanft| z;RA}O=9|!`OKg_8IKgV~zb?z?%hzZ5_%^GVkEg!pKNNi8R9SkoSFSkp!jUEb)e(9l zpCxBL(1S}ur^!0iTquNATp=nZBUMBT=Vy``%#X?-K?I_t=}l8pDIR2X2K|Axz|h;r zXV<LGSM<6v9~zzZ^U`>oLt-Zj_Vg-4B9m>p>gdygMEEnwjy;j6{Kb{2aZcfg>%W@1 zUsr)`^cMvE0b(k6`E2YAB_v?`6x}#SM@6l>>-CKCBo9@BfG4003PcY8%7JR<eRU!b z-J>(Jg}-w190qDG0dzlKqNAZeZ+=066lFXVB_3jIF2Vfq1g14rjyv)omVUUu9|?$6 zOo4z)Z4b5l{f7?`CJ?Be5rnk1P1pjTA68T}w4B;cK;{7Tg6^|F;f;o-hd>3Jyw{74 zH*L|@3m{G@5QLI~N#vjW4}%vMY(P|0E~^PFjZZ^3TY!da)H9k3jgUw6C|UarAt5k~ z=mNR5EWEs5_M4oXouL>yR7wuI-!ZLfkQ@kX1XLS)fn5WzqxzAs1au6v#nil`9|4#7 zOJrp1=nitgMD7|G9n68b8Ta|{|68gac7+H3asmD+{X%BoNVi>uXeKliF$1hgV961m zKbMCk;P=?XUSebA>=RgV<m~ansgE&nu}BlPA<BaTXJMFV+*MQ__;}+J(^5Iv!M)p` zlz))xF6pw>v#pV1=CVSRe^92WlC@!`@$mKjvUD9=oUoFfHh{4*Z!Nm^JXi~*X%Gua zK++CCCqYO`Kq54FHur;u=;0`^<+O-yuFZr_!21kYJTzq2%o>_<!Q1-8jYcfc8JEHT zoWo}QG?QO!<qx}#XIJEKGh@ayHNy!U@ld6?rS(>NecP6r_b=!w2M-(gR=nsqIG}&U zdjfL|0tCP`5ftOEM$e(K3yM|TKwV@43V6*VF~;QYAb>C|3>k32M+jXPl^R{L6<2|> z3L3~$0;vwUy><7w_)a_yQrAETkYC(bae@)Ba|V+ma8}_WN3Gm%bAl(0SgcV_nK=sX zC>0F$>*JMC@V`Srcx7n-%Yk(WN=dZQ^P9Vwc6pEj%eiRxENa8<Y*Px#+dlz&4|k}_ zXtK31bJQ4A4dAt7z{5gAltK6=@Il!MI8qu4e8t}n-s;}*v8j_&LLZUm7rL^B0FYR^ z?oPDwcljE8A9T(Jk}Ki|j2oUF|GEPWrrw;Hqp@)iXbORy)*Au>W3WnEfZ|p{dH|>Z zL@49eK>ShPwRao%vuY4VG+nOmyUfe_-@`3%ZL10p^kL-FxK5D`i29TCQ~Hn31&OHP z7*~_^@f5c*g9Mnuoke6U>5{G61CsKwko$6KYlA~Vum(f}^0z<HFBtMCn_7GdsSJ~< zy5;Q=T+7Al#}5CZAb&p5+0}BgE|bRZ8KUDtwBiVIfl4vlUxq~V>v*8mD|Rq!4w$lT zR+*orK+fhMi^5Sx??chUfwe}J{e#CheEiuOAHMoUw`U(*bq4+<(lu<xy=>XnJzg!X zUmCo-w4AGQCo9${6-D3=fYGM4!Z6q%OBm{&-7S7hdw6(A<Fd~=d&<s!=i%vzD^@E! zkV6qaPyw_709661keuS;;-lJV0&Zat^aes9`|JsTB)Jjj=G=kep!nDR?ydo_hX7r9 zpLn80X(c@h4Fx!Zv12u8dVmZQnu!KlU4Wkh*thrO#I8sB`6>vOE7frYE;%=CPgMta zK%4<WHM{HyfXW-Vl$B_%-SZw9Lewd=X6y;Trvf3hke-4T5Hbv2A2>c}Ga(>@5ZFve z(m<MB7=+MchPGh19Jf({d5#E@{{|OystMv;k`qn;EpNN_2}{|9&{y4w+IBWPVg1Wb z_+E`(+UbIwfOKy#PI&}c`1OzaCHS^W?(C+BuM9Wh#u*1?l!q<h5VTO}Q#xYdN_oR? z=^IOWz9v)Y_ix-03BRB>w_l&dp!}6#Vm`xi$63ZsVZp2;+R`GE9Yd8;RY@qsp9%Xz zii2Fy1rAOw@UX(<oYG3h&cz9yGd`OuGrP7mQRTacq*qW37RvdmXNlHwV1eQK1rq-Y z1sXOy8X3JwvHF`LfgPZpfwm@KM>#n;F>`VCgHSahPaB@}{MuUVg|><#j&%8IP$U+8 z1nqIBvo7ckp}-8tAxb;vnbC243C-u?_PC%1!)YLZi3`2Hzvpc`c3knkX1J5hRxCs+ z2hURN7?Kpc<Bppq0U}4CS&5*UsF}ukfsn*dTsP}RacyR1Rv3O?OJ6)F{r$>Ang)%4 zs{@Gr=;~0Ve+(YC9W%{$v)n)3o|RNqj<fmvrz-B+$6L{G^YKH+ga163V;f2R);55e zPz}#3PsztmG~SM$e#mOphPef&!A#gzMF#(atq;C{&k6qLBuauGDX!#Y#YkR})0i?A z@UVLC`@F<AnvsJ{3}qt41E<X>zNTjw?_ADIYO?l&PNtl3<D+Scj6%FLcWxYxmM7K& z+^v^?z>c9*L|wl6H>=P{OZCYVX%;?qDMyh2D&Ko}M3D9D+eKm3c<>_p9P&b%m4i>@ z6Mvr-rA*mZ2}vQAJrV}F)!T~;M&GGS)>z33qn;Pf5fM+lGljD|fTz}ehCUrh21=gl zQp)M>DVJv;HBiRv@EyCqqLNQD0Ot!-YY5chm6-k>eT1&v;iK8i9@&o@_L~me&~!bQ zqeUrSUjbpH4By9FF^tyoO(OeDJ`H{WaGlD^$=QQ29S!(3s8LAbwWp^i@WVj@A*pT| zePd(j;5IH#7-&5E&!yIB;MTg1_+s=@iRaFh-S0Vu9~OMsQ1<`^B_*Zid@U-~oL@QC zP*XETQsfQ|ufi%<9flV;UWUa8E3dA~HwHP|BTR{#iNkv1Fh@~Nc!MY4{DUiAljEsq zMv0KF8Bh__V8Q$UJogf`JG8DJZ#N92kqcZSji(#7zuQC(Qbod2ws?^du|pRWpQTA1 zSMz$-Kfk*1ZF6hnG==pSv<w)U-9Jb9t4(Qd@e7J=DZUrTJ6ajTr^v3}@e99b5zg>p zlp!^I2NZO;rhE6G_=F-=!bs|6IuH#QD{E_tbotltouu|0@+AkmyM>z1gTUii<N7re zMNms00VK_n;7)44A8Kdj=9U5^j3kry{QP>Z8`bCb{QfQ$7U80#N^@yw1~xWFInyJR zmG1#^tcl^?CAkp;l(cDxL~eedz>EflTtL61T-j`9W8>4~{(mh-%XY8rEoqxRo&xea zX<uTLFhR0l@o<=O#nrr>YgVsSZpvONJLQ*}@-Ko7roO?}>9`=I%OsI9gyu|0%EU>3 zdl>;9b&uF9IW6yjJTCdT0-`%gBz!6)B)FH7K^3t{fp%6_eL`9s(lC<reUwwb2d8YC zQW75?^2uL@%)o%4WzrAq((f|Gq*40pV-TeLf)mX;jwG3rGroTvVNR3>_Tu^MG~66c z0bcyk!mHa6Y5X7jEjb--ZqOw{B{XYY7=H9V=UwS>iPMCK*CSeCs`8ln7I9VrU98YZ zQ&8zA%FV3*CoL2j(g+?3!8>?BVadoK0=Ffo<xWrSK@MX8dH_hGum=uuQQ$fNOBa-# zybl+XR?987CV9s|v0egPDnVB`Jd7%YKKA>!>S^5)IJux_5WqUXvIjM0anPJ2M)FbN z&BEfMEPtk{gF_rR)d9-L1$+bC4=H_OLFT6Y-Gw>O!-KLHsx(tGCn6-w1E3TTZ|AR1 z;-8)Ov;Nz4uhj-jeA6kDL{G3fg@>!jzYvHNecj-Gmh$#jR1~wPN066Gl#xxwoD-gc zb{Y}B>C-t=mF<(y9pbdZQmT#dKoyafe!R-Jkc9Ipbq+k#kjz)*VeEz8&+y&O%O4QY zcrUp`5Hsi)-i~3?5C+vCDQeb5R?yerkT5*wurfNw{$N&i>c;j46*u~2Du=z>(`&a# zoXAKya!eWr1YC;voB5woZ0qh_Sq3-1&A(Z3ZH-hri4n7I#HSHv8XH{ll!T~9y^Lb! z;FG8;<YIA)d-V6Yn<*hRH?LxSeIph|hTm{;R?Ik9ElmTx@e1VAL5@`Yk-IPwH1HdQ z77w|$ofBr&&}f2E>W3<D1#Ji*zF$Q&D}|Ok@&E^^Uvxl$YUH3_VWI)GmNO23Ro7N> z5g8R#<@@C0wF1qr2JNgGX#i960SgR~@4fwtU^sArfKK2jpj?+}=^Yp;>3HnrL38~` zkTffe5I{JUk(t?U&eRCVfjWoM^DfJM(|dcxp@t<oGo>vnv$Orcmk64aMYmN4h&sz) zo<W-D^}o9cM^QRHeKgq_R~NFC56b|95tA-+zW&&1T+nMS#of?IUsgqJ7CImswb$sr zy&b{ECS4VZ<_M4h%mJ+W<tvvG<7d)HFA$PdX$`ye0@u{UyYCrcAdlwB`p6{Q%*=K# zR!_#s+AH8qCacr%c!zf@H{8Uc8&hb4g6i^y>_Glw+b0I^Vnj0=YxX=-<}^fYt@1m* zr%U2T%&}dV@C?e1Ug^3llW-MNsy9S$N#ipN{|rmrHEEgKN>_NezoI>U&zGL>4Pi3P zXW{j|;VMh)z(t$fV=J{TEzukAnxAT=x0ZYNz+0!dcpEnQEr6qi6!hkxlHCTTr&-^> zKcl`y6#xoDP}KH_9{!7R`nW${rKeIMVI>|;*NCHxN#^>coMK$vUr2!}gEBrNySzEV zi*a=AV;5>VuL%FxjaEzr!~Fa=DIOf3@sDy(FvNGe=@&0c#8JZXge-(;p)-mQ4``~T zA4t*jg8PbCwWUFM_LnyXG29R3W-Ix*>MhmU=*(gn%ZT-%j>GK~^eev`96aw9${WM> z#zp*sO*rGt%sv`@%E&zMj{4X|6<Zfsuy(OY9+r^1DitCTx@%=6fym7Je(0iQXl{?K ztioJ-LZqlMGKbji<m7$tuQcPnX_?td=VuyiYdrC5AsWMAX+WBs%*8f?m4j>ny3lr< zipuhzQu|(+IeB31uh6Y8#pLs`ECgXQATBvrX%0;ZvzJGE>EPh@`I+#B2hqkJy?=$h zvK-QaI3@kr5$|ma90D1Y1ee<?#hrS&uq3D&B0HR)VImJ1w{@P-8rHo6HG+VK2Vz}p z`kQwr>;tOL5ML3l?O!jCR>qrZwt4s+E$ewPAP0%n?M{r3hwb2Sb8rPr!yU4%YfI_8 zY>S~DGP2>25upuBmvnHrK>hf=>tMDnF%iEm1(mbK2q-6kJqOI3RnqqMrvzn?D`|Ii z00ERc8<zh6U?e9^ea?L0V)gUVLg+jfIbPAN3VZ{Oqx@ZG%O<&)9G2=AmG)g8+dDfc zlBOwX874gGpV|~j>`*rOa7V8z597qT;z1s_hK@TnVY-Zx@OKyi7@E$y$XQF~7Q8pv zGX~7}I+X|TOZ#=K>|XGZo2%JmycfGRO&&92zbE7=H99V{f7GU@3=`0)Urp3kW#${> zm*L0I(DqJ3a?^8vG-6Yb-{we+Uuw>e3v2f&2i((Z==q{du;_kWO9W|EeW2xn@=;H` ziQmD469H<HQ}c${?cYL=33kp3Ee}gLfdM~A+#FH`i2?UfS0x#undH3j1S`BvEMc<k z#~C#ZrQxmq9X^1Z#jB`%QIJ!y)7_3>L_}1u^RoMDRM`(?H-o7JuIrX#THpNzY38-@ z<=%nf4o;lnJ$QevJWVsqyj;TyJ~z+6$r)o|@ow&SP`dPcHr{}mtRH!S171n--%ZE) zmLxxjjWfj1;0$=a7?N5gS8m8q$YKu`hMii5(>l{`KmS`oq-o1Cf8zLYGG7jG4F-%s zZuvi8)>?9uaQ5dN#Kg!MX=*G?ge<Hm2FTn@*J91;Y<3|1{y|oGGd?G0bn4LeaQ-N? zT}#{i=2nD5a-<-r)9TI6fNlIQ>{GbRlt#9);|)4Rt!LkIP+ro68vncj<BWE*+yS`2 z&Xb7MGhJKKji0YF?~!kFQ0jtftXa+>;tH9cTx^I+;BRw`I8+R1Q>oHj2mXe`j0vwI z!a7#7-t@pB_vI@(xi4tjZio;+#tazzdlPmVG{9`{oP);8QrCkfa^giP8_(EmQcsBU zGfgDQ-oDD*+}g&lpI$gC4C{26IT~5JTQqm>;Wk8ag2xki7tYQg1$0-ZDJbffe7KL` z__-Y)m@C`yMeoghp+N%Y>#Aw^ZaR&z+^@H&<<FY%78w6LJe>&m#tk&m`~I!JR=n^I z&p=dW;b!mh;t=uFCgX^!jyK1w3ryfhitj#S_sOE(cHG=%#X3V!9&mYlK=e&qc_{rL z*ZJ?+hx)t=AuHkMD^;;ogfV|Og;)gyw$JcUb>nq`F!GUU>%%vw`<ypOYagZ1<)3L1 zA<JYv!=-?KA+>rtJ5RbrjxJo~V!$xe)Px*PByA?$`;x+*TjK;d;b$D>@|eMmn32}k zPJ^4^vt-{(jeFmfd!B(1tm+gtE$JW=*5q{4Pdr_--E7|rdf)Kzbq-W-fVQ0VL-M<H z`S=u>jYhF~t<=UH+o!?LE&q0u;1#m;f7+qJI%}}Om|<9VX9U2jlTQY>YetI($qw$o zEo0d+3p=OC_&KE2!!KhQo0_h3(<>?^g>7$+EyXJ1HZ1~I6R8<?kNgBq44s;OLCE}s zH<Ls$3qeb0716Csf|B*AYSI@F!|j1qoQa2@n|nZe`3y%~LgMz1M*ARc`%Mo@(=sUG z>{Vz`+kd}_2BU}*l%4crH+<l^M0maID)96-vt3N&BUz(Wh!saP8J5s0W=zkecbaH` zDyhHq0u)H~UAatMygU{V*48c_ko@mra(kObz&BvU6S={K1Y37#AX8kku59jQi*|?- zbog$GRM-p;4}VXey<@rH>U?%Xz?dbqU=pW9w-NJ0?CS41<bz(0`DFT!hx1cl=dmP$ z!X^1)kwDr!E{r_N`Zcv!wjv3V7kT(qU2^^0Dbzav1g*O7d{}`v-$UJz9_}uo#iaE@ z-J1LI?fLqq6o4^5(gv?3<B?r}I!z<EZW_mDBe1>K*6U=(&Fp%^>uH5(ZB+)*9)<hr z*f+^o<XP&SMs;p=d~w<0FZ>ldcH6cs%6R+#d4H^N1H-WcxipO&X1NJmb%DVo73}l4 zH(GHOyaCl8YotcLZSf(k&h2FE{NAMrmp0&zOBzWX*oh$Ear>O&o*Y$11g9oSCpJ+h z#mxcohHw0Pad6BccigG-(3Snp40NA{q@SP;LK<yn*Z|-M6?PfHN~<R)aAKi@ftrpD z?3@Eo^qC((-P%rqnN9#Vo+NJ*m<4SEIrwVy(@pe%F-yyJ>oLMA)Yul((9p&l8j4H+ zh6o^2Y#HPPpY69l?)O)XblW~m+n%0A`=$Zd`oleNgIb6Be=i;T)c?>4nIRY71w4;( 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�AKajHT;19C5O$rQ(4EA<Yc4mT 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 MxR8WTD^Ick_eRsqRo(l!ZA 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 l!_A4+94eYG;y<1?gw1g2( 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 diff --git a/supporting-docs/projects/images/riot-web-small.png b/supporting-docs/projects/images/riot-web-small.png deleted file mode 100644 index e70b71410e9f7201dc8ac15012d2dad5b8849bcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16526 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 A>Hq)$ diff --git a/supporting-docs/projects/images/vector-android-featured.png b/supporting-docs/projects/images/vector-android-featured.png deleted file mode 100644 index 489c46687463587ad9e6bc5e26ca65ed3189a237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18119 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 P00000NkvXXu0mjfHoS#O diff --git a/supporting-docs/projects/images/vector-android-large.png b/supporting-docs/projects/images/vector-android-large.png deleted file mode 100644 index b674b3e65d36c0bbda0c778af292d1354107a50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141769 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�ZuoDOaZjISN$< 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 Hu0mjf3_*Ah diff --git a/supporting-docs/projects/images/vector-android-small.png b/supporting-docs/projects/images/vector-android-small.png deleted file mode 100644 index 1cbb24beb97b1c255431ef137e9ee194f3344dfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11745 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 diff --git a/supporting-docs/projects/images/vector-iOS-featured.png b/supporting-docs/projects/images/vector-iOS-featured.png deleted file mode 100644 index 54491582875db314c85187a48b30b9d87b126ae7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15484 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 NlDxWHt&BzFe*nUT?EU}% diff --git a/supporting-docs/projects/images/vector-iOS-large.png b/supporting-docs/projects/images/vector-iOS-large.png deleted file mode 100644 index cd14453c84605c846f0505d63078dcb0d6a5318b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114425 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 diff --git a/supporting-docs/projects/images/vector-iOS-small.png b/supporting-docs/projects/images/vector-iOS-small.png deleted file mode 100644 index 14f44d0264d757aea0ef141a769b47a95838e50b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10308 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 Yb(XA$n|VG7*zbp+B&RN0Cv6e&Ke4VvL;wH) diff --git a/supporting-docs/projects/template.md b/supporting-docs/projects/template.md deleted file mode 100644 index d274eb654..000000000 --- a/supporting-docs/projects/template.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: project -title: My First Matrix Client -categories: projects client -# valid categories are client, server, as (application service), sdk (client sdk), and other -thumbnail: /docs/projects/images/upload-a-thumbnail-image-to-the-images-subfolder.png -description: Describe your project here -author: Myself -maturity: Alpha ---- - -![screenshot](/docs/projects/images/upload-a-bigger-image-for-your-project-page-to-the-images-subfolder.png "{{ page.title }}") - -# {{ page.title }} -Add a fuller description/explanation of your project here, ideally with a link to the source on [github](https://github.com/matrix-org/) or elsewhere. - From de6b0a278eb118a68d840d0a11e78898d262a00f Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 6 Nov 2017 18:28:07 +0000 Subject: [PATCH 208/801] remove dead labels from README 'site' and 'projects' are no longer things. --- README.rst | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/README.rst b/README.rst index 4b7d2fac1..8a0e1d0e4 100644 --- a/README.rst +++ b/README.rst @@ -175,23 +175,3 @@ Examples: * `Peer-to-peer Matrix <https://github.com/matrix-org/matrix-doc/issues/710>`_ * `Specify a means for clients to "edit" previous messages <https://github.com/matrix-org/matrix-doc/issues/682>`_ - -`projects <https://github.com/matrix-org/matrix-doc/labels/projects>`_ ----------------------------------------------------------------------- - -A project which needs adding to the 'Try Matrix Now' page. - -Examples: - -* `add https://gitlab.com/uhoreg/matrix-appservice-prosody - <https://github.com/matrix-org/matrix-doc/issues/1016>`_ - -* `add https://github.com/tavoda/matrix-java project - <https://github.com/matrix-org/matrix-doc/issues/956>`_ - -`site <https://github.com/matrix-org/matrix-doc/labels/site>`_ --------------------------------------------------------------- - -Ideas for things to help document or sell matrix more generally. -(Probably these would be better filed under -https://github.com/matrix-org/matrix.org, but they tend to end up here.) From d9285cf5b509c162ac1075495758b0555812b1d2 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 8 Nov 2017 08:12:14 +0000 Subject: [PATCH 209/801] Updates to README and CONTRIBUTING --- CONTRIBUTING.rst | 84 +++++++++++++++++++++++++++--------------------- README.rst | 41 ++++++++++++++++------- 2 files changed, 78 insertions(+), 47 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index f18263d0e..e0aa83185 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,13 +1,22 @@ Contributing to matrix-doc ========================== -Everyone is welcome to contribute to the ``matrix-doc`` project, provided that they -are willing to license their contributions under the same license as the -project itself. We follow a simple 'inbound=outbound' model for contributions: -the act of submitting an 'inbound' contribution means that the contributor -agrees to license the code under the same terms as the project's overall -'outbound' license - in our case, this is Apache Software License -v2 (see LICENSE). +Everyone is welcome to contribute to the Matrix specification! + +Please ensure that you sign off your contributions. See `Sign off`_ below. + +Code style +---------- + +The documentation style is described at +https://github.com/matrix-org/matrix-doc/blob/master/meta/documentation_style.rst. + +Python code within the ``matrix-doc`` project should follow the same style as +synapse, which is documented at +https://github.com/matrix-org/synapse/tree/master/docs/code_style.rst. + +Matrix-doc workflows +-------------------- Specification changes ~~~~~~~~~~~~~~~~~~~~~ @@ -29,8 +38,8 @@ workflow: The Matrix Core Team's preferred tool for such discussion documents is `Google Docs <https://docs.google.com>`_ thanks to its support for comment - threads. Works in progress are kept in a folder at - https://drive.google.com/drive/folders/0B4wHq8qP86r2ck15MHEwMmlNVUk. + threads. Works in progress are kept in the `Matrix Design drafts folder + <https://drive.google.com/drive/folders/0B4wHq8qP86r2ck15MHEwMmlNVUk>`_. 2. Seek feedback on the proposal. `#matrix-dev:matrix.org <http://matrix.to/#/#matrix-dev:matrix.org>`_ is a good place to reach the @@ -59,43 +68,46 @@ The above process is unnecessary for smaller changes, and those which do not put new requirements on servers. This category of changes includes the following: -* changes to supporting documentation +* Changes to the scripts used to generate the specification. -* changes to the scripts used to generate the specification +* Addition of features which have been in use in practice for some time, but + have never made it into the spec (including anything with the `spec-omission + <https://github.com/matrix-org/matrix-doc/labels/spec-omission>`_ label). -* clarifications to the specification which do not change the behaviour of - Matrix servers or clients in a way which might introduce compatibility - problems for existing deployments. For example, recommendations for UI - behaviour do not require a proposal document. On the other hand, changes to - event contents would be best discussed in a proposal document even though no - changes would be necessary to server implementations. +* Likewise, corrections to the specification, to fix situations where, in + practice, servers and clients behave differently to the specification, + including anything with the `bug + <https://github.com/matrix-org/matrix-doc/labels/bug>`_ label. -For such changes, please do just open a `pull request`_. + (If there is any doubt about whether it is the spec or the implementations + that need fixing, please discuss it with us first in `#matrix-dev:matrix.org + <http://matrix.to/#/#matrix-dev:matrix.org>`_.) +* Clarifications to the specification which do not change the behaviour of + Matrix servers or clients in a way which might introduce compatibility + problems for existing deployments. This includes anything with the + `clarification <https://github.com/matrix-org/matrix-doc/labels/clarification>`_ + label. -Pull requests -~~~~~~~~~~~~~ -.. _pull request: `Pull requests`_ - -The preferred and easiest way to contribute changes to the ``matrix-doc`` project -is to fork it on github, and then create a pull request to ask us to pull your -changes into our repo (https://help.github.com/articles/using-pull-requests/). + For example, recommendations for UI behaviour do not require a proposal + document. On the other hand, changes to event contents would be best + discussed in a proposal document even though no changes would be necessary to + server implementations. -(Note that, unlike most of the other matrix.org projects, pull requests for -matrix-doc should be based on the ``master`` branch.) +For such changes, please do just open a `pull request`_. -Code style -~~~~~~~~~~ +.. _pull request: https://help.github.com/articles/about-pull-requests -The documentation style is described at -https://github.com/matrix-org/matrix-doc/blob/master/meta/documentation_style.rst. +Sign off +-------- -Python code within the ``matrix-doc`` project should follow the same style as -synapse, which is documented at -https://github.com/matrix-org/synapse/tree/master/docs/code_style.rst. +We ask that everybody who contributes to their project signs off their +contributions, as explained below. -Sign off -~~~~~~~~ +We follow a simple 'inbound=outbound' model for contributions: the act of +submitting an 'inbound' contribution means that the contributor agrees to +license their contribution under the same terms as the project's overall 'outbound' +license - in our case, this is Apache Software License v2 (see LICENSE). In order to have a concrete record that your contribution is intentional and you agree to license it under the same terms as the project's license, we've adopted the diff --git a/README.rst b/README.rst index 8a0e1d0e4..827724836 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,11 @@ This repository contains the Matrix specification. +If you want to ask more about the specification, join us on +`#matrix-dev:matrix.org <http://matrix.to/#/#matrix-dev:matrix.org>`_. + +We welcome contributions to the spec! See the notes below on `Building the +specification`_, and `<CONTRIBUTING.rst>`_ to get started making contributions. + Note that the Matrix Project lists, which were previously kept in this repository, are now in https://github.com/matrix-org/matrix.org. @@ -28,15 +34,6 @@ Structure of this repository .. _OpenAPI: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md .. _JSON Schema: http://json-schema.org/ -Contributing -============ - -If you want to ask more about the specification, join us on -`#matrix-dev:matrix.org <http://matrix.to/#/#matrix-dev:matrix.org>`_. - -If you would like to contribute to the specification or supporting -documentation, see `<CONTRIBUTING.rst>`_. - Building the specification ========================== @@ -98,11 +95,33 @@ To make use of the generated file, there are a number of options: .. _`Swagger`: http://swagger.io/ +Continuserv +----------- + +Continuserv is a script which will rebuild the specification every time a file +is changed, and will serve it to a browser over HTTP. It is intended for use by +specification authors, so that they can quickly see the effects of their +changes. + +It is written in Go, so you will need the ``go`` compiler installed on your +computer. You will also need to install fsnotify by running:: + + go get gopkg.in/fsnotify.v1 + +Then, create a virtualenv as described above under `Preparation`_, +and:: + + source env/bin/activate + go run ./scripts/continuserv/main.go + +You will then be able to view the generated spec by visiting +http://localhost:8000/index.html. + Issue tracking ============== -Issues with the Matrix specification and supporting documentation are tracked -in `GitHub <https://github.com/matrix-org/matrix-doc/issues>`_. +Issues with the Matrix specification are tracked in `GitHub +<https://github.com/matrix-org/matrix-doc/issues>`_. The following labels are used to help categorize issues: From a38d4fc68ea9c349352a6742576ecb255e89b3e0 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 8 Nov 2017 08:37:56 +0000 Subject: [PATCH 210/801] Move templating into scripts dir There's no real need for this to be at the top level. --- README.rst | 2 -- scripts/continuserv/main.go | 2 +- scripts/dump-swagger.py | 2 +- scripts/gendoc.py | 7 ++---- {templating => scripts/templating}/README.md | 0 .../templating}/batesian/__init__.py | 0 .../templating}/batesian/sections.py | 0 .../templating}/batesian/units.py | 0 {templating => scripts/templating}/build.py | 0 .../templating}/matrix_templates/__init__.py | 0 .../templating}/matrix_templates/sections.py | 0 .../matrix_templates/templates/apis.tmpl | 0 .../templates/common-event-fields.tmpl | 0 .../matrix_templates/templates/events.tmpl | 0 .../matrix_templates/templates/http-api.tmpl | 0 .../matrix_templates/templates/msgtypes.tmpl | 0 .../matrix_templates/templates/tables.tmpl | 0 .../templating}/matrix_templates/units.py | 22 +++++++++++-------- 18 files changed, 17 insertions(+), 18 deletions(-) rename {templating => scripts/templating}/README.md (100%) rename {templating => scripts/templating}/batesian/__init__.py (100%) rename {templating => scripts/templating}/batesian/sections.py (100%) rename {templating => scripts/templating}/batesian/units.py (100%) rename {templating => scripts/templating}/build.py (100%) rename {templating => scripts/templating}/matrix_templates/__init__.py (100%) rename {templating => scripts/templating}/matrix_templates/sections.py (100%) rename {templating => scripts/templating}/matrix_templates/templates/apis.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/templates/common-event-fields.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/templates/events.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/templates/http-api.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/templates/msgtypes.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/templates/tables.tmpl (100%) rename {templating => scripts/templating}/matrix_templates/units.py (97%) diff --git a/README.rst b/README.rst index 827724836..ac2b1b360 100644 --- a/README.rst +++ b/README.rst @@ -28,8 +28,6 @@ Structure of this repository - ``scripts``: scripts to generate formatted versions of the documentation, typically HTML. - ``specification``: the specification split up into sections. -- ``templating``: the templates and templating system used to - generate the spec. .. _OpenAPI: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md .. _JSON Schema: http://json-schema.org/ diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index e077bde57..a6117714b 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -52,7 +52,7 @@ func main() { walker := makeWalker(dir, w) paths := []string{"api", "changelogs", "event-schemas", "scripts", - "specification", "templating"} + "specification"} for _, p := range paths { filepath.Walk(path.Join(dir, p), walker) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index bab13d890..110c44466 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -30,7 +30,7 @@ import yaml scripts_dir = os.path.dirname(os.path.abspath(__file__)) -templating_dir = os.path.join(os.path.dirname(scripts_dir), "templating") +templating_dir = os.path.join(scripts_dir, "templating") api_dir = os.path.join(os.path.dirname(scripts_dir), "api") sys.path.insert(0, templating_dir) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 05d7908ee..857f0298f 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -273,7 +273,7 @@ def addAnchors(path): def run_through_template(input_files, set_verbose, substitutions): args = [ - 'python', 'build.py', + 'python', script_dir+'/templating/build.py', "-o", tmp_dir, "-i", "matrix_templates", ] @@ -288,10 +288,7 @@ def run_through_template(input_files, set_verbose, substitutions): log("EXEC: %s" % " ".join(args)) log(" ==== build.py output ==== ") - subprocess.check_call( - args, - cwd=os.path.join(docs_dir, "templating"), - ) + subprocess.check_call(args) """ Extract and resolve groups for the given target in the given targets listing. diff --git a/templating/README.md b/scripts/templating/README.md similarity index 100% rename from templating/README.md rename to scripts/templating/README.md diff --git a/templating/batesian/__init__.py b/scripts/templating/batesian/__init__.py similarity index 100% rename from templating/batesian/__init__.py rename to scripts/templating/batesian/__init__.py diff --git a/templating/batesian/sections.py b/scripts/templating/batesian/sections.py similarity index 100% rename from templating/batesian/sections.py rename to scripts/templating/batesian/sections.py diff --git a/templating/batesian/units.py b/scripts/templating/batesian/units.py similarity index 100% rename from templating/batesian/units.py rename to scripts/templating/batesian/units.py diff --git a/templating/build.py b/scripts/templating/build.py similarity index 100% rename from templating/build.py rename to scripts/templating/build.py diff --git a/templating/matrix_templates/__init__.py b/scripts/templating/matrix_templates/__init__.py similarity index 100% rename from templating/matrix_templates/__init__.py rename to scripts/templating/matrix_templates/__init__.py diff --git a/templating/matrix_templates/sections.py b/scripts/templating/matrix_templates/sections.py similarity index 100% rename from templating/matrix_templates/sections.py rename to scripts/templating/matrix_templates/sections.py diff --git a/templating/matrix_templates/templates/apis.tmpl b/scripts/templating/matrix_templates/templates/apis.tmpl similarity index 100% rename from templating/matrix_templates/templates/apis.tmpl rename to scripts/templating/matrix_templates/templates/apis.tmpl diff --git a/templating/matrix_templates/templates/common-event-fields.tmpl b/scripts/templating/matrix_templates/templates/common-event-fields.tmpl similarity index 100% rename from templating/matrix_templates/templates/common-event-fields.tmpl rename to scripts/templating/matrix_templates/templates/common-event-fields.tmpl diff --git a/templating/matrix_templates/templates/events.tmpl b/scripts/templating/matrix_templates/templates/events.tmpl similarity index 100% rename from templating/matrix_templates/templates/events.tmpl rename to scripts/templating/matrix_templates/templates/events.tmpl diff --git a/templating/matrix_templates/templates/http-api.tmpl b/scripts/templating/matrix_templates/templates/http-api.tmpl similarity index 100% rename from templating/matrix_templates/templates/http-api.tmpl rename to scripts/templating/matrix_templates/templates/http-api.tmpl diff --git a/templating/matrix_templates/templates/msgtypes.tmpl b/scripts/templating/matrix_templates/templates/msgtypes.tmpl similarity index 100% rename from templating/matrix_templates/templates/msgtypes.tmpl rename to scripts/templating/matrix_templates/templates/msgtypes.tmpl diff --git a/templating/matrix_templates/templates/tables.tmpl b/scripts/templating/matrix_templates/templates/tables.tmpl similarity index 100% rename from templating/matrix_templates/templates/tables.tmpl rename to scripts/templating/matrix_templates/templates/tables.tmpl diff --git a/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py similarity index 97% rename from templating/matrix_templates/units.py rename to scripts/templating/matrix_templates/units.py index dfcb6c826..6eb58096c 100644 --- a/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -25,23 +25,27 @@ from collections import OrderedDict import logging import json import os +import os.path import re import subprocess import sys import urllib import yaml +matrix_doc_dir=reduce(lambda acc,_: os.path.dirname(acc), + range(1, 5), os.path.abspath(__file__)) + HTTP_APIS = { - "../api/application-service": "as", - "../api/client-server": "cs", - "../api/identity": "is", - "../api/push-gateway": "push", + os.path.join(matrix_doc_dir, "api/application-service"): "as", + os.path.join(matrix_doc_dir, "api/client-server"): "cs", + os.path.join(matrix_doc_dir, "api/identity"): "is", + os.path.join(matrix_doc_dir, "api/push-gateway"): "push", } -EVENT_EXAMPLES = "../event-schemas/examples" -EVENT_SCHEMA = "../event-schemas/schema" -CORE_EVENT_SCHEMA = "../event-schemas/schema/core-event-schema" -CHANGELOG_DIR = "../changelogs" -TARGETS = "../specification/targets.yaml" +EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") +EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema") +CORE_EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema/core-event-schema") +CHANGELOG_DIR = os.path.join(matrix_doc_dir, "changelogs") +TARGETS = os.path.join(matrix_doc_dir, "specification/targets.yaml") ROOM_EVENT = "core-event-schema/room_event.yaml" STATE_EVENT = "core-event-schema/state_event.yaml" From 3630e69c2e49ffde27cda43aaf8198151323d1a4 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 8 Nov 2017 09:06:50 +0000 Subject: [PATCH 211/801] s/bug/spec-bug --- CONTRIBUTING.rst | 4 ++-- README.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index e0aa83185..6f17afe66 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -76,8 +76,8 @@ following: * Likewise, corrections to the specification, to fix situations where, in practice, servers and clients behave differently to the specification, - including anything with the `bug - <https://github.com/matrix-org/matrix-doc/labels/bug>`_ label. + including anything with the `spec-bug + <https://github.com/matrix-org/matrix-doc/labels/spec-bug>`_ label. (If there is any doubt about whether it is the spec or the implementations that need fixing, please discuss it with us first in `#matrix-dev:matrix.org diff --git a/README.rst b/README.rst index ac2b1b360..a2779f261 100644 --- a/README.rst +++ b/README.rst @@ -152,8 +152,8 @@ Examples: * `Clarify the meaning of the currently_active flags in presence events <https://github.com/matrix-org/matrix-doc/issues/686>`_ -`bug <https://github.com/matrix-org/matrix-doc/labels/bug>`_ ------------------------------------------------------------- +`spec-bug <https://github.com/matrix-org/matrix-doc/labels/spec-bug>`_ +---------------------------------------------------------------------- Something which is in the spec, but is wrong. From efa9b5a8f12129996bb2c1ca7c6bffca5832942f Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Thu, 9 Nov 2017 02:10:23 +0100 Subject: [PATCH 212/801] Add missing required key for sync format --- api/client-server/definitions/event.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/client-server/definitions/event.yaml b/api/client-server/definitions/event.yaml index aa893fd4f..077036b99 100644 --- a/api/client-server/definitions/event.yaml +++ b/api/client-server/definitions/event.yaml @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. properties: + event_id: + description: The ID of this event. + type: string content: description: The content of this event. The fields in this object will vary depending on the type of event. From dcaaf84395e26d0564c7e71d96a865a8dee43d84 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Thu, 9 Nov 2017 15:28:44 +0100 Subject: [PATCH 213/801] Be clear that event_id is not applicable everywhere --- api/client-server/definitions/event.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/definitions/event.yaml b/api/client-server/definitions/event.yaml index 077036b99..a53b6af7e 100644 --- a/api/client-server/definitions/event.yaml +++ b/api/client-server/definitions/event.yaml @@ -13,7 +13,7 @@ # limitations under the License. properties: event_id: - description: The ID of this event. + description: The ID of this event, if applicable. type: string content: description: The content of this event. The fields in this object will vary depending From 099a7e90aebb2679e695bfd839360d5420c5f031 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Thu, 9 Nov 2017 15:32:32 +0100 Subject: [PATCH 214/801] Change return code following feedback --- api/client-server/filter.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index 185f53122..68db7a94d 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -147,7 +147,7 @@ paths: type: object allOf: - $ref: "definitions/sync_filter.yaml" - 400: + 404: description: "Unknown filter." tags: - Room participation From 1d4410b638c01da1414c03c8574132daf8a5e93f Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Mon, 13 Nov 2017 07:46:03 +0900 Subject: [PATCH 215/801] operationid -> operationId Signed-off-by: Alexey Rusakov <ktirf@users.sf.net> --- api/client-server/cas_login_ticket.yaml | 2 +- api/client-server/content-repo.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/cas_login_ticket.yaml b/api/client-server/cas_login_ticket.yaml index 1b1a5f663..a08565a0d 100644 --- a/api/client-server/cas_login_ticket.yaml +++ b/api/client-server/cas_login_ticket.yaml @@ -39,7 +39,7 @@ paths: If validation is unsuccessful, the server should respond with a ``401 Unauthorized`` error, the body of which will be displayed to the user. - operationid: loginByCASTicket + operationId: loginByCASTicket parameters: - in: query type: string diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index c9eac444a..e9fab2583 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -26,7 +26,7 @@ paths: "/upload": post: summary: Upload some content to the content repository. - operationid: uploadContent + operationId: uploadContent produces: ["application/json"] parameters: - in: header From 77a9daccece0d2111d7d6559350861f26bf3ced6 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Mon, 13 Nov 2017 12:11:11 +0900 Subject: [PATCH 216/801] Validation that operationId is present Signed-off-by: Alexey Rusakov <ktirf@users.sf.net> --- api/validator.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/api/validator.js b/api/validator.js index 0d76c09d3..cfc24b532 100644 --- a/api/validator.js +++ b/api/validator.js @@ -34,6 +34,17 @@ var errFn = function(err, api) { process.exit(1); }; +var checkOperationId = function(api) { + Object.keys(api.paths).forEach(function(endpoint) { + var operationsMap = api.paths[endpoint]; + Object.keys(operationsMap).forEach(function(verb) { + if (!operationsMap[verb]["operationId"]) + errFn("operationId is missing in " + endpoint + ", verb " + verb, api); + }) + }); + return ""; +}; + var isDir = fs.lstatSync(opts.schema).isDirectory() if (isDir) { console.log("Checking directory %s for .yaml files...", opts.schema); @@ -46,6 +57,9 @@ if (isDir) { var suffix = ".yaml"; if (f.indexOf(suffix, f.length - suffix.length) > 0) { parser.validate(path.join(opts.schema, f), function(err, api, metadata) { + if (!err) { + checkOperationId(api); + } if (!err) { console.log("%s is valid.", f); } @@ -60,6 +74,9 @@ if (isDir) { } else{ parser.validate(opts.schema, function(err, api) { + if (!err) { + checkOperationId(api); + } if (!err) { console.log("%s is valid", opts.schema); } From b1801ea6db61ac003054c42d17b9f55a06f1ec21 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 12 Nov 2017 23:49:40 -0700 Subject: [PATCH 217/801] Spec /account/whoami Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 54 +++++++++++++++++++++++++++++ specification/client_server_api.rst | 5 +++ 2 files changed, 59 insertions(+) create mode 100644 api/client-server/whoami.yaml diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml new file mode 100644 index 000000000..5b622f5c9 --- /dev/null +++ b/api/client-server/whoami.yaml @@ -0,0 +1,54 @@ +# Copyright 2017 Travis Ralston +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Client Config API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/account/whoami": + get: + summary: Gets information about the owner of an access token. + description: |- + Gets information about the owner of a given access token. Currently this + only supports returning the user id that owns the token. + security: + - accessToken: [] + parameters: [] + responses: + 200: + description: + The account_data was successfully added. + examples: + application/json: { + "user_id": "@joe:example.org" + } + schema: + type: object + properties: + user_id: + type: string + description: The user id that owns the access token. + tags: + - User data diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 87e90150a..09f73bb94 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -786,6 +786,11 @@ This is independent of any information kept by any Identity Servers. {{administrative_contact_cs_http_api}} +Current account information +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +{{whoami_cs_http_api}} + Pagination ---------- From 2b3c84503c51fd703e4991d26910c9ab51d1d77b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 12 Nov 2017 23:54:47 -0700 Subject: [PATCH 218/801] Add /account/whoami to changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index c24f9ef44..10387c560 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -60,6 +60,9 @@ - ``GET /rooms/{roomId}/joined_members`` (`#999 <https://github.com/matrix-org/matrix-doc/pull/999>`_). + - ``GET /account/whoami`` + (`#1063 <https://github.com/matrix-org/matrix-doc/pull/1063>`_). + - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation From 9cf2b59f4e521f88d4a50dee1eae478766eb0994 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 12 Nov 2017 23:56:28 -0700 Subject: [PATCH 219/801] Make it less obvious where this was copy/pasted from Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 5b622f5c9..2ac2c62c0 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -39,7 +39,7 @@ paths: responses: 200: description: - The account_data was successfully added. + The token belongs to a known user. examples: application/json: { "user_id": "@joe:example.org" From 41db12713d573694360d191a253a25fd13a0f22a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 13 Nov 2017 14:22:20 -0700 Subject: [PATCH 220/801] Update whoami endpoint Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 2ac2c62c0..7374ab5aa 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -13,15 +13,13 @@ # limitations under the License. swagger: '2.0' info: - title: "Matrix Client-Server Client Config API" + title: "Matrix Client-Server Account Identification API" version: "1.0.0" host: localhost:8008 schemes: - https - http basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% -consumes: - - application/json produces: - application/json securityDefinitions: @@ -31,8 +29,7 @@ paths: get: summary: Gets information about the owner of an access token. description: |- - Gets information about the owner of a given access token. Currently this - only supports returning the user id that owns the token. + Gets information about the owner of a given access token. security: - accessToken: [] parameters: [] From 2468c38482fc53bd3736f4c70526ec94fd393878 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 13 Nov 2017 18:47:38 -0700 Subject: [PATCH 221/801] Add required property to whoami Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 7374ab5aa..4d9d6ceb4 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -43,6 +43,7 @@ paths: } schema: type: object + required: ["user_id"] properties: user_id: type: string From 33463e390767316d10a90da95918cb3ca5fcf772 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Tue, 14 Nov 2017 15:16:42 +0900 Subject: [PATCH 222/801] Factor out parser.validate callback --- api/validator.js | 62 +++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 37 deletions(-) diff --git a/api/validator.js b/api/validator.js index cfc24b532..f7008ffdb 100644 --- a/api/validator.js +++ b/api/validator.js @@ -34,55 +34,43 @@ var errFn = function(err, api) { process.exit(1); }; -var checkOperationId = function(api) { - Object.keys(api.paths).forEach(function(endpoint) { - var operationsMap = api.paths[endpoint]; - Object.keys(operationsMap).forEach(function(verb) { - if (!operationsMap[verb]["operationId"]) - errFn("operationId is missing in " + endpoint + ", verb " + verb, api); - }) - }); - return ""; -}; +function makeHandler(scope) { + return function(err, api, metadata) { + if (err) { + console.error("%s is not valid.", scope); + errFn(err, api, metadata); // Won't return + } -var isDir = fs.lstatSync(opts.schema).isDirectory() + Object.keys(api.paths).forEach(function (endpoint) { + var operationsMap = api.paths[endpoint]; + Object.keys(operationsMap).forEach(function (verb) { + if (!operationsMap[verb]["operationId"]) { + console.log("%s is not valid", scope); + errFn("operationId is missing in " + endpoint + ", verb " + verb, api); + } + }) + }); + + console.log("%s is valid.", scope); + } +} + +var isDir = fs.lstatSync(opts.schema).isDirectory(); if (isDir) { console.log("Checking directory %s for .yaml files...", opts.schema); fs.readdir(opts.schema, function(err, files) { if (err) { - console.error(err); - process.exit(1); + errFn(err); // Won't return } files.forEach(function(f) { var suffix = ".yaml"; if (f.indexOf(suffix, f.length - suffix.length) > 0) { - parser.validate(path.join(opts.schema, f), function(err, api, metadata) { - if (!err) { - checkOperationId(api); - } - if (!err) { - console.log("%s is valid.", f); - } - else { - console.error("%s is not valid.", f); - errFn(err, api, metadata); - } - }); + parser.validate(path.join(opts.schema, f), makeHandler(f)); } }); }); } else{ - parser.validate(opts.schema, function(err, api) { - if (!err) { - checkOperationId(api); - } - if (!err) { - console.log("%s is valid", opts.schema); - } - else { - errFn(err, api); - } - }); -}; + parser.validate(opts.schema, makeHandler(opt.schema)); +} From 0cbf533625b5c21b11a83134338c5b0a393976f7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 14 Nov 2017 13:02:43 +0000 Subject: [PATCH 223/801] Use petstore for continuserv swagger docs Matrix.org's swagger browser is behind https, which means it can't read the swagger from a continuserv on http. Use the petstore instead. --- scripts/continuserv/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/continuserv/index.html b/scripts/continuserv/index.html index f698c5b3d..24ed7ecbb 100644 --- a/scripts/continuserv/index.html +++ b/scripts/continuserv/index.html @@ -3,7 +3,7 @@ window.onload = function() { var url = new URL(window.location); url.pathname += "api-docs.json"; - var newLoc = "http://matrix.org/docs/api/client-server/?url=" + encodeURIComponent(url); + var newLoc = "http://petstore.swagger.io/?url=" + encodeURIComponent(url); document.getElementById("apidocs").href = newLoc; }; </script> From 202a265d853460baaeb6431feb10ac6ea0a20247 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 14 Nov 2017 13:12:38 +0000 Subject: [PATCH 224/801] Config for travis-ci --- .travis.yml | 8 ++++++++ scripts/travis.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 .travis.yml create mode 100755 scripts/travis.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..26a2f67b7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: go +go: + - 1.8 + +sudo: false + +script: + - ./scripts/travis.sh diff --git a/scripts/travis.sh b/scripts/travis.sh new file mode 100755 index 000000000..9fe498561 --- /dev/null +++ b/scripts/travis.sh @@ -0,0 +1,27 @@ +#! /bin/bash + +set -ex + +virtualenv env +. env/bin/activate +pip install -r scripts/requirements.txt + +# do sanity checks on the examples and swagger +(cd event-schemas/ && ./check_examples.py) +(cd api && ./check_examples.py) +(cd api && npm install && node validator.js -s "client-server") + +: ${GOPATH:=${WORKSPACE}/.gopath} +mkdir -p "${GOPATH}" +export GOPATH +go get github.com/hashicorp/golang-lru +go get gopkg.in/fsnotify.v1 + +# make sure that the scripts build +(cd scripts/continuserv && go build) +(cd scripts/speculator && go build) + +# build the spec and collect the supporting docs for matrix.org. (we aren't +# actually going to use them, since we're on travis, but we may as well check +# that the build works correctly). +./scripts/generate-matrix-org-assets From 6edb90a08e50c75536fa51f7075e42f4703db6e6 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 14:36:38 +0000 Subject: [PATCH 225/801] Document threepids Adds the /msisdn' 3pid type and generally fleshes out what a 3pid is and how they work. This merges most of the work from Max Dor in https://github.com/matrix-org/matrix-doc/pull/1039 with some tweaks and additions. --- api/identity/lookup.yaml | 8 +++-- specification/appendices/threepids.rst | 48 ++++++++++++++++++++++++++ specification/identity_service_api.rst | 5 +++ specification/targets.yaml | 1 + 4 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 specification/appendices/threepids.rst diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 18e5e77d8..bd3635b42 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -1,4 +1,6 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2017 Kamax.io +# Copyright 2017 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,13 +34,13 @@ paths: type: string name: medium required: true - description: The literal string "email". + description: The medium type of the 3pid. See `Appendices`_. x-example: "email" - in: query type: string name: address required: true - description: The email address being looked up. + description: The address of the 3pid being looked up. See `Appendices`_. x-example: "louise@bobs.burgers" responses: 200: @@ -82,4 +84,4 @@ paths: description: The unix timestamp at which the association was verified. signatures: type: object - description: The signatures of the verifying identity service which show that the association should be trusted, if you trust the verifying identity service. + description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst new file mode 100644 index 000000000..2f8147a8d --- /dev/null +++ b/specification/appendices/threepids.rst @@ -0,0 +1,48 @@ +.. Copyright 2017 Kamax.io +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +3PID Types +---------- +3PIDs represent identifiers on other namespaces that might be associated with a +particular person. They comprise a tuple of `medium` which is a string that +identifies the namespace in which the identifier exists and an `address`: a +string representing the identifier in that namespace. This must be a canonical +form of the identifier, ie. if multiple strings could represent the same +identifier, only one of these strings must be used in a 3PID address, in a +well-defined manner. + +For example, for e-mail, the `medium` is 'email' and the `address` would be the +email address, eg. the string 'bob@example.com'. Since domain resolution is +case-insensitive, the email address 'bob@Example.com' also has a 3PID address +of 'bob@example.com' and not 'bob@Example.com'. + +The namespaces defined by this specification are listed below. More namespaces +may be defined in future versions of this specification. + +E-Mail +~~~~~~ +Medium: `email` + +Represents E-Mail addresses. The `address` is the raw email address in +user@domain form with the domain in lowercase. It must not contain other text +such as real name, angle brackets or a mailto: prefix. + +PSTN Phone numbers +~~~~~~~~~~~~~~~~~~ +Medium: `msisdn` + +Represents telephone numbers on the public switched telephone network. The +`address` is the telephone number represented as a MSISDN (Mobile Station +International Subscriber Directory Number) as defined by the E.164 numbering +plan. Note that MSISDNs do not include a leading '+'. diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index fa03e162c..90b20d233 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -1,4 +1,6 @@ .. Copyright 2016 OpenMarket Ltd +.. Copyright 2017 Kamax.io +.. Copyright 2017 New Vector Ltd .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. @@ -52,6 +54,8 @@ necessarily provide evidence that they have validated associations, but claim to have done so. Establishing the trustworthiness of an individual identity service is left as an exercise for the client. +3PID types are described in the `Appendices`_. + Privacy ------- @@ -291,3 +295,4 @@ It will look up ``token`` which was stored in a call to ``store-invite``, and fe } .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 +.. _`Appendices`: ../appendices.html#threepids diff --git a/specification/targets.yaml b/specification/targets.yaml index fb68e13d4..6a52fd842 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -33,6 +33,7 @@ targets: files: - appendices.rst - appendices/base64.rst + - appendices/threepids.rst - appendices/signing_json.rst - appendices/identifier_grammar.rst - appendices/threat_model.rst From 0f5a4efce6affc1dc002097d16028aa8598e0582 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 14 Nov 2017 07:52:51 -0700 Subject: [PATCH 226/801] Spec URL previews (#1064) * Spec URL previews * Require authentication on /upload and /preview_url --- api/client-server/content-repo.yaml | 78 +++++++++++++++++++++++++++++ changelogs/client_server.rst | 5 ++ 2 files changed, 83 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index ebb63ba42..e8f23c122 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -18,15 +18,23 @@ info: host: localhost:8008 schemes: - https + - http basePath: /_matrix/media/%CLIENT_MAJOR_VERSION% +consumes: + - application/json + - "*/*" produces: - application/json - "*/*" +securityDefinitions: + $ref: definitions/security.yaml paths: "/upload": post: summary: Upload some content to the content repository. produces: ["application/json"] + security: + - accessToken: [] parameters: - in: header name: Content-Type @@ -60,6 +68,10 @@ paths: application/json: { "content_uri": "mxc://example.com/AQwafuaFswefuhsfAFAgsw" } + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" tags: - Media "/download/{serverName}/{mediaId}": @@ -93,6 +105,10 @@ paths: type: "string" schema: type: file + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" tags: - Media "/download/{serverName}/{mediaId}/{fileName}": @@ -133,6 +149,10 @@ paths: type: "string" schema: type: file + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" tags: - Media "/thumbnail/{serverName}/{mediaId}": @@ -184,5 +204,63 @@ paths: enum: ["image/jpeg", "image/png"] schema: type: file + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: + - Media + "/preview_url": + get: + summary: "Get information about a URL for a client" + produces: ["application/json"] + security: + - accessToken: [] + parameters: + - in: query + type: string + x-example: "https://matrix.org" + name: url + description: "The URL to get a preview of" + required: true + - in: query + type: number + x-example: 1510610716656 + name: ts + description: |- + The preferred point in time to return a preview for. The server may + return a newer version if it does not have the requested version + available. + responses: + 200: + description: |- + The OpenGraph data for the URL, which may be empty. Some values are + replaced with matrix equivalents if they are provided in the response. + The differences from the OpenGraph protocol are described here. + schema: + type: object + properties: + "matrix:image:size": + type: number + description: |- + The byte-size of the image. Omitted if there is no image attached. + "og:image": + type: string + description: |- + An MXC URI to the image. Ommitted if there is no image. + examples: + application/json: { + "og:title": "Matrix Blog Post", + "og:description": "This is a really cool blog post from matrix.org", + "og:image": "mxc://example.com/ascERGshawAWawugaAcauga", + "og:image:type": "image/png", + "og:image:height": 48, + "og:image:width": 48, + "matrix:image:size": 102400 + } + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" tags: - Media diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 10387c560..e428605ee 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -63,6 +63,9 @@ - ``GET /account/whoami`` (`#1063 <https://github.com/matrix-org/matrix-doc/pull/1063>`_). + - ``GET /media/{version}/preview_url`` + (`#1064 <https://github.com/matrix-org/matrix-doc/pull/1064>`_). + - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation @@ -99,6 +102,8 @@ - Clarify the relationship between ``username`` and ``user_id`` in the ``/register`` API (`#1032 <https://github.com/matrix-org/matrix-doc/pull/1032>`_). + - Clarify rate limiting and security for content repository. + (`#1064 <https://github.com/matrix-org/matrix-doc/pull/1064>`_). r0.2.0 ====== From cdfff6787890124f393c8ca8f9f146482a63f53d Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Thu, 26 Oct 2017 03:04:43 +0200 Subject: [PATCH 227/801] Create spec for IS bulk lookup --- api/identity/lookup.yaml | 55 +++++++++++++++++++++++++- specification/identity_service_api.rst | 1 + 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 18e5e77d8..4d5ab5b7d 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -82,4 +82,57 @@ paths: description: The unix timestamp at which the association was verified. signatures: type: object - description: The signatures of the verifying identity service which show that the association should be trusted, if you trust the verifying identity service. + description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. + "/bulk_lookup": + post: + summary: Lookup Matrix user IDs for a list of 3pid. + description: Lookup Matrix user IDs for a list of 3pid. + parameters: + - in: body + name: body + schema: + type: object + example: { + "threepids": + [ + ["email","user@example.org"], + ["msisdn", "123456789"], + ["email","user2@example.org"] + ] + } + properties: + threepids: + type: array + items: + type: array + title: 3PID mappings + items: + type: string + title: 3PID medium or address + description: an array of array containing the `3PID Medium type`_ in first position and the 3PID Address in second position. + required: + - "threepids" + responses: + 200: + description: A list of known 3PID mappings for the supplied 3PIDs. + examples: + application/json: { + "threepids": [ + ["email","user@example.org", "@bla:example.org"], + ["msisdn", "123456789", "@blah2:example.com"] + ] + } + schema: + type: object + properties: + threepids: + type: array + items: + type: array + title: 3PID mappings + items: + type: string + title: 3PID medium or address or the Matrix ID + description: an array of array containing the `3PID Medium type`_ in first position, the 3PID Address in second position and Matrix ID is in third position. + required: + - "threepids" diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index fa03e162c..85b9789f6 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -291,3 +291,4 @@ It will look up ``token`` which was stored in a call to ``store-invite``, and fe } .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 +.. _`3PID Types`: ../appendices.html#pid-medium-types From b789f615229b445d5399350c35bfc1314516002a Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 14:58:30 +0000 Subject: [PATCH 228/801] Make link more specific --- specification/identity_service_api.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index 90b20d233..192755934 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -54,7 +54,7 @@ necessarily provide evidence that they have validated associations, but claim to have done so. Establishing the trustworthiness of an individual identity service is left as an exercise for the client. -3PID types are described in the `Appendices`_. +3PID types are described in `3PID Types`_ Appendix. Privacy ------- @@ -295,4 +295,4 @@ It will look up ``token`` which was stored in a call to ``store-invite``, and fe } .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 -.. _`Appendices`: ../appendices.html#threepids +.. _`3PID Types`: ../appendices.html#pid-types From 493b9362096d7d7463570d120d06a4881b13b49c Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:01:58 +0000 Subject: [PATCH 229/801] Make these links more specific too --- api/identity/lookup.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index bd3635b42..ed16e4bf2 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -34,13 +34,13 @@ paths: type: string name: medium required: true - description: The medium type of the 3pid. See `Appendices`_. + description: The medium type of the 3pid. See the `3PID Types`_ Appendix. x-example: "email" - in: query type: string name: address required: true - description: The address of the 3pid being looked up. See `Appendices`_. + description: The address of the 3pid being looked up. See the `3PID Types`_ Appendix. x-example: "louise@bobs.burgers" responses: 200: @@ -85,3 +85,5 @@ paths: signatures: type: object description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. + +.. _`3PID Types`: ../appendices.html#pid-types From e80675c9e9135050f3b7334a40c680dcf2485b00 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:03:51 +0000 Subject: [PATCH 230/801] Link in markdown, not swagger --- api/identity/lookup.yaml | 2 -- specification/client_server_api.rst | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index ed16e4bf2..d039f2b50 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -85,5 +85,3 @@ paths: signatures: type: object description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. - -.. _`3PID Types`: ../appendices.html#pid-types diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 09f73bb94..7cd794796 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1446,3 +1446,4 @@ have to wait in milliseconds before they can try again. .. _/user/<user_id>/account_data/<type>: #put-matrix-client-%CLIENT_MAJOR_VERSION%-user-userid-account-data-type .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 +.. _`3PID Types`: ../appendices.html#pid-types From 8d557ec9dc0a78352f379f1308daf78a7acee382 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:05:58 +0000 Subject: [PATCH 231/801] Actually this isn't necessary in this section --- specification/client_server_api.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 7cd794796..09f73bb94 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1446,4 +1446,3 @@ have to wait in milliseconds before they can try again. .. _/user/<user_id>/account_data/<type>: #put-matrix-client-%CLIENT_MAJOR_VERSION%-user-userid-account-data-type .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 -.. _`3PID Types`: ../appendices.html#pid-types From ff85ec055ec51922ae94d1e8a4b8b938e5fe9a28 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:07:22 +0000 Subject: [PATCH 232/801] Move 3pid types down --- specification/targets.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/targets.yaml b/specification/targets.yaml index 6a52fd842..62799afeb 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -33,9 +33,9 @@ targets: files: - appendices.rst - appendices/base64.rst - - appendices/threepids.rst - appendices/signing_json.rst - appendices/identifier_grammar.rst + - appendices/threepids.rst - appendices/threat_model.rst - appendices/test_vectors.rst groups: # reusable blobs of files when prefixed with 'group:' From 3487f5d75a20790a8c9eff2d3734a48891b4ae61 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:08:56 +0000 Subject: [PATCH 233/801] Spell out what we mean by a 3pid (and consequently rejig all the fixed-width formatting) --- specification/appendices/threepids.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index 2f8147a8d..e578a5595 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -14,13 +14,13 @@ 3PID Types ---------- -3PIDs represent identifiers on other namespaces that might be associated with a -particular person. They comprise a tuple of `medium` which is a string that -identifies the namespace in which the identifier exists and an `address`: a -string representing the identifier in that namespace. This must be a canonical -form of the identifier, ie. if multiple strings could represent the same -identifier, only one of these strings must be used in a 3PID address, in a -well-defined manner. +Third Party Identifiers (3PIDs) represent identifiers on other namespaces that +might be associated with a particular person. They comprise a tuple of `medium` +which is a string that identifies the namespace in which the identifier exists +and an `address`: a string representing the identifier in that namespace. This +must be a canonical form of the identifier, ie. if multiple strings could +represent the same identifier, only one of these strings must be used in a 3PID +address, in a well-defined manner. For example, for e-mail, the `medium` is 'email' and the `address` would be the email address, eg. the string 'bob@example.com'. Since domain resolution is From 1e4cba6b5577fb59892fe63ea2442b436955b1ee Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:10:11 +0000 Subject: [PATCH 234/801] Don't linkify email addresses in examples --- specification/appendices/threepids.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index e578a5595..64dfa4b17 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -23,9 +23,9 @@ represent the same identifier, only one of these strings must be used in a 3PID address, in a well-defined manner. For example, for e-mail, the `medium` is 'email' and the `address` would be the -email address, eg. the string 'bob@example.com'. Since domain resolution is -case-insensitive, the email address 'bob@Example.com' also has a 3PID address -of 'bob@example.com' and not 'bob@Example.com'. +email address, eg. the string ``bob@example.com``. Since domain resolution is +case-insensitive, the email address ``bob@Example.com`` also has a 3PID address +of ``bob@example.com`` and not ``bob@Example.com``. The namespaces defined by this specification are listed below. More namespaces may be defined in future versions of this specification. From 4526ff2ea69d85bd13071baa8b6fd65bbe493c68 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:11:30 +0000 Subject: [PATCH 235/801] Double backticks in rst :/ --- specification/appendices/threepids.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index 64dfa4b17..a275143ff 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -15,14 +15,14 @@ 3PID Types ---------- Third Party Identifiers (3PIDs) represent identifiers on other namespaces that -might be associated with a particular person. They comprise a tuple of `medium` +might be associated with a particular person. They comprise a tuple of ``medium`` which is a string that identifies the namespace in which the identifier exists -and an `address`: a string representing the identifier in that namespace. This +and an ``address``: a string representing the identifier in that namespace. This must be a canonical form of the identifier, ie. if multiple strings could represent the same identifier, only one of these strings must be used in a 3PID address, in a well-defined manner. -For example, for e-mail, the `medium` is 'email' and the `address` would be the +For example, for e-mail, the ``medium`` is 'email' and the ``address`` would be the email address, eg. the string ``bob@example.com``. Since domain resolution is case-insensitive, the email address ``bob@Example.com`` also has a 3PID address of ``bob@example.com`` and not ``bob@Example.com``. @@ -32,17 +32,17 @@ may be defined in future versions of this specification. E-Mail ~~~~~~ -Medium: `email` +Medium: ``email`` -Represents E-Mail addresses. The `address` is the raw email address in +Represents E-Mail addresses. The ``address`` is the raw email address in user@domain form with the domain in lowercase. It must not contain other text such as real name, angle brackets or a mailto: prefix. PSTN Phone numbers ~~~~~~~~~~~~~~~~~~ -Medium: `msisdn` +Medium: ``msisdn`` Represents telephone numbers on the public switched telephone network. The -`address` is the telephone number represented as a MSISDN (Mobile Station +``address`` is the telephone number represented as a MSISDN (Mobile Station International Subscriber Directory Number) as defined by the E.164 numbering plan. Note that MSISDNs do not include a leading '+'. From e12c0b54ff8c93a77702faed74232abb7eec0ea8 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:12:30 +0000 Subject: [PATCH 236/801] Formatting & grammar --- specification/appendices/threepids.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index a275143ff..cd3127105 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -16,9 +16,9 @@ ---------- Third Party Identifiers (3PIDs) represent identifiers on other namespaces that might be associated with a particular person. They comprise a tuple of ``medium`` -which is a string that identifies the namespace in which the identifier exists +which is a string that identifies the namespace in which the identifier exists, and an ``address``: a string representing the identifier in that namespace. This -must be a canonical form of the identifier, ie. if multiple strings could +must be a canonical form of the identifier, *ie.* if multiple strings could represent the same identifier, only one of these strings must be used in a 3PID address, in a well-defined manner. From 836e6c81d1dc81b177e244b91af418d6aee2aa94 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Thu, 26 Oct 2017 12:37:25 +0200 Subject: [PATCH 237/801] Fix spelling --- api/identity/lookup.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 4d5ab5b7d..385e8a602 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -85,8 +85,8 @@ paths: description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. "/bulk_lookup": post: - summary: Lookup Matrix user IDs for a list of 3pid. - description: Lookup Matrix user IDs for a list of 3pid. + summary: Lookup Matrix user IDs for a list of 3pids. + description: Lookup Matrix user IDs for a list of 3pids. parameters: - in: body name: body @@ -109,7 +109,7 @@ paths: items: type: string title: 3PID medium or address - description: an array of array containing the `3PID Medium type`_ in first position and the 3PID Address in second position. + description: an array of arrays containing the `3PID Medium type`_ in first position and the 3PID Address in second position. required: - "threepids" responses: From 9c5972ffe34039f965cb184ac24dfb64c2d6601d Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:31:02 +0000 Subject: [PATCH 238/801] More formatting / grammar --- specification/appendices/threepids.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index cd3127105..652ec4c75 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -18,12 +18,12 @@ Third Party Identifiers (3PIDs) represent identifiers on other namespaces that might be associated with a particular person. They comprise a tuple of ``medium`` which is a string that identifies the namespace in which the identifier exists, and an ``address``: a string representing the identifier in that namespace. This -must be a canonical form of the identifier, *ie.* if multiple strings could +must be a canonical form of the identifier, *i.e.* if multiple strings could represent the same identifier, only one of these strings must be used in a 3PID address, in a well-defined manner. For example, for e-mail, the ``medium`` is 'email' and the ``address`` would be the -email address, eg. the string ``bob@example.com``. Since domain resolution is +email address, *e.g.* the string ``bob@example.com``. Since domain resolution is case-insensitive, the email address ``bob@Example.com`` also has a 3PID address of ``bob@example.com`` and not ``bob@Example.com``. @@ -35,7 +35,7 @@ E-Mail Medium: ``email`` Represents E-Mail addresses. The ``address`` is the raw email address in -user@domain form with the domain in lowercase. It must not contain other text +``user@domain`` form with the domain in lowercase. It must not contain other text such as real name, angle brackets or a mailto: prefix. PSTN Phone numbers From 14df31458b86a4c1be022d842cf15cda63a28dde Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 15:39:25 +0000 Subject: [PATCH 239/801] Attempt to clarify example a little --- specification/appendices/threepids.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/appendices/threepids.rst b/specification/appendices/threepids.rst index 652ec4c75..84860740c 100644 --- a/specification/appendices/threepids.rst +++ b/specification/appendices/threepids.rst @@ -24,8 +24,8 @@ address, in a well-defined manner. For example, for e-mail, the ``medium`` is 'email' and the ``address`` would be the email address, *e.g.* the string ``bob@example.com``. Since domain resolution is -case-insensitive, the email address ``bob@Example.com`` also has a 3PID address -of ``bob@example.com`` and not ``bob@Example.com``. +case-insensitive, the email address ``bob@Example.com`` is also has the 3PID address +of ``bob@example.com`` (without the capital 'e') rather than ``bob@Example.com``. The namespaces defined by this specification are listed below. More namespaces may be defined in future versions of this specification. From 5147a3b975d258699831fbe49358274b68a8cba5 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Tue, 14 Nov 2017 17:14:56 +0000 Subject: [PATCH 240/801] Fix broken links & grammar --- api/identity/lookup.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index 285844c0d..7cd7fdedd 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -111,7 +111,7 @@ paths: items: type: string title: 3PID medium or address - description: an array of arrays containing the `3PID Medium type`_ in first position and the 3PID Address in second position. + description: an array of arrays containing the `3PID Types`_ with the ``medium`` in first position and the ``address`` in second position. required: - "threepids" responses: @@ -135,6 +135,6 @@ paths: items: type: string title: 3PID medium or address or the Matrix ID - description: an array of array containing the `3PID Medium type`_ in first position, the 3PID Address in second position and Matrix ID is in third position. + description: an array of array containing the `3PID Types`_ with the ``medium`` in first position, the ``address`` in second position and Matrix ID in third position. required: - "threepids" From 427e0bb83bb94e56ef8bb4268c423d35ce251a61 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 14 Nov 2017 19:18:58 +0000 Subject: [PATCH 241/801] make jenkins and travis use a common script --- .travis.yml | 2 +- jenkins.sh | 26 ++---------------------- scripts/{travis.sh => test-and-build.sh} | 8 +++++--- 3 files changed, 8 insertions(+), 28 deletions(-) rename scripts/{travis.sh => test-and-build.sh} (74%) diff --git a/.travis.yml b/.travis.yml index 26a2f67b7..03ef6513f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ go: sudo: false script: - - ./scripts/travis.sh + - ./scripts/test-and-build.sh diff --git a/jenkins.sh b/jenkins.sh index d8950ade4..79b77acb5 100755 --- a/jenkins.sh +++ b/jenkins.sh @@ -1,25 +1,3 @@ -#! /bin/bash +#!/bin/sh -set -ex - -virtualenv env -. env/bin/activate -pip install -r scripts/requirements.txt - -# do sanity checks on the examples and swagger -(cd event-schemas/ && ./check_examples.py) -(cd api && ./check_examples.py) -(cd api && npm install && node validator.js -s "client-server") - -: ${GOPATH:=${WORKSPACE}/.gopath} -mkdir -p "${GOPATH}" -export GOPATH -go get github.com/hashicorp/golang-lru -go get gopkg.in/fsnotify.v1 - -# make sure that the scripts build -(cd scripts/continuserv && go build) -(cd scripts/speculator && go build) - -# build the spec and collect the supporting docs for matrix.org -./scripts/generate-matrix-org-assets +exec ./scripts/test-and-build.sh diff --git a/scripts/travis.sh b/scripts/test-and-build.sh similarity index 74% rename from scripts/travis.sh rename to scripts/test-and-build.sh index 9fe498561..cd25ded26 100755 --- a/scripts/travis.sh +++ b/scripts/test-and-build.sh @@ -2,6 +2,8 @@ set -ex +cd `dirname $0`/.. + virtualenv env . env/bin/activate pip install -r scripts/requirements.txt @@ -21,7 +23,7 @@ go get gopkg.in/fsnotify.v1 (cd scripts/continuserv && go build) (cd scripts/speculator && go build) -# build the spec and collect the supporting docs for matrix.org. (we aren't -# actually going to use them, since we're on travis, but we may as well check -# that the build works correctly). +# build the spec for matrix.org. +# (we don't actually use it on travis, but it's still useful to check we +# can build it. On Jenkins, this is then used to deploy to matrix.org). ./scripts/generate-matrix-org-assets From 868af0a7a1a84eba82e9a303707c73f4cf48a802 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Wed, 15 Nov 2017 07:28:25 +0900 Subject: [PATCH 242/801] Provide doc-comments with makeHandler(); cleanup --- api/validator.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/api/validator.js b/api/validator.js index f7008ffdb..c20dd9930 100644 --- a/api/validator.js +++ b/api/validator.js @@ -34,10 +34,20 @@ var errFn = function(err, api) { process.exit(1); }; +/** + * @brief Produce a handler for parser.validate(). + * Recommended usage: `parser.validate(filename, makeHandler(filename));` + * or `parser.validate(schema, makeHandler());`. + * @param scope - usually a filename, this will be used to denote + * an (in)valid schema in console output; "Schema" if undefined + * @returns {function} the handler that can be passed to parser.validate + */ function makeHandler(scope) { + if (!scope) + scope = "Schema"; return function(err, api, metadata) { if (err) { - console.error("%s is not valid.", scope); + console.error("%s is not valid.", scope || "Schema"); errFn(err, api, metadata); // Won't return } @@ -45,7 +55,7 @@ function makeHandler(scope) { var operationsMap = api.paths[endpoint]; Object.keys(operationsMap).forEach(function (verb) { if (!operationsMap[verb]["operationId"]) { - console.log("%s is not valid", scope); + console.error("%s is not valid", scope); errFn("operationId is missing in " + endpoint + ", verb " + verb, api); } }) @@ -66,11 +76,11 @@ if (isDir) { var suffix = ".yaml"; if (f.indexOf(suffix, f.length - suffix.length) > 0) { parser.validate(path.join(opts.schema, f), makeHandler(f)); - } + } }); }); } else{ - parser.validate(opts.schema, makeHandler(opt.schema)); + parser.validate(opts.schema, makeHandler(opts.schema)); } From a68b7e1bbd430f863314b6d2b34266804538cd6e Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Wed, 15 Nov 2017 07:37:02 +0900 Subject: [PATCH 243/801] Supply operationId with freshly added operations Signed-off-by: Alexey Rusakov <ktirf@users.sf.net> --- api/client-server/content-repo.yaml | 1 + api/client-server/whoami.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 4ad430394..a17ba21d0 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -217,6 +217,7 @@ paths: "/preview_url": get: summary: "Get information about a URL for a client" + operationId: getUrlPreview produces: ["application/json"] security: - accessToken: [] diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 4d9d6ceb4..e3262fe4e 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -30,6 +30,7 @@ paths: summary: Gets information about the owner of an access token. description: |- Gets information about the owner of a given access token. + operationId: getTokenOwner security: - accessToken: [] parameters: [] From 828086a86c86cc21d043aab50c75eedbdae96bc2 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Wed, 15 Nov 2017 07:53:36 +0900 Subject: [PATCH 244/801] Supply operationId for freshly added IS and AS operations --- api/application-service/application_service.yaml | 2 ++ api/identity/lookup.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 485c32df8..c39ce198f 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -101,6 +101,7 @@ paths: aliases inside the application service's ``aliases`` namespace. The homeserver will send this request when it receives a request to join a room alias within the application service's namespace. + operationId: queryRoomByAlias parameters: - in: path name: roomAlias @@ -159,6 +160,7 @@ paths: inside the application service's ``users`` namespace. The homeserver will send this request when it receives an event for an unknown user ID in the application service's namespace. + operationId: queryUserById parameters: - in: path name: userId diff --git a/api/identity/lookup.yaml b/api/identity/lookup.yaml index ebd306cb4..bfd2153ec 100644 --- a/api/identity/lookup.yaml +++ b/api/identity/lookup.yaml @@ -90,6 +90,7 @@ paths: post: summary: Lookup Matrix user IDs for a list of 3pids. description: Lookup Matrix user IDs for a list of 3pids. + operationId: lookupUsers parameters: - in: body name: body From 1045bc721d1270d0358383e49cd8e4ea919155a7 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 04:12:55 +0100 Subject: [PATCH 245/801] Document federation version endpoint --- api/server-server/version.yaml | 53 ++++++++++++++++++++ scripts/templating/matrix_templates/units.py | 1 + specification/server_server_api.rst | 5 ++ 3 files changed, 59 insertions(+) create mode 100644 api/server-server/version.yaml diff --git a/api/server-server/version.yaml b/api/server-server/version.yaml new file mode 100644 index 000000000..199755290 --- /dev/null +++ b/api/server-server/version.yaml @@ -0,0 +1,53 @@ +# Copyright 2017 Kamax.io +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Version API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/version": + get: + summary: Get the implementation name and version of this homeserver. + description: Get the implementation name and version of this homeserver. + responses: + 200: + description: + The implementation name and version of this homeserver. + examples: + application/json: { + "server": { + "name": "My_Homeserver_Implementation", + "version": "ArbitraryVersionNumber" + } + } + schema: + type: object + properties: + server: + title: Server + type: object + properties: + name: + type: string + description: Arbitrary name that identify this implementation. + version: + type: string + description: Version of this implementation. The version format depends on the implementation. diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 6eb58096c..1540a7fd5 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -40,6 +40,7 @@ HTTP_APIS = { os.path.join(matrix_doc_dir, "api/client-server"): "cs", os.path.join(matrix_doc_dir, "api/identity"): "is", os.path.join(matrix_doc_dir, "api/push-gateway"): "push", + os.path.join(matrix_doc_dir, "api/server-server"): "ss", } EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema") diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index b3e802c05..8ffe4e6aa 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -92,6 +92,11 @@ default fallback port number of 8448. Homeservers may use SRV records to load balance requests between multiple TLS endpoints or to failover to another endpoint if an endpoint fails. +Server implementation +~~~~~~~~~~~~~~~~~~~~~~ + +{{version_ss_http_api}} + Retrieving Server Keys ~~~~~~~~~~~~~~~~~~~~~~ From bb50ec2e88be7bf95297872173d91702c3becdfe Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 13:40:55 +0100 Subject: [PATCH 246/801] Document directory query endpoint --- api/server-server/directory.yaml | 67 +++++++++++++++++++++++++++++ specification/server_server_api.rst | 16 +------ 2 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 api/server-server/directory.yaml diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml new file mode 100644 index 000000000..58449fa28 --- /dev/null +++ b/api/server-server/directory.yaml @@ -0,0 +1,67 @@ +# Copyright 2017 Kamax.io +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Version API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1/query +produces: + - application/json +paths: + "/directory": + get: + summary: Retrieve the room ID and list of resident homeservers for a room + alias. + description: Retrieve the room ID and list of resident homeservers for a Room + alias. + parameters: + - in: query + name: room_alias + type: string + description: Room alias + required: true + x-example: "#room_alias:example.org" + responses: + 200: + description: The corresponding room ID and list of known resident + homeservers for the room. + schema: + type: object + properties: + room_id: + type: string + description: The room ID mapped to the queried room alias. + required: true + x-example: "!roomid1234:example.org" + servers: + type: array + description: An array of server names that are likely to hold + then given room. This list may or may not include the server + answering the query. + required: true + items: + type: string + examples: + application/json: { + "room_id": "!roomid1234:example.org", + "servers": [ + "example.org", + "example.com", + "another.example.com:8449", + ] + } \ No newline at end of file diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 8ffe4e6aa..1ca2f39b3 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1271,21 +1271,7 @@ Directory The server API for directory queries is also based on Federation Queries. -Querying directory information:: - - Query type: directory - - Arguments: - room_alias: the room alias to query - - Returns: JSON object containing the following keys: - room_id: string giving the underlying room ID the alias maps to - servers: list of strings giving the join candidates - -The list of join candidates is a list of server names that are likely to hold -the given room; these are servers that the requesting server may wish to use as -resident servers as part of the remote join handshake. This list may or may not -include the server answering the query. +{{directory_ss_http_api}} Send-to-device messaging ------------------------ From 8a6103798e61fb542207933a896fd41c3e17f2cf Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 13:54:55 +0100 Subject: [PATCH 247/801] Fix for tests --- api/server-server/directory.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index 58449fa28..355970fb1 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -46,14 +46,12 @@ paths: room_id: type: string description: The room ID mapped to the queried room alias. - required: true x-example: "!roomid1234:example.org" servers: type: array description: An array of server names that are likely to hold then given room. This list may or may not include the server answering the query. - required: true items: type: string examples: From 28c09aed6243c9b1ee6a932400e820c05fcf27f2 Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 13:57:52 +0100 Subject: [PATCH 248/801] Properly mark required response keys to pass tests --- api/server-server/directory.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index 355970fb1..1321cc4ee 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -54,6 +54,9 @@ paths: answering the query. items: type: string + required: + - "room_id" + - "servers" examples: application/json: { "room_id": "!roomid1234:example.org", From e3ed76373afd354673b5dcc7377fdcf160c876e5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 15:52:30 +0000 Subject: [PATCH 249/801] Prep changelog for 0.3.0 --- changelogs/client_server.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index e428605ee..852c41f59 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,5 +1,5 @@ -<Unreleased changes> -==================== +r0.3.0 +====== - Breaking changes: From 0ce58fdb282f208b4aff7f892fad733bfff248c7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 16:23:14 +0000 Subject: [PATCH 250/801] Prepare for next spec dev cycle --- changelogs/client_server.rst | 3 +++ specification/client_server_api.rst | 1 + 2 files changed, 4 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 852c41f59..84360de0c 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,3 +1,6 @@ +Unreleased changes +================== + r0.3.0 ====== diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 09f73bb94..b28e3036c 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -46,6 +46,7 @@ Other versions of this specification The following other versions are also available, in reverse chronological order: - `HEAD <https://matrix.org/docs/spec/client_server/unstable.html>`_: Includes all changes since the latest versioned release. +- `r0.3.0 <https://matrix.org/docs/spec/client_server/r0.3.0.html>`_ - `r0.2.0 <https://matrix.org/docs/spec/client_server/r0.2.0.html>`_ - `r0.1.0 <https://matrix.org/docs/spec/client_server/r0.1.0.html>`_ - `r0.0.1 <https://matrix.org/docs/spec/r0.0.1/client_server.html>`_ From f526dff51d6d4f2a46f0e26754db2cb671878df7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 16:32:53 +0000 Subject: [PATCH 251/801] Fix changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 84360de0c..57c625159 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,6 +1,8 @@ Unreleased changes ================== +No changes as yet. + r0.3.0 ====== From e9c1b87a1d8a0e5effa22d6fac5a39cccaf8ffd5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 16:34:18 +0000 Subject: [PATCH 252/801] Remove `git log` reference We keep the changelog up to date anyway, so there's not much point in trying to get people to use `git log` --- specification/client_server_api.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index b28e3036c..e68aea438 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -37,9 +37,6 @@ This version of the specification is generated from For the full historical changelog, see https://github.com/matrix-org/matrix-doc/blob/master/changelogs/client_server.rst -If this is an unstable snapshot, any changes since the last release may be -viewed using ``git log``. - Other versions of this specification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From d1e64daa10c0c16c36263c14a628cb3e98dea78a Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 18:43:16 +0100 Subject: [PATCH 253/801] Fix yaml title for directory api --- api/server-server/directory.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index 1321cc4ee..3d864ee05 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -14,7 +14,7 @@ swagger: '2.0' info: - title: "Matrix Federation Version API" + title: "Matrix Federation Query Directory API" version: "1.0.0" host: localhost:8448 schemes: From 9d2e18cca17ee851e9ea0d9dbc9519ddb2152aeb Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Wed, 15 Nov 2017 18:46:27 +0100 Subject: [PATCH 254/801] Adapt paths as per feedback --- api/server-server/directory.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index 3d864ee05..c4a06231f 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -19,11 +19,11 @@ info: host: localhost:8448 schemes: - https -basePath: /_matrix/federation/v1/query +basePath: /_matrix/federation/v1 produces: - application/json paths: - "/directory": + "/query/directory": get: summary: Retrieve the room ID and list of resident homeservers for a room alias. From 8a446fa6dff3264477b5b1b8793d52831e2f1e6b Mon Sep 17 00:00:00 2001 From: Marcus Medom Ryding <mrok4a@gmail.com> Date: Wed, 15 Nov 2017 19:24:46 +0100 Subject: [PATCH 255/801] Modify event auth rules not to rely on depth Signed-off-by: Marcus Medom Ryding <mrok4a@gmail.com> --- specification/server_server_api.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 1ca2f39b3..3d81f2ba6 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -504,15 +504,15 @@ the state of the room. state of the room. For example, a redacted ``join`` event will still result in the user being considered joined. -1. If type is ``m.room.create``, allow if and only if has depth 0 and it has no +1. If type is ``m.room.create``, allow if and only if it has no previous events - *i.e.* it is the first event in the room. #. If type is ``m.room.member``: a. If ``membership`` is ``join``: - i. If the previous event in the room graph is an ``m.room.create``, the - depth is 1 and the ``state_key`` is the creator, allow. + i. If the only previous event is an ``m.room.create`` + and the ``state_key`` is the creator, allow. #. If the ``sender`` does not match ``state_key``, reject. From 632ba032af03d4c13e9b40bb788b1f3d6b83d341 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 20:40:16 +0000 Subject: [PATCH 256/801] Improve Transaction and PDU documentation Fix a bunch of lies about the fields in these structures. --- specification/server_server_api.rst | 188 +++++++++++++--------------- 1 file changed, 87 insertions(+), 101 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 8ffe4e6aa..fc0651471 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -289,7 +289,7 @@ at ``/_matrix/key/v1``. "ed25519:auto": "Base+64+Encoded+Signature" } }, - "tls_certificate": "Base+64+Encoded+DER+Encoded+X509+TLS+Certificate" + "tls_certificate": "Base+64+Encoded+DER+Encoded+X509+TLS+Certificate", "verify_keys": { "ed25519:auto": "Base+64+Encoded+Signature+Verification+Key" } @@ -302,8 +302,6 @@ and should check that the JSON signatures are correct for the supplied Transactions ------------ -.. WARNING:: - This section may be misleading or inaccurate. The transfer of EDUs and PDUs between homeservers is performed by an exchange of Transaction messages, which are encoded as JSON objects, passed over an HTTP @@ -311,11 +309,10 @@ PUT request. A Transaction is meaningful only to the pair of homeservers that exchanged it; they are not globally-meaningful. Each transaction has: - - An opaque transaction ID. + - An opaque transaction ID, unique among transactions from the same origin. - A timestamp (UNIX epoch time in milliseconds) generated by its origin server. - An origin and destination server name. - - A list of "previous IDs". - A list of PDUs and EDUs - the actual message payload that the Transaction carries. @@ -325,134 +322,123 @@ Transaction Fields ==================== =================== ====================================== Key Type Description ==================== =================== ====================================== -``origin`` String DNS name of homeserver making this - transaction. -``origin_server_ts`` Integer Timestamp in milliseconds on +``origin`` String **Required**. ``server_name`` of homeserver sending + this transaction. +``origin_server_ts`` Integer **Required**. Timestamp in milliseconds on originating homeserver when this transaction started. -``previous_ids`` List of Strings List of transactions that were sent - immediately prior to this transaction. -``pdus`` List of Objects List of persistent updates to rooms. -``edus`` List of Objects List of ephemeral messages. +``pdus`` List of Objects **Required**. List of persistent updates to rooms. +``edus`` List of Objects List of ephemeral messages. May be omitted + if there are no ephemeral messages to + be sent. ==================== =================== ====================================== +Example: + .. code:: json { - "transaction_id":"916d630ea616342b42e98a3be0b74113", - "ts":1404835423000, - "origin":"red", - "prev_ids":["e1da392e61898be4d2009b9fecce5325"], + "origin_server_ts":1404835423000, + "origin":"matrix.org", "pdus":[...], "edus":[...] } -The ``prev_ids`` field contains a list of previous transaction IDs that the -``origin`` server has sent to this ``destination``. Its purpose is to act as a -sequence checking mechanism - the destination server can check whether it has -successfully received that Transaction, or ask for a re-transmission if not. - -The ``pdus`` field of a transaction is a list, containing zero or more PDUs.[*] -Each PDU is itself a JSON object containing a number of keys, the exact details -of which will vary depending on the type of PDU. Similarly, the ``edus`` field -is another list containing the EDUs. This key may be entirely absent if there -are no EDUs to transfer. - -(* Normally the PDU list will be non-empty, but the server should cope with -receiving an "empty" transaction, as this is useful for informing peers of other -transaction IDs they should be aware of. This effectively acts as a push -mechanism to encourage peers to continue to replicate content.) - PDUs ---- -All PDUs have: +Each PDU contains a single Room Event which the origin server wants to send to +the destination. -- An ID to identify the PDU itself -- A room ID that it relates to -- A declaration of their type -- A list of other PDU IDs that have been seen recently in that room (regardless - of which origin sent them) - -Required PDU Fields -~~~~~~~~~~~~~~~~~~~ +PDU Fields +~~~~~~~~~~ ==================== ================== ======================================= Key Type Description ==================== ================== ======================================= -``context`` String Room identifier -``user_id`` String The ID of the user sending the PDU -``origin`` String DNS name of homeserver that created - this PDU -``pdu_id`` String Unique identifier for PDU on the - originating homeserver -``origin_server_ts`` Integer Timestamp in milliseconds on origin - homeserver when this PDU was created. -``pdu_type`` String PDU event type -``content`` Object The content of the PDU. -``prev_pdus`` List of (String, The originating homeserver, PDU ids and - String, Object) hashes of the most recent PDUs the - Triplets homeserver was aware of for the room - when it made this PDU -``depth`` Integer The maximum depth of the previous PDUs - plus one -``is_state`` Boolean True if this PDU is updating room state +``room_id`` String **Required**. Room identifier. +``sender`` String **Required**. The ID of the user sending + the event. +``origin`` String **Required**. ``server_name`` of the + homeserver that created this event. +``event_id`` String **Required**. Unique identifier for the + event being sent. +``origin_server_ts`` Integer **Required**. Timestamp in milliseconds + on origin homeserver when this event + was created. +``type`` String **Required**. Event type +``state_key`` String Optional. If this key is present, the + event is a state event, and it will + replace previous events with the same + ``type`` and ``state_key`` in the room + state. +``content`` Object **Required**. The content of the event. +``prev_events`` List of (String, **Required**. Event IDs and hashes of + {String: String}) the most recent events in the room that + pairs the homeserver was aware of when it + made this event +``depth`` Integer **Required**. The maximum depth of the + ``prev_events``, plus one +``auth_events`` List of (String, **Required**. TODO-doc + {String: String}) + pairs +``hashes`` {String: String} **Required**. Hashes of the PDU, + following the algorithm specified in + `Signing Events`_. +``signatures`` {String: **Required**. Signatures of the redacted + {String: String}} PDU, following the algorithm specified + in `Signing Events`_. +``redacts`` String Optional. For redaction events, the ID + of the event being redacted +``unsigned`` Object Optional. Additional data added by the + origin server but not covered by the + ``signatures``. ==================== ================== ======================================= +Example: + .. code:: json { - "context":"#example:green.example.com", - "origin":"green.example.com", - "pdu_id":"a4ecee13e2accdadf56c1025af232176", - "origin_server_ts":1404838188000, - "pdu_type":"m.room.message", - "prev_pdus":[ - ["blue.example.com","99d16afbc8", - {"sha256":"abase64encodedsha256hashshouldbe43byteslong"}] + "room_id": "!UcYsUzyxTGDxLBEvLy:example.org", + "sender": "@alice:example.com", + "origin": "example.com", + "event_id": "$a4ecee13e2accdadf56c1025:example.com", + "origin_server_ts": 1404838188000, + "type": "m.room.message", + "prev_events": [ + ["$af232176:example.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}] ], - "hashes":{"sha256":"thishashcoversallfieldsincasethisisredacted"}, - "signatures":{ - "green.example.com":{ - "ed25519:key_version:":"these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" + "hashes": {"sha256": "thishashcoversallfieldsincasethisisredacted"}, + "signatures": { + "example.com": { + "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" } }, - "is_state":false, "content": {...} } -In contrast to Transactions, it is important to note that the ``prev_pdus`` -field of a PDU refers to PDUs that any origin server has sent, rather than -previous IDs that this ``origin`` has sent. This list may refer to other PDUs -sent by the same origin as the current one, or other origins. +The ``prev_events`` field of a PDU identifies the "parents" of the event, and +thus establishes a partial ordering on events within the room by linking them +into a Directed Acyclic Graph (DAG). The sending server should populate this +field with all of the events in the room for which it has not yet seen a +child - thus demonstrating that the event comes after all other known events. + +For example, consider a room whose events form the DAG shown below. A server +creating a new event in this room should populate the new event's +``prev_events`` field with ``E4`` and ``E5``, since neither event yet has a child:: + + E1 + ^ + | + +-> E2 <-+ + | | + E3 E5 + ^ + | + E4 -Because of the distributed nature of participants in a Matrix conversation, it -is impossible to establish a globally-consistent total ordering on the events. -However, by annotating each outbound PDU at its origin with IDs of other PDUs -it has received, a partial ordering can be constructed allowing causality -relationships to be preserved. A client can then display these messages to the -end-user in some order consistent with their content and ensure that no message -that is semantically in reply of an earlier one is ever displayed before it. - -State Update PDU Fields -~~~~~~~~~~~~~~~~~~~~~~~ - -PDUs fall into two main categories: those that deliver Events, and those that -synchronise State. For PDUs that relate to State synchronisation, additional -keys exist to support this: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``state_key`` String Combined with the ``pdu_type`` this - identifies the which part of the room - state is updated -``prev_state_id`` String The PDU id of the update this replaces. -``prev_state_origin`` String The homeserver of the update this - replaces. -``user_id`` String The user updating the state. -======================== ============ ========================================= Authorization of PDUs ~~~~~~~~~~~~~~~~~~~~~ From 6a653b742c6f9c79f1759977363c4fe70bcf074e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 15 Nov 2017 23:44:46 +0000 Subject: [PATCH 257/801] Document auth_events --- specification/server_server_api.rst | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index fc0651471..54203aeca 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -380,8 +380,8 @@ PDU Fields made this event ``depth`` Integer **Required**. The maximum depth of the ``prev_events``, plus one -``auth_events`` List of (String, **Required**. TODO-doc - {String: String}) +``auth_events`` List of (String, **Required**. Event IDs and hashes for + {String: String}) the "auth events" of this event. pairs ``hashes`` {String: String} **Required**. Hashes of the PDU, following the algorithm specified in @@ -439,6 +439,14 @@ creating a new event in this room should populate the new event's | E4 +The ``auth_events`` field of a PDU identifies the set of events which give the +sender permission to send the event. The ``auth_events`` for the +``m.room.create`` event in a room is empty; for other events, it should be the +following subset of the room state: + +- The ``m.room.create`` event. +- The current ``m.room.power_levels`` event, if any. +- The sender's current ``m.room.member`` event, if any. Authorization of PDUs ~~~~~~~~~~~~~~~~~~~~~ From ac861d9b97416f6c74f122e26ea67ffb8302874c Mon Sep 17 00:00:00 2001 From: Florian Jacob <projects+git@florianjacob.de> Date: Thu, 16 Nov 2017 13:40:47 +0100 Subject: [PATCH 258/801] Correct CAS spec link Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de> --- specification/modules/cas_login.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/cas_login.rst b/specification/modules/cas_login.rst index 4c3b826a1..b651431a3 100644 --- a/specification/modules/cas_login.rst +++ b/specification/modules/cas_login.rst @@ -18,7 +18,7 @@ CAS-based client login .. _module:cas_login: `Central Authentication Service -<https://github.com/apereo/cas/blob/master/cas-server-documentation/protocol/CAS-Protocol-Specification.md>`_ +<https://github.com/apereo/cas/blob/master/docs/cas-server-documentation/protocol/CAS-Protocol-Specification.md>`_ (CAS) is a web-based single sign-on protocol. An overview of the process, as used in Matrix, is as follows: From c4f53f58d71abe0b7353b70da866cb7482076c1e Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Sat, 18 Nov 2017 21:25:18 +0100 Subject: [PATCH 259/801] Fix auth rules to allow first PL event --- specification/server_server_api.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 08d94a556..31d7897f4 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -564,7 +564,9 @@ the state of the room. #. If type is ``m.room.power_levels``: - a. For each of the keys ``users_default``, ``events_default``, + a. If no previous ``m.room.power_levels`` event exist, allow. + + #. For each of the keys ``users_default``, ``events_default``, ``state_default``, ``ban``, ``redact``, ``kick``, ``invite``, as well as each entry being changed under the ``events`` or ``users`` keys: From 306b3f5d629fa0b38d028098d6825e437180dc0d Mon Sep 17 00:00:00 2001 From: Florian Jacob <projects+git@florianjacob.de> Date: Mon, 20 Nov 2017 13:36:05 +0100 Subject: [PATCH 260/801] =?UTF-8?q?Threat=20Model:=20Align=20indentation?= =?UTF-8?q?=20of=20Spying=20Threats.=20=E2=80=9CDisclosure=20to=20Servers?= =?UTF-8?q?=20Within=20Chatroom=E2=80=9D=20was=20indented=20lesser=20than?= =?UTF-8?q?=20the=20surrounding=20threats.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de> --- specification/appendices/threat_model.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/appendices/threat_model.rst b/specification/appendices/threat_model.rst index 0dea62e01..a25b98797 100644 --- a/specification/appendices/threat_model.rst +++ b/specification/appendices/threat_model.rst @@ -134,7 +134,7 @@ An attacker could try to convince servers within a chatroom to send messages to a server it controls that was not authorised to be within the chatroom. Threat: Disclosure to Servers Within Chatroom -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++++++++++++++++++++++++++++++++++++++++++++++ An attacker could take control of a server within a chatroom to expose message contents or metadata for messages in that room. From a0455eb5b1730bd0d682130565552de4b4a0301f Mon Sep 17 00:00:00 2001 From: Florian Jacob <projects+git@florianjacob.de> Date: Mon, 20 Nov 2017 13:39:40 +0100 Subject: [PATCH 261/801] Threat Model: Wrong word: Banning users is a threat only if you're not authorized Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de> --- specification/appendices/threat_model.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/appendices/threat_model.rst b/specification/appendices/threat_model.rst index a25b98797..9ad5fef80 100644 --- a/specification/appendices/threat_model.rst +++ b/specification/appendices/threat_model.rst @@ -65,7 +65,7 @@ making the chatroom unusable. Threat: Banning users without necessary authorisation +++++++++++++++++++++++++++++++++++++++++++++++++++++ -An attacker could attempt to ban a user from a chatroom with the necessary +An attacker could attempt to ban a user from a chatroom without the necessary authorisation. Spoofing From 96d93e11d7f7ba6b2c281c3494465f28fde87005 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Mon, 20 Nov 2017 12:57:34 +0000 Subject: [PATCH 262/801] Tweak wording of auth rules slightly --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 31d7897f4..2c84c1b1b 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -564,7 +564,7 @@ the state of the room. #. If type is ``m.room.power_levels``: - a. If no previous ``m.room.power_levels`` event exist, allow. + a. If there is no previous ``m.room.power_levels`` event in the room, allow. #. For each of the keys ``users_default``, ``events_default``, ``state_default``, ``ban``, ``redact``, ``kick``, ``invite``, as well as From 57e5e1e331bb26ea86451512933cb0e9bc00da53 Mon Sep 17 00:00:00 2001 From: Max Dor <max@kamax.io> Date: Mon, 20 Nov 2017 17:22:30 +0100 Subject: [PATCH 263/801] Document default room creator PL (#1081) --- event-schemas/schema/m.room.power_levels | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels index 351c9d303..13a44c709 100644 --- a/event-schemas/schema/m.room.power_levels +++ b/event-schemas/schema/m.room.power_levels @@ -8,7 +8,8 @@ description: |- If a ``user_id`` is in the ``users`` list, then that ``user_id`` has the associated power level. Otherwise they have the default level ``users_default``. If ``users_default`` is not supplied, it is assumed to be - 0. + 0. If the room contains no ``m.room.power_levels`` event, the room's creator has + a power level of 100, and all other users have a power level of 0. The level required to send a certain event is governed by ``events``, ``state_default`` and ``events_default``. If an event type is specified in From e8af5622a7485fd33b8abe3ef5d08effbdda068b Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Tue, 21 Nov 2017 20:29:18 +0100 Subject: [PATCH 264/801] Use proper room event type for redaction --- specification/server_server_api.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 2c84c1b1b..761f45ed4 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -584,13 +584,13 @@ the state of the room. #. Otherwise, allow. -#. If type is ``m.room.redact``: +#. If type is ``m.room.redaction``: #. If the ``sender``'s power level is greater than or equal to the *redact level*, allow. #. If the ``sender`` of the event being redacted is the same as the - ``sender`` of the ``m.room.redact``, allow. + ``sender`` of the ``m.room.redaction``, allow. #. Otherwise, reject. From 0960229a80f51780f49f64a94eb22dc032c9fb2f Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 22 Nov 2017 22:35:47 +0000 Subject: [PATCH 265/801] Document the state resolution algorithm or at least, my understanding of it. --- drafts/erikj_federation.rst | 65 ---------------- specification/server_server_api.rst | 113 +++++++++++++++++++++------- 2 files changed, 87 insertions(+), 91 deletions(-) diff --git a/drafts/erikj_federation.rst b/drafts/erikj_federation.rst index 381228d0f..86d5acd49 100644 --- a/drafts/erikj_federation.rst +++ b/drafts/erikj_federation.rst @@ -4,25 +4,6 @@ Federation .. contents:: Table of Contents -Auth events -~~~~~~~~~~~ - -The auth events of an event are the set of events used by the authorization -algorithm to accept the event. These should be a subset of the current state. - -A server is required to store the complete chain of auth events for all events -it serves to remote servers. - -All auth events have type: - - - ``m.room.create`` - - ``m.room.power_levels`` - - ``m.room.member`` - -.. todo - We probably should probably give a lower band of how long auth events - should be kept around for. - Auth chain ~~~~~~~~~~ @@ -66,51 +47,6 @@ that the other is correct; i.e. we always accept that the other side is correct unless we can prove otherwise. - -State Resolution ----------------- - - **TODO** - -When two branches in the event graph merge, the state of those branches might -differ, so a *state resolution* algorithm must be used to determine the current -state of the resultant merge. - -The properties of the state resolution algorithm are: - -- Must only depend on the event graph, and not local server state. -- When two state events are comparable, the descendant one should be picked. -- Must not require the full event graph. - -The following algorithm satisfies these requirements; given two or more events, -pick the one with the greatest: - -#. Depth. -#. Hash of event_id. - - -This works except in the case of auth events, where we need to mitigate against -the attack where servers artificially netsplit to avoid bans or power level -changes. - -We want the following rules to apply: - -#. If power levels have been changed on two different branches use the rules - above, ensuring that the one picked is a valid change from the one not picked. -#. Similarly handle membership changes (e.g. bans, kicks, etc.) -#. Any state merged must be allowed by the newly merged auth events. If none of - the candidate events for a given state are allowed, we pick the last event - given by the ordering above (i.e. we pick one with the least depth). - - - -State Conflict Resolution -------------------------- - -If a server discovers that it disagrees with another about the current state, -it can follow the same process outlined in *Auth chain resolution* to resolve -these conflicts. - Constructing a new event ------------------------ @@ -315,4 +251,3 @@ Example event: "age": 500 } } - diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 761f45ed4..4c0f63251 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -446,6 +446,7 @@ following subset of the room state: - The ``m.room.create`` event. - The current ``m.room.power_levels`` event, if any. +- The current ``m.room.join_rules`` event, if any. - The sender's current ``m.room.member`` event, if any. Authorization of PDUs @@ -473,8 +474,6 @@ Target User For an ``m.room.member`` state event, the user given by the ``state_key`` of the event. - - Rules +++++ @@ -615,6 +614,9 @@ the state of the room. EDUs ---- +.. WARNING:: + This section may be misleading or inaccurate. + EDUs, by comparison to PDUs, do not have an ID, a room ID, or a list of "previous" IDs. The only mandatory fields for these are the type, origin and destination homeserver names, and the actual nested content. @@ -635,6 +637,89 @@ destination homeserver names, and the actual nested content. "content":{...} } +Room State Resolution +--------------------- + +The *state* of a room is a map of ``(event_type, state_key)`` to +``event_id``. Each room starts with an empty state, and each state event which +is accepted into the room updates the state of that room. + +Where each event has a single ``prev_event``, it is clear what the state of the +room after each event should be. However, when two branches in the event graph +merge, the state of those branches might differ, so a *state resolution* +algorithm must be used to determine the resultant state. + +For example, consider the following event graph (where the oldest event, E0, +is at the top):: + + E0 + | + E1 + / \ + E2 E4 + | | + E3 | + \ / + E5 + + +Suppose E3 and E4 are both ``m.room.name`` events which set the name of the +room. What should the name of the room be at E5? + +Servers should follow the following recursively-defined algorithm to determine +the room state at a given point on the DAG. + +State resolution algorithm +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The room state :math:`S'(E)` after an event :math:`E` is defined in terms of +the room state :math:`S(E)` before :math:`E`, and depends on whether +:math:`E` is a state event or a message event: + +* If :math:`E` is a message event, then :math:`S'(E) = S(E)`. + +* If :math:`E` is a state event, then :math:`S'(E)` is :math:`S(E)`, except + that its entry corresponding to :math:`E`'s ``event_type`` and ``state_key`` + is replaced by :math:`E`'s ``event_id``. + +The room state :math:`S(E)` before :math:`E` is the *resolution* of the set of +states :math:`\{ S'(E'), S'(E''), … \}` consisting of the states after each of +:math:`E`'s ``prev_event``\s :math:`\{ E', E'', … \}`. + +The *resolution* of a set of states is defined as follows. The resolved state +is built up in a number of passes; here we use :math:`R` to refer to the +results of the resolution so far. + +* Start by setting :math:`R` to the union of the states to be resolved, + excluding any *conflicting* events. + +* First we resolve conflicts between ``m.room.power_levels`` events. If there + is no conflict, this step is skipped, otherwise: + + * Assemble all the ``m.room.power_levels`` events from the states to + be resolved into a list. + + * Sort the list by ascending ``depth`` then descending ``sha1(event_id)``. + + * Add the first event in the list to :math:`R`. + + * For each subsequent event in the list, check that the event would be + allowed by the Authorization Rules for a room in state :math:`R`. If the + event would be allowed, then update :math:`R` with the event and continue + with the next event in the list. If it would not be allowed, stop and + continue below with ``m.room.join_rules`` events. + +* Repeat the above process for conflicts between ``m.room.join_rules`` events. + +* Repeat the above process for conflicts between ``m.room.member`` events. + +* No other events affect the authorization rules, so for all other conflicts, + just pick the event with the highest depth and lowest ``sha1(event_id)`` that + passes authentication in :math:`R` and add it to :math:`R`. + +A *conflict* occurs between states where those states have different +``event_ids`` for the same ``(state_type, state_key)``. The events thus +affected are said to be *conflicting* events. Protocol URLs ------------- @@ -1150,30 +1235,6 @@ A homeserver may provide a TLS client certificate and the receiving homeserver may check that the client certificate matches the certificate of the origin homeserver. -Server-Server Authorization ---------------------------- - -.. TODO-doc - - PDU signing (see the Event signing section earlier) - - State conflict resolution (see below) - -State Conflict Resolution -------------------------- -.. NOTE:: - This section is a work in progress. - -.. TODO-doc - - How do conflicts arise (diagrams?) - - How are they resolved (incl tie breaks) - - How does this work with deleting current state - - How do we reject invalid federation traffic? - - [[TODO(paul): At this point we should probably have a long description of how - State management works, with descriptions of clobbering rules, power levels, etc - etc... But some of that detail is rather up-in-the-air, on the whiteboard, and - so on. This part needs refining. And writing in its own document as the details - relate to the server/system as a whole, not specifically to server-server - federation.]] Presence -------- From 5ab9ee6b8846f5f42bf9816baad2d7ce19b07687 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 22 Nov 2017 22:42:55 +0000 Subject: [PATCH 266/801] Link to auth rules --- specification/server_server_api.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 4c0f63251..ab40c8a8e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -474,6 +474,8 @@ Target User For an ``m.room.member`` state event, the user given by the ``state_key`` of the event. +.. _`authorization rules`: + Rules +++++ @@ -704,7 +706,7 @@ results of the resolution so far. * Add the first event in the list to :math:`R`. * For each subsequent event in the list, check that the event would be - allowed by the Authorization Rules for a room in state :math:`R`. If the + allowed by the `authorization rules`_ for a room in state :math:`R`. If the event would be allowed, then update :math:`R` with the event and continue with the next event in the list. If it would not be allowed, stop and continue below with ``m.room.join_rules`` events. From 87d90ab58aa5c76168d1a88d219a4c57d56741d5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 22 Nov 2017 22:44:04 +0000 Subject: [PATCH 267/801] gendoc: improve title line matching This makes it possible to include tables etc without the script trying to turn them into titles. --- scripts/gendoc.py | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 857f0298f..2b35f8015 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -53,20 +53,14 @@ Example: """ def load_with_adjusted_titles(filename, file_stream, title_level, title_styles): rst_lines = [] - title_chars = "".join(title_styles) - title_regex = re.compile("^[" + re.escape(title_chars) + "]{3,}$") prev_line_title_level = 0 # We expect the file to start with '=' titles file_offset = None prev_non_title_line = None - for i, line in enumerate(file_stream, 1): - # ignore anything which isn't a title (e.g. '===============') - if not title_regex.match(line): - rst_lines.append(line) - prev_non_title_line = line - continue - # The title underline must match at a minimum the length of the title - if len(prev_non_title_line) > len(line): + for i, line in enumerate(file_stream): + if (prev_non_title_line is None + or not is_title_line(prev_non_title_line, line, title_styles) + ): rst_lines.append(line) prev_non_title_line = line continue @@ -130,6 +124,31 @@ def load_with_adjusted_titles(filename, file_stream, title_level, title_styles): return "".join(rst_lines) +def is_title_line(prev_line, line, title_styles): + # The title underline must match at a minimum the length of the title + if len(prev_line) > len(line): + return False + + line = line.rstrip() + + # must be at least 3 chars long + if len(line) < 3: + return False + + # must start with a title char + title_char = line[0] + if title_char not in title_styles: + return False + + # all characters must be the same + for char in line[1:]: + if char != title_char: + return False + + # looks like a title line + return True + + def get_rst(file_info, title_level, title_styles, spec_dir, adjust_titles): # string are file paths to RST blobs if isinstance(file_info, basestring): From 93d7bbc8bfb77fd85344b4351e9c87407beb0b0c Mon Sep 17 00:00:00 2001 From: White_Rabbit <bruno@tracciabi.li> Date: Mon, 27 Nov 2017 15:49:35 +0100 Subject: [PATCH 268/801] note updates to thunbnail info in changelog (#1086) --- changelogs/client_server.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 57c625159..fe522fced 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -18,6 +18,11 @@ r0.3.0 (`#395 <https://github.com/matrix-org/matrix-doc/pull/395>`_). - Remove requirement that tokens used in token-based login be macaroons (`#395 <https://github.com/matrix-org/matrix-doc/pull/395>`_). + - Move ``thumbnail_url`` and ``thumbnail_info`` members of json objects + for ``m.room.message`` events with msgtypes ``m.image``, ``m.file`` + and ``m.location``, inside the ``info`` member, to match ``m.video`` + events + (`#723 <https://github.com/matrix-org/matrix-doc/pull/723>`_). - Changes to the API which will be backwards-compatible for clients: From 2138d7c8253a4c859b7bda6715c2ec86b3ecd5f7 Mon Sep 17 00:00:00 2001 From: White_Rabbit <bruno@tracciabi.li> Date: Mon, 27 Nov 2017 15:49:35 +0100 Subject: [PATCH 269/801] note updates to thunbnail info in changelog (#1086) --- changelogs/client_server.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 852c41f59..c02032a40 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -13,6 +13,11 @@ r0.3.0 (`#395 <https://github.com/matrix-org/matrix-doc/pull/395>`_). - Remove requirement that tokens used in token-based login be macaroons (`#395 <https://github.com/matrix-org/matrix-doc/pull/395>`_). + - Move ``thumbnail_url`` and ``thumbnail_info`` members of json objects + for ``m.room.message`` events with msgtypes ``m.image``, ``m.file`` + and ``m.location``, inside the ``info`` member, to match ``m.video`` + events + (`#723 <https://github.com/matrix-org/matrix-doc/pull/723>`_). - Changes to the API which will be backwards-compatible for clients: From 20ebae4bd31b65eaac0d069a96d1ac854d41e8b0 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 27 Nov 2017 14:52:50 +0000 Subject: [PATCH 270/801] Fix quoting in changelog --- changelogs/client_server.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index c02032a40..0a3a52c45 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -3,8 +3,8 @@ r0.3.0 - Breaking changes: - - Change the rule kind of `.m.rule.contains_display_name` from - `underride` to `override`. This works with all known clients + - Change the rule kind of ``.m.rule.contains_display_name`` from + ``underride`` to ``override``. This works with all known clients which support push rules, but any other clients implementing the push rules API should be aware of this change. This makes it simple to mute rooms correctly in the API From eff9da89ea91607266f42bcd399a50e87afecfa4 Mon Sep 17 00:00:00 2001 From: "Crom (Thibaut CHARLES)" <CromFr@gmail.com> Date: Sat, 9 Dec 2017 00:20:34 +0100 Subject: [PATCH 271/801] Typo on dump-swagger.py script path in readme --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index a2779f261..5ceeae5f4 100644 --- a/README.rst +++ b/README.rst @@ -75,7 +75,7 @@ a Swagger specs, they must be combined into a single json file. This can be done as follows:: source env/bin/activate - ./dump-swagger.py + ./scripts/dump-swagger.py By default, ``dump-swagger`` will write to ``scripts/swagger/api-docs.json``. From 56f878842cdbf7295cdb771ce9c04cc9e9c722de Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Sun, 10 Dec 2017 23:05:55 +0000 Subject: [PATCH 272/801] Add a warning that state resolution has problems --- specification/server_server_api.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index ab40c8a8e..e75bf372e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -674,6 +674,11 @@ the room state at a given point on the DAG. State resolution algorithm ~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. WARNING:: + This section documents the state resolution algorithm as implemented by + Synapse as of December 2017 (and therefore the de-facto Matrix protocol). + However, this algorithm is known to have some problems. + The room state :math:`S'(E)` after an event :math:`E` is defined in terms of the room state :math:`S(E)` before :math:`E`, and depends on whether :math:`E` is a state event or a message event: From 08d137a5888c39ce023b18bc16b96821356029a7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Sun, 10 Dec 2017 22:51:49 +0000 Subject: [PATCH 273/801] We sign the request body, not the JSON when signing federation requests, we put the actual request body into the canonicaljson to be signed, not the JSON representation of it. --- specification/server_server_api.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index e75bf372e..0770e38e8 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1174,7 +1174,7 @@ Step 1 sign JSON: "uri": "/target", "origin": "origin.hs.example.com", "destintation": "destination.hs.example.com", - "content": { JSON content ... }, + "content": <request body>, "signatures": { "origin.hs.example.com": { "ed25519:key1": "ABCDEF..." @@ -1190,7 +1190,7 @@ Step 2 add Authorization header: Authorization: X-Matrix origin=origin.example.com,key="ed25519:key1",sig="ABCDEF..." Content-Type: application/json - { JSON content ... } + <JSON-encoded request body> Example python code: @@ -1199,7 +1199,7 @@ Example python code: def authorization_headers(origin_name, origin_signing_key, destination_name, request_method, request_target, - content_json=None): + content=None): request_json = { "method": request_method, "uri": request_target, @@ -1208,7 +1208,7 @@ Example python code: } if content_json is not None: - request["content"] = content_json + request["content"] = content signed_json = sign_json(request_json, origin_name, origin_signing_key) From 5e2a48f709f51063a2f1ec60207ff065dc337b32 Mon Sep 17 00:00:00 2001 From: Thibaut CHARLES <cromfr@gmail.com> Date: Wed, 13 Dec 2017 00:01:26 +0100 Subject: [PATCH 274/801] createRoom StateEvent.content should be an object --- api/client-server/create_room.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index d1a0e97ab..24382660d 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -153,7 +153,7 @@ paths: state_key: type: string content: - type: string + type: object preset: type: string enum: ["private_chat", "public_chat", "trusted_private_chat"] From b270233549fb646d382b34ffd28d375d087ffff2 Mon Sep 17 00:00:00 2001 From: "Crom (Thibaut CHARLES)" <CromFr@gmail.com> Date: Wed, 13 Dec 2017 14:12:27 +0100 Subject: [PATCH 275/801] Add createRoom guest_can_join parameter --- api/client-server/create_room.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index d1a0e97ab..889380222 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -179,6 +179,10 @@ paths: This flag makes the server set the ``is_direct`` flag on the ``m.room.member`` events sent to the users in ``invite`` and ``invite_3pid``. See `Direct Messaging`_ for more information. + guest_can_join: + type: boolean + description: |- + Allows guests to join the room. See `Guest Access`_ for more information. responses: 200: description: Information about the newly created room. From 42c1031cdf5a5cfc15ae486c8293759032f592d3 Mon Sep 17 00:00:00 2001 From: Thibaut CHARLES <cromfr@gmail.com> Date: Wed, 13 Dec 2017 16:26:09 +0100 Subject: [PATCH 276/801] updated changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 4a26c302b..3f0da0e92 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -61,6 +61,8 @@ r0.3.0 - Add ``m.room.pinned_events`` state event for rooms. (`#1007 <https://github.com/matrix-org/matrix-doc/pull/1007>`_). - Add mention of ability to send Access Token via an Authorization Header. + - Add ``guest_can_join`` parameter to ``POST /createRoom`` + (`#1093 <https://github.com/matrix-org/matrix-doc/pull/1093>`_). - New endpoints: From e9622bf9e47271a107323e7761aa1c17482dc82e Mon Sep 17 00:00:00 2001 From: Gergely Polonkai <gergely@polonkai.eu> Date: Fri, 15 Dec 2017 13:14:26 +0100 Subject: [PATCH 277/801] Fix example in email based registration endpoint The spec says `send_attempt` should be a number, but the example shows it as a string. Signed-off-by: Gergely Polonkai <gergely@polonkai.eu> --- api/client-server/registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 280ec3e19..52693f5b5 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -215,7 +215,7 @@ paths: send_attempt: type: number description: Used to distinguish protocol level retries from requests to re-send the email. - example: "1" + example: 1 required: ["client_secret", "email", "send_attempt"] responses: 200: From 97445195f65487337f8ef2438fecca02e2259d3f Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 17 Dec 2017 23:42:44 +0000 Subject: [PATCH 278/801] add user_directory --- api/client-server/users.yaml | 93 +++++++++++++++++++++++++++++ specification/client_server_api.rst | 7 +++ 2 files changed, 100 insertions(+) create mode 100644 api/client-server/users.yaml diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml new file mode 100644 index 000000000..e04faac8e --- /dev/null +++ b/api/client-server/users.yaml @@ -0,0 +1,93 @@ +# Copyright 2016 OpenMarket Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Profile API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/user_directory/search": + post: + summary: Searches the user directory. + description: |- + This API paginates over search results of the user directory. + security: + - accessToken: [] + parameters: + - in: body + name: body + schema: + type: object + properties: + search_term: + type: string + description: The term to search for + example: "foo" + limit: + type: number + description: The maximum number of results to return + example: 10 + required: ["search_term"] + responses: + 200: + description: The results of the paginated search. + examples: + application/json: { + "results": [ + { + "user_id": "@foo:bar.com", + "display_name": "Foo", + "avatar_url": "mxc://bar.com/foo" + } + ], + "limited": false + } + schema: + type: object + required: ["results", "limited"] + properties: + results: + type: array + items: + title: User + type: object + properties: + user_id: + type: string + example: "@foo:bar.com" + display_name: + type: string + example: "Foo" + avatar_url: + type: string + example: "mxc://bar.com/foo" + limited: + type: boolean + description: Indicates if the result list has been truncated by the limit. + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: + - User data diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index e68aea438..2586041d7 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1335,6 +1335,13 @@ Listing rooms {{list_public_rooms_cs_http_api}} + +Users +----- + +{{users_cs_http_api}} + + Profiles -------- From 1f7d4cd9d07891ad2f122faa1109ffa4758b38da Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 17 Dec 2017 23:45:55 +0000 Subject: [PATCH 279/801] add changelog entry --- changelogs/client_server.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 4a26c302b..faae24761 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -76,6 +76,9 @@ r0.3.0 - ``GET /media/{version}/preview_url`` (`#1064 <https://github.com/matrix-org/matrix-doc/pull/1064>`_). + - ``POST /user_directory/search`` + (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). + - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation From b80f38e11b62ef0ca35e9e8acb557aba867036c0 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Dec 2017 13:30:37 +0000 Subject: [PATCH 280/801] fix changelog entry --- changelogs/client_server.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index faae24761..13d895fa7 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,7 +1,12 @@ Unreleased changes ================== -No changes as yet. +- Changes to the API which will be backwards-compatible for clients: + + - New endpoints: + + - ``POST /user_directory/search`` + (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). r0.3.0 ====== @@ -76,9 +81,6 @@ r0.3.0 - ``GET /media/{version}/preview_url`` (`#1064 <https://github.com/matrix-org/matrix-doc/pull/1064>`_). - - ``POST /user_directory/search`` - (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). - - Spec clarifications: - Add endpoints and logic for invites and third-party invites to the federation From d9a4ddbf65b2b1dc9aadcc19f3a6ec1283c4779c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 18 Dec 2017 13:34:26 +0000 Subject: [PATCH 281/801] Mark `home_server` field deprecated This is spelt wrong, and is redundant to user_id, so let's stop people using it. --- api/client-server/login.yaml | 8 ++++++-- api/client-server/registration.yaml | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index ff3eb392e..d5bd0f735 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -96,7 +96,6 @@ paths: application/json: { "user_id": "@cheeky_monkey:matrix.org", "access_token": "abc123", - "home_server": "matrix.org", "device_id": "GHTYAJCE" } schema: @@ -112,7 +111,12 @@ paths: This access token can then be used to authorize other requests. home_server: type: string - description: The hostname of the homeserver on which the account has been registered. + description: |- + The server_name of the homeserver on which the account has been registered. + + **Deprecated**. Clients should extract the server_name from + ``user_id`` if they require it. Note also that ``homeserver`` + is not spelt this way. device_id: type: string description: |- diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 52693f5b5..50839f4e5 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -124,7 +124,6 @@ paths: application/json: { "user_id": "@cheeky_monkey:matrix.org", "access_token": "abc123", - "home_server": "matrix.org", "device_id": "GHTYAJCE" } schema: @@ -144,7 +143,12 @@ paths: This access token can then be used to authorize other requests. home_server: type: string - description: The hostname of the homeserver on which the account has been registered. + description: |- + The server_name of the homeserver on which the account has been registered. + + **Deprecated**. Clients should extract the server_name from + ``user_id`` if they require it. Note also that ``homeserver`` + is not spelt this way. device_id: type: string description: |- From 6a524be585ed01ef688f2441184152be221bb3e1 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 18 Dec 2017 13:37:30 +0000 Subject: [PATCH 282/801] changelog --- changelogs/client_server.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 4a26c302b..b0fb84261 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,7 +1,11 @@ Unreleased changes ================== -No changes as yet. +- Spec clarifications: + + - Mark ``home_server`` return field for ``/login`` and ``/register`` + endpoints as deprecated + (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). r0.3.0 ====== From a36f8ba00d0803c8727cbc84fb77cd4e7c3d1451 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 18 Dec 2017 14:16:25 +0000 Subject: [PATCH 283/801] Forbid colons in MXIDs There is a single (AS) user on matrix.org who has a colon in their localpart, but I suspect that is an artifact of old bridge code and won't work over federation anyway. Colons in MXIDs are particularly harmful because they make it impossible to split mxids into local- and remote-parts --- specification/appendices/identifier_grammar.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/appendices/identifier_grammar.rst b/specification/appendices/identifier_grammar.rst index d53f61ac9..e85bf4107 100644 --- a/specification/appendices/identifier_grammar.rst +++ b/specification/appendices/identifier_grammar.rst @@ -139,7 +139,7 @@ history includes events with a ``sender`` which does not conform. In order to handle these rooms successfully, clients and servers MUST accept user IDs with localparts from the expanded character set:: - extended_user_id_char = %x21-7E + extended_user_id_char = %x21-39 / %x3B-7F ; all ascii printing chars except : Mapping from other character sets <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< From 00b28495a63b18a1a436966ccb673e1e4a0c431b Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 18 Dec 2017 14:48:56 +0000 Subject: [PATCH 284/801] Explain how to split an mxid --- api/client-server/login.yaml | 7 ++++--- api/client-server/registration.yaml | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index d5bd0f735..03a1622c0 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -112,11 +112,12 @@ paths: home_server: type: string description: |- - The server_name of the homeserver on which the account has been registered. + The server_name of the homeserver on which the account has + been registered. **Deprecated**. Clients should extract the server_name from - ``user_id`` if they require it. Note also that ``homeserver`` - is not spelt this way. + ``user_id`` (by splitting at the first colon) if they require + it. Note also that ``homeserver`` is not spelt this way. device_id: type: string description: |- diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 50839f4e5..fd8f68328 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -144,11 +144,12 @@ paths: home_server: type: string description: |- - The server_name of the homeserver on which the account has been registered. + The server_name of the homeserver on which the account has + been registered. **Deprecated**. Clients should extract the server_name from - ``user_id`` if they require it. Note also that ``homeserver`` - is not spelt this way. + ``user_id`` (by splitting at the first colon) if they require + it. Note also that ``homeserver`` is not spelt this way. device_id: type: string description: |- From d219cbc97886d23700bab26486dff6079f629bcd Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Dec 2017 16:54:11 +0000 Subject: [PATCH 285/801] apply points from review --- api/client-server/users.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml index e04faac8e..ff24967a6 100644 --- a/api/client-server/users.yaml +++ b/api/client-server/users.yaml @@ -1,4 +1,4 @@ -# Copyright 2016 OpenMarket Ltd +# Copyright 2017 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ # limitations under the License. swagger: '2.0' info: - title: "Matrix Client-Server Profile API" + title: "Matrix Client-Server User Directory API" version: "1.0.0" host: localhost:8008 schemes: @@ -31,7 +31,9 @@ paths: post: summary: Searches the user directory. description: |- - This API paginates over search results of the user directory. + This API performs a server-side search over all users registered on the server. + Searches MXID and displayname case-insesitively for users that you share a room with or that are in public rooms. + operationId: postUserDirectorySearch security: - accessToken: [] parameters: @@ -46,12 +48,12 @@ paths: example: "foo" limit: type: number - description: The maximum number of results to return + description: The maximum number of results to return (10 if omitted), with a maximum of 50 example: 10 required: ["search_term"] responses: 200: - description: The results of the paginated search. + description: The results of the search. examples: application/json: { "results": [ @@ -69,9 +71,11 @@ paths: properties: results: type: array + description: Ordered by rank and then whether or not profile info is available. items: title: User type: object + require: ["user_id"] properties: user_id: type: string From 3d8fe6e0903a0071f1d2080a9813d04f70d69541 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 18 Dec 2017 17:01:52 +0000 Subject: [PATCH 286/801] merge profiles with user directory into user data, also fix typo --- api/client-server/users.yaml | 5 ++++- specification/client_server_api.rst | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml index ff24967a6..cecf9424d 100644 --- a/api/client-server/users.yaml +++ b/api/client-server/users.yaml @@ -75,17 +75,20 @@ paths: items: title: User type: object - require: ["user_id"] + required: ["user_id"] properties: user_id: type: string example: "@foo:bar.com" + description: The MXID of the user. display_name: type: string example: "Foo" + description: The display name of the user, if one exists. avatar_url: type: string example: "mxc://bar.com/foo" + description: The avatar url, as an MXC, if one exists. limited: type: boolean description: Indicates if the result list has been truncated by the limit. diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 2586041d7..e40aa6f10 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1336,14 +1336,17 @@ Listing rooms {{list_public_rooms_cs_http_api}} -Users ------ +User Data +--------- + +User Directory +~~~~~~~~~~~~~~ {{users_cs_http_api}} Profiles --------- +~~~~~~~~ {{profile_cs_http_api}} From 1fb7647021014cb27a39c721bcf9180f12a8894b Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Mon, 18 Dec 2017 17:58:35 +0000 Subject: [PATCH 287/801] send_join: clarify auth_chain description The auth_chain field should contain all of the auth events required to auth the state events, as well as those required to auth the join event itself. (cf https://github.com/matrix-org/synapse/blob/e148438/synapse/handlers/federation.py#L1076-L1077). --- specification/server_server_api.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 0770e38e8..d97f9d1ff 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -941,11 +941,11 @@ following keys: ============== ===== ============ Key Type Description ============== ===== ============ -``auth_chain`` List A list of events giving the authorization chain for this - join event +``auth_chain`` List A list of events giving the all of the events in the auth + chains for the join event and the events in ``state``. ``state`` List A complete list of the prevailing state events at the instant just before accepting the new ``m.room.member`` - event + event. ============== ===== ============ .. TODO-spec From 15ca952cc3898acfa41bf18dbcdf9cfaa8daee2c Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 20 Dec 2017 10:10:02 +0000 Subject: [PATCH 288/801] remove spurious word --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index d97f9d1ff..43874321c 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -941,7 +941,7 @@ following keys: ============== ===== ============ Key Type Description ============== ===== ============ -``auth_chain`` List A list of events giving the all of the events in the auth +``auth_chain`` List A list of events giving all of the events in the auth chains for the join event and the events in ``state``. ``state`` List A complete list of the prevailing state events at the instant just before accepting the new ``m.room.member`` From 784adade9bc0332359d815036c53722aed82e3b4 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 21 Dec 2017 17:45:26 +0000 Subject: [PATCH 289/801] changes based on Pull Request feedback --- api/client-server/users.yaml | 8 ++++---- specification/client_server_api.rst | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml index cecf9424d..1734e3bb8 100644 --- a/api/client-server/users.yaml +++ b/api/client-server/users.yaml @@ -32,8 +32,8 @@ paths: summary: Searches the user directory. description: |- This API performs a server-side search over all users registered on the server. - Searches MXID and displayname case-insesitively for users that you share a room with or that are in public rooms. - operationId: postUserDirectorySearch + It searches user ID and displayname case-insensitively for users that you share a room with or that are in public rooms. + operationId: searchUserDirectory security: - accessToken: [] parameters: @@ -48,7 +48,7 @@ paths: example: "foo" limit: type: number - description: The maximum number of results to return (10 if omitted), with a maximum of 50 + description: The maximum number of results to return (Defaults to 10). example: 10 required: ["search_term"] responses: @@ -80,7 +80,7 @@ paths: user_id: type: string example: "@foo:bar.com" - description: The MXID of the user. + description: The user's matrix user ID. display_name: type: string example: "Foo" diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index e40aa6f10..326ff282f 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1351,7 +1351,7 @@ Profiles {{profile_cs_http_api}} Events on Change of Profile Information -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++++++++++++++++++++++++++++++++++++++++ Because the profile display name and avatar information are likely to be used in many places of a client's display, changes to these fields cause an automatic propagation event to occur, informing likely-interested parties of the new From 1674b0e3b5ab8c9d6c46e9cf52acadfd315ba601 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 10 Jan 2018 17:43:35 +0000 Subject: [PATCH 290/801] Doc /keys/query 'token' param --- api/client-server/keys.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 096e63b3c..313e30f40 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -131,6 +132,13 @@ paths: description: "device ID" example: "@alice:example.com": [] + token: + type: string + description: |- + If the client is fetching keys as a result of a device update received + in a sync request, this should be the 'since' token of that sync request, + or any later sync token. This allows the server to ensure its response + contains the keys advertised by the notification in that sync. required: - device_keys From bb0bbedb873b16ca8486d7e11fc978697657792a Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 10 Jan 2018 17:46:25 +0000 Subject: [PATCH 291/801] indenting --- api/client-server/keys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 313e30f40..317a12959 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -137,7 +137,7 @@ paths: description: |- If the client is fetching keys as a result of a device update received in a sync request, this should be the 'since' token of that sync request, - or any later sync token. This allows the server to ensure its response + or any later sync token. This allows the server to ensure its response contains the keys advertised by the notification in that sync. required: - device_keys From 7c6a97e82c903d2cdb173f163c527a51bce6df9f Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 10 Jan 2018 17:57:00 +0000 Subject: [PATCH 292/801] Add PR 1104 to changelog --- changelogs/client_server.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 8d5f45598..0f6d6e91a 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -14,6 +14,10 @@ Unreleased changes endpoints as deprecated (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). +- Changes to the API which will be backwards-compatible for clients: + - Add 'token' parameter to /keys/query endpoint + (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). + r0.3.0 ====== From 2e684bcc4bc38294fa33af9c9e125facc97f52b8 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Mon, 15 Jan 2018 09:13:31 +0000 Subject: [PATCH 293/801] fix readme typo --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 5ceeae5f4..5c9edac78 100644 --- a/README.rst +++ b/README.rst @@ -172,7 +172,7 @@ Examples: `improvement <https://github.com/matrix-org/matrix-doc/labels/improvement>`_ ---------------------------------------------------------------------------- -A suggestion for a relaatively simple improvement to the protocol. +A suggestion for a relatively simple improvement to the protocol. Examples: From ca09415e803cda522c0166dfb78cc62355aef40a Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 17 Jan 2018 11:16:48 +0000 Subject: [PATCH 294/801] Fix /keys/changes response to reflect reality --- api/client-server/keys.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 317a12959..1b821dead 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -336,7 +336,7 @@ paths: schema: type: object properties: - changes: + changed: type: array items: type: string @@ -344,5 +344,14 @@ paths: The Matrix User IDs of all users who updated their device identity keys. example: ["@alice:example.com", "@bob:example.org"] + left: + type: array + items: + type: string + description: |- + The Matrix User IDs of all users who may have left an + end-to-end encrypted room that the user is joined to. + identity keys. + example: ["@clara:example.com", "@doug:example.org"] tags: - End-to-end encryption From 2a9a9e757e10da1b8583afb836ada956b2468a80 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 17 Jan 2018 11:20:26 +0000 Subject: [PATCH 295/801] add changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 0f6d6e91a..27f37d573 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -13,6 +13,8 @@ Unreleased changes - Mark ``home_server`` return field for ``/login`` and ``/register`` endpoints as deprecated (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). + - Fix response format of ``/keys/changes`` endpoint + (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_) - Changes to the API which will be backwards-compatible for clients: - Add 'token' parameter to /keys/query endpoint From fa0eb2405f349c8af61fd8616cc6148fc3f47b42 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Wed, 17 Jan 2018 11:25:09 +0000 Subject: [PATCH 296/801] all rooms, not any, and remove extra words --- api/client-server/keys.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 1b821dead..5fb6318e9 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -349,9 +349,9 @@ paths: items: type: string description: |- - The Matrix User IDs of all users who may have left an - end-to-end encrypted room that the user is joined to. - identity keys. + The Matrix User IDs of all users who may have left all + the end-to-end encrypted rooms they previously shared + with the user. example: ["@clara:example.com", "@doug:example.org"] tags: - End-to-end encryption From 849a7662fea03f3f7bc51f3aaa028f6b9a85281c Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Thu, 18 Jan 2018 16:08:18 +0000 Subject: [PATCH 297/801] Fix changelog, hopefully --- changelogs/client_server.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 27f37d573..4788ba4a1 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -17,6 +17,7 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_) - Changes to the API which will be backwards-compatible for clients: + - Add 'token' parameter to /keys/query endpoint (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). From 7e94cd5a0bff5b3c9cc50ebb231db2d2419cbae6 Mon Sep 17 00:00:00 2001 From: Nathan Musoke <nathan.musoke@gmail.com> Date: Sat, 20 Jan 2018 19:15:01 +1300 Subject: [PATCH 298/801] Typo in client-server spec: ether -> either --- specification/client_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 326ff282f..464d20ae6 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -192,7 +192,7 @@ requests can be handled correctly. By default, the `Login`_ and `Registration`_ processes auto-generate a new ``device_id``. A client is also free to generate its own ``device_id`` or, -provided the user remains the same, reuse a device: in ether case the client +provided the user remains the same, reuse a device: in either case the client should pass the ``device_id`` in the request body. If the client sets the ``device_id``, the server will invalidate any access token previously assigned to that device. There is therefore at most one active access token assigned to From dc27323d8b3050cb30e123754dab538e51980fb9 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Jan 2018 14:29:59 +0000 Subject: [PATCH 299/801] Document the defaults for the /search API --- api/client-server/search.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 946d1ba7b..c4f38fa17 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -99,7 +99,9 @@ paths: title: "Ordering" type: string enum: ["recent", "rank"] - description: "The order in which to search for results." + description: |- + The order in which to search for results. + By default, this is ``"rank"``. event_context: title: "Event Context" type: object @@ -112,13 +114,13 @@ paths: title: "Before limit" description: |- How many events before the result are - returned. + returned. By default, this is ``5``. after_limit: type: integer title: "After limit" description: |- How many events after the result are - returned. + returned. By default, this is ``5``. include_profile: type: boolean title: "Return profile information" @@ -126,6 +128,7 @@ paths: Requests that the server returns the historic profile information for the users that sent the events that were returned. + By default, this is ``false``. include_state: type: boolean title: Include current state From a5374c7df7aefccc2ca48b70c94ee41ea7ce895f Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Jan 2018 21:24:39 +0000 Subject: [PATCH 300/801] Document new rooms/$/event/$ API for fetching a single event (no ctx) --- api/client-server/sync.yaml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 34659dd06..95cd181c4 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -366,3 +366,46 @@ paths: } tags: - Room participation + "/rooms/{roomId}/event/{eventId}": + get: + summary: Get a single event by event ID. + description: |- + Get a single event based on ``roomId/eventId``. You must have permission to + retrieve this event e.g. by being a member in the room for this event. + operationId: getOneRoomEvent + security: + - accessToken: [] + parameters: + - in: path + type: string + name: roomId + description: The ID of the room the event is in. + required: true + x-example: "!asfDuShaf7Gafaw:matrix.org" + - in: path + type: string + name: eventId + description: The event ID to get. + required: true + x-example: "$asfDuShaf7Gafaw:matrix.org" + responses: + 200: + description: The full event. + examples: + application/json: { + "content": { + "body": "Hello world!", + "msgtype": "m.text" + }, + "room_id": "!wfgy43Sg4a:matrix.org", + "sender": "@bob:matrix.org", + "event_id": "$asfDuShaf7Gafaw:matrix.org", + "type": "m.room.message" + } + schema: + allOf: + - "$ref": "definitions/event-schemas/schema/core-event-schema/event.yaml" + 404: + description: The event was not found or you do not have permission to read this event. + tags: + - Room participation From ebea850838711e434d9f6282b5f2ffdb75fc730c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Jan 2018 21:28:16 +0000 Subject: [PATCH 301/801] Add new event fetch API to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 1e930e771..b0057681f 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -7,6 +7,8 @@ Unreleased changes - ``POST /user_directory/search`` (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). + - ``GET /rooms/{roomId}/event/{eventId}`` + (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). - Spec clarifications: From 436e2cd318e8619986170e23a1242ae719d533fe Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 30 Jan 2018 21:30:02 +0000 Subject: [PATCH 302/801] Add changelog entry for /search API default value clarifications --- changelogs/client_server.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 1e930e771..233f74806 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -14,7 +14,9 @@ Unreleased changes endpoints as deprecated (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). - Fix response format of ``/keys/changes`` endpoint - (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_) + (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). + - Clarify default values for some fields on the /search API + (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). - Changes to the API which will be backwards-compatible for clients: From 91c1d9ed583bd42a0ddbd73192d239c3ef4aaa04 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Tue, 6 Feb 2018 14:58:59 +0000 Subject: [PATCH 303/801] documentation_style.rst: Fix rst syntax apparently the rst parser gets confused by '- `````'. --- meta/documentation_style.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index a6cfad51b..5218a342c 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -24,7 +24,7 @@ complete specification to be merged correctly. These characters are: - ``~`` - ``+`` - ``^`` -- ````` +- \ ````` - ``@`` - ``:`` From 306783b7bfb7d6a8ab35d61bc306647cb5784099 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 6 Feb 2018 16:09:53 +0000 Subject: [PATCH 304/801] notes on doc style --- meta/documentation_style.rst | 37 ++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 5218a342c..fb584a114 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -1,8 +1,9 @@ Documentation Style =================== -A brief single sentence to describe what this file contains; in this case a -description of the style to write documentation in. +Each document should begin with aa brief single sentence to describe what this +file contains; in this case a description of the style to write documentation +in. Format ------ @@ -49,3 +50,35 @@ Line widths We use 80 characters for line widths. This is a guideline and can be flouted IF AND ONLY IF it makes reading more legible. Use common sense. + +Stylistic notes +--------------- + +General +~~~~~~~ + +Try to write clearly and unambiguously. Remember that many readers will not +have English as their first language. + +Prefer British English (colour, -ise) to American English. + +OpenAPI +~~~~~~~ + +When writing OpenAPI specifications for the API endpoints, follow these rules: + + * ``summary``: a phrase summarising what this API does. Start with a capital, + end with a full-stop. Examples: "Sends an event."; "Searches the directory." + + * ``description``: a longer description of the behaviour of this API, written + in complete sentences. + + * ``operationId``: a camelCased unique identifier for this endpoint. This will + be used to automatically generate bindings for the endpoint. + + * Parameter and property ``description``\s: a phrase summarising the behaviour + of this parameter or property, optionally followed by sentences giving more + detailed explanations. + + The description is also the place to define default values for optional + properties. Use the wording "Defaults to X [if unspecified]." From 3c40d5a94e90bd421ddf4a30fbcf703fd6563a96 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Tue, 6 Feb 2018 16:10:55 +0000 Subject: [PATCH 305/801] documentation_style: fix indentation --- meta/documentation_style.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index fb584a114..9729b8673 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -67,18 +67,18 @@ OpenAPI When writing OpenAPI specifications for the API endpoints, follow these rules: - * ``summary``: a phrase summarising what this API does. Start with a capital, - end with a full-stop. Examples: "Sends an event."; "Searches the directory." +* ``summary``: a phrase summarising what this API does. Start with a capital, + end with a full-stop. Examples: "Sends an event."; "Searches the directory." - * ``description``: a longer description of the behaviour of this API, written - in complete sentences. +* ``description``: a longer description of the behaviour of this API, written + in complete sentences. - * ``operationId``: a camelCased unique identifier for this endpoint. This will - be used to automatically generate bindings for the endpoint. +* ``operationId``: a camelCased unique identifier for this endpoint. This will + be used to automatically generate bindings for the endpoint. - * Parameter and property ``description``\s: a phrase summarising the behaviour - of this parameter or property, optionally followed by sentences giving more - detailed explanations. +* Parameter and property ``description``\s: a phrase summarising the behaviour + of this parameter or property, optionally followed by sentences giving more + detailed explanations. - The description is also the place to define default values for optional - properties. Use the wording "Defaults to X [if unspecified]." + The description is also the place to define default values for optional + properties. Use the wording "Defaults to X [if unspecified]." From 1028ea355881486b9701eed80c6d0501aeabfdb7 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Tue, 6 Feb 2018 17:30:22 +0000 Subject: [PATCH 306/801] doc style: lists --- meta/documentation_style.rst | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 9729b8673..8ee530c0e 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -62,13 +62,19 @@ have English as their first language. Prefer British English (colour, -ise) to American English. +Lists should: + +* Be introduced with a colon. +* Be used where they provide clarity. +* Contain entries which start with a capital and end with a full stop. + OpenAPI ~~~~~~~ When writing OpenAPI specifications for the API endpoints, follow these rules: * ``summary``: a phrase summarising what this API does. Start with a capital, - end with a full-stop. Examples: "Sends an event."; "Searches the directory." + end with a full stop. Examples: "Sends an event."; "Searches the directory." * ``description``: a longer description of the behaviour of this API, written in complete sentences. @@ -78,7 +84,7 @@ When writing OpenAPI specifications for the API endpoints, follow these rules: * Parameter and property ``description``\s: a phrase summarising the behaviour of this parameter or property, optionally followed by sentences giving more - detailed explanations. + detailed explanations. Start with a capital, end with a full stop. The description is also the place to define default values for optional properties. Use the wording "Defaults to X [if unspecified]." From c5816a80afb6ae469552d619c28a1b2cfd6aaf0d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 7 Feb 2018 08:22:37 +0000 Subject: [PATCH 307/801] move /rooms/{roomId}/event/{eventId} and update depr notice --- api/client-server/old_sync.yaml | 2 +- api/client-server/rooms.yaml | 43 +++++++++++++++++++++++++++++++++ api/client-server/sync.yaml | 43 --------------------------------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/api/client-server/old_sync.yaml b/api/client-server/old_sync.yaml index dd6330692..d475aba3f 100644 --- a/api/client-server/old_sync.yaml +++ b/api/client-server/old_sync.yaml @@ -407,7 +407,7 @@ paths: retrieve this event e.g. by being a member in the room for this event. This endpoint was deprecated in r0 of this specification. Clients - should instead call the |/rooms/{roomId}/context/{eventId}|_ API. + should instead call the |/rooms/{roomId}/event/{eventId}|_ API. operationId: getOneEvent security: - accessToken: [] diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 176d9fc9e..88c2b9d94 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -27,6 +27,49 @@ produces: securityDefinitions: $ref: definitions/security.yaml paths: + "/rooms/{roomId}/event/{eventId}": + get: + summary: Get a single event by event ID. + description: |- + Get a single event based on ``roomId/eventId``. You must have permission to + retrieve this event e.g. by being a member in the room for this event. + operationId: getOneRoomEvent + security: + - accessToken: [] + parameters: + - in: path + type: string + name: roomId + description: The ID of the room the event is in. + required: true + x-example: "!asfDuShaf7Gafaw:matrix.org" + - in: path + type: string + name: eventId + description: The event ID to get. + required: true + x-example: "$asfDuShaf7Gafaw:matrix.org" + responses: + 200: + description: The full event. + examples: + application/json: { + "content": { + "body": "Hello world!", + "msgtype": "m.text" + }, + "room_id": "!wfgy43Sg4a:matrix.org", + "sender": "@bob:matrix.org", + "event_id": "$asfDuShaf7Gafaw:matrix.org", + "type": "m.room.message" + } + schema: + allOf: + - "$ref": "definitions/event-schemas/schema/core-event-schema/event.yaml" + 404: + description: The event was not found or you do not have permission to read this event. + tags: + - Room participation "/rooms/{roomId}/state/{eventType}/{stateKey}": get: summary: Get the state identified by the type and key. diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 95cd181c4..34659dd06 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -366,46 +366,3 @@ paths: } tags: - Room participation - "/rooms/{roomId}/event/{eventId}": - get: - summary: Get a single event by event ID. - description: |- - Get a single event based on ``roomId/eventId``. You must have permission to - retrieve this event e.g. by being a member in the room for this event. - operationId: getOneRoomEvent - security: - - accessToken: [] - parameters: - - in: path - type: string - name: roomId - description: The ID of the room the event is in. - required: true - x-example: "!asfDuShaf7Gafaw:matrix.org" - - in: path - type: string - name: eventId - description: The event ID to get. - required: true - x-example: "$asfDuShaf7Gafaw:matrix.org" - responses: - 200: - description: The full event. - examples: - application/json: { - "content": { - "body": "Hello world!", - "msgtype": "m.text" - }, - "room_id": "!wfgy43Sg4a:matrix.org", - "sender": "@bob:matrix.org", - "event_id": "$asfDuShaf7Gafaw:matrix.org", - "type": "m.room.message" - } - schema: - allOf: - - "$ref": "definitions/event-schemas/schema/core-event-schema/event.yaml" - 404: - description: The event was not found or you do not have permission to read this event. - tags: - - Room participation From 4d90d2b4952c1740e9ec53e2fe10dc07db5bad24 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 7 Feb 2018 08:26:27 +0000 Subject: [PATCH 308/801] fix depr link --- specification/client_server_api.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 464d20ae6..1041dc154 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1447,6 +1447,9 @@ have to wait in milliseconds before they can try again. .. |/rooms/{roomId}/context/{eventId}| replace:: ``/rooms/{roomId}/context/{eventId}`` .. _/rooms/{roomId}/context/{eventId}: #get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-context-eventid +.. |/rooms/{roomId}/event/{eventId}| replace:: ``/rooms/{roomId}/event/{eventId}`` +.. _/rooms/{roomId}/event/{eventId}: #get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-event-eventid + .. |/account/3pid| replace:: ``/account/3pid`` .. _/account/3pid: #post-matrix-client-%CLIENT_MAJOR_VERSION%-account-3pid From 04eb6c7b6517e48c3f485bc0a90a854a8d0a29cc Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Wed, 7 Feb 2018 08:27:39 +0000 Subject: [PATCH 309/801] link to both context and event in depr notice as per review --- api/client-server/old_sync.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/client-server/old_sync.yaml b/api/client-server/old_sync.yaml index d475aba3f..c502c239e 100644 --- a/api/client-server/old_sync.yaml +++ b/api/client-server/old_sync.yaml @@ -407,7 +407,8 @@ paths: retrieve this event e.g. by being a member in the room for this event. This endpoint was deprecated in r0 of this specification. Clients - should instead call the |/rooms/{roomId}/event/{eventId}|_ API. + should instead call the |/rooms/{roomId}/event/{eventId}|_ API + or the |/rooms/{roomId}/context/{eventId}|_ API. operationId: getOneEvent security: - accessToken: [] From de6d2c96fe60cacaf45baf166613adc697954516 Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Tue, 13 Feb 2018 18:55:36 -0800 Subject: [PATCH 310/801] Minor grammar fix. --- api/client-server/definitions/timeline_batch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/definitions/timeline_batch.yaml b/api/client-server/definitions/timeline_batch.yaml index 44baa39f9..ce613ac43 100644 --- a/api/client-server/definitions/timeline_batch.yaml +++ b/api/client-server/definitions/timeline_batch.yaml @@ -19,7 +19,7 @@ properties: on the filter type: boolean prev_batch: - description: A token that can be supplied to to the ``from`` parameter of the + description: A token that can be supplied to the ``from`` parameter of the rooms/{roomId}/messages endpoint type: string type: object From 0a917b2c70b7755d21f915fb27b1f79ffdee3d66 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Wed, 14 Feb 2018 07:08:01 +0000 Subject: [PATCH 311/801] documentation_style typo --- meta/documentation_style.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 8ee530c0e..6845e5da6 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -1,8 +1,8 @@ Documentation Style =================== -Each document should begin with aa brief single sentence to describe what this -file contains; in this case a description of the style to write documentation +Each document should begin with a brief single sentence to describe what this +file contains: in this case a description of the style to write documentation in. Format From 196e6687681fb8529cd1065b364d20b7499ebfb6 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Wed, 14 Feb 2018 16:44:09 +0000 Subject: [PATCH 312/801] Update documentation_style.rst --- meta/documentation_style.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 6845e5da6..54a74e0b2 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -77,7 +77,12 @@ When writing OpenAPI specifications for the API endpoints, follow these rules: end with a full stop. Examples: "Sends an event."; "Searches the directory." * ``description``: a longer description of the behaviour of this API, written - in complete sentences. + in complete sentences. Use multiple paragraphs if necessary. + + Example: + + This API sends an event to the room. The server must ensure that the user + has permission to post events to this room. * ``operationId``: a camelCased unique identifier for this endpoint. This will be used to automatically generate bindings for the endpoint. From 3dfa643b8b0353b76bc09a7beee69f94fdae60df Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 20 Feb 2018 20:18:33 +0000 Subject: [PATCH 313/801] Fix membership state names It's called 'join', not 'joined'. --- specification/server_server_api.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 43874321c..e98853119 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -520,7 +520,7 @@ the state of the room. #. If ``membership`` is ``invite``: - i. If the ``sender``'s current membership state is not ``joined``, reject. + i. If the ``sender``'s current membership state is not ``join``, reject. #. If *target user*'s current membership state is ``join`` or ``ban``, reject. @@ -535,7 +535,7 @@ the state of the room. i. If the ``sender`` matches ``state_key``, allow if and only if that user's current membership state is ``invite`` or ``join``. - #. If the ``sender``'s current membership state is not ``joined``, reject. + #. If the ``sender``'s current membership state is not ``join``, reject. #. If the *target user*'s current membership state is ``ban``, and the ``sender``'s power level is less than the *ban level*, reject. @@ -548,7 +548,7 @@ the state of the room. #. If ``membership`` is ``ban``: - i. If the ``sender``'s current membership state is not ``joined``, reject. + i. If the ``sender``'s current membership state is not ``join``, reject. #. If the ``sender``'s power level is greater than or equal to the *ban level*, and the *target user*'s power level is less than the @@ -558,7 +558,7 @@ the state of the room. #. Otherwise, the membership is unknown. Reject. -#. If the ``sender``'s current membership state is not ``joined``, reject. +#. If the ``sender``'s current membership state is not ``join``, reject. #. If the event type's *required power level* is greater than the ``sender``'s power level, reject. From c8393306d161dc73340dd0dd7a09ab765e7e542f Mon Sep 17 00:00:00 2001 From: Maxime Dor <max@kamax.io> Date: Tue, 27 Feb 2018 17:26:50 +0100 Subject: [PATCH 314/801] Add IS ping endpoint --- api/identity/ping.yaml | 44 ++++++++++++++++++++++++++ specification/identity_service_api.rst | 5 +++ 2 files changed, 49 insertions(+) create mode 100644 api/identity/ping.yaml diff --git a/api/identity/ping.yaml b/api/identity/ping.yaml new file mode 100644 index 000000000..005160a35 --- /dev/null +++ b/api/identity/ping.yaml @@ -0,0 +1,44 @@ +# Copyright 2018 Kamax Sàrl +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: "2.0" +info: + title: "Matrix Client-Identity Versions API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https +basePath: /_matrix/identity +produces: + - application/json +paths: + "/api/v1": + get: + summary: Checks that an Identity server is available at this API endpopint. + description: |- + Checks that an Identity server is available at this API endpopint. + + To discover that an Identity server is available at a specific URL, + this endpoint can be queried and will return an empty object. + + This is primarly used for auto-discovery and health check purposes + by entities acting as a client for the Identity server. + operationId: ping + responses: + 200: + description: An Identity server is ready to serve requests. + examples: + application/json: {} + schema: + type: object diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index 192755934..89fcc3e6a 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -67,6 +67,11 @@ should allow a 3pid to be mapped to a Matrix user identity, but not in the other direction (i.e. one should not be able to get all 3pids associated with a Matrix user ID, or get all 3pids associated with a 3pid). +Status check +------------ + +{{ping_is_http_api}} + Key management -------------- From a488bd55033e2cd2fc68f44d58ad6d7330f1d6be Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:12:47 -0700 Subject: [PATCH 315/801] Make m.presence match what synapse returns Considering this is the behaviour that is embedded into most client libraries and the most popular homeserver, it should be adopted as the standard. Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/examples/m.presence | 3 +-- event-schemas/schema/m.presence | 10 +++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/event-schemas/examples/m.presence b/event-schemas/examples/m.presence index ead92ccdb..bdc0baea1 100644 --- a/event-schemas/examples/m.presence +++ b/event-schemas/examples/m.presence @@ -4,8 +4,7 @@ "last_active_ago": 2478593, "presence": "online", "currently_active": false, - "user_id": "@example:localhost" }, - "event_id": "$WLGTSEFSEF:localhost", + "sender": "@example:localhost", "type": "m.presence" } diff --git a/event-schemas/schema/m.presence b/event-schemas/schema/m.presence index 36108db6f..3c884fd66 100644 --- a/event-schemas/schema/m.presence +++ b/event-schemas/schema/m.presence @@ -29,21 +29,17 @@ "currently_active": { "type": boolean, "description": "Whether the user is currently active" - }, - "user_id": { - "type": "string", - "description": "The user's ID." } }, - "required": ["presence", "user_id"] + "required": ["presence"] }, "type": { "type": "string", "enum": ["m.presence"] }, - "event_id": { + "sender": { "type": "string" } }, - "required": ["event_id", "type", "content"] + "required": ["sender", "type", "content"] } From f5a100317e004f7bfa8fd174caf89c0f036d6d1d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:15:43 -0700 Subject: [PATCH 316/801] Add changelog entry for m.presence format fix Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index d86aeb63e..b5b922392 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -19,6 +19,8 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - Clarify default values for some fields on the /search API (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). + - Fix the representation of ``m.presence`` events + (`#1137 <https://github.com/matrix-org/matrix-doc/pull/1137>`_). - Changes to the API which will be backwards-compatible for clients: From a3f006353cd79636235a918d9788c7646b7e6f3c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:40:41 -0700 Subject: [PATCH 317/801] Tag ordering is defined as a number between 0 and 1, not strings Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/examples/m.tag | 2 +- specification/modules/tags.rst | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/event-schemas/examples/m.tag b/event-schemas/examples/m.tag index 00e81060b..53dbc921a 100644 --- a/event-schemas/examples/m.tag +++ b/event-schemas/examples/m.tag @@ -2,7 +2,7 @@ "type": "m.tag", "content": { "tags": { - "work": {"order": 1} + "u.work": {"order": 1} } } } diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index 31b3b7110..0187d791b 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -35,12 +35,11 @@ the tags are for. Each tag has an associated JSON object with information about the tag, e.g how to order the rooms with a given tag. -Ordering information is given under the ``order`` key as a string. The string -are compared lexicographically by unicode codepoint to determine which should -displayed first. So a room with a tag with an ``order`` key of ``"apples"`` -would appear before a room with a tag with an ``order`` key of ``"oranges"``. -If a room has a tag without an ``order`` key then it should appear after the -rooms with that tag that have an ``order`` key. +Ordering information is given under teh ``order`` key as a number between 0 and +1. The numbers are compared such that 0 is displayed first. Therefore a room +with an ``order`` of ``0.2`` would be displayed before a room with an ``order`` +of ``0.7``. If a room has a tag without an ``order`` key then it should appear +after the rooms with that tag that have an ``order`` key. The name of a tag MUST not exceed 255 bytes. From c5738b87c0899bc5cd8e7d88def8983aa5666ede Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:45:19 -0700 Subject: [PATCH 318/801] Add changelog entry for m.tag ordering Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index d86aeb63e..7ac32e4a1 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -19,6 +19,8 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - Clarify default values for some fields on the /search API (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). + - Clarify that ``m.tag`` ordering is done with numbers, not strings + (`#1139 <https://github.com/matrix-org/matrix-doc/pull/1139>`_). - Changes to the API which will be backwards-compatible for clients: From 864b6b6b3ae96b12f6fc456b549c4feb9a5b8c68 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:49:49 -0700 Subject: [PATCH 319/801] Add build output to the .gitignore This is more of a problem if the build fails for whatever reason. Signed-off-by: Travis Ralston <travpc@gmail.com> --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1742b2a40..84ac4951c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /scripts/continuserv/continuserv /scripts/speculator/speculator /scripts/swagger +/scripts/tmp /templating/out *.pyc *.swp From 04e39c849674a1337652c082a352fda72e9d566e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 12:50:30 -0700 Subject: [PATCH 320/801] Document the Python version explicitly The spec uses 2.x currently and is not compatible with Python 3. Signed-off-by: Travis Ralston <travpc@gmail.com> --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 5c9edac78..2a359db60 100644 --- a/README.rst +++ b/README.rst @@ -41,7 +41,7 @@ specs and event schemas in this repository. Preparation ----------- -To use the scripts, it is best to create a Python virtualenv as follows:: +To use the scripts, it is best to create a Python 2.x virtualenv as follows:: virtualenv env env/bin/pip install -r scripts/requirements.txt From 595667d15dbbe9c1e8580ea62e8095be3f0dbb2f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 14:46:40 -0700 Subject: [PATCH 321/801] Spec /directory/list Adds https://github.com/matrix-org/matrix-doc/issues/417 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/list_public_rooms.yaml | 111 ++++++++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 6d25a1ac2..4d3923bd1 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -13,7 +13,7 @@ # limitations under the License. swagger: '2.0' info: - title: "Matrix Client-Server Room Creation API" + title: "Matrix Client-Server Room Directory API" version: "1.0.0" host: localhost:8008 schemes: @@ -25,6 +25,115 @@ consumes: produces: - application/json paths: + "/directory/list/room/{roomId}": + get: + summary: Gets the visibility of a room in the directory + description: |- + Gets the visibility of a given room on the server's public room directory. + operationId: getRoomVisibilityOnDirectory + security: + - accessToken: [] + parameters: + - in: path + type: string + name: roomId + description: The room ID. + required: true + x-example: "!curbf:matrix.org" + responses: + 200: + description: The visibility of the room in the directory + schema: + type: object + properties: + visibility: + type: string + enum: ['private', 'public'] + description: The visibility of the room in the directory. + examples: + application/json: { + "visibility": "public" + } + 400: + description: The room is not known to the server + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "Room not found" + } + put: + summary: Sets the visibility of a room in the room directory + description: |- + Sets the visibility of a given room in the server's public room + directory. + operationId: setRoomVisibilityOnDirectory + security: + - accessToken: [] + parameters: + - in: path + type: string + name: roomId + description: The room ID. + required: true + x-example: "!curbf:matrix.org" + - in: body + name: body + required: true + description: |- + The new visibility for the room on the room directory. + schema: + type: object + properties: + visibility: + type: string + enum: ["private", "public"] + description: |- + The new visibility setting for the room. + Defaults to 'public'. + example: { + "visibility": "public" + } + responses: + 200: + description: The visibility was updated, or no change was needed. + examples: + application/json: { + } + 400: + description: The room is not known to the server + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "Room not found" + } + delete: + summary: Sets a room to be private on the room directory + description: |- + Updates the visibility of a room to be private on the server's room + directory. + operationId: setRoomPrivateOnDirectory + security: + - accessToken: [] + parameters: + - in: path + type: string + name: roomId + description: The room ID. + required: true + x-example: "!curbf:matrix.org" + responses: + 200: + description: The visibility was updated, or no change was needed. + examples: + application/json: { + } + 400: + description: The room is not known to the server + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "Room not found" + } "/publicRooms": get: summary: Lists the public rooms on the server. From b41bd9635db85c38966195ecd52f927fc5f1cdb9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 14:50:19 -0700 Subject: [PATCH 322/801] Add /directory/list to changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index d86aeb63e..70bc2bd27 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -19,6 +19,8 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - Clarify default values for some fields on the /search API (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). + - Add the room visibility options for the room directory + (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141`_). - Changes to the API which will be backwards-compatible for clients: From e862ef60ae1b707882c6a77c1b9cdd20efb6e7a4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 15:20:42 -0700 Subject: [PATCH 323/801] Spec ignoring users Adds https://github.com/matrix-org/matrix-doc/issues/528 Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/examples/m.ignored_user_list | 8 +++ event-schemas/schema/m.ignored_user_list | 21 ++++++++ specification/modules/ignore_users.rst | 63 ++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 event-schemas/examples/m.ignored_user_list create mode 100644 event-schemas/schema/m.ignored_user_list create mode 100644 specification/modules/ignore_users.rst diff --git a/event-schemas/examples/m.ignored_user_list b/event-schemas/examples/m.ignored_user_list new file mode 100644 index 000000000..f3a328f7f --- /dev/null +++ b/event-schemas/examples/m.ignored_user_list @@ -0,0 +1,8 @@ +{ + "type": "m.ignored_user_list", + "content": { + "ignored_users": { + "@someone:domain.com": {} + } + } +} diff --git a/event-schemas/schema/m.ignored_user_list b/event-schemas/schema/m.ignored_user_list new file mode 100644 index 000000000..dcf7b1986 --- /dev/null +++ b/event-schemas/schema/m.ignored_user_list @@ -0,0 +1,21 @@ +--- +allOf: + - $ref: core-event-schema/event.yaml +description: |- + A map of users which are considered ignored is kept in ``acount_data`` + in an event type of ``m.ignored_user_list``. +properties: + content: + type: object + patternProperties: + "^@": + type: "object" + title: "Ignored User" + description: "An empty object for future enhancement" + x-pattern: "$USER_ID" + type: + enum: + - m.ignored_user_list + type: string +title: Ignored User List +type: object diff --git a/specification/modules/ignore_users.rst b/specification/modules/ignore_users.rst new file mode 100644 index 000000000..d25dd64ee --- /dev/null +++ b/specification/modules/ignore_users.rst @@ -0,0 +1,63 @@ +.. Copyright 2018 Travis Ralston +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Ignore Users +============== + +.. _module:ignore_users: + +With all the communication through Matrix it may be desirable to ignore a +particular user for whatever reason. This module defines how clients and +servers can implement the ignoring of users. + +Events +------ + +{{m_ignored_user_list_event}} + +Client behaviour +---------------- +To ignore a user, effectively blocking them, the client should add the target +user to the ``m.ignored_user_list`` event in their account data. Once ignored, +the client will no longer receive events sent by that user, with the exception +of state events. The client should either hide previous content sent by the +newly ignored user or perform a new ``/sync`` with no previous token. + +Invites to new rooms by ignored users will not be sent to the client. The server +may optionally reject the invite on behalf of the client. + +State events will still be sent to the client, even if the user is ignored. +This is to ensure parts, such as the room name, do not appear different to the +user just because they ignored the sender. + +To remove a user from the ignored users list, remove them from the account data +event. The server will resume sending events from the previously ignored user, +however it should not send events that were missed while the user was ignored. +To receive the events that were sent while the user was ignored the client +should perform a fresh sync. The client may also un-hide any events it previously +hid due to the user becoming ignored. + +Clients should be aware that split-brain + +Server behaviour +---------------- +Following an update of the ``m.ignored_user_list``, the sync API for all clients +will immediately start ignoring (or un-ignoring) the user. Clients are responsible +for determining if they should hide previously sent events or to start a new sync +stream. + +Servers must still send state events sent by ignored users to clients. + +Servers must not send room invites from ignored users to clients. Servers may +optionally decide to reject the invite, however. From 1daf6af3003f9a3f55f20453304de82f3aadefa8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 3 Mar 2018 15:23:18 -0700 Subject: [PATCH 324/801] Add ignoring users to the changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index d86aeb63e..d24328ea1 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -19,6 +19,8 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - Clarify default values for some fields on the /search API (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). + - Add spec for ignoring users + (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - Changes to the API which will be backwards-compatible for clients: From eb8c3255bfd3dbdc4ffd961c5c1040168dce6729 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 5 Mar 2018 18:45:57 -0700 Subject: [PATCH 325/801] Remove extraneous comma from m.presence schema This causes the build to fail. Fixes #1146 Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/examples/m.presence | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event-schemas/examples/m.presence b/event-schemas/examples/m.presence index bdc0baea1..824ffcb71 100644 --- a/event-schemas/examples/m.presence +++ b/event-schemas/examples/m.presence @@ -3,7 +3,7 @@ "avatar_url": "mxc://localhost:wefuiwegh8742w", "last_active_ago": 2478593, "presence": "online", - "currently_active": false, + "currently_active": false }, "sender": "@example:localhost", "type": "m.presence" From a36bd1a6d2f8d10d908764af7177e7e6a1aa21b4 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 6 Mar 2018 11:02:40 +0000 Subject: [PATCH 326/801] Make build fail if gendoc fails (cf https://github.com/matrix-org/matrix-doc/issues/1146) --- scripts/generate-matrix-org-assets | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index 2f8acc5d2..cb3cf4552 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -2,6 +2,8 @@ # # generate a tarball of assets suitable for the matrix.org site +set -e + cd `dirname $0`/.. mkdir -p assets From 9150ba0dce83a4273e25001d1461d02d8c114ea2 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 6 Mar 2018 11:09:33 +0000 Subject: [PATCH 327/801] Improve error output from failing to parse examples --- scripts/templating/matrix_templates/units.py | 28 +++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 1540a7fd5..d8cfe1e34 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -694,15 +694,25 @@ class MatrixUnits(Units): for filename in os.listdir(path): if not filename.startswith("m."): continue - with open(os.path.join(path, filename), "r") as f: - event_name = filename.split("#")[0] - example = json.loads(f.read()) - - examples[filename] = examples.get(filename, []) - examples[filename].append(example) - if filename != event_name: - examples[event_name] = examples.get(event_name, []) - examples[event_name].append(example) + + event_name = filename.split("#")[0] + filepath = os.path.join(path, filename) + logger.info("Reading event example: %s" % filepath) + try: + with open(filepath, "r") as f: + example = json.load(f) + examples[filename] = examples.get(filename, []) + examples[filename].append(example) + if filename != event_name: + examples[event_name] = examples.get(event_name, []) + examples[event_name].append(example) + except Exception, e: + e2 = Exception("Error reading event example "+filepath+": "+ + str(e)) + # throw the new exception with the old stack trace, so that + # we don't lose information about where the error occurred. + raise e2, None, sys.exc_info()[2] + return examples def load_event_schemas(self): From 709fca81905cc966a7f32149ddce3bbca6afeff3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 08:50:23 -0700 Subject: [PATCH 328/801] Move /directory/list changelog entry Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index d5c7d048b..80927b544 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -23,13 +23,13 @@ Unreleased changes (`#1137 <https://github.com/matrix-org/matrix-doc/pull/1137>`_). - Clarify that ``m.tag`` ordering is done with numbers, not strings (`#1139 <https://github.com/matrix-org/matrix-doc/pull/1139>`_). - - Add the room visibility options for the room directory - (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141`_). - Changes to the API which will be backwards-compatible for clients: - Add 'token' parameter to /keys/query endpoint (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). + - Add the room visibility options for the room directory + (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_). r0.3.0 ====== From 5cbfa73fe40fa0996f2034f1715f3e63377b9d21 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 08:51:57 -0700 Subject: [PATCH 329/801] Improve documentation of /directory/list * 404 for room not found instead of 400 * GET doesn't require an access token * PUT (and therefore DELETE) can have it's own access control checks * DELETE is implemented because of synapse Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/list_public_rooms.yaml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 4d3923bd1..e6d2616cc 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -31,8 +31,6 @@ paths: description: |- Gets the visibility of a given room on the server's public room directory. operationId: getRoomVisibilityOnDirectory - security: - - accessToken: [] parameters: - in: path type: string @@ -54,11 +52,11 @@ paths: application/json: { "visibility": "public" } - 400: + 404: description: The room is not known to the server examples: application/json: { - "errcode": "M_UNKNOWN", + "errcode": "M_NOT_FOUND", "error": "Room not found" } put: @@ -66,6 +64,10 @@ paths: description: |- Sets the visibility of a given room in the server's public room directory. + + Servers may choose to implement additional access control checks + here, for instance that room visibility can only be changed by + the room creator or a server administrator. operationId: setRoomVisibilityOnDirectory security: - accessToken: [] @@ -99,18 +101,19 @@ paths: examples: application/json: { } - 400: + 404: description: The room is not known to the server examples: application/json: { - "errcode": "M_UNKNOWN", + "errcode": "M_NOT_FOUND", "error": "Room not found" } delete: summary: Sets a room to be private on the room directory description: |- Updates the visibility of a room to be private on the server's room - directory. + directory. This is the same as using the PUT operation with a private + as the visibility. operationId: setRoomPrivateOnDirectory security: - accessToken: [] @@ -127,11 +130,11 @@ paths: examples: application/json: { } - 400: + 404: description: The room is not known to the server examples: application/json: { - "errcode": "M_UNKNOWN", + "errcode": "M_NOT_FOUND", "error": "Room not found" } "/publicRooms": From 0f7f8a8ca77a8875647c114f07075189d608f2e3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 08:59:15 -0700 Subject: [PATCH 330/801] Move the changelog entry for ignoring users Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 55b072992..2dcda7111 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -19,8 +19,6 @@ Unreleased changes (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - Clarify default values for some fields on the /search API (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). - - Add spec for ignoring users - (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - Fix the representation of ``m.presence`` events (`#1137 <https://github.com/matrix-org/matrix-doc/pull/1137>`_). - Clarify that ``m.tag`` ordering is done with numbers, not strings @@ -30,6 +28,8 @@ Unreleased changes - Add 'token' parameter to /keys/query endpoint (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). + - Add spec for ignoring users + (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). r0.3.0 ====== From 331e49bd0ddb10d5c0c12ea02bbbf8b2232f56be Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 09:00:32 -0700 Subject: [PATCH 331/801] Improve the documentation of ignored users * Fix the event schema to represent the real world * Add the module to the spec targets * Remove incomplete thought from the client behaviour * Link to the account data API * Minor word choice changes Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/schema/m.ignored_user_list | 17 +++++++++++------ specification/modules/ignore_users.rst | 15 +++++++-------- specification/targets.yaml | 1 + 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/event-schemas/schema/m.ignored_user_list b/event-schemas/schema/m.ignored_user_list index dcf7b1986..79567c653 100644 --- a/event-schemas/schema/m.ignored_user_list +++ b/event-schemas/schema/m.ignored_user_list @@ -7,12 +7,17 @@ description: |- properties: content: type: object - patternProperties: - "^@": - type: "object" - title: "Ignored User" - description: "An empty object for future enhancement" - x-pattern: "$USER_ID" + properties: + ignored_users: + type: object + patternProperties: + "^@": + type: "object" + title: "Ignored User" + description: "An empty object for future enhancement" + x-pattern: "$USER_ID" + required: + - ignored_users type: enum: - m.ignored_user_list diff --git a/specification/modules/ignore_users.rst b/specification/modules/ignore_users.rst index d25dd64ee..56a410d13 100644 --- a/specification/modules/ignore_users.rst +++ b/specification/modules/ignore_users.rst @@ -12,7 +12,7 @@ .. See the License for the specific language governing permissions and .. limitations under the License. -Ignore Users +Ignoring Users ============== .. _module:ignore_users: @@ -29,10 +29,11 @@ Events Client behaviour ---------------- To ignore a user, effectively blocking them, the client should add the target -user to the ``m.ignored_user_list`` event in their account data. Once ignored, -the client will no longer receive events sent by that user, with the exception -of state events. The client should either hide previous content sent by the -newly ignored user or perform a new ``/sync`` with no previous token. +user to the ``m.ignored_user_list`` event in their account data using +|/user/<user_id>/account_data/<type>|_. Once ignored, the client will no longer +receive events sent by that user, with the exception of state events. The client +should either hide previous content sent by the newly ignored user or perform +a new ``/sync`` with no previous token. Invites to new rooms by ignored users will not be sent to the client. The server may optionally reject the invite on behalf of the client. @@ -48,12 +49,10 @@ To receive the events that were sent while the user was ignored the client should perform a fresh sync. The client may also un-hide any events it previously hid due to the user becoming ignored. -Clients should be aware that split-brain - Server behaviour ---------------- Following an update of the ``m.ignored_user_list``, the sync API for all clients -will immediately start ignoring (or un-ignoring) the user. Clients are responsible +should immediately start ignoring (or un-ignoring) the user. Clients are responsible for determining if they should hide previously sent events or to start a new sync stream. diff --git a/specification/targets.yaml b/specification/targets.yaml index 62799afeb..122904e98 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -61,6 +61,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/event_context.rst - modules/cas_login.rst - modules/dm.rst + - modules/ignore_users.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From d88a1308c2e9a6075346b91fd79d714bde30f0a5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 10:05:32 -0700 Subject: [PATCH 332/801] Formatting and remove DELETE /directory/list Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/list_public_rooms.yaml | 52 +++++------------------- 1 file changed, 11 insertions(+), 41 deletions(-) diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index e6d2616cc..334d528c3 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -50,15 +50,15 @@ paths: description: The visibility of the room in the directory. examples: application/json: { - "visibility": "public" - } + "visibility": "public" + } 404: description: The room is not known to the server examples: application/json: { - "errcode": "M_NOT_FOUND", - "error": "Room not found" - } + "errcode": "M_NOT_FOUND", + "error": "Room not found" + } put: summary: Sets the visibility of a room in the room directory description: |- @@ -93,50 +93,20 @@ paths: The new visibility setting for the room. Defaults to 'public'. example: { - "visibility": "public" - } + "visibility": "public" + } responses: 200: description: The visibility was updated, or no change was needed. examples: - application/json: { - } + application/json: {} 404: description: The room is not known to the server examples: application/json: { - "errcode": "M_NOT_FOUND", - "error": "Room not found" - } - delete: - summary: Sets a room to be private on the room directory - description: |- - Updates the visibility of a room to be private on the server's room - directory. This is the same as using the PUT operation with a private - as the visibility. - operationId: setRoomPrivateOnDirectory - security: - - accessToken: [] - parameters: - - in: path - type: string - name: roomId - description: The room ID. - required: true - x-example: "!curbf:matrix.org" - responses: - 200: - description: The visibility was updated, or no change was needed. - examples: - application/json: { - } - 404: - description: The room is not known to the server - examples: - application/json: { - "errcode": "M_NOT_FOUND", - "error": "Room not found" - } + "errcode": "M_NOT_FOUND", + "error": "Room not found" + } "/publicRooms": get: summary: Lists the public rooms on the server. From 08356122775f684a8a5fc63ac3b620e2497d9c1a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 10:21:04 -0700 Subject: [PATCH 333/801] Represent the ignored users event correctly Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/schema/m.ignored_user_list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/event-schemas/schema/m.ignored_user_list b/event-schemas/schema/m.ignored_user_list index 79567c653..1ea47c413 100644 --- a/event-schemas/schema/m.ignored_user_list +++ b/event-schemas/schema/m.ignored_user_list @@ -16,8 +16,8 @@ properties: title: "Ignored User" description: "An empty object for future enhancement" x-pattern: "$USER_ID" - required: - - ignored_users + required: + - ignored_users type: enum: - m.ignored_user_list From 6e7d264bc7718c292517cedccd392755c3d6c36b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 10:32:18 -0700 Subject: [PATCH 334/801] Add clarity to the m.ignored_user_list Signed-off-by: Travis Ralston <travpc@gmail.com> --- event-schemas/schema/m.ignored_user_list | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/event-schemas/schema/m.ignored_user_list b/event-schemas/schema/m.ignored_user_list index 1ea47c413..7f7a6604e 100644 --- a/event-schemas/schema/m.ignored_user_list +++ b/event-schemas/schema/m.ignored_user_list @@ -2,7 +2,7 @@ allOf: - $ref: core-event-schema/event.yaml description: |- - A map of users which are considered ignored is kept in ``acount_data`` + A map of users which are considered ignored is kept in ``account_data`` in an event type of ``m.ignored_user_list``. properties: content: @@ -10,6 +10,8 @@ properties: properties: ignored_users: type: object + title: "Ignored users" + description: "The map of users to ignore" patternProperties: "^@": type: "object" From 15cdde3f49e174f65e1369235e600dff561503e3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 13:16:07 -0700 Subject: [PATCH 335/801] Add GET /register/available Adds https://github.com/matrix-org/matrix-doc/issues/911 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/registration.yaml | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index fd8f68328..b008f1b5d 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -366,3 +366,63 @@ paths: "$ref": "definitions/error.yaml" tags: - User data + "/register/available": + get: + summary: Checks to see if a username is available on the server. + description: |- + Checks to see if a username is available, and valid, for the server. + + The server should check to ensure that, at the time of the request, the + username requested is available for use. This includes verifying that an + application service has not claimed the username and that the username + fits the server's desired requirements (for example, a server could dictate + that it does not permit usernames with underscores). + + Matrix clients may wish to use this API prior to attempting registration, + however the clients must also be aware that using this API does not normally + reserve the username. This can mean that the username becomes unavailable + between checking it's availability and attempting to register it. + operationId: checkUsernameAvailability + parameters: + - in: query + name: username + type: string + x-example: my_cool_localpart + required: true + default: my_cool_localpart + description: The username to check the availability of. + responses: + 200: + description: The username is available + examples: + application/json: { + "available": true + } + schema: + type: object + properties: + available: + type: boolean + description: |- + A flag to indicate that the username is available. This should always + be ``true`` when the server replies with 200 OK. + 400: + description: |- + Part of the request was invalid or the username is not available. This may + include one of the following error codes: + + * ``M_USER_IN_USE`` : The desired username is already taken. + * ``M_INVALID_USERNAME`` : The desired username is not a valid user name. + * ``M_EXCLUSIVE`` : The desired username is in the exclusive namespace + claimed by an application service. + examples: + application/json: { + "errcode": "M_USER_IN_USE", + "error": "Desired user ID is already taken." + } + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: + - User data From f0ec0de9972126c986a4e98fbd7edca349d00a1a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 13:27:30 -0700 Subject: [PATCH 336/801] Add username availability to the changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 23898e0fc..5947e96cb 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -32,6 +32,8 @@ Unreleased changes (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_). - Add spec for ignoring users (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). + - Add the ``/register/available`` endpoint for username availability + (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). r0.3.0 ====== From 2e4e5e25e81d306be67a0d9bb736a504588ed775 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 13:41:53 -0700 Subject: [PATCH 337/801] Improve documentation around /account/whoami Clarifies: https://github.com/matrix-org/matrix-doc/issues/1135 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 36 ++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index e3262fe4e..6bf4f1fba 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -29,7 +29,13 @@ paths: get: summary: Gets information about the owner of an access token. description: |- - Gets information about the owner of a given access token. + Gets information about the owner of a given access token. + + If the owner of the access token is an application service, + the server should return the user ID making the request. The + server should respect the application service client/server API + extensions during this request. If the request is made for a + virtual user, the server should verify that it is registered. operationId: getTokenOwner security: - accessToken: [] @@ -40,8 +46,8 @@ paths: The token belongs to a known user. examples: application/json: { - "user_id": "@joe:example.org" - } + "user_id": "@joe:example.org" + } schema: type: object required: ["user_id"] @@ -49,5 +55,29 @@ paths: user_id: type: string description: The user id that owns the access token. + 401: + description: + The token is not recongized + examples: + application/json: { + "errcode": "M_UNKNOWN_TOKEN", + "error": "Unrecongised access token." + } + schema: + "$ref": "definitions/error.yaml" + 403: + description: + The appservice cannot masquerade the user or has not registered them. + examples: + application/json: { + "errcode": "M_FORBIDDEN", + "error": "Application service has not registered this user." + } + schema: + "$ref": "definitions/error.yaml" + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" tags: - User data From 5285dbc6559bdecc5ffc787fdd7bbccd31757845 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 13:44:20 -0700 Subject: [PATCH 338/801] Add clarifications of /account/whoami to changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 23898e0fc..48ac49101 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -23,6 +23,8 @@ Unreleased changes (`#1137 <https://github.com/matrix-org/matrix-doc/pull/1137>`_). - Clarify that ``m.tag`` ordering is done with numbers, not strings (`#1139 <https://github.com/matrix-org/matrix-doc/pull/1139>`_). + - Clarify that ``/account/whoami`` should consider application services + (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). - Changes to the API which will be backwards-compatible for clients: From a549baa01d2c895ba9ec6e5e98b23706275b2c2f Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <github@rvanderhoff.org.uk> Date: Tue, 6 Mar 2018 21:53:16 +0000 Subject: [PATCH 339/801] registration.yaml: fix typo it's -> its --- api/client-server/registration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index b008f1b5d..1c544afed 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -381,7 +381,7 @@ paths: Matrix clients may wish to use this API prior to attempting registration, however the clients must also be aware that using this API does not normally reserve the username. This can mean that the username becomes unavailable - between checking it's availability and attempting to register it. + between checking its availability and attempting to register it. operationId: checkUsernameAvailability parameters: - in: query From 6ba5d7ca920450d7bdf9bca9223cff7f556b2150 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 14:59:11 -0700 Subject: [PATCH 340/801] Reword appservice requirements for /account/whoami Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 6bf4f1fba..e56ecb9a7 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -31,15 +31,26 @@ paths: description: |- Gets information about the owner of a given access token. - If the owner of the access token is an application service, + If the owner of the access token is an application service, the server should return the user ID making the request. The - server should respect the application service client/server API - extensions during this request. If the request is made for a - virtual user, the server should verify that it is registered. + user ID making the request can be determined by checking to + see if the ``user_id`` query parameter was also supplied. If + the parameter is not present, the default application service + user ID should be used (defined as the ``sender_localpart`` + in the registration). If the parameter is present, the given + user ID should be verified to be both registered and in the + application service's namespace. operationId: getTokenOwner security: - accessToken: [] - parameters: [] + parameters: + # TODO: Break this out to a template or something (and apply it everywhere) + - in: query + name: user_id + type: string + required: false + description: |- + The user ID to masquerade as. Only applies to application services. responses: 200: description: @@ -67,7 +78,7 @@ paths: "$ref": "definitions/error.yaml" 403: description: - The appservice cannot masquerade the user or has not registered them. + The appservice cannot masquerade as the user or has not registered them. examples: application/json: { "errcode": "M_FORBIDDEN", From b7f8f20de9eea1969a31a949a69cebc304e6ee49 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 15:32:49 -0700 Subject: [PATCH 341/801] Reword the appservice portion of /account/whoami Credit goes to richvdh - suggestions taken with edits. Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index e56ecb9a7..0ebd0bb78 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -31,26 +31,16 @@ paths: description: |- Gets information about the owner of a given access token. - If the owner of the access token is an application service, - the server should return the user ID making the request. The - user ID making the request can be determined by checking to - see if the ``user_id`` query parameter was also supplied. If - the parameter is not present, the default application service - user ID should be used (defined as the ``sender_localpart`` - in the registration). If the parameter is present, the given - user ID should be verified to be both registered and in the - application service's namespace. + Note that, as with the rest of the Client-Server API, + Application Services may masquerade as users within their + namespace by giving a ``user_id`` query parameter. In this + situation, the server should verify that the given ``user_id`` + is registered by the appservice, and return it in the response + body. operationId: getTokenOwner security: - accessToken: [] - parameters: - # TODO: Break this out to a template or something (and apply it everywhere) - - in: query - name: user_id - type: string - required: false - description: |- - The user ID to masquerade as. Only applies to application services. + parameters: [] responses: 200: description: From 159ab7313f7bab86b1af7e547478f1e73a5abe5a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 15:50:13 -0700 Subject: [PATCH 342/801] Fix typos in whoami.yaml Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/whoami.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 0ebd0bb78..8f5abdf79 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -58,11 +58,11 @@ paths: description: The user id that owns the access token. 401: description: - The token is not recongized + The token is not recognised examples: application/json: { "errcode": "M_UNKNOWN_TOKEN", - "error": "Unrecongised access token." + "error": "Unrecognised access token." } schema: "$ref": "definitions/error.yaml" From 3121bc0914375f21bc7f2f39996ea33415ec670a Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 7 Mar 2018 07:19:27 +0000 Subject: [PATCH 343/801] Move label descriptions to a separate file --- README.rst | 72 +----------------------------------------------------- 1 file changed, 1 insertion(+), 71 deletions(-) diff --git a/README.rst b/README.rst index 2a359db60..e1ecf6c8c 100644 --- a/README.rst +++ b/README.rst @@ -121,74 +121,4 @@ Issue tracking Issues with the Matrix specification are tracked in `GitHub <https://github.com/matrix-org/matrix-doc/issues>`_. -The following labels are used to help categorize issues: - -`spec-omission <https://github.com/matrix-org/matrix-doc/labels/spec-omission>`_ --------------------------------------------------------------------------------- - -Things which have been implemented but not currently specified. These may range -from entire API endpoints, to particular options or return parameters. - -Issues with this label will have been implemented in `Synapse -<https://github.com/matrix-org/synapse>`_. Normally there will be a design -document in Google Docs or similar which describes the feature. - -Examples: - -* `Spec PUT /directory/list <https://github.com/matrix-org/matrix-doc/issues/417>`_ -* `Unspec'd server_name request param for /join/{roomIdOrAlias} - <https://github.com/matrix-org/matrix-doc/issues/904>`_ - -`clarification <https://github.com/matrix-org/matrix-doc/labels/clarification>`_ --------------------------------------------------------------------------------- - -An area where the spec could do with being more explicit. - -Examples: - -* `Spec the implicit limit on /syncs - <https://github.com/matrix-org/matrix-doc/issues/708>`_ - -* `Clarify the meaning of the currently_active flags in presence events - <https://github.com/matrix-org/matrix-doc/issues/686>`_ - -`spec-bug <https://github.com/matrix-org/matrix-doc/labels/spec-bug>`_ ----------------------------------------------------------------------- - -Something which is in the spec, but is wrong. - -Note: this is *not* for things that are badly designed or don't work well -(for which see 'improvement' or 'feature') - it is for places where the -spec doesn't match reality. - -Examples: - -* `swagger is wrong for directory PUT - <https://github.com/matrix-org/matrix-doc/issues/933>`_ - -* `receipts section still refers to initialSync - <https://github.com/matrix-org/matrix-doc/issues/695>`_ - -`improvement <https://github.com/matrix-org/matrix-doc/labels/improvement>`_ ----------------------------------------------------------------------------- - -A suggestion for a relatively simple improvement to the protocol. - -Examples: - -* `We need a 'remove 3PID' API so that users can remove mappings - <https://github.com/matrix-org/matrix-doc/issues/620>`_ -* `We should mandate that /publicRooms requires an access_token - <https://github.com/matrix-org/matrix-doc/issues/612>`_ - -`feature <https://github.com/matrix-org/matrix-doc/labels/feature>`_ --------------------------------------------------------------------- - -A suggestion for a significant extension to the matrix protocol which -needs considerable consideration before implementation. - -Examples: - -* `Peer-to-peer Matrix <https://github.com/matrix-org/matrix-doc/issues/710>`_ -* `Specify a means for clients to "edit" previous messages - <https://github.com/matrix-org/matrix-doc/issues/682>`_ +See `meta/labels.rst <meta/labels.rst>`_ for notes on what the labels mean. From 93facae3da7143ca4603e45022e5f6ea8900ddda Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 6 Mar 2018 16:23:29 -0700 Subject: [PATCH 344/801] Add instructions on how Windows users can build this project Signed-off-by: Travis Ralston <travpc@gmail.com> --- README.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.rst b/README.rst index e1ecf6c8c..76f4ad55d 100644 --- a/README.rst +++ b/README.rst @@ -64,6 +64,23 @@ To rebuild the specification, use ``scripts/gendoc.py``:: The above will write the rendered version of the specification to ``scripts/gen``. To view it, point your browser at ``scripts/gen/index.html``. +Windows users +~~~~~~~~~~~~~ + +If you're on Windows Vista or higher, be sure that the "Symbolic Links" +option was selected when installing Git prior to cloning this repository. If +you're still seeing errors about files not being found it is likely because +the symlink at ``api/client-server/definitions/event-schemas`` looks like a +file. To correct the problem, open an Administrative/Elevated shell in your +cloned matrix-doc directory and run the following:: + + cd api\client-server\definitions + del event-schemas + mklink /D event-schemas "..\..\..\event-schemas" + +This will delete the file and replace it with a symlink. Git should not detect +this as a change, and you should be able to go back to building the project. + Generating the OpenAPI (Swagger) specs -------------------------------------- From 4f5ad35865528aad939e5a7c975a1a0a2e0dd8b4 Mon Sep 17 00:00:00 2001 From: Vyom Sharma <vyomshm@gmail.com> Date: Wed, 14 Mar 2018 20:57:38 +0530 Subject: [PATCH 345/801] fixed minor typo --- specification/intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/intro.rst b/specification/intro.rst index 1c795cea1..064f9d178 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -116,7 +116,7 @@ model communication history as a partially ordered graph of events known as the room's "event graph", which is synchronised with eventual consistency between the participating servers using the "Server-Server API". This process of synchronising shared conversation history between homeservers run by -different parties is called "Federation". Matrix optimises for the the +different parties is called "Federation". Matrix optimises for the Availability and Partitioned properties of CAP theorem at the expense of Consistency. From 8e97ec8badb5101910ce103bffd69c106f7e28df Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 14 Mar 2018 17:52:10 +0000 Subject: [PATCH 346/801] make the speculator work for rick --- scripts/speculator/main.go | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index e6e310cea..0380a3cd9 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -712,6 +712,7 @@ func main() { "richvdh": true, "ara4n": true, "leonerd": true, + "rxl881": true, } if err := initCache(); err != nil { log.Fatal(err) From cd26c170de42f81fd93a2f56c8becd925d99d687 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Date: Fri, 23 Mar 2018 03:00:49 -0700 Subject: [PATCH 347/801] Specify token used in /login is not an Access Token (#1155) * Specify token used in /login is not an Access Token While working through the implementation of /login in Dendrite, it was confusing what the contents of the token attribute in the login request body referred to. Initially, I thought it was an access token, which led to further confusion. This commit explicitly states that the token is a login token, which is separate from an access token, hopefully reducing confusion for future readers. Signed-off-by: Andrew Morgan (https://amorgan.xyz) <andrew@amorgan.xyz> --- api/client-server/login.yaml | 2 +- specification/client_server_api.rst | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index 03a1622c0..a6e21a389 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -75,7 +75,7 @@ paths: token: type: string description: |- - Required when ``type`` is ``m.login.token``. The login token. + Required when ``type`` is ``m.login.token``. Part of `Token-based`_ login. device_id: type: string description: |- diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 1041dc154..dec3a4f44 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -510,8 +510,9 @@ To use this authentication type, clients should submit an auth dict as follows: The ``nonce`` should be a random string generated by the client for the request. The same ``nonce`` should be used if retrying the request. -There are many ways a client may receive a ``token``, including via an email or -from an existing logged in device. +A client may receive a login ``token`` via some external service, such as email +or SMS. Note that a login token is separate from an access token, the latter +providing general authentication to various API endpoints. The ``txn_id`` may be used by the server to disallow other devices from using the token, thus providing "single use" tokens while still allowing the device From 8d05f80cecfcc4eba78e041aaba8f6ff482864da Mon Sep 17 00:00:00 2001 From: Richard Lewis <richard@smetco.co.uk> Date: Tue, 27 Mar 2018 10:00:41 +0100 Subject: [PATCH 348/801] Sticker messages (m.sticker) (#1158) --- changelogs/client_server.rst | 8 +++ event-schemas/examples/m.sticker | 25 +++++++++ .../msgtype_infos/image_info.yaml | 8 ++- .../msgtype_infos/thumbnail_info.yaml | 8 ++- event-schemas/schema/m.sticker | 34 ++++++++++++ specification/modules/stickers.rst | 53 +++++++++++++++++++ specification/targets.yaml | 1 + 7 files changed, 133 insertions(+), 4 deletions(-) create mode 100644 event-schemas/examples/m.sticker create mode 100644 event-schemas/schema/m.sticker create mode 100644 specification/modules/stickers.rst diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 34fbfdbea..c29f38c76 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -10,8 +10,16 @@ Unreleased changes - ``GET /rooms/{roomId}/event/{eventId}`` (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). + - Sticker messages: + - Add sticker message event definition. + (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). + - Spec clarifications: + - Update ``ImageInfo`` and ``ThumbnailInfo`` dimension schema descriptions + to clarify that they relate to intended display size, as opposed to the + intrinsic size of the image file. + (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). - Mark ``home_server`` return field for ``/login`` and ``/register`` endpoints as deprecated (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). diff --git a/event-schemas/examples/m.sticker b/event-schemas/examples/m.sticker new file mode 100644 index 000000000..f00e5b238 --- /dev/null +++ b/event-schemas/examples/m.sticker @@ -0,0 +1,25 @@ +{ + "age": 242352, + "content": { + "body": "Landing", + "info": { + "mimetype": "image/png", + "thumbnail_info": { + "mimetype": "image/png", + "h": 200, + "w": 140, + "size": 73602 + }, + "h": 200, + "thumbnail_url": "mxc://matrix.org/sHhqkFCvSkFwtmvtETOtKnLP", + "w": 140, + "size": 73602 + }, + "url": "mxc://matrix.org/sHhqkFCvSkFwtmvtETOtKnLP" + }, + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.sticker", + "room_id": "!Cuyf34gef24t:localhost", + "sender": "@example:localhost" +} diff --git a/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml b/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml index b4eab413a..4d2a99646 100644 --- a/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +++ b/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml @@ -2,10 +2,14 @@ $schema: http://json-schema.org/draft-04/schema# description: Metadata about an image. properties: h: - description: The height of the image in pixels. + description: |- + The intended display height of the image in pixels. This may + differ from the intrinsic dimensions of the image file. type: integer w: - description: The width of the image in pixels. + description: |- + The intended display width of the image in pixels. This may + differ from the intrinsic dimensions of the image file. type: integer mimetype: description: The mimetype of the image, e.g. ``image/jpeg``. diff --git a/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml b/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml index 5a233b241..82ffaf5e4 100644 --- a/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +++ b/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml @@ -2,10 +2,14 @@ $schema: http://json-schema.org/draft-04/schema# description: Metadata about a thumbnail image. properties: h: - description: The height of the image in pixels. + description: |- + The intended display height of the image in pixels. This may + differ from the intrinsic dimensions of the image file. type: integer w: - description: The width of the image in pixels. + description: |- + The intended display width of the image in pixels. This may + differ from the intrinsic dimensions of the image file. type: integer mimetype: description: The mimetype of the image, e.g. ``image/jpeg``. diff --git a/event-schemas/schema/m.sticker b/event-schemas/schema/m.sticker new file mode 100644 index 000000000..1dd1173c9 --- /dev/null +++ b/event-schemas/schema/m.sticker @@ -0,0 +1,34 @@ +--- +allOf: + - $ref: core-event-schema/room_event.yaml +description: This message represents a single sticker image. +properties: + content: + properties: + body: + description: |- + A textual representation or associated description of the sticker + image. This could be the alt text of the original image, or a message + to accompany and further describe the sticker. + type: string + info: + allOf: + - $ref: core-event-schema/msgtype_infos/image_info.yaml + description: |- + Metadata about the image referred to in ``url`` including a thumbnail + representation. + url: + description: |- + The URL to the sticker image. This must be a valid ``mxc://`` URI. + type: string + required: + - body + - info + - url + type: object + type: + enum: + - m.sticker + type: string +title: StickerMessage +type: object diff --git a/specification/modules/stickers.rst b/specification/modules/stickers.rst new file mode 100644 index 000000000..346b0d84f --- /dev/null +++ b/specification/modules/stickers.rst @@ -0,0 +1,53 @@ +.. Copyright 2018 New Vector Ltd. +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Sticker Messages +================ + +.. _module:stickers: + +This module allows users to send sticker messages in to rooms or direct +messaging sessions. + +Sticker messages are specialised image messages that are displayed without +controls (e.g. no "download" link, or light-box view on click, as would be +displayed for for `m.image`_ events). + +Sticker messages are intended to provide simple "reaction" events in the message +timeline. The matrix client should provide some mechanism to display the sticker +"body" e.g. as a tooltip on hover, or in a modal when the sticker image is +clicked. + +Events +------ +Sticker events are received as a single ``m.sticker`` event in the +``timeline`` section of a room, in a ``/sync``. + +{{m_sticker_event}} + +Client behaviour +---------------- + +Clients supporting this message type should display the image content from the +event URL directly in the timeline. + +A thumbnail image should be provided in the ``info`` object. This is +largely intended as a fallback for clients that do not fully support the +``m.sticker`` event type. In most cases it is fine to set the thumbnail URL to the +same URL as the main event content. + +It is recommended that sticker image content should be 512x512 pixels in size +or smaller. The dimensions of the image file should be twice the intended +display size specified in the ``info`` object in order to assist +rendering sharp images on higher DPI screens. diff --git a/specification/targets.yaml b/specification/targets.yaml index 122904e98..50a9fb8d5 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -62,6 +62,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/cas_login.rst - modules/dm.rst - modules/ignore_users.rst + - modules/stickers.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From f20fe41e79939f5979a3d903a650be09a26ff6c5 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 27 Mar 2018 11:17:22 +0100 Subject: [PATCH 349/801] travis: disable the installation step --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 03ef6513f..264bfb45e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,5 +4,9 @@ go: sudo: false +# test-and-build does the installation, so tell travis to skip the +# installation step +install: true + script: - ./scripts/test-and-build.sh From f04b17f1c90df655771aa53e71900329cccd1378 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 27 Mar 2018 11:27:23 +0100 Subject: [PATCH 350/801] Fix path to fsnotify Apparently this should be referred to as gopkg.in/fsnotify/fsnotify.v1. I'm not sure what has changed to stop the old format working. --- scripts/continuserv/README | 2 +- scripts/continuserv/main.go | 2 +- scripts/test-and-build.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/continuserv/README b/scripts/continuserv/README index 8ce378501..edb9aef4e 100644 --- a/scripts/continuserv/README +++ b/scripts/continuserv/README @@ -1,6 +1,6 @@ continuserv proactively re-generates the spec on filesystem changes, and serves it over HTTP. To run it, you must install the `go` tool. You will also need to install fsnotify by running: - `go get gopkg.in/fsnotify.v1` + `go get gopkg.in/fsnotify/fsnotify.v1` You can then run continuserv by running: `go run main.go` diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index a6117714b..330ddca73 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -19,7 +19,7 @@ import ( "sync/atomic" "time" - fsnotify "gopkg.in/fsnotify.v1" + fsnotify "gopkg.in/fsnotify/fsnotify.v1" ) var ( diff --git a/scripts/test-and-build.sh b/scripts/test-and-build.sh index cd25ded26..7794f8264 100755 --- a/scripts/test-and-build.sh +++ b/scripts/test-and-build.sh @@ -17,7 +17,7 @@ pip install -r scripts/requirements.txt mkdir -p "${GOPATH}" export GOPATH go get github.com/hashicorp/golang-lru -go get gopkg.in/fsnotify.v1 +go get gopkg.in/fsnotify/fsnotify.v1 # make sure that the scripts build (cd scripts/continuserv && go build) From cac0dd7ff7942a911b48571e4c33196f40a11fc1 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Tue, 27 Mar 2018 11:29:07 +0100 Subject: [PATCH 351/801] travis: Limit git checkout depth --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 264bfb45e..7d84f237d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,10 @@ go: sudo: false +# we only need a single git commit +git: + depth: 1 + # test-and-build does the installation, so tell travis to skip the # installation step install: true From 7448ef0db0166450d23b302c589202f1376034f2 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris <sideris.konstantin@gmail.com> Date: Tue, 3 Apr 2018 13:18:29 +0300 Subject: [PATCH 352/801] Use the correct event_id format on examples Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com> --- api/client-server/redaction.yaml | 2 +- api/client-server/room_send.yaml | 2 +- api/client-server/room_state.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/client-server/redaction.yaml b/api/client-server/redaction.yaml index 752d841a5..581410492 100644 --- a/api/client-server/redaction.yaml +++ b/api/client-server/redaction.yaml @@ -79,7 +79,7 @@ paths: description: "An ID for the redaction event." examples: application/json: { - "event_id": "YUwQidLecu" + "event_id": "$YUwQidLecu:example.com" } schema: type: object diff --git a/api/client-server/room_send.yaml b/api/client-server/room_send.yaml index 0bb1bbcb9..6963f76c0 100644 --- a/api/client-server/room_send.yaml +++ b/api/client-server/room_send.yaml @@ -76,7 +76,7 @@ paths: description: "An ID for the sent event." examples: application/json: { - "event_id": "YUwRidLecu" + "event_id": "$YUwRidLecu:example.com" } schema: type: object diff --git a/api/client-server/room_state.yaml b/api/client-server/room_state.yaml index 042b5eedf..c04fb8039 100644 --- a/api/client-server/room_state.yaml +++ b/api/client-server/room_state.yaml @@ -78,7 +78,7 @@ paths: description: "An ID for the sent event." examples: application/json: { - "event_id": "YUwRidLecu" + "event_id": "$YUwRidLecu:example.com" } schema: type: object @@ -133,7 +133,7 @@ paths: description: "An ID for the sent event." examples: application/json: { - "event_id": "YUwRidLecu" + "event_id": "$YUwRidLecu:example.com" } schema: type: object From 3c7db643c31558abfc03775b8816d46644ea6b12 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Thu, 19 Apr 2018 16:04:47 +0100 Subject: [PATCH 353/801] Update documentation_style.rst spell homeserver --- meta/documentation_style.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 54a74e0b2..698eb0279 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -62,6 +62,9 @@ have English as their first language. Prefer British English (colour, -ise) to American English. +The word "homeserver" is spelt thus (rather than "home server", "Homeserver", +or (argh) "Home Server"). + Lists should: * Be introduced with a colon. From 048de9803ef626f69662e00a4011b3883e68bc19 Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Sun, 22 Apr 2018 22:57:40 -0700 Subject: [PATCH 354/801] Fix typo. --- api/client-server/content-repo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index a17ba21d0..03a25fd97 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -252,7 +252,7 @@ paths: "og:image": type: string description: |- - An MXC URI to the image. Ommitted if there is no image. + An MXC URI to the image. Omitted if there is no image. examples: application/json: { "og:title": "Matrix Blog Post", From 2802fdea7e45768ceb041311380b1be43c3c1d77 Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Tue, 24 Apr 2018 19:28:14 -0700 Subject: [PATCH 355/801] Fix typo. --- specification/modules/tags.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index 0187d791b..25e48ab37 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -35,7 +35,7 @@ the tags are for. Each tag has an associated JSON object with information about the tag, e.g how to order the rooms with a given tag. -Ordering information is given under teh ``order`` key as a number between 0 and +Ordering information is given under the ``order`` key as a number between 0 and 1. The numbers are compared such that 0 is displayed first. Therefore a room with an ``order`` of ``0.2`` would be displayed before a room with an ``order`` of ``0.7``. If a room has a tag without an ``order`` key then it should appear From e18aa30fd26cf77ad27825381371ad924adddc9d Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Wed, 2 May 2018 13:47:01 +0100 Subject: [PATCH 356/801] start generating new proposals page --- scripts/proposals.py | 50 +++++++++++++++++++++++++++++++ specification/proposals.rst | 5 ++++ specification/proposals_intro.rst | 20 +++++++++++++ specification/targets.yaml | 4 +++ 4 files changed, 79 insertions(+) create mode 100644 scripts/proposals.py create mode 100644 specification/proposals.rst create mode 100644 specification/proposals_intro.rst diff --git a/scripts/proposals.py b/scripts/proposals.py new file mode 100644 index 000000000..1e4b8683a --- /dev/null +++ b/scripts/proposals.py @@ -0,0 +1,50 @@ +# proposals.py: generate an RST file (proposals.rst) from queries to github.com/matrix.org/matrix-doc/issues. +# v0.0.1 +# todo: +# use status labels to create separate sections. +# include all fields discussed at https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit# +# format, probably as tables + +import requests +import re +from m2r import convert as m2r + +def getpage(url, page): + resp = requests.get(url + str(page)) + json.extend(resp.json()) + + for link in resp.links.values(): + if link['rel'] == 'last': + return re.search('page=(.+?)', link['url']).group(1) + +json = list() +print("json:" + str(len(json))) +pagecount = getpage('https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=spec-omission&state=open&page=', 1) +print("json:" + str(len(json))) +print("pagecount:" + str(pagecount)) +for page in range(2, int(pagecount) + 1): + getpage('https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=spec-omission&state=open&page=', page) + print("json:" + str(len(json))) + print("currentpage:" + str(page)) + print("pagecount:" + str(pagecount)) + print("json:" + str(len(json))) + + +text_file = open("../specification/proposals.rst", "w") + +text_file.write(".. contents:: Table of Contents\n") +text_file.write(".. sectnum::") +text_file.write("\n") +text_file.write("\n") +text_file.write("The Proposals List\n------------------\n") +# text_file.write(json[0]['user']['login']) + +for item in json: + prop_header = item['title'] + " (" + str(item['number']) + ")" + text_file.write(prop_header + "\n") + text_file.write("~" * len(prop_header)) + text_file.write("\n\n") + body = m2r(str(item['body'])) + text_file.write(body + "\n\n\n") + +text_file.close() diff --git a/specification/proposals.rst b/specification/proposals.rst new file mode 100644 index 000000000..5a1f02c07 --- /dev/null +++ b/specification/proposals.rst @@ -0,0 +1,5 @@ +.. contents:: Table of Contents +.. sectnum:: + +The Proposals List +------------------ diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst new file mode 100644 index 000000000..672c34681 --- /dev/null +++ b/specification/proposals_intro.rst @@ -0,0 +1,20 @@ +.. contents:: Table of Contents +.. sectnum:: + +Proposals for Spec Changes to Matrix +------------------------------------ + +Proposal Tracking +----------------- + +This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ on GitHub. + +We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label: + +- WIP +- Ready for review +- In review +- Merged +- Rejected +- Stalled + diff --git a/specification/targets.yaml b/specification/targets.yaml index 50a9fb8d5..8ca5ce303 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -38,6 +38,10 @@ targets: - appendices/threepids.rst - appendices/threat_model.rst - appendices/test_vectors.rst + proposals: + files: + - proposals_intro.rst + - proposals.rst groups: # reusable blobs of files when prefixed with 'group:' modules: - modules/instant_messaging.rst From 2783820f98b02f01dd2d55aca1e05fc3e78a617d Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 3 May 2018 12:23:24 +0100 Subject: [PATCH 357/801] Initial draft of GET media/limits --- api/client-server/content-repo.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 03a25fd97..6e3ba273c 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -269,3 +269,30 @@ paths: "$ref": "definitions/error.yaml" tags: - Media + "/limits": + get: + summary: Get limits on what can be uploaded to the content repository. + Clients SHOULD use this as a guide when uploading content. + All values are intentionally left optional, the client MUST assume + that any field not given is not limited. + + **NOTE:** Reverse proxies may apply their own limits. + operationId: getLimits + produces: ["application/json"] + security: + - accessToken: [] + responses: + 200: + description: The limits exposed by the matrix server. + schema: + type: object + properties: + size: + type: number + description: "The maximum size a upload can be in bytes." + examples: + application/json: { + "size": 50000000 + } + tags: + - Media From c9abf36097f1f4a3a2086c6629e9ab8112c035d2 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 3 May 2018 16:58:22 +0100 Subject: [PATCH 358/801] size > upload_size --- api/client-server/content-repo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 6e3ba273c..cfcb00dd4 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -287,12 +287,12 @@ paths: schema: type: object properties: - size: + upload_size: type: number description: "The maximum size a upload can be in bytes." examples: application/json: { - "size": 50000000 + "upload_size": 50000000 } tags: - Media From de6fe1b76e325380eef7110364c0e11ac2d014d2 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 3 May 2018 18:00:50 +0100 Subject: [PATCH 359/801] Add note about auth --- api/client-server/content-repo.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index cfcb00dd4..97a7d8f95 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -277,6 +277,9 @@ paths: that any field not given is not limited. **NOTE:** Reverse proxies may apply their own limits. + + If auth is not supplied, this endpoint gives the global limit of the server. + Otherwise it should give the limits applied to the authenticated user. operationId: getLimits produces: ["application/json"] security: From ffc8ee298adfc90a2b21801636927cbcff78b969 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Tue, 8 May 2018 11:50:34 +0100 Subject: [PATCH 360/801] a upload > an upload --- api/client-server/content-repo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 97a7d8f95..cf7b5f25d 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -292,7 +292,7 @@ paths: properties: upload_size: type: number - description: "The maximum size a upload can be in bytes." + description: "The maximum size an upload can be in bytes." examples: application/json: { "upload_size": 50000000 From 1f7fbefd53394120411d8af10d0198548cfe8d27 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 8 May 2018 12:17:38 +0100 Subject: [PATCH 361/801] start using a table --- scripts/proposals.py | 50 +++++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 1e4b8683a..4ba4d0ee6 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -7,6 +7,7 @@ import requests import re +from datetime import datetime from m2r import convert as m2r def getpage(url, page): @@ -18,32 +19,57 @@ def getpage(url, page): return re.search('page=(.+?)', link['url']).group(1) json = list() -print("json:" + str(len(json))) +# labels = ['p1', p2] +# new status labels: +# proposal-ready-for-review,rejected,stalled,merged,spec-pr-in-review,proposal-wip,proposal-in-review,spec-pr-ready-for-review,proposal-passed-review +urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=p1,p2,p3,p4,p5&state=open&page=' pagecount = getpage('https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=spec-omission&state=open&page=', 1) -print("json:" + str(len(json))) -print("pagecount:" + str(pagecount)) for page in range(2, int(pagecount) + 1): - getpage('https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=spec-omission&state=open&page=', page) - print("json:" + str(len(json))) - print("currentpage:" + str(page)) - print("pagecount:" + str(pagecount)) - print("json:" + str(len(json))) + getpage(urlbase, page) text_file = open("../specification/proposals.rst", "w") -text_file.write(".. contents:: Table of Contents\n") -text_file.write(".. sectnum::") -text_file.write("\n") +text_file.write("Tables\n------------------\n\n.. list-table::\n :header-rows: 1\n\n") + +text_file.write(" * - ID\n") +text_file.write(" - github username\n") +text_file.write(" - proposal title\n") +text_file.write(" - created_at\n") +text_file.write(" - updated_at\n") +text_file.write(" - maindoc\n") + +#`matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ +for item in json: + maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) + if maindoc is not None: + maindoc = maindoc.group(1) + text_file.write(" * - `" + str(item['number']) + " <" + item['html_url'] + ">`_\n") + text_file.write(" - " + item['user']['login'] + "\n") + text_file.write(" - " + item['title'] + "\n") + text_file.write(" - " + item['created_at'] + "\n") + text_file.write(" - " + item['updated_at'] + "\n") + text_file.write(" - " + str(maindoc) + "\n") + text_file.write("\n") + + text_file.write("The Proposals List\n------------------\n") # text_file.write(json[0]['user']['login']) - for item in json: + # write a header prop_header = item['title'] + " (" + str(item['number']) + ")" text_file.write(prop_header + "\n") text_file.write("~" * len(prop_header)) text_file.write("\n\n") + + # write some metadata + text_file.write(item['created_at'] + "\n") + text_file.write(item['updated_at'] + "\n") + # created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") + + + # write body text body = m2r(str(item['body'])) text_file.write(body + "\n\n\n") From c58dc59ffe89c3f3e8bf232a53ea490ef7861a55 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 8 May 2018 14:43:06 +0100 Subject: [PATCH 362/801] separate tables by label --- scripts/proposals.py | 103 +++++++++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 43 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 4ba4d0ee6..171db0691 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -10,67 +10,84 @@ import re from datetime import datetime from m2r import convert as m2r +pagecount = 1 + def getpage(url, page): resp = requests.get(url + str(page)) - json.extend(resp.json()) for link in resp.links.values(): if link['rel'] == 'last': - return re.search('page=(.+?)', link['url']).group(1) + pagecount = re.search('page=(.+?)', link['url']).group(1) + + return resp.json() + +def getbylabel(label): + pagecount = 1 + json = list() + urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=open&labels=' + label + '&page=' + print(urlbase) + json.extend(getpage(urlbase, 1)) + for page in range(2, int(pagecount) + 1): + getpage(urlbase, page) + + return json -json = list() -# labels = ['p1', p2] # new status labels: # proposal-ready-for-review,rejected,stalled,merged,spec-pr-in-review,proposal-wip,proposal-in-review,spec-pr-ready-for-review,proposal-passed-review -urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=p1,p2,p3,p4,p5&state=open&page=' -pagecount = getpage('https://api.github.com/repos/matrix-org/matrix-doc/issues?labels=spec-omission&state=open&page=', 1) -for page in range(2, int(pagecount) + 1): - getpage(urlbase, page) +labels = ['p1', 'p2'] +issues = {} +for label in labels: + issues[label] = getbylabel(label) + print(issues) text_file = open("../specification/proposals.rst", "w") -text_file.write("Tables\n------------------\n\n.. list-table::\n :header-rows: 1\n\n") - -text_file.write(" * - ID\n") -text_file.write(" - github username\n") -text_file.write(" - proposal title\n") -text_file.write(" - created_at\n") -text_file.write(" - updated_at\n") -text_file.write(" - maindoc\n") - -#`matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ -for item in json: - maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) - if maindoc is not None: - maindoc = maindoc.group(1) - text_file.write(" * - `" + str(item['number']) + " <" + item['html_url'] + ">`_\n") - text_file.write(" - " + item['user']['login'] + "\n") - text_file.write(" - " + item['title'] + "\n") - text_file.write(" - " + item['created_at'] + "\n") - text_file.write(" - " + item['updated_at'] + "\n") - text_file.write(" - " + str(maindoc) + "\n") +text_file.write("Tables\n------------------\n\n") + + +for label in labels: + text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") + text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n\n") + text_file.write(" * - ID\n") + text_file.write(" - github username\n") + text_file.write(" - proposal title\n") + text_file.write(" - created_at\n") + text_file.write(" - updated_at\n") + text_file.write(" - maindoc\n") + + for item in issues[label]: + maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) + if maindoc is not None: + maindoc = maindoc.group(1) + text_file.write(" * - `" + str(item['number']) + " <" + item['html_url'] + ">`_\n") + text_file.write(" - " + item['user']['login'] + "\n") + text_file.write(" - " + item['title'] + "\n") + text_file.write(" - " + item['created_at'] + "\n") + text_file.write(" - " + item['updated_at'] + "\n") + text_file.write(" - " + str(maindoc) + "\n") + text_file.write("\n\n\n") text_file.write("\n") -text_file.write("The Proposals List\n------------------\n") -# text_file.write(json[0]['user']['login']) -for item in json: - # write a header - prop_header = item['title'] + " (" + str(item['number']) + ")" - text_file.write(prop_header + "\n") - text_file.write("~" * len(prop_header)) - text_file.write("\n\n") +# text_file.write("The Proposals List\n------------------\n") +# # text_file.write(json[0]['user']['login']) +# for item in json: +# # write a header +# prop_header = item['title'] + " (" + str(item['number']) + ")" +# text_file.write(prop_header + "\n") +# text_file.write("~" * len(prop_header)) +# text_file.write("\n\n") - # write some metadata - text_file.write(item['created_at'] + "\n") - text_file.write(item['updated_at'] + "\n") - # created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") +# # write some metadata +# text_file.write(item['created_at'] + "\n") +# text_file.write(item['updated_at'] + "\n") +# # created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") - # write body text - body = m2r(str(item['body'])) - text_file.write(body + "\n\n\n") +# # write body text +# body = m2r(str(item['body'])) +# text_file.write(body + "\n\n\n") text_file.close() From 9e37d15c8fce944c458068f7c94aae7c08daed02 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 8 May 2018 15:11:15 +0100 Subject: [PATCH 363/801] little ascii diagram of process --- specification/proposals_intro.rst | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 672c34681..ebc43b9a9 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -4,6 +4,7 @@ Proposals for Spec Changes to Matrix ------------------------------------ + Proposal Tracking ----------------- @@ -18,3 +19,28 @@ We use labels and some metadata in the issue text to generate this page. When ad - Rejected - Stalled +:: + + +----------+ +-------------------+ +-----------+ +---------------+ + | | | | | | | | + | Proposal +-----> Proposal +-----> Proposal +-----> Proposal +------+ + | WIP | | Ready for Review | | In Review | | Passed Review | | + | | | | | | | | | + +----------+ +-------------------+ +-----------+ +---------------+ | + | + +---------------------------------------------------------------------------------------+ + | + | +---------------------+ +-----------+ +-----------+ + | | | | | |-----------| + +--> Spec +-----> Spec PR | || || + | PR Ready for Review | | In Review +-----------------------> Merged || + | | | | || || + +---------------------+ +-+-------+-+ |-----------| + | | +-----------+ + +-------+ +--------+ + | | + +-----v----+ +-----v----+ + | | | | + | Stalled | | Rejected | + | | | | + +----------+ +----------+ From a78f7b38e9d565d7e1af4d62159a4296bf65ede2 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 8 May 2018 15:35:46 +0100 Subject: [PATCH 364/801] generator is now usable --- scripts/proposals.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 171db0691..5bc3b9584 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -33,8 +33,10 @@ def getbylabel(label): return json # new status labels: -# proposal-ready-for-review,rejected,stalled,merged,spec-pr-in-review,proposal-wip,proposal-in-review,spec-pr-ready-for-review,proposal-passed-review -labels = ['p1', 'p2'] +# labels = ['proposal-wip', 'proposal-ready-for-review', +# 'proposal-in-review', 'proposal-passed-review', +# 'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'stalled', 'rejected' ] +labels = ['p1', 'p2', 'p3', 'p4', 'p5'] issues = {} for label in labels: @@ -49,23 +51,33 @@ text_file.write("Tables\n------------------\n\n") for label in labels: text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n\n") - text_file.write(" * - ID\n") + text_file.write(" * - MSC\n") text_file.write(" - github username\n") text_file.write(" - proposal title\n") text_file.write(" - created_at\n") text_file.write(" - updated_at\n") text_file.write(" - maindoc\n") + text_file.write(" - author\n") + text_file.write(" - shepherd\n") for item in issues[label]: - maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) - if maindoc is not None: - maindoc = maindoc.group(1) - text_file.write(" * - `" + str(item['number']) + " <" + item['html_url'] + ">`_\n") + text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n") text_file.write(" - " + item['user']['login'] + "\n") text_file.write(" - " + item['title'] + "\n") - text_file.write(" - " + item['created_at'] + "\n") - text_file.write(" - " + item['updated_at'] + "\n") + created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") + text_file.write(" - " + created.strftime('%Y-%m-%d') + "\n") + updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ") + text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n") + maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) + if maindoc is not None: maindoc = maindoc.group(1) text_file.write(" - " + str(maindoc) + "\n") + author = re.search('Author: (.+?)\n', str(item['body'])) + if author is not None: author = author.group(1) + #if author is None: author = item['user']['login'] + text_file.write(" - " + str(author) + "\n") + shepherd = re.search('Shepherd: (.+?)\n', str(item['body'])) + if shepherd is not None: shepherd = shepherd.group(1) + text_file.write(" - " + str(shepherd) + "\n") text_file.write("\n\n\n") text_file.write("\n") From dc2b53318b38f84d0a7e373a5450452c779ddd8b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Wed, 9 May 2018 11:32:31 +0100 Subject: [PATCH 365/801] prettify ID column --- scripts/proposals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 5bc3b9584..62a94dbaf 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -50,7 +50,7 @@ text_file.write("Tables\n------------------\n\n") for label in labels: text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") - text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n\n") + text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") text_file.write(" - github username\n") text_file.write(" - proposal title\n") From 866b0b6348dc6a052f41c76319e8b62b61cf915a Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 10 May 2018 16:02:55 +0100 Subject: [PATCH 366/801] I mostly play with ascii art --- scripts/proposals.py | 15 +++++--- specification/proposals_intro.rst | 64 ++++++++++++++++++++----------- 2 files changed, 50 insertions(+), 29 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 62a94dbaf..075e31182 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -33,10 +33,10 @@ def getbylabel(label): return json # new status labels: -# labels = ['proposal-wip', 'proposal-ready-for-review', -# 'proposal-in-review', 'proposal-passed-review', -# 'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'stalled', 'rejected' ] -labels = ['p1', 'p2', 'p3', 'p4', 'p5'] +labels = ['proposal-wip', 'proposal-ready-for-review', + 'proposal-in-review', 'proposal-passed-review', + 'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'abandoned', 'rejected', 'blocked' ] +#labels = ['p1', 'p2', 'p3', 'p4', 'p5'] issues = {} for label in labels: @@ -49,6 +49,9 @@ text_file.write("Tables\n------------------\n\n") for label in labels: + if (len(issues[label]) == 0): + continue + text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") @@ -68,10 +71,10 @@ for label in labels: text_file.write(" - " + created.strftime('%Y-%m-%d') + "\n") updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ") text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n") - maindoc = re.search('Documentation: (.+?)\n', str(item['body'])) + maindoc = re.search('^Documentation: (.+?)\n', str(item['body'])) if maindoc is not None: maindoc = maindoc.group(1) text_file.write(" - " + str(maindoc) + "\n") - author = re.search('Author: (.+?)\n', str(item['body'])) + author = re.search('^Author: (.+?)\n', str(item['body']), flags=re.MULTILINE) if author is not None: author = author.group(1) #if author is None: author = item['user']['login'] text_file.write(" - " + str(author) + "\n") diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index ebc43b9a9..3f3f5caa4 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -21,26 +21,44 @@ We use labels and some metadata in the issue text to generate this page. When ad :: - +----------+ +-------------------+ +-----------+ +---------------+ - | | | | | | | | - | Proposal +-----> Proposal +-----> Proposal +-----> Proposal +------+ - | WIP | | Ready for Review | | In Review | | Passed Review | | - | | | | | | | | | - +----------+ +-------------------+ +-----------+ +---------------+ | - | - +---------------------------------------------------------------------------------------+ - | - | +---------------------+ +-----------+ +-----------+ - | | | | | |-----------| - +--> Spec +-----> Spec PR | || || - | PR Ready for Review | | In Review +-----------------------> Merged || - | | | | || || - +---------------------+ +-+-------+-+ |-----------| - | | +-----------+ - +-------+ +--------+ - | | - +-----v----+ +-----v----+ - | | | | - | Stalled | | Rejected | - | | | | - +----------+ +----------+ + + + + Proposals | Spec PRs | Other States + +-------+ | +------+ | +----------+ + | | + | | + +----------+ | +------------------+ | +---------+ + | | | | | | | | + | Proposal | | +-> Spec PR | | | Blocked | + | WIP | | | | Ready for Review | | | | + | | | | | | | +---------+ + +----+-----+ | | +---------+--------+ | + | | | | | + | | | | | +-----------+ + +--------v----------+ | | +-----v-----+ | | | + | | | | | | | | Abandoned | + | Proposal | | | | Spec PR | | | | + | Ready for Review | | | | In Review | | +-----------+ + | | | | | | | + +----------+--------+ | | +-----+-----+ | +-----------+ + | | | | | | | + | | | | | | Obsolete | + +------v----+ | | | | | | + | | | | +-----------+ | +-----------+ + | Proposal | | | |-----v-----| | + | In Review | | | || || | + | | | | || Merged || | +----------+ + +----+------+ | | || || | | | + | | | |-----------| | | Rejected | + | | | +-----------+ | | | + +------v--------+ | | | +----------+ + | | | | | + | Proposal | | | | + | Passed Review | | | | + | | | | | + +-------+-------+ | | | + | | | | + | | | | + +---------------+ | + | | + + + + From 73b7faddd4565cfbe9a6c17f0ddf263174feb73c Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Fri, 11 May 2018 20:47:27 +0100 Subject: [PATCH 367/801] handle multiple Google Docs --- scripts/proposals.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 075e31182..dcd49b881 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -51,7 +51,7 @@ text_file.write("Tables\n------------------\n\n") for label in labels: if (len(issues[label]) == 0): continue - + text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") @@ -72,8 +72,13 @@ for label in labels: updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ") text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n") maindoc = re.search('^Documentation: (.+?)\n', str(item['body'])) - if maindoc is not None: maindoc = maindoc.group(1) - text_file.write(" - " + str(maindoc) + "\n") + if maindoc is not None: + maindoc = maindoc.group(1) + doc_list_formatted = ["`" + str(item['number']) + "-" + str(i) + " <" + x.strip() + ">`_" for i, x in enumerate(maindoc.split(','),1)] + text_file.write(" - " + ', '.join(doc_list_formatted)) + else: + text_file.write(" - ") + text_file.write("\n") author = re.search('^Author: (.+?)\n', str(item['body']), flags=re.MULTILINE) if author is not None: author = author.group(1) #if author is None: author = item['user']['login'] From cbdd33a5f5da544295fe4ff130678f59337555ea Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Fri, 11 May 2018 21:23:06 +0100 Subject: [PATCH 368/801] single authors and shepherds link correctly --- scripts/proposals.py | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index dcd49b881..138a589c2 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -11,6 +11,7 @@ from datetime import datetime from m2r import convert as m2r pagecount = 1 +authors = set() def getpage(url, page): resp = requests.get(url + str(page)) @@ -55,7 +56,7 @@ for label in labels: text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") - text_file.write(" - github username\n") + #text_file.write(" - github username\n") text_file.write(" - proposal title\n") text_file.write(" - created_at\n") text_file.write(" - updated_at\n") @@ -65,7 +66,7 @@ for label in labels: for item in issues[label]: text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n") - text_file.write(" - " + item['user']['login'] + "\n") + #text_file.write(" - " + item['user']['login'] + "\n") text_file.write(" - " + item['title'] + "\n") created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") text_file.write(" - " + created.strftime('%Y-%m-%d') + "\n") @@ -81,33 +82,19 @@ for label in labels: text_file.write("\n") author = re.search('^Author: (.+?)\n', str(item['body']), flags=re.MULTILINE) if author is not None: author = author.group(1) - #if author is None: author = item['user']['login'] - text_file.write(" - " + str(author) + "\n") + else: author = "@" + item['user']['login'] + authors.add(author.strip()) + text_file.write(" - `" + str(author.strip()) + "`_" + "\n") shepherd = re.search('Shepherd: (.+?)\n', str(item['body'])) - if shepherd is not None: shepherd = shepherd.group(1) + if shepherd is not None: + authors.add(shepherd.group(1).strip()) + shepherd = "`" + shepherd.group(1).strip() + "`_" text_file.write(" - " + str(shepherd) + "\n") text_file.write("\n\n\n") text_file.write("\n") - -# text_file.write("The Proposals List\n------------------\n") -# # text_file.write(json[0]['user']['login']) -# for item in json: -# # write a header -# prop_header = item['title'] + " (" + str(item['number']) + ")" -# text_file.write(prop_header + "\n") -# text_file.write("~" * len(prop_header)) -# text_file.write("\n\n") - -# # write some metadata -# text_file.write(item['created_at'] + "\n") -# text_file.write(item['updated_at'] + "\n") -# # created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") - - -# # write body text -# body = m2r(str(item['body'])) -# text_file.write(body + "\n\n\n") +for author in authors: + text_file.write("\n.. _" + author + ": https://github.com/" + author[1:]) text_file.close() From 3b84de383c2b825f3197edc6ddfe4f01b23f90e2 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Sat, 12 May 2018 10:30:52 +0100 Subject: [PATCH 369/801] cleanup and include all content --- scripts/proposals.py | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 138a589c2..c3d65678f 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -56,7 +56,6 @@ for label in labels: text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") - #text_file.write(" - github username\n") text_file.write(" - proposal title\n") text_file.write(" - created_at\n") text_file.write(" - updated_at\n") @@ -65,13 +64,26 @@ for label in labels: text_file.write(" - shepherd\n") for item in issues[label]: + # MSC number text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n") - #text_file.write(" - " + item['user']['login'] + "\n") + + # title from Github issue text_file.write(" - " + item['title'] + "\n") - created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") - text_file.write(" - " + created.strftime('%Y-%m-%d') + "\n") + + # created date, find local field, otherwise Github + created = re.search('^Date: (.+?)\n', str(item['body']), flags=re.MULTILINE) + if created is not None: + created = created.group(1).strip() + else : + created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") + created = created.strftime('%Y-%m-%d') + text_file.write(" - " + created + "\n") + + # last updated, purely Github updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ") text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n") + + # list of document links (urls comma-separated) maindoc = re.search('^Documentation: (.+?)\n', str(item['body'])) if maindoc is not None: maindoc = maindoc.group(1) @@ -80,11 +92,23 @@ for label in labels: else: text_file.write(" - ") text_file.write("\n") + + # author list, if missing just use Github issue creator author = re.search('^Author: (.+?)\n', str(item['body']), flags=re.MULTILINE) - if author is not None: author = author.group(1) - else: author = "@" + item['user']['login'] - authors.add(author.strip()) - text_file.write(" - `" + str(author.strip()) + "`_" + "\n") + if author is not None: + author_list_formatted = set() + author_list = author.group(1) + for a in author_list.split(","): + authors.add(a.strip()) + author_list_formatted.add("`" + str(a.strip()) + "`_") + text_file.write(" - " + ', '.join(author_list_formatted)) + else: + author = "@" + item['user']['login'] + authors.add(author) + text_file.write(" - `" + str(author) + "`_") + text_file.write("\n") + + # shepherd (currnely only one) shepherd = re.search('Shepherd: (.+?)\n', str(item['body'])) if shepherd is not None: authors.add(shepherd.group(1).strip()) From 3b4e56c4e085bc33bd9ae58c870c4f6558699b8d Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 14 May 2018 09:48:54 +0100 Subject: [PATCH 370/801] handle dd/mm/yyyy and yyyy-mm-dd dates in text --- scripts/proposals.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/proposals.py b/scripts/proposals.py index c3d65678f..a27961ff4 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -74,6 +74,18 @@ for label in labels: created = re.search('^Date: (.+?)\n', str(item['body']), flags=re.MULTILINE) if created is not None: created = created.group(1).strip() + try: + created = datetime.strptime(created, "%d/%m/%Y") + created = created.strftime('%Y-%m-%d') + except: + pass + + try: + created = datetime.strptime(created, "%Y-%m-%d") + created = created.strftime('%Y-%m-%d') + except: + pass + else : created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") created = created.strftime('%Y-%m-%d') From 867307af8be08fae5420b58e3beaba88b0e3656b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 14 May 2018 09:57:43 +0100 Subject: [PATCH 371/801] new flow --- specification/proposals_intro.rst | 55 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 3f3f5caa4..d5687d015 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -26,39 +26,40 @@ We use labels and some metadata in the issue text to generate this page. When ad +-------+ | +------+ | +----------+ | | | | - +----------+ | +------------------+ | +---------+ - | | | | | | | | - | Proposal | | +-> Spec PR | | | Blocked | - | WIP | | | | Ready for Review | | | | - | | | | | | | +---------+ - +----+-----+ | | +---------+--------+ | + +----------+ | +---------+ | +---------+ + | | | | | | | | + | Proposal | | +------> Spec PR | | | Blocked | + | WIP | | | | Missing | | | | + | | | | | | | +---------+ + +----+-----+ | | +----+----+ | | | | | | | | | | | +-----------+ - +--------v----------+ | | +-----v-----+ | | | - | | | | | | | | Abandoned | - | Proposal | | | | Spec PR | | | | - | Ready for Review | | | | In Review | | +-----------+ - | | | | | | | - +----------+--------+ | | +-----+-----+ | +-----------+ - | | | | | | | + +--------v----------+ | | | | | | + | | | | +---------v--------+ | | Abandoned | + | Proposal | | | | | | | | + | Ready for Review | | | | Spec PR | | +-----------+ + | | | | | Ready for Review | | + +----------+--------+ | | | | | +-----------+ + | | | +---------+--------+ | | | | | | | | | Obsolete | +------v----+ | | | | | | - | | | | +-----------+ | +-----------+ - | Proposal | | | |-----v-----| | - | In Review | | | || || | - | | | | || Merged || | +----------+ - +----+------+ | | || || | | | - | | | |-----------| | | Rejected | - | | | +-----------+ | | | - +------v--------+ | | | +----------+ - | | | | | - | Proposal | | | | - | Passed Review | | | | - | | | | | - +-------+-------+ | | | - | | | | + | | | | +-----v-----+ | +-----------+ + | Proposal | | | | | | + | In Review | | | | Spec PR | | + | | | | | In Review | | +----------+ + +----+------+ | | | | | | | + | | | +-----+-----+ | | Rejected | + | | | | | | | + +------v--------+ | | | | +----------+ + | | | | | | + | Proposal | | | +----v----+ | + | Passed Review | | | | | | + | | | | | Merged! | | + +-------+-------+ | | | | | + | | | +---------+ | | | | | +---------------+ | | | + + + From 120fa92078f28202b949e0068893fbd78f30dbff Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 14 May 2018 10:25:10 +0100 Subject: [PATCH 372/801] update intro --- specification/proposals_intro.rst | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index d5687d015..c87f5d1d4 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -10,14 +10,17 @@ Proposal Tracking This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ on GitHub. -We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label: +We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label per the diagram below, these labels already exist in the matrix-doc repo. + +Other metadata: + +- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. +- Please use the github issue title to set the title. +- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. +- Updated Date is taken from github. +- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue text. Please make sure @username is a github user (include the @!) +- Shepherd is set by adding a "Shepherd: @username" line in the body of the issue text. Again, make sure this is a real Github user. -- WIP -- Ready for review -- In review -- Merged -- Rejected -- Stalled :: From e87f1f26198a14d837a0bfe3a0953fb8ca052c3b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 14 May 2018 11:32:40 +0100 Subject: [PATCH 373/801] include PRs in tables --- scripts/proposals.py | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index a27961ff4..aa9ba5d31 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -12,6 +12,7 @@ from m2r import convert as m2r pagecount = 1 authors = set() +prs = set() def getpage(url, page): resp = requests.get(url + str(page)) @@ -35,8 +36,8 @@ def getbylabel(label): # new status labels: labels = ['proposal-wip', 'proposal-ready-for-review', - 'proposal-in-review', 'proposal-passed-review', - 'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'abandoned', 'rejected', 'blocked' ] + 'proposal-in-review', 'proposal-passed-review', 'spec-pr-missing', + 'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'abandoned', 'rejected', 'blocked', 'obsolete' ] #labels = ['p1', 'p2', 'p3', 'p4', 'p5'] issues = {} @@ -56,12 +57,13 @@ for label in labels: text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n") text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n") text_file.write(" * - MSC\n") - text_file.write(" - proposal title\n") - text_file.write(" - created_at\n") - text_file.write(" - updated_at\n") - text_file.write(" - maindoc\n") - text_file.write(" - author\n") - text_file.write(" - shepherd\n") + text_file.write(" - Proposal Title\n") + text_file.write(" - Creation Date\n") + text_file.write(" - Update Date\n") + text_file.write(" - Documenation\n") + text_file.write(" - Author\n") + text_file.write(" - Shepherd\n") + text_file.write(" - PRs\n") for item in issues[label]: # MSC number @@ -126,6 +128,20 @@ for label in labels: authors.add(shepherd.group(1).strip()) shepherd = "`" + shepherd.group(1).strip() + "`_" text_file.write(" - " + str(shepherd) + "\n") + + # PRs + pr_list = re.search('PRs: (.+?)\n', str(item['body'])) + if pr_list is not None: + pr_list_formatted = set() + pr_list = pr_list.group(1) + for p in pr_list.split(","): + prs.add(p.strip()) + pr_list_formatted.add("`PR" + str(p.strip()) + "`_") + text_file.write(" - " + ', '.join(pr_list_formatted)) + text_file.write("\n") + else: + text_file.write(" - \n") + text_file.write("\n\n\n") text_file.write("\n") @@ -133,4 +149,7 @@ text_file.write("\n") for author in authors: text_file.write("\n.. _" + author + ": https://github.com/" + author[1:]) +for pr in prs: + text_file.write("\n.. _PR" + pr + ": https://github.com/matrix-org/matrix-doc/pull/" + pr) + text_file.close() From b8f38b21a7627adfccdb868416aaa23fd55ee075 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 14 May 2018 14:25:12 +0100 Subject: [PATCH 374/801] update introductory text --- scripts/proposals.py | 2 +- specification/proposals_intro.rst | 35 +++++++++++++++++-------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index aa9ba5d31..0b0717d95 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -47,7 +47,7 @@ for label in labels: text_file = open("../specification/proposals.rst", "w") -text_file.write("Tables\n------------------\n\n") +text_file.write("Tables of Tracked Proposals\n---------------------------\n\n") for label in labels: diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index c87f5d1d4..d6d79c929 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -3,24 +3,13 @@ Proposals for Spec Changes to Matrix ------------------------------------ +The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: +- produce a publicly-accessible Google Doc describing you change +- make a new issue at https://github.com/matrix-org/matrix-doc/issues with the metadata appropriate to the section below +- make a new PR which includes the proposed changed at https://github.com/matrix-org/matrix-doc/tree/master/specification -Proposal Tracking ------------------ - -This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ on GitHub. - -We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label per the diagram below, these labels already exist in the matrix-doc repo. - -Other metadata: - -- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. -- Please use the github issue title to set the title. -- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. -- Updated Date is taken from github. -- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue text. Please make sure @username is a github user (include the @!) -- Shepherd is set by adding a "Shepherd: @username" line in the body of the issue text. Again, make sure this is a real Github user. - +The process for handling proposals is described in the following diagram. Note that there are corresponding labels for each stage available in the matrix-doc issue tracker. :: @@ -65,4 +54,18 @@ Other metadata: | | + + +Proposal Tracking +----------------- + +This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ on GitHub. + +We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label per the diagram above, these labels already exist in the matrix-doc repo. + +Other metadata: +- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. +- Please use the github issue title to set the title. +- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. +- Updated Date is taken from github. +- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue text. Please make sure @username is a github user (include the @!) +- Shepherd is set by adding a "Shepherd: @username" line in the body of the issue text. Again, make sure this is a real Github user. From 34140a785d52475c8898a5b9de9985b64eaec3cd Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Mon, 14 May 2018 16:02:48 +0200 Subject: [PATCH 375/801] fix typo in delete device --- api/client-server/device_management.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/device_management.yaml b/api/client-server/device_management.yaml index 2f7d322bc..030ed8311 100644 --- a/api/client-server/device_management.yaml +++ b/api/client-server/device_management.yaml @@ -139,7 +139,7 @@ paths: description: |- This API endpoint uses the `User-Interactive Authentication API`_. - Deletes the given device, and invalidates any access token assoicated with it. + Deletes the given device, and invalidates any access token associated with it. operationId: deleteDevice security: - accessToken: [] From 8c469e51cbf01caca3f2551e367dcd74de66d36d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:05:28 +0100 Subject: [PATCH 376/801] lots of tweaks to the MSC verbiage --- specification/proposals_intro.rst | 47 +++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index d6d79c929..f1a3adb65 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -3,13 +3,23 @@ Proposals for Spec Changes to Matrix ------------------------------------ + The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: -- produce a publicly-accessible Google Doc describing you change -- make a new issue at https://github.com/matrix-org/matrix-doc/issues with the metadata appropriate to the section below -- make a new PR which includes the proposed changed at https://github.com/matrix-org/matrix-doc/tree/master/specification +- produce a publicly-accessible proposal describing your change: + - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. + - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. + - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. + - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their trade-offs. + - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. +- make a new issue at https://github.com/matrix-org/matrix-doc/issues, whose description should list the metadata as per below. +- Gather feedback as widely as possible from the community and core team on the proposal. + - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. + - Iterating on the proposal and getting consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. +- Once the proposal has consensus and passed review, you **must** show an implementation to prove that it works well in practice, before before a spec PR will be accepted. Iterate on the proposal if needed. +- Finally, please make a new spec PR which includes the proposed changes against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! -The process for handling proposals is described in the following diagram. Note that there are corresponding labels for each stage available in the matrix-doc issue tracker. +The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. :: @@ -54,18 +64,37 @@ The process for handling proposals is described in the following diagram. Note t | | + + +Lifetime States +--------------- + +=========================== ======================================================= +Proposal WIP A proposal document which is still work-in-progress but is being shared to incorporate feedback +Proposal Ready for Review A proposal document which is now ready and waiting for review by the core team and community +Proposal In Review A proposal document which is currently in review +Proposal Passed Review A proposal document which has passed review as worth implementing and then being added to the spec +Spec PR Missing A proposal which has been implemented and is being used in the wild but hasn't yet been added to the spec +Spec PR Ready for Review A proposal which has been PR'd against the spec and is awaiting review +Spec PR In Review A proposal which has been PR'd against the spec and is in review +Merged A proposal whose PR has merged into the spec! +Blocked A proposal which is temporarily blocked on some external factor (e.g. being blocked on another proposal first being approved) +Abandoned A proposal where the author/shepherd is not responsive +Obsolete A proposal which has been overtaken by other proposals +Rejected A proposal which is not going to be incorporated into Matrix +=========================== ======================================================= + + Proposal Tracking ----------------- -This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues?page=1&q=is%3Aissue+is%3Aopen>`_ on GitHub. +This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues>`_ on GitHub. -We use labels and some metadata in the issue text to generate this page. When adding or updating an issue, make sure you specify the current status as a label per the diagram above, these labels already exist in the matrix-doc repo. +We use labels and some metadata in the issue's description to generate this page. Labels are assigned by the core team whilst triaging the issues based on those which exist in the matrix-doc repo already. Other metadata: -- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. +- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. N.B. They are not in chronological order! - Please use the github issue title to set the title. -- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. +- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. - Updated Date is taken from github. - Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue text. Please make sure @username is a github user (include the @!) -- Shepherd is set by adding a "Shepherd: @username" line in the body of the issue text. Again, make sure this is a real Github user. +- Shepherd is set by adding a "Shepherd: @username" line in the issue description. Again, make sure this is a real Github user. From cb882ba12d16c5fdae98706d5487a91745a5e78b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:07:49 +0100 Subject: [PATCH 377/801] more tweaks --- specification/proposals_intro.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index f1a3adb65..6bdc653a7 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -94,7 +94,8 @@ Other metadata: - the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. N.B. They are not in chronological order! - Please use the github issue title to set the title. -- The created date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the body of the issue text. +- Please link to the proposal document by adding a "Documentation: <url>" line in the issue description. +- The creation date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the issue description. - Updated Date is taken from github. -- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue text. Please make sure @username is a github user (include the @!) -- Shepherd is set by adding a "Shepherd: @username" line in the issue description. Again, make sure this is a real Github user. +- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue description. Please make sure @username is a github user (include the @!) +- A shepherd can be assigned by adding a "Shepherd: @username" line in the issue description. Again, make sure this is a real Github user. From 93681458d691fc978181dd4839e9217e563eb0a1 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:13:28 +0100 Subject: [PATCH 378/801] more tweaks --- specification/proposals_intro.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 6bdc653a7..e1024e575 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -12,11 +12,11 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their trade-offs. - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. -- make a new issue at https://github.com/matrix-org/matrix-doc/issues, whose description should list the metadata as per below. +- make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per below. - Gather feedback as widely as possible from the community and core team on the proposal. - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. - - Iterating on the proposal and getting consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. -- Once the proposal has consensus and passed review, you **must** show an implementation to prove that it works well in practice, before before a spec PR will be accepted. Iterate on the proposal if needed. + - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. +- Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before before a spec PR will be accepted. Iterate on the proposal if needed. - Finally, please make a new spec PR which includes the proposed changes against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. From 07bf61b33b00a87ee25069e722f11d90bb8af1a0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:22:09 +0100 Subject: [PATCH 379/801] more tweaks --- specification/proposals_intro.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index e1024e575..878faaa9e 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -10,7 +10,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. - - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their trade-offs. + - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their respective trade-offs. - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. - make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per below. - Gather feedback as widely as possible from the community and core team on the proposal. @@ -19,6 +19,8 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before before a spec PR will be accepted. Iterate on the proposal if needed. - Finally, please make a new spec PR which includes the proposed changes against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! +Final decisions on review are made by the +matrix:matrix.org community (i.e. the core team), acting on behalf of the whole Matrix community. + The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. :: From 755c9473fb3b7d3341739eb50d4af0f954b4c90a Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:27:43 +0100 Subject: [PATCH 380/801] more tweaks --- specification/proposals_intro.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 878faaa9e..b8cad3625 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -16,8 +16,8 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Gather feedback as widely as possible from the community and core team on the proposal. - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. -- Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before before a spec PR will be accepted. Iterate on the proposal if needed. -- Finally, please make a new spec PR which includes the proposed changes against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! +- Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. +- Finally, please make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! Final decisions on review are made by the +matrix:matrix.org community (i.e. the core team), acting on behalf of the whole Matrix community. From 714767c95a99cc7929266d402ec56460564a4466 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:32:00 +0100 Subject: [PATCH 381/801] explain proposal neutrality --- specification/proposals_intro.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index b8cad3625..ab1e4027f 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -21,6 +21,10 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: Final decisions on review are made by the +matrix:matrix.org community (i.e. the core team), acting on behalf of the whole Matrix community. +Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem. + +The directions above are intended to be short, simple and pragmatic - although a full governance document for the Matrix core team will follow in due course. + The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. :: From 29348c61906a688ed9573081e7f7e807a1254342 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 22:35:53 +0100 Subject: [PATCH 382/801] improve wording --- specification/proposals_intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index ab1e4027f..aaae74862 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -23,7 +23,7 @@ Final decisions on review are made by the +matrix:matrix.org community (i.e. the Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem. -The directions above are intended to be short, simple and pragmatic - although a full governance document for the Matrix core team will follow in due course. +The directions above are not intended to be exhaustive but simple and pragmatic. A full governance document for the Matrix core team will follow in due course. The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. From e27f674fb95e0162d9b96e269e2d5b4aee4adcfa Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Mon, 14 May 2018 23:00:54 +0100 Subject: [PATCH 383/801] incept dates --- specification/proposals_intro.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index aaae74862..c865f6afb 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -21,7 +21,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: Final decisions on review are made by the +matrix:matrix.org community (i.e. the core team), acting on behalf of the whole Matrix community. -Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem. +Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. The directions above are not intended to be exhaustive but simple and pragmatic. A full governance document for the Matrix core team will follow in due course. @@ -101,6 +101,7 @@ Other metadata: - the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. N.B. They are not in chronological order! - Please use the github issue title to set the title. - Please link to the proposal document by adding a "Documentation: <url>" line in the issue description. +- Please link to the spec PR (if any) by adding a "PRs: #1234" line in the issue description. - The creation date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the issue description. - Updated Date is taken from github. - Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue description. Please make sure @username is a github user (include the @!) From f1cc26dfd7f266363bcf8f2b32ec8a375ca12225 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 15 May 2018 11:59:34 +0100 Subject: [PATCH 384/801] sort output by Created date per-table --- scripts/proposals.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 0b0717d95..1e556ccba 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -43,7 +43,6 @@ issues = {} for label in labels: issues[label] = getbylabel(label) - print(issues) text_file = open("../specification/proposals.rst", "w") @@ -66,14 +65,10 @@ for label in labels: text_file.write(" - PRs\n") for item in issues[label]: - # MSC number - text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n") - - # title from Github issue - text_file.write(" - " + item['title'] + "\n") - - # created date, find local field, otherwise Github - created = re.search('^Date: (.+?)\n', str(item['body']), flags=re.MULTILINE) + # set the created date, find local field, otherwise Github + print(item) + body = str(item['body']) + created = re.search('^Date: (.+?)\n', body, flags=re.MULTILINE) if created is not None: created = created.group(1).strip() try: @@ -81,17 +76,28 @@ for label in labels: created = created.strftime('%Y-%m-%d') except: pass - try: created = datetime.strptime(created, "%Y-%m-%d") created = created.strftime('%Y-%m-%d') except: pass - else : created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ") created = created.strftime('%Y-%m-%d') - text_file.write(" - " + created + "\n") + item['created'] = created + + issues_to_print = list(issues[label]) + issues_to_print.sort(key=lambda issue_sort: issue_sort["created"]) + + for item in issues_to_print: + # MSC number + text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n") + + # title from Github issue + text_file.write(" - " + item['title'] + "\n") + + # created date + text_file.write(" - " + item['created'] + "\n") # last updated, purely Github updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ") From 3cef79f31d92b479b8fa3a0aa0071d4974a4029a Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 15 May 2018 12:09:35 +0100 Subject: [PATCH 385/801] sublist formatting --- specification/proposals_intro.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index c865f6afb..3fc7470e5 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -7,15 +7,19 @@ Proposals for Spec Changes to Matrix The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - produce a publicly-accessible proposal describing your change: + - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their respective trade-offs. - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. + - make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per below. - Gather feedback as widely as possible from the community and core team on the proposal. + - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. + - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. - Finally, please make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! From 3b736388ce82736ee817ff053237c65bc6be281b Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 14:17:30 +0100 Subject: [PATCH 386/801] clarify governance --- specification/proposals_intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 3fc7470e5..fd692e526 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -27,7 +27,7 @@ Final decisions on review are made by the +matrix:matrix.org community (i.e. the Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. -The directions above are not intended to be exhaustive but simple and pragmatic. A full governance document for the Matrix core team will follow in due course. +The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelinnes until we have a formal spec governance process in place that covers the whole Matrix community. In order to get Matrix out of beta as quickly as possible, as of May 2018 we are prioritising spec and reference implementation development over writing formal governance, but a formal governance document will follow as rapidly as that allows. The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. From 42fd3f34e4daf8edcde68106f285e34ee0f9cb6f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 14:46:08 +0100 Subject: [PATCH 387/801] shift stuff from contributing.rst to the new proposals page --- CONTRIBUTING.rst | 43 +++++-------------------------- specification/proposals_intro.rst | 4 +-- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 6f17afe66..2a7416b17 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -21,44 +21,15 @@ Matrix-doc workflows Specification changes ~~~~~~~~~~~~~~~~~~~~~ -The Matrix specification documents the APIs which Matrix clients can use. For -this to be effective, the APIs need to be present and working correctly in a -server before they can be documented in the specification. This process can -take some time to complete. +The Matrix specification documents the APIs which Matrix clients and servers use. +For this to be effective, the APIs need to be present and working correctly in a +server before they can be documented in the specification. This process can take +some time to complete. For this reason, we have not found the github pull-request model effective for -discussing changes to the specification. Instead, we have adopted the following -workflow: - -1. Create a discussion document outlining the proposed change. The document - should include details such as the HTTP endpoint being changed (or the - suggested URL for a new endpoint), any new or changed parameters and response - fields, and generally as much detail about edge-cases and error handling as - is practical at this stage. - - The Matrix Core Team's preferred tool for such discussion documents is - `Google Docs <https://docs.google.com>`_ thanks to its support for comment - threads. Works in progress are kept in the `Matrix Design drafts folder - <https://drive.google.com/drive/folders/0B4wHq8qP86r2ck15MHEwMmlNVUk>`_. - -2. Seek feedback on the proposal. `#matrix-dev:matrix.org - <http://matrix.to/#/#matrix-dev:matrix.org>`_ is a good place to reach the - core team and others who may be interested in your proposal. - -3. Implement the changes in servers and clients. Refer to the CONTRIBUTING files - of the relevant projects for details of how best to do this. - - In general we will be unable to publish specification updates until the - reference server implements them, and they have been proven by a working - client implementation. - -4. Iterate steps 1-3 as necessary. - -5. Write the specification for the change, and create a `pull request`_ for - it. It may be that much of the text of the change can be taken directly from - the discussion document, though typically some effort will be needed to - change to the ReST syntax and to ensure that the text is as clear as - possible. +discussing changes to the specification. Instead, we have adopted the workflow +as described at https://matrix.org/docs/spec/proposals - *please read this for +details on how to contribute spec changes*. Other changes diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index fd692e526..e1c467caf 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -21,9 +21,9 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. -- Finally, please make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! +- Finally, please make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! Please sign off the spec PR as per the `CONTRIBUTING.rst <https://github.com/matrix-org/matrix-doc/blob/master/CONTRIBUTING.rst>`_ guidelines. -Final decisions on review are made by the +matrix:matrix.org community (i.e. the core team), acting on behalf of the whole Matrix community. +Final decisions on review are made by the Matrix core team (+matrix:matrix.org), acting on behalf of the whole Matrix community. Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. From 3e10a5a24a81180c89aa411c0c60db22f2850bf0 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 15:02:35 +0100 Subject: [PATCH 388/801] enter #matrix-spec:matrix.org --- specification/proposals_intro.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index e1c467caf..019d8eabc 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -18,6 +18,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Gather feedback as widely as possible from the community and core team on the proposal. - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. + - A good place to ask for feedback on a specific proposal is `#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_. However, authors/shepherds are welcome to use an alternative room if they prefer - please advertise it in #matrix-spec:matrix.org though and link to it on the github issue. N.B. that #matrix-dev:matrix.org is for developers using existing Matrix APIs, #matrix:matrix.org is for users trying to run matrix apps (clients & servers); #matrix-architecture:matrix.org is for cross-cutting discussion of Matrix's architecture. - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. From 8096bf0039df0c7711d5c528ec144ee6e396d5de Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 15:07:47 +0100 Subject: [PATCH 389/801] perms and apostrophes --- specification/proposals_intro.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 019d8eabc..35d0adbf5 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -8,7 +8,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - produce a publicly-accessible proposal describing your change: - - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. + - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. Please ensure the document is world-commentable or -editable. - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their respective trade-offs. @@ -99,7 +99,7 @@ Proposal Tracking This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues>`_ on GitHub. -We use labels and some metadata in the issue's description to generate this page. Labels are assigned by the core team whilst triaging the issues based on those which exist in the matrix-doc repo already. +We use labels and some metadata in the issues' descriptions to generate this page. Labels are assigned by the core team whilst triaging the issues based on those which exist in the matrix-doc repo already. Other metadata: From 4cdb4f105cfe4ad247977b7a7761b7947c8ceccc Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 15:11:51 +0100 Subject: [PATCH 390/801] clarify architecture --- specification/proposals_intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 35d0adbf5..fb72836ce 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -18,7 +18,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Gather feedback as widely as possible from the community and core team on the proposal. - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. - - A good place to ask for feedback on a specific proposal is `#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_. However, authors/shepherds are welcome to use an alternative room if they prefer - please advertise it in #matrix-spec:matrix.org though and link to it on the github issue. N.B. that #matrix-dev:matrix.org is for developers using existing Matrix APIs, #matrix:matrix.org is for users trying to run matrix apps (clients & servers); #matrix-architecture:matrix.org is for cross-cutting discussion of Matrix's architecture. + - A good place to ask for feedback on a specific proposal is `#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_. However, authors/shepherds are welcome to use an alternative room if they prefer - please advertise it in #matrix-spec:matrix.org though and link to it on the github issue. N.B. that #matrix-dev:matrix.org is for developers using existing Matrix APIs, #matrix:matrix.org is for users trying to run matrix apps (clients & servers); #matrix-architecture:matrix.org is for cross-cutting discussion of Matrix's architectural design. - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. From d338f189278b398da6cc185a73ab8051abc7c5ce Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 15 May 2018 15:22:03 +0100 Subject: [PATCH 391/801] handle EOF gracefully when searching for Authors and PRs --- scripts/proposals.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 1e556ccba..e4c65daac 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -1,9 +1,5 @@ # proposals.py: generate an RST file (proposals.rst) from queries to github.com/matrix.org/matrix-doc/issues. # v0.0.1 -# todo: -# use status labels to create separate sections. -# include all fields discussed at https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit# -# format, probably as tables import requests import re @@ -114,7 +110,7 @@ for label in labels: text_file.write("\n") # author list, if missing just use Github issue creator - author = re.search('^Author: (.+?)\n', str(item['body']), flags=re.MULTILINE) + author = re.search('^Author: (.+?)$', str(item['body']), flags=re.MULTILINE) if author is not None: author_list_formatted = set() author_list = author.group(1) @@ -136,7 +132,7 @@ for label in labels: text_file.write(" - " + str(shepherd) + "\n") # PRs - pr_list = re.search('PRs: (.+?)\n', str(item['body'])) + pr_list = re.search('PRs: (.+?)$', str(item['body'])) if pr_list is not None: pr_list_formatted = set() pr_list = pr_list.group(1) From 4d59abebf020d56e97594825b5608edaa77056dd Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 15 May 2018 15:33:39 +0100 Subject: [PATCH 392/801] handle PR links from GitHub --- scripts/proposals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index e4c65daac..939641433 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -152,6 +152,6 @@ for author in authors: text_file.write("\n.. _" + author + ": https://github.com/" + author[1:]) for pr in prs: - text_file.write("\n.. _PR" + pr + ": https://github.com/matrix-org/matrix-doc/pull/" + pr) + text_file.write("\n.. _PR" + pr + ": https://github.com/matrix-org/matrix-doc/pull/" + pr.replace('#', '')) text_file.close() From 10a8cb3f67db4ed99e7e5ffffeb664f5bccc1c97 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 15:44:40 +0100 Subject: [PATCH 393/801] put handwavey timings on state transitions --- specification/proposals_intro.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index fb72836ce..a174ae6c8 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -83,12 +83,12 @@ Proposal WIP A proposal document which is still work-in-progress Proposal Ready for Review A proposal document which is now ready and waiting for review by the core team and community Proposal In Review A proposal document which is currently in review Proposal Passed Review A proposal document which has passed review as worth implementing and then being added to the spec -Spec PR Missing A proposal which has been implemented and is being used in the wild but hasn't yet been added to the spec +Spec PR Missing A proposal which has been implemented and has been used in the wild for a few months but hasn't yet been added to the spec Spec PR Ready for Review A proposal which has been PR'd against the spec and is awaiting review Spec PR In Review A proposal which has been PR'd against the spec and is in review Merged A proposal whose PR has merged into the spec! Blocked A proposal which is temporarily blocked on some external factor (e.g. being blocked on another proposal first being approved) -Abandoned A proposal where the author/shepherd is not responsive +Abandoned A proposal where the author/shepherd has not been responsive for a few months Obsolete A proposal which has been overtaken by other proposals Rejected A proposal which is not going to be incorporated into Matrix =========================== ======================================================= From 4c0743ef65f17ae14e9ba50734c0399bde375c1e Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 15:47:34 +0100 Subject: [PATCH 394/801] fix wording --- specification/proposals_intro.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index a174ae6c8..34e6c58ed 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -28,7 +28,7 @@ Final decisions on review are made by the Matrix core team (+matrix:matrix.org), Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. -The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelinnes until we have a formal spec governance process in place that covers the whole Matrix community. In order to get Matrix out of beta as quickly as possible, as of May 2018 we are prioritising spec and reference implementation development over writing formal governance, but a formal governance document will follow as rapidly as that allows. +The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelines until we have a formal spec governance process in place that covers the whole Matrix community. In order to get Matrix out of beta as quickly as possible, as of May 2018 we are prioritising spec and reference implementation development over writing formal governance, but a formal governance document will follow as rapidly as possible. The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. From 73b28612ec087633f08ec5ab3d5c7083e593da4e Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 15 May 2018 16:07:55 +0100 Subject: [PATCH 395/801] updates from feedback on pull --- scripts/proposals.py | 2 +- specification/proposals_intro.rst | 118 ++++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 31 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 939641433..8b2107ac3 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -124,7 +124,7 @@ for label in labels: text_file.write(" - `" + str(author) + "`_") text_file.write("\n") - # shepherd (currnely only one) + # shepherd (currently only one) shepherd = re.search('Shepherd: (.+?)\n', str(item['body'])) if shepherd is not None: authors.add(shepherd.group(1).strip()) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 34e6c58ed..97b1ea22c 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -8,29 +8,75 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - produce a publicly-accessible proposal describing your change: - - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history and threaded comments. Please ensure the document is world-commentable or -editable. - - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. - - We also don't jump straight to PRing against the spec itself, as it's much faster to iterate on a proposal in freeform document form than in the terse and formal structure of the spec. - - In the proposal, please clearly state the problem being solved, and the possible solutions being proposed for solving it and their respective trade-offs. - - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. - -- make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per below. -- Gather feedback as widely as possible from the community and core team on the proposal. - - - The aim is to get maximum consensus on the trade-offs chosen to get an optimal solution. - - A good place to ask for feedback on a specific proposal is `#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_. However, authors/shepherds are welcome to use an alternative room if they prefer - please advertise it in #matrix-spec:matrix.org though and link to it on the github issue. N.B. that #matrix-dev:matrix.org is for developers using existing Matrix APIs, #matrix:matrix.org is for users trying to run matrix apps (clients & servers); #matrix-architecture:matrix.org is for cross-cutting discussion of Matrix's architectural design. - - Iterating on the proposal and gathering consensus can sometimes be time-consuming; an impartial 'shepherd' can be assigned to help guide the proposal through this process. + - Please use Google Docs, or an equivalent system capable of collaborative + editing, with versioned history and threaded comments. Please ensure the + document is world-commentable or -editable. + - We do not use Github issues (or Etherpad) for the design process of the + proposal, as the document review/commenting capabilities aren't good + enough. + - We also don't jump straight to PRing against the spec itself, as it's much + faster to iterate on a proposal in freeform document form than in the + terse and formal structure of the spec. + - In the proposal, please clearly state the problem being solved, and the + possible solutions being proposed for solving it and their respective + trade-offs. + - Proposal documents are intended to be as lightweight and flexible as the + author desires; there is no formal template; the intention is to iterate + as quickly as possible to get to a good design. + +- make a new issue at https://github.com/matrix-org/matrix-doc/issues (or + modify an existing one), whose description should list the metadata as per + below. +- Gather feedback as widely as possible from the community and core team on + the proposal. + + - The aim is to get maximum consensus on the trade-offs chosen to get an + optimal solution. + - A good place to ask for feedback on a specific proposal is + `#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_. + However, authors/shepherds are welcome to use an alternative room if they + prefer - please advertise it in #matrix-spec:matrix.org though and link + to it on the github issue. N.B. that #matrix-dev:matrix.org is for + developers using existing Matrix APIs, #matrix:matrix.org is for users + trying to run matrix apps (clients & servers); + #matrix-architecture:matrix.org is for cross-cutting discussion of + Matrix's architectural design. + - Iterating on the proposal and gathering consensus can sometimes be + time-consuming; an impartial 'shepherd' can be assigned to help guide the + proposal through this process. -- Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a spec PR will be accepted. Iterate on the proposal if needed. -- Finally, please make a new spec PR which includes the changes as implemented against https://github.com/matrix-org/matrix-doc/tree/master/specification. This will then be reviewed and hopefully merged! Please sign off the spec PR as per the `CONTRIBUTING.rst <https://github.com/matrix-org/matrix-doc/blob/master/CONTRIBUTING.rst>`_ guidelines. - -Final decisions on review are made by the Matrix core team (+matrix:matrix.org), acting on behalf of the whole Matrix community. - -Proposals **must** act to the greater benefit of the entire Matrix ecosystem, rather than benefiting or privileging any single player or subset of players - and must not contain any patent encumbered IP. The Matrix core team pledges to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. - -The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelines until we have a formal spec governance process in place that covers the whole Matrix community. In order to get Matrix out of beta as quickly as possible, as of May 2018 we are prioritising spec and reference implementation development over writing formal governance, but a formal governance document will follow as rapidly as possible. - -The process for handling proposals is described in the following diagram. Note that the lifetime of a proposal is tracked through the corresponding labels for each stage in the `matrix-doc issue tracker <https://github.com/matrix-org/matrix-doc/issues>`_. +- Once the proposal has sufficient consensus and passed review, you **must** + show an implementation to prove that it works well in practice, before a + spec PR will be accepted. Iterate on the proposal if needed. +- Finally, please make a new spec PR which includes the changes as + implemented against + https://github.com/matrix-org/matrix-doc/tree/master/specification. This + will then be reviewed and hopefully merged! Please sign off the spec PR as + per the `CONTRIBUTING.rst + <https://github.com/matrix-org/matrix-doc/blob/master/CONTRIBUTING.rst>`_ + guidelines. + +Final decisions on review are made by the Matrix core team +(+matrix:matrix.org), acting on behalf of the whole Matrix community. + +Proposals **must** act to the greater benefit of the entire Matrix ecosystem, +rather than benefiting or privileging any single player or subset of players +- and must not contain any patent encumbered IP. The Matrix core team pledges +to act as a neutral custodian for Matrix on behalf of the whole ecosystem, +just as it has since Matrix's inception in May 2014. + +The above directions are intended to be simple and pragmatic rather than +exhaustive, and aim to provide guidelines until we have a formal spec +governance process in place that covers the whole Matrix community. In order +to get Matrix out of beta as quickly as possible, as of May 2018 we are +prioritising spec and reference implementation development over writing formal +governance, but a formal governance document will follow as rapidly as +possible. + +The process for handling proposals is described in the following diagram. Note +that the lifetime of a proposal is tracked through the corresponding labels for +each stage in the `matrix-doc issue tracker +<https://github.com/matrix-org/matrix-doc/issues>`_. :: @@ -97,17 +143,29 @@ Rejected A proposal which is not going to be incorporated int Proposal Tracking ----------------- -This is a living document generated from the list of proposals at `matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues>`_ on GitHub. +This is a living document generated from the list of proposals at +`matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues>`_ on +GitHub. -We use labels and some metadata in the issues' descriptions to generate this page. Labels are assigned by the core team whilst triaging the issues based on those which exist in the matrix-doc repo already. +We use labels and some metadata in the issues' descriptions to generate this +page. Labels are assigned by the core team whilst triaging the issues based +on those which exist in the matrix-doc repo already. Other metadata: -- the MSC (Matrix Spec Change) number is taken from the github issue ID. This is carried for the lifetime of the proposal, including the PR creation phase. N.B. They are not in chronological order! +- the MSC (Matrix Spec Change) number is taken from the github issue ID. This + is carried for the lifetime of the proposal, including the PR creation + phase. N.B. They are not in chronological order! - Please use the github issue title to set the title. -- Please link to the proposal document by adding a "Documentation: <url>" line in the issue description. -- Please link to the spec PR (if any) by adding a "PRs: #1234" line in the issue description. -- The creation date is taken from the github issue, but can be overriden by adding a "Date: yyyy-mm-dd" line in the issue description. +- Please link to the proposal document by adding a "Documentation: <url>" line + in the issue description. +- Please link to the spec PR (if any) by adding a "PRs: #1234" line in the + issue description. +- The creation date is taken from the github issue, but can be overriden by + adding a "Date: yyyy-mm-dd" line in the issue description. - Updated Date is taken from github. -- Author is the creator of the github issue, but can be overriden by adding a "Author: @username" line in the body of the issue description. Please make sure @username is a github user (include the @!) -- A shepherd can be assigned by adding a "Shepherd: @username" line in the issue description. Again, make sure this is a real Github user. +- Author is the creator of the github issue, but can be overriden by adding a + "Author: @username" line in the body of the issue description. Please make + sure @username is a github user (include the @!) +- A shepherd can be assigned by adding a "Shepherd: @username" line in the + issue description. Again, make sure this is a real Github user. From 84524df7830faadca24d9d8462ce03216467afc8 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Tue, 15 May 2018 17:38:33 +0100 Subject: [PATCH 396/801] spell out requirements for doc editing --- specification/proposals_intro.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 97b1ea22c..dae5ac996 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -9,8 +9,9 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - produce a publicly-accessible proposal describing your change: - Please use Google Docs, or an equivalent system capable of collaborative - editing, with versioned history and threaded comments. Please ensure the - document is world-commentable or -editable. + editing, with versioned history, suggestions ('track changes'), threaded + comments, and good mobile support. Please ensure the document is + world-commentable or -editable. - We do not use Github issues (or Etherpad) for the design process of the proposal, as the document review/commenting capabilities aren't good enough. From 55b512c9683a439b9d6d3175cd8c92e8356ee077 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Mon, 14 May 2018 16:03:38 +0200 Subject: [PATCH 397/801] add delete_devices endpoint fix #1041 --- api/client-server/device_management.yaml | 47 ++++++++++++++++++++++++ changelogs/client_server.rst | 2 + 2 files changed, 49 insertions(+) diff --git a/api/client-server/device_management.yaml b/api/client-server/device_management.yaml index 030ed8311..75ee9e444 100644 --- a/api/client-server/device_management.yaml +++ b/api/client-server/device_management.yaml @@ -177,3 +177,50 @@ paths: "$ref": "definitions/auth_response.yaml" tags: - Device management + "/delete_devices": + post: + summary: Bulk deletion of devices + description: |- + This API endpoint uses the `User-Interactive Authentication API`_. + + Deletes the given devices, and invalidates any access token associated with them. + operationId: deleteDevices + security: + - accessToken: [] + parameters: + - in: body + name: body + schema: + type: object + properties: + devices: + type: array + description: The list of device IDs to delete. + items: + type: string + description: A list of device IDs. + example: ["QBUAZIFURK", "AUIECTSRND"] + auth: + description: |- + Additional authentication information for the + user-interactive authentication API. + "$ref": "definitions/auth_data.yaml" + required: + - devices + responses: + 200: + description: |- + The devices were successfully removed, or had been removed + previously. + schema: + type: object + examples: + application/json: { + } + 401: + description: |- + The homeserver requires additional authentication information. + schema: + "$ref": "definitions/auth_response.yaml" + tags: + - Device management diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index c29f38c76..a2a929b0c 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -9,6 +9,8 @@ Unreleased changes (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). - ``GET /rooms/{roomId}/event/{eventId}`` (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). + - ``POST /delete_devices`` + (`#1239 <https://github.com/matrix-org/matrix-doc/pull/1239>`_). - Sticker messages: - Add sticker message event definition. From 4d3c4225b21e8e3b4d4d883b45570515a6776d19 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Wed, 16 May 2018 11:12:57 +0100 Subject: [PATCH 398/801] include proposal template link --- specification/proposals_intro.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index dae5ac996..47393fa6d 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -24,6 +24,9 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: - Proposal documents are intended to be as lightweight and flexible as the author desires; there is no formal template; the intention is to iterate as quickly as possible to get to a good design. + - A `template with suggested headers + <https://docs.google.com/document/d/1CoLCPTcRFvD4PqjvbUl3ZIWgGLpmRNbqxsT2Tu7lCzI/>`_ + is available. - make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per From cc54a4f8cb467af66c35ee3eb0d880329ff0b715 Mon Sep 17 00:00:00 2001 From: Florian Jacob <projects+git@florianjacob.de> Date: Thu, 17 May 2018 16:43:01 +0200 Subject: [PATCH 399/801] /rooms/{roomId}/members: specify access_token requirement as the behaviour of which members the users see is user-specific and therefore requires authentication. Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de> --- api/client-server/rooms.yaml | 2 ++ changelogs/client_server.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/api/client-server/rooms.yaml b/api/client-server/rooms.yaml index 88c2b9d94..cc1f2bf7e 100644 --- a/api/client-server/rooms.yaml +++ b/api/client-server/rooms.yaml @@ -288,6 +288,8 @@ paths: description: The room to get the member events for. required: true x-example: "!636q39766251:example.com" + security: + - accessToken: [] responses: 200: description: |- diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index a2a929b0c..3c4fbffa3 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -35,6 +35,8 @@ Unreleased changes (`#1139 <https://github.com/matrix-org/matrix-doc/pull/1139>`_). - Clarify that ``/account/whoami`` should consider application services (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). + - Mark ``GET /rooms/{roomId}/members`` as requiring authentication + (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - Changes to the API which will be backwards-compatible for clients: From 8440179ecfc5ce9d052fc3c8cfbca6256da0e4ad Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@matrix.org> Date: Thu, 17 May 2018 18:21:39 +0100 Subject: [PATCH 400/801] clarify shepherds and clarify 'greater benefit' as per https://github.com/matrix-org/matrix-doc/pull/1240#discussion_r188459957 --- specification/proposals_intro.rst | 41 ++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 47393fa6d..ce5773376 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -45,9 +45,14 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: trying to run matrix apps (clients & servers); #matrix-architecture:matrix.org is for cross-cutting discussion of Matrix's architectural design. - - Iterating on the proposal and gathering consensus can sometimes be - time-consuming; an impartial 'shepherd' can be assigned to help guide the - proposal through this process. + - The point of the spec proposal process is to be collaborative rather than + competitive, and to try to solve the problem in question with the optimal + set of trade-offs. Ideally the author would neutrally gather the various + viewpoints and get consensus, but this can sometimes be time-consuming (or + the author may be biased), in which case an impartial 'shepherd' can be + assigned to help guide the proposal through this process. A shepherd is + typically a neutral party from the core team or an experienced member of + the community. - Once the proposal has sufficient consensus and passed review, you **must** show an implementation to prove that it works well in practice, before a @@ -69,6 +74,36 @@ rather than benefiting or privileging any single player or subset of players to act as a neutral custodian for Matrix on behalf of the whole ecosystem, just as it has since Matrix's inception in May 2014. +For clarity: the Matrix ecosystem is anyone who uses the Matrix protocol. That +includes client users, server admins, client developers, bot developers, +bridge and AS developers, users and admins who are indirectly using Matrix via +3rd party networks which happen to be bridged, server developers, room +moderators and admins, companies/projects building products or services on +Matrix, spec contributors, translators, and the core team who created it in +the first place. + +"Greater benefit" could include maximising: + + * the number of end-users reachable on the open Matrix network. + * the number of regular users on the Matrix network (e.g. 30-day retained + federated users) + * the number of online servers in the open federation. + * the number of developers building on Matrix. + * the number of independent implementations which use Matrix + * the quality and utility of the Matrix spec. + +The guiding principles of the overall project are being worked on as part of +the upcoming governance proposal, but could be something like: + + * Supporting the whole long-term ecosystem rather than individual stakeholder gain + * Openness rather than proprietariness + * Collaboration rather than competition + * Accessibility rather than elitism + * Transparency rather than stealth + * Empathy rather than contrariness + * Pragmatism rather than perfection + * Proof rather than conjecture + The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelines until we have a formal spec governance process in place that covers the whole Matrix community. In order From 38adc7df06743af333fd24aa04408e13aad9eff4 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 17 May 2018 18:25:13 +0100 Subject: [PATCH 401/801] latest generated proposals --- specification/proposals.rst | 618 +++++++++++++++++++++++++++++- specification/proposals_intro.rst | 30 +- 2 files changed, 629 insertions(+), 19 deletions(-) diff --git a/specification/proposals.rst b/specification/proposals.rst index 5a1f02c07..da9d277ff 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -1,5 +1,615 @@ -.. contents:: Table of Contents -.. sectnum:: +Tables of Tracked Proposals +--------------------------- -The Proposals List ------------------- +proposal-wip +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_ + - Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5) + - 2014-09-15 + - 2018-05-15 + - `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_ + - `@KitsuneRal`_ + - None + - + * - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_ + - Federation API for canonicalising MXIDs + - 2014-10-27 + - 2018-05-15 + - `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_ + - Extensible Profiles. (SPEC-93) + - 2015-01-19 + - 2018-05-15 + - `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_ + - Matrix Escape Hatch (Versioned Rooms) + - 2015-10-22 + - 2018-05-15 + - `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_ + - `@leonerd`_ + - None + - + * - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_ + - Push to Talk + - 2016-04-13 + - 2018-05-15 + - `1238-1 <TBD>`_ + - `@aviraldg`_ + - None + - `PR#310`_ + * - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_ + - Threading API + - 2016-05-23 + - 2018-05-15 + - `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_ + - `@Half-Shot`_ + - None + - + * - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_ + - Publishing Room Lists for 3rd party networks + - 2016-10-21 + - 2018-05-15 + - `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_ + - Support for Reactions / Aggregations + - 2016-12-25 + - 2018-05-15 + - `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_ + - `@pik`_ + - `@ara4n`_ + - + * - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_ + - Improving m.location with GeoJSON and accuracy + - 2017-05-19 + - 2018-05-15 + - `1237-1 <TBD>`_ + - `@Half-Shot`_ + - None + - `PR#919`_ + * - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_ + - Add groups stuff to spec + - 2017-08-10 + - 2018-05-15 + - `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_ + - Groups as Rooms + - 2017-10-17 + - 2018-05-15 + - `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_ + - Visibility of groups to group members and their non-members + - 2017-10-30 + - 2018-05-15 + - `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_ + - `@lampholder`_ + - None + - + * - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_ + - Bridging group membership with 3rd party group sources + - 2017-11-15 + - 2018-05-15 + - `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_ + - Proposal for storing megolm keys serverside + - 2017-11-23 + - 2018-05-15 + - `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_ + - Improving Presence + - 2017-12-26 + - 2018-05-15 + - `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_ + - `@ara4n`_ + - None + - + * - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_ + - Pushing updates about Groups (Communities) to clients + - 2018-01-02 + - 2018-05-15 + - `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_ + - `@ara4n`_ + - None + - + * - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_ + - Extensible event types & fallback in Matrix + - 2018-02-18 + - 2018-05-15 + - `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_ + - `@ara4n`_ + - None + - + * - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_ + - Proposal for lazy-loading room members to improve initial sync speed and client RAM usage + - 2018-03-05 + - 2018-05-15 + - `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ + - Proposal for improved bot support + - 2018-03-14 + - 2018-05-15 + - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - + * - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_ + - Removing MXIDs from events + - 2018-04-19 + - 2018-05-15 + - `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_ + - `@richvdh`_ + - None + - + * - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_ + - Handling Consent for Privacy Policy + - 2018-05-02 + - 2018-05-15 + - `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_ + - `@neilisfragile`_ + - None + - + + + +proposal-ready-for-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ + - Document key-share requests + - 2018-04-30 + - 2018-05-15 + - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ + - `@richvdh`_ + - None + - + * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ + - Media limits API + - 2018-05-04 + - 2018-05-15 + - `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_ + - `@Half-Shot`_ + - None + - `PR#1189`_ + + + +proposal-in-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_ + - Support for discovering API endpoints via .well-known URIs (SPEC-121) + - 2015-03-08 + - 2018-05-15 + - `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_ + - `@maxidor`_, `others`_ + - `@uhoreg`_ + - + * - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_ + - A way for HSes to remove bindings from ISes + - 2018-05-09 + - 2018-05-15 + - `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_ + - `@dbkr`_ + - None + - + + + +proposal-passed-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_ + - State Reset mitigation proposal + - 2018-02-20 + - 2018-05-15 + - `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_ + - `@richvdh`_ + - None + - + * - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_ + - Mitigating abuse of the event depth parameter over federation + - 2018-04-30 + - 2018-05-15 + - `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ + - A proposal for organising spec proposals + - 2018-05-10 + - 2018-05-15 + - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ + - `@ara4n`_ + - None + - `PR#1240`_ + * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ + - Rich Replies format + - 2018-05-12 + - 2018-05-17 + - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ + - `@t3chguy`_ + - None + - + * - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_ + - Matrix Widget API v2 + - 2018-05-13 + - 2018-05-15 + - `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_ + - `@rxl881`_ + - None + - + + + +spec-pr-missing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ + - Ignoring Users + - 2016-05-03 + - 2018-05-15 + - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ + - Device Management API + - 2016-07-14 + - 2018-05-15 + - `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_ + - `@richvdh`_ + - None + - + * - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_ + - 3rd Party Entity lookup API + - 2016-07-21 + - 2018-05-15 + - `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_ + - `@leonerd`_ + - None + - + * - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_ + - Proposal for multi-device deletion API + - 2016-10-12 + - 2018-05-15 + - `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_ + - `@richvdh`_ + - None + - + * - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_ + - Encrypted attachment format + - 2016-10-26 + - 2018-05-15 + - `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_ + - `@NegativeMjark`_ + - None + - + * - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_ + - Reporting inappropriate content in Matrix + - 2016-11-21 + - 2018-05-15 + - `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_ + - Megolm session export format + - 2017-01-03 + - 2018-05-15 + - `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_ + - `@richvdh`_ + - None + - + * - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_ + - Device List Update Stream + - 2017-01-18 + - 2018-05-15 + - `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_ + - `@richvdh`_ + - None + - + * - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_ + - Need to spec msisdn login API + - 2017-03-08 + - 2018-05-15 + - `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_ + - `@dbkr`_ + - None + - + * - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_ + - spec m.login.msisdn UI auth type + - 2017-03-24 + - 2018-05-15 + - `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ + - `@dbkr`_ + - None + - + * - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_ + - Add new Read Marker API to docs + - 2017-05-08 + - 2018-05-15 + - + - `@lukebarnard1`_ + - None + - + * - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_ + - Spec @mentions + - 2017-07-14 + - 2018-05-15 + - `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_ + - Related Groups (i.e. flair) + - 2017-10-03 + - 2018-05-15 + - `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1216 <https://github.com/matrix-org/matrix-doc/issues/1216>`_ + - @room notification proposal + - 2017-10-23 + - 2018-05-15 + - `1216-1 <https://docs.google.com/document/d/1qRdlg94cr9YXxPCwhW4HgI2oDrqQOUKX5HptZFBGf6o/edit>`_ + - `@dbkr`_ + - None + - `PR#1176`_ + * - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_ + - Temporary mitigation for depth parameter abuse + - 2018-05-01 + - 2018-05-15 + - `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_ + - `@ara4n`_ + - None + - + * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ + - Rich Replies format + - 2018-05-12 + - 2018-05-17 + - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ + - `@t3chguy`_ + - None + - + + + +merged +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_ + - Notifications API + - 2016-05-23 + - 2018-05-15 + - `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_ + - `@dbkr`_ + - None + - + * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ + - Configuration of E2E encryption in a room + - 2016-06-16 + - 2018-05-15 + - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ + - `@richvdh`_ + - None + - + * - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_ + - Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition + - 2016-09-29 + - 2018-05-15 + - `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_ + - `@richvdh`_ + - None + - + + + +abandoned +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_ + - Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206) + - 2015-07-25 + - 2018-05-15 + - `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_ + - `@Kegsay`_ + - None + - + * - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_ + - Profile Personae + - 2016-07-15 + - 2018-05-15 + - `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_ + - Server Side Profile API + - 2016-11-01 + - 2018-05-15 + - `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_ + - Set defaults for m.federate + - 2018-05-10 + - 2018-05-15 + - `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_ + - `@psaavedra`_ + - None + - + + + +obsolete +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documenation + - Author + - Shepherd + - PRs + * - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_ + - Proposal for Calendar Events + - 2018-02-06 + - 2018-05-15 + - `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_ + - `@Half-Shot`_ + - None + - + + + + + +.. _@t3chguy: https://github.com/t3chguy +.. _@KitsuneRal: https://github.com/KitsuneRal +.. _@pik: https://github.com/pik +.. _@leonerd: https://github.com/leonerd +.. _@turt2live: https://github.com/turt2live +.. _@erikjohnston: https://github.com/erikjohnston +.. _@neilisfragile: https://github.com/neilisfragile +.. _@psaavedra: https://github.com/psaavedra +.. _@richvdh: https://github.com/richvdh +.. _@NegativeMjark: https://github.com/NegativeMjark +.. _@ara4n: https://github.com/ara4n +.. _@lukebarnard1: https://github.com/lukebarnard1 +.. _@lampholder: https://github.com/lampholder +.. _@dbkr: https://github.com/dbkr +.. _@maxidor: https://github.com/maxidor +.. _others: https://github.com/thers +.. _@rxl881: https://github.com/rxl881 +.. _@uhoreg: https://github.com/uhoreg +.. _@Kegsay: https://github.com/Kegsay +.. _@Half-Shot: https://github.com/Half-Shot +.. _@aviraldg: https://github.com/aviraldg +.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310 +.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240 +.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189 +.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 +.. _PR#1176: https://github.com/matrix-org/matrix-doc/pull/1176 \ No newline at end of file diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index ce5773376..fecfc2f99 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -84,25 +84,25 @@ the first place. "Greater benefit" could include maximising: - * the number of end-users reachable on the open Matrix network. - * the number of regular users on the Matrix network (e.g. 30-day retained - federated users) - * the number of online servers in the open federation. - * the number of developers building on Matrix. - * the number of independent implementations which use Matrix - * the quality and utility of the Matrix spec. +* the number of end-users reachable on the open Matrix network. +* the number of regular users on the Matrix network (e.g. 30-day retained + federated users) +* the number of online servers in the open federation. +* the number of developers building on Matrix. +* the number of independent implementations which use Matrix +* the quality and utility of the Matrix spec. The guiding principles of the overall project are being worked on as part of the upcoming governance proposal, but could be something like: - * Supporting the whole long-term ecosystem rather than individual stakeholder gain - * Openness rather than proprietariness - * Collaboration rather than competition - * Accessibility rather than elitism - * Transparency rather than stealth - * Empathy rather than contrariness - * Pragmatism rather than perfection - * Proof rather than conjecture +* Supporting the whole long-term ecosystem rather than individual stakeholder gain +* Openness rather than proprietariness +* Collaboration rather than competition +* Accessibility rather than elitism +* Transparency rather than stealth +* Empathy rather than contrariness +* Pragmatism rather than perfection +* Proof rather than conjecture The above directions are intended to be simple and pragmatic rather than exhaustive, and aim to provide guidelines until we have a formal spec From 9873a2a0ac40dfcdce4bac71f61d849f2172570e Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 17 May 2018 18:33:12 +0100 Subject: [PATCH 402/801] link from the spec intro page --- specification/intro.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/specification/intro.rst b/specification/intro.rst index 064f9d178..ad5452484 100644 --- a/specification/intro.rst +++ b/specification/intro.rst @@ -96,6 +96,13 @@ instant messages, VoIP call setups, or any other objects that need to be reliably and persistently pushed from A to B in an interoperable and federated manner. + +Spec Change Proposals +~~~~~~~~~~~~~~~~~~~~~ +To propose a change to the Matrix Spec, see the explanations at `Proposals +for Spec Changes to Matrix <proposals>`_. + + Architecture ------------ From 663e1a5ebec7d95856cbc214aaa26355e68e880b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Fri, 18 May 2018 10:17:54 +0100 Subject: [PATCH 403/801] Update some text --- scripts/proposals.py | 2 +- specification/proposals.rst | 54 +++++++++++-------------------- specification/proposals_intro.rst | 4 +-- 3 files changed, 22 insertions(+), 38 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 8b2107ac3..a84804a73 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -55,7 +55,7 @@ for label in labels: text_file.write(" - Proposal Title\n") text_file.write(" - Creation Date\n") text_file.write(" - Update Date\n") - text_file.write(" - Documenation\n") + text_file.write(" - Documentation\n") text_file.write(" - Author\n") text_file.write(" - Shepherd\n") text_file.write(" - PRs\n") diff --git a/specification/proposals.rst b/specification/proposals.rst index da9d277ff..c8d587641 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -13,7 +13,7 @@ proposal-wip - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -200,7 +200,7 @@ proposal-ready-for-review - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -235,7 +235,7 @@ proposal-in-review - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -270,7 +270,7 @@ proposal-passed-review - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -290,22 +290,6 @@ proposal-passed-review - `@ara4n`_ - None - - * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ - - A proposal for organising spec proposals - - 2018-05-10 - - 2018-05-15 - - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ - - `@ara4n`_ - - None - - `PR#1240`_ - * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ - - Rich Replies format - - 2018-05-12 - - 2018-05-17 - - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ - - `@t3chguy`_ - - None - - * - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_ - Matrix Widget API v2 - 2018-05-13 @@ -329,18 +313,10 @@ spec-pr-missing - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs - * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ - - Ignoring Users - - 2016-05-03 - - 2018-05-15 - - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ - - `@erikjohnston`_ - - None - - * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ - Device Management API - 2016-07-14 @@ -456,7 +432,7 @@ spec-pr-missing * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ - Rich Replies format - 2018-05-12 - - 2018-05-17 + - 2018-05-18 - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ - `@t3chguy`_ - None @@ -476,7 +452,7 @@ merged - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -504,6 +480,14 @@ merged - `@richvdh`_ - None - + * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ + - A proposal for organising spec proposals + - 2018-05-10 + - 2018-05-18 + - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ + - `@ara4n`_ + - None + - `PR#1240`_ @@ -519,7 +503,7 @@ abandoned - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs @@ -549,8 +533,8 @@ abandoned - * - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_ - Set defaults for m.federate - - 2018-05-10 - - 2018-05-15 + - 2017-04-10 + - 2018-05-18 - `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_ - `@psaavedra`_ - None @@ -570,7 +554,7 @@ obsolete - Proposal Title - Creation Date - Update Date - - Documenation + - Documentation - Author - Shepherd - PRs diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index fecfc2f99..fdc34a296 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -6,7 +6,7 @@ Proposals for Spec Changes to Matrix The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: -- produce a publicly-accessible proposal describing your change: +- Produce a publicly-accessible proposal describing your change: - Please use Google Docs, or an equivalent system capable of collaborative editing, with versioned history, suggestions ('track changes'), threaded @@ -28,7 +28,7 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: <https://docs.google.com/document/d/1CoLCPTcRFvD4PqjvbUl3ZIWgGLpmRNbqxsT2Tu7lCzI/>`_ is available. -- make a new issue at https://github.com/matrix-org/matrix-doc/issues (or +- Make a new issue at https://github.com/matrix-org/matrix-doc/issues (or modify an existing one), whose description should list the metadata as per below. - Gather feedback as widely as possible from the community and core team on From 2a6895e7591222517609b727d47097431851567c Mon Sep 17 00:00:00 2001 From: Jason Volk <jason@zemos.net> Date: Fri, 18 May 2018 17:06:22 -0700 Subject: [PATCH 404/801] Fix typo. --- specification/modules/history_visibility.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/history_visibility.rst b/specification/modules/history_visibility.rst index 476ea889f..84435edb0 100644 --- a/specification/modules/history_visibility.rst +++ b/specification/modules/history_visibility.rst @@ -82,7 +82,7 @@ For ``m.room.history_visibility`` events themselves, the user should be allowed to see the event if the ``history_visibility`` before *or* after the event would allow them to see it. (For example, a user should be able to see ``m.room.history_visibility`` events which change the ``history_visibility`` -from ``world_readable`` to ``joined`` *or* from ``joineded`` to +from ``world_readable`` to ``joined`` *or* from ``joined`` to ``world_readable``, even if that user was not a member of the room.) Likewise, for the user's own ``m.room.member`` events, the user should be From 0b776b0e9cfc9a609b4e20a05b74f857296af0fa Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 21 May 2018 11:01:03 +0100 Subject: [PATCH 405/801] link to proposals page from index --- specification/index.rst | 3 +++ specification/proposals.rst | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/specification/index.rst b/specification/index.rst index 5739ce097..488f07d77 100644 --- a/specification/index.rst +++ b/specification/index.rst @@ -27,6 +27,9 @@ Voice over IP (VoIP) signalling, Internet of Things (IoT) communication, and bri together existing communication silos - providing the basis of a new open real-time communication ecosystem. +To propose a change to the Matrix Spec, see the explanations at `Proposals +for Spec Changes to Matrix <proposals>`_. + Matrix APIs ----------- diff --git a/specification/proposals.rst b/specification/proposals.rst index c8d587641..d36b93dc6 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -92,7 +92,7 @@ proposal-wip * - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_ - Add groups stuff to spec - 2017-08-10 - - 2018-05-15 + - 2018-05-20 - `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_ - `@erikjohnston`_ - None From 8d550d21666e55b430cbc3739ee0d2bbc84aa6e5 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Wed, 23 May 2018 09:39:18 +0100 Subject: [PATCH 406/801] force re-render --- specification/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/index.rst b/specification/index.rst index 488f07d77..f9a3fef34 100644 --- a/specification/index.rst +++ b/specification/index.rst @@ -27,8 +27,8 @@ Voice over IP (VoIP) signalling, Internet of Things (IoT) communication, and bri together existing communication silos - providing the basis of a new open real-time communication ecosystem. -To propose a change to the Matrix Spec, see the explanations at `Proposals -for Spec Changes to Matrix <proposals>`_. +To propose a change to the Matrix Spec, see the explanations at +`Proposals for Spec Changes to Matrix <proposals>`_. Matrix APIs ----------- From 434e2949f919cd909e8ac93c01f4b015c7d19a1f Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Wed, 23 May 2018 17:00:26 +0100 Subject: [PATCH 407/801] include #1256 --- specification/proposals.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/specification/proposals.rst b/specification/proposals.rst index d36b93dc6..7872f6bd1 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -185,6 +185,14 @@ proposal-wip - `@neilisfragile`_ - None - + * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ + - Custom emoji and sticker packs in matrix + - 2018-05-23 + - 2018-05-23 + - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - From c3062b7db6360511bf9643f7f080f4f2c99557a4 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 24 May 2018 11:36:56 +0100 Subject: [PATCH 408/801] Include Proposals Page Title, update MSC1256 --- specification/proposals.rst | 18 +++++++++--------- specification/proposals_intro.rst | 2 ++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/specification/proposals.rst b/specification/proposals.rst index 7872f6bd1..80d1ce0f6 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -132,7 +132,7 @@ proposal-wip * - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_ - Improving Presence - 2017-12-26 - - 2018-05-15 + - 2018-05-24 - `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_ - `@ara4n`_ - None @@ -185,14 +185,6 @@ proposal-wip - `@neilisfragile`_ - None - - * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ - - Custom emoji and sticker packs in matrix - - 2018-05-23 - - 2018-05-23 - - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - @@ -228,6 +220,14 @@ proposal-ready-for-review - `@Half-Shot`_ - None - `PR#1189`_ + * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ + - Custom emoji and sticker packs in matrix + - 2018-05-23 + - 2018-05-24 + - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index fdc34a296..cfa59b8fc 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -1,3 +1,5 @@ +.. title:: Proposals for Spec Changes to Matrix + .. contents:: Table of Contents .. sectnum:: From 9ca62edda0a664f65ac7ff31b659a77efce7edb1 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Fri, 25 May 2018 19:39:54 +0100 Subject: [PATCH 409/801] Document new application service registration file options. --- .../application_service.yaml | 2 +- specification/application_service_api.rst | 89 +++++++++++++++---- 2 files changed, 75 insertions(+), 16 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index c39ce198f..a63774a24 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -43,7 +43,7 @@ paths: x-example: "35" - in: body name: body - description: A list of events + description: A list of events. schema: type: object example: { diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..6eb8e87e2 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -83,34 +83,93 @@ regular expressions and look like: users: - exclusive: true - regex: @irc.freenode.net_.* + regex: "@irc.freenode.net_.*" + group_id: "+irc:matrix.org" + +Application Services may define the following namespaces (with none being explicitly required): + ++------------------+-----------------------------------------------------------+ +| Name | Description | ++==================+===========================================================+ +| users | Events which are sent from certain users. | ++------------------+-----------------------------------------------------------+ +| aliases | Events which are sent in rooms with certain room aliases. | ++------------------+-----------------------------------------------------------+ +| rooms | Events which are sent in rooms with certain room IDs. | ++------------------+-----------------------------------------------------------+ + +Each individual namespace MUST declare the following fields: + ++------------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| Name | Description | ++==================+===================================================================================================================================+ +| exclusive | **Required** A true or false value stating whether this Application Service has exclusive access to events within this namespace. | ++------------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| regex | **Required** A regular expression defining which values this namespace includes. | ++------------------+-----------------------------------------------------------------------------------------------------------------------------------+ + +An optional ``group_id`` field may be added to the users namespace: + ++------------------+-----------------------------------------------------------+ +| Name | Description | ++==================+===========================================================+ +| group_id | All matching users will be considered part of this group. | ++------------------+-----------------------------------------------------------+ + +.. WARNING:: + + Users that are matched by ``group_id`` should not be publically listed by + Homeservers. The intention is to differentiate users, perhaps with a flair, + rather than having a list of people to spam. The registration is represented by a series of key-value pairs, which this -specification will present as YAML. An example HS configuration required to pass -traffic to the AS is: +specification will present as YAML. See below for the possible options along +with their explanation: + ++------------------+----------------------------------------------------------------------------------------------------------+ +| Name | Description | ++==================+==========================================================================================================+ +| id | **Required.** A unique, user-defined ID of the Application Service which will never change. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| url | **Required.** The base URL for the Application Service. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| as_token | **Required.** A unique token for Application Services to use to authenticate requests to Homeservers. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| hs_token | **Required.** A unique token for Homeservers to use to authenticate requests to Application Services. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| sender_localpart | **Required.** The localpart of the user associated with the Application Service. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| namespaces | **Required.** A list of "users", "aliases" and "rooms" namespaces that the Application Service controls. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| rate_limited | Whether requests from masqueraded users are rate-limited. The sender is excluded. | ++------------------+----------------------------------------------------------------------------------------------------------+ +| protocols | The external protocols which the Application Service provides (e.g. IRC). | ++------------------+----------------------------------------------------------------------------------------------------------+ + +An example registration file for an IRC-bridging Application Service is below: .. code-block:: yaml - id: <user-defined unique ID of AS which will never change> - url: <base url of AS> - as_token: <token AS will add to requests to HS> - hs_token: <token HS will add to requests to AS> - sender_localpart: <localpart of AS user> + id: "IRC Bridge" + url: "http://127.0.0.1:1234" + as_token: "30c05ae90a248a4188e620216fa72e349803310ec83e2a77b34fe90be6081f46" + hs_token: "312df522183efd404ec1cd22d2ffa4bbc76a8c1ccf541dd692eef281356bb74e" + sender_localpart: "_irc_bot" # Will result in @_irc_bot:domain.com namespaces: - users: # Namespaces of users which should be delegated to the AS - - exclusive: <bool> - regex: <regex> - - ... - aliases: [] # Namespaces of room aliases which should be delegated to the AS - rooms: [] # Namespaces of room ids which should be delegated to the AS + users: + - exclusive: true + regex: "@irc_bridge_.*" + aliases: + - exclusive: false + regex: "#irc_bridge_.*" + rooms: [] .. WARNING:: If the homeserver in question has multiple application services, each ``as_token`` and ``id`` MUST be unique per application service as these are used to identify the application service. The homeserver MUST enforce this. - Homeserver -> Application Service API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 4278cd56a40f4d81037dbba033e7a19af1c2f42c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 11:45:36 -0600 Subject: [PATCH 410/801] Document /logout/all Fixes https://github.com/matrix-org/matrix-doc/issues/700 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/logout.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/api/client-server/logout.yaml b/api/client-server/logout.yaml index 3a2f71e90..2dfd6d97c 100644 --- a/api/client-server/logout.yaml +++ b/api/client-server/logout.yaml @@ -44,3 +44,26 @@ paths: properties: {} tags: - Session management + "/logout/all": + post: + summary: Invalidates all access tokens for a user + description: |- + Invalidates all access tokens for a user, so that they can no longer be used for + authorization. This includes the access token that made this request. + + This endpoint does not require UI authorization because UI authorization is + designed to protect against attacks where the someone gets hold of a single access + token then takes over the account. This endpoint invalidates all access tokens for + the user, including the token used in the request, and therefore the attacker is + unable to take over the account in this way. + operationId: logout_all + security: + - accessToken: [] + responses: + 200: + description: The user's access tokens were succesfully invalidated. + schema: + type: object + properties: {} + tags: + - Session management From 59ea10b84282dba6dd8d1af0412716d218bd6d04 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 11:47:28 -0600 Subject: [PATCH 411/801] Add changelog entry for /logout/all Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 3c4fbffa3..9833662e5 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -48,6 +48,8 @@ Unreleased changes (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - Add the ``/register/available`` endpoint for username availability (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). + - Document ``/logout/all`` endpoint + (`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_). r0.3.0 ====== From 9037f506acf528bb73886f058451b314912419b4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 12:19:30 -0600 Subject: [PATCH 412/801] Document how to report content Fixes: https://github.com/matrix-org/matrix-doc/issues/739 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/report_content.yaml | 78 ++++++++++++++++++++++++ specification/modules/report_content.rst | 35 +++++++++++ specification/targets.yaml | 1 + 3 files changed, 114 insertions(+) create mode 100644 api/client-server/report_content.yaml create mode 100644 specification/modules/report_content.rst diff --git a/api/client-server/report_content.yaml b/api/client-server/report_content.yaml new file mode 100644 index 000000000..f702151d3 --- /dev/null +++ b/api/client-server/report_content.yaml @@ -0,0 +1,78 @@ +# Copyright 2018 Travis Ralston +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Report Content API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/rooms/{roomId}/report/{eventId}": + post: + summary: Reports an event as inappropriate. + description: |- + Reports an event as inappropriate to the server, which may then notify + the appropriate people. + operationId: reportContent + parameters: + - in: path + type: string + name: roomId + description: The room in which the event being reported is located. + required: true + x-example: "!637q39766251:example.com" + - in: path + type: string + name: eventId + description: The event to report. + required: true + x-example: "$something:domain.com" + - in: body + name: body + schema: + type: object + example: { + "score": -100, + "reason": "this makes me sad" + } + required: ['score', 'reason'] + properties: + score: + type: integer + description: |- + The score to rate this content as where -100 is most offensive + and 0 is inoffensive. + reason: + type: string + description: The reason the content is being reported. May be blank. + security: + - accessToken: [] + responses: + 200: + description: The event has been reported successfully. + schema: + type: object + examples: + application/json: {} + tags: + - Reporting content diff --git a/specification/modules/report_content.rst b/specification/modules/report_content.rst new file mode 100644 index 000000000..5eca69cd7 --- /dev/null +++ b/specification/modules/report_content.rst @@ -0,0 +1,35 @@ +.. Copyright 2018 Travis Ralston +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Reporting Content +================= + +.. _module:report_content: + +Users may encounter content which they find inappropriate and should be able +to report it to the server administrators or room moderators for review. This +module defines a way for users to report content. + +Content is reported based upon a negative score, where -100 is "most offensive" +and 0 is "inoffensive". + +Client behaviour +---------------- +{{report_content_cs_http_api}} + +Server behaviour +---------------- +Servers are free to handle the reported content however they desire. This may +be a dedicated room to alert server administrators to the reported content or +some other mechanism for notifying the appropriate people. diff --git a/specification/targets.yaml b/specification/targets.yaml index 8ca5ce303..bc9d94c8f 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -67,6 +67,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/dm.rst - modules/ignore_users.rst - modules/stickers.rst + - modules/report_content.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From 352f1b7776286b293b7d55fffed07162e3cf9d9a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 12:23:46 -0600 Subject: [PATCH 413/801] Add report content API to changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 3c4fbffa3..466cafbc6 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -48,6 +48,8 @@ Unreleased changes (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - Add the ``/register/available`` endpoint for username availability (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). + - Add report content API + (`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_). r0.3.0 ====== From 7cc15f331554e7e329d396275ba2c8f256d7a43f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 12:34:58 -0600 Subject: [PATCH 414/801] Document the allow_remote query param on the media repo Fixes https://github.com/matrix-org/matrix-doc/issues/837 Signed-off-by: Travis Ralston <travpc@gmail.com> --- api/client-server/content-repo.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 03a25fd97..f76b2fb95 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -95,6 +95,15 @@ paths: required: true description: | The media ID from the ``mxc://`` URI (the path component) + - in: query + type: boolean + name: allow_remote + x-example: false + required: false + description: | + Indicates to the server that it should not attempt to fetch the media if it is deemed + remote. This is to prevent routing loops where the server contacts itself. Defaults to + true if not provided. responses: 200: description: "The content that was previously uploaded." @@ -140,6 +149,15 @@ paths: required: true description: | The filename to give in the Content-Disposition + - in: query + type: boolean + name: allow_remote + x-example: false + required: false + description: | + Indicates to the server that it should not attempt to fetch the media if it is deemed + remote. This is to prevent routing loops where the server contacts itself. Defaults to + true if not provided. responses: 200: description: "The content that was previously uploaded." @@ -198,6 +216,15 @@ paths: name: method x-example: "scale" description: The desired resizing method. + - in: query + type: boolean + name: allow_remote + x-example: false + required: false + description: | + Indicates to the server that it should not attempt to fetch the media if it is deemed + remote. This is to prevent routing loops where the server contacts itself. Defaults to + true if not provided. responses: 200: description: "A thumbnail of the requested content." From 8cbd80265085c7d0726b380525b08b1699d34af2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 27 May 2018 12:36:50 -0600 Subject: [PATCH 415/801] Add allow_remote to the changelog Signed-off-by: Travis Ralston <travpc@gmail.com> --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 3c4fbffa3..422c3e2d2 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -48,6 +48,8 @@ Unreleased changes (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - Add the ``/register/available`` endpoint for username availability (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). + - Add ``allow_remote`` to the content repo to avoid routing loops + (`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_). r0.3.0 ====== From d6fb5afd16ad1682d90c9dd3bd505e9baf60e513 Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Mon, 28 May 2018 23:30:40 +0100 Subject: [PATCH 416/801] Clarified group_id group visibility, url possibilities, regex starters Changed Application Service capatalization to be consistent with the rest of the document. --- specification/application_service_api.rst | 68 ++++++++++++----------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 6eb8e87e2..31983a0cc 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -83,10 +83,10 @@ regular expressions and look like: users: - exclusive: true - regex: "@irc.freenode.net_.*" + regex: "@_irc.freenode.net_.*" group_id: "+irc:matrix.org" -Application Services may define the following namespaces (with none being explicitly required): +Application services may define the following namespaces (with none being explicitly required): +------------------+-----------------------------------------------------------+ | Name | Description | @@ -103,22 +103,24 @@ Each individual namespace MUST declare the following fields: +------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | Name | Description | +==================+===================================================================================================================================+ -| exclusive | **Required** A true or false value stating whether this Application Service has exclusive access to events within this namespace. | +| exclusive | **Required** A true or false value stating whether this application service has exclusive access to events within this namespace. | +------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | regex | **Required** A regular expression defining which values this namespace includes. | +------------------+-----------------------------------------------------------------------------------------------------------------------------------+ -An optional ``group_id`` field may be added to the users namespace: +An application service's users and regex field MUST begin with an underscore (``_``), in +order to provide a visually clear distinction between AS users and regular +users. An optional ``group_id`` field may be added to the ``users`` namespace: -+------------------+-----------------------------------------------------------+ -| Name | Description | -+==================+===========================================================+ -| group_id | All matching users will be considered part of this group. | -+------------------+-----------------------------------------------------------+ ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Name | Description | ++==================+============================================================================================================================================================================================================================================================================+ +| group_id | An existing group that all matching user IDs will be considered a part of. Users who are joined to this group through an application service are not to be listed when querying for the group's members, however the group should be listed when querying a user's groups. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. WARNING:: - Users that are matched by ``group_id`` should not be publically listed by + Users that are matched by ``group_id`` should not be publicly listed by Homeservers. The intention is to differentiate users, perhaps with a flair, rather than having a list of people to spam. @@ -127,27 +129,27 @@ The registration is represented by a series of key-value pairs, which this specification will present as YAML. See below for the possible options along with their explanation: -+------------------+----------------------------------------------------------------------------------------------------------+ -| Name | Description | -+==================+==========================================================================================================+ -| id | **Required.** A unique, user-defined ID of the Application Service which will never change. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| url | **Required.** The base URL for the Application Service. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| as_token | **Required.** A unique token for Application Services to use to authenticate requests to Homeservers. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| hs_token | **Required.** A unique token for Homeservers to use to authenticate requests to Application Services. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| sender_localpart | **Required.** The localpart of the user associated with the Application Service. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| namespaces | **Required.** A list of "users", "aliases" and "rooms" namespaces that the Application Service controls. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| rate_limited | Whether requests from masqueraded users are rate-limited. The sender is excluded. | -+------------------+----------------------------------------------------------------------------------------------------------+ -| protocols | The external protocols which the Application Service provides (e.g. IRC). | -+------------------+----------------------------------------------------------------------------------------------------------+ - -An example registration file for an IRC-bridging Application Service is below: ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| Name | Description | ++==================+====================================================================================================================================================+ +| id | **Required.** A unique, user-defined ID of the application service which will never change. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| url | **Required.** The URL for the application service. May include a path after the domain name. Optionally set to ``null`` if no traffic is required. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| as_token | **Required.** A unique token for application services to use to authenticate requests to Homeservers. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| hs_token | **Required.** A unique token for Homeservers to use to authenticate requests to application services. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| sender_localpart | **Required.** The localpart of the user associated with the application service. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| namespaces | **Required.** A list of ``users``, ``aliases`` and ``rooms`` namespaces that the application service controls. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| rate_limited | Whether requests from masqueraded users are rate-limited. The sender is excluded. | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ +| protocols | The external protocols which the application service provides (e.g. IRC). | ++------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+ + +An example registration file for an IRC-bridging application service is below: .. code-block:: yaml @@ -159,10 +161,10 @@ An example registration file for an IRC-bridging Application Service is below: namespaces: users: - exclusive: true - regex: "@irc_bridge_.*" + regex: "@_irc_bridge_.*" aliases: - exclusive: false - regex: "#irc_bridge_.*" + regex: "#_irc_bridge_.*" rooms: [] .. WARNING:: From 34090b24c432ce4b94da59884e3e136db1aa8013 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 29 May 2018 14:19:03 +0100 Subject: [PATCH 417/801] prepare proposals.py for CI --- scripts/proposals.py | 4 ++-- specification/proposals.rst | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index a84804a73..33fa64162 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -11,7 +11,7 @@ authors = set() prs = set() def getpage(url, page): - resp = requests.get(url + str(page)) + resp = requests.get(url + str(page), auth=('benparsons', '99fbc9df2d75a18b5ac7f24e326e4de548b06172')) for link in resp.links.values(): if link['rel'] == 'last': @@ -100,7 +100,7 @@ for label in labels: text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n") # list of document links (urls comma-separated) - maindoc = re.search('^Documentation: (.+?)\n', str(item['body'])) + maindoc = re.search('^Documentation: (.+?)$', str(item['body']), flags=re.MULTILINE) if maindoc is not None: maindoc = maindoc.group(1) doc_list_formatted = ["`" + str(item['number']) + "-" + str(i) + " <" + x.strip() + ">`_" for i, x in enumerate(maindoc.split(','),1)] diff --git a/specification/proposals.rst b/specification/proposals.rst index 80d1ce0f6..a19d820f1 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -140,7 +140,7 @@ proposal-wip * - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_ - Pushing updates about Groups (Communities) to clients - 2018-01-02 - - 2018-05-15 + - 2018-05-24 - `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_ - `@ara4n`_ - None @@ -156,7 +156,7 @@ proposal-wip * - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_ - Proposal for lazy-loading room members to improve initial sync speed and client RAM usage - 2018-03-05 - - 2018-05-15 + - 2018-05-28 - `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_ - `@ara4n`_ - None @@ -185,6 +185,14 @@ proposal-wip - `@neilisfragile`_ - None - + * - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_ + - Interactive Key Verification + - 2018-05-28 + - 2018-05-28 + - `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_ + - `@uhoreg`_ + - None + - From 7a82a5d4279f47560258b389433c7835bb919b67 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 29 May 2018 14:20:48 +0100 Subject: [PATCH 418/801] correct proposals.py --- scripts/proposals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 33fa64162..5bbe3d08f 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -11,7 +11,7 @@ authors = set() prs = set() def getpage(url, page): - resp = requests.get(url + str(page), auth=('benparsons', '99fbc9df2d75a18b5ac7f24e326e4de548b06172')) + resp = requests.get(url + str(page)) for link in resp.links.values(): if link['rel'] == 'last': From 419bf1e52cd5dabc1428df7365ee77e726718190 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Wed, 30 May 2018 09:42:56 +0100 Subject: [PATCH 419/801] Fix continuserv instructions As per f04b17f1c90df655771aa53e71900329cccd1378 Also dedup continuserv readme --- README.rst | 10 +++++----- scripts/continuserv/README | 6 ------ scripts/continuserv/README.md | 3 +++ 3 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 scripts/continuserv/README create mode 100644 scripts/continuserv/README.md diff --git a/README.rst b/README.rst index 76f4ad55d..6c87201c4 100644 --- a/README.rst +++ b/README.rst @@ -68,10 +68,10 @@ Windows users ~~~~~~~~~~~~~ If you're on Windows Vista or higher, be sure that the "Symbolic Links" -option was selected when installing Git prior to cloning this repository. If -you're still seeing errors about files not being found it is likely because -the symlink at ``api/client-server/definitions/event-schemas`` looks like a -file. To correct the problem, open an Administrative/Elevated shell in your +option was selected when installing Git prior to cloning this repository. If +you're still seeing errors about files not being found it is likely because +the symlink at ``api/client-server/definitions/event-schemas`` looks like a +file. To correct the problem, open an Administrative/Elevated shell in your cloned matrix-doc directory and run the following:: cd api\client-server\definitions @@ -121,7 +121,7 @@ changes. It is written in Go, so you will need the ``go`` compiler installed on your computer. You will also need to install fsnotify by running:: - go get gopkg.in/fsnotify.v1 + go get gopkg.in/fsnotify/fsnotify.v1 Then, create a virtualenv as described above under `Preparation`_, and:: diff --git a/scripts/continuserv/README b/scripts/continuserv/README deleted file mode 100644 index edb9aef4e..000000000 --- a/scripts/continuserv/README +++ /dev/null @@ -1,6 +0,0 @@ -continuserv proactively re-generates the spec on filesystem changes, and serves it over HTTP. - -To run it, you must install the `go` tool. You will also need to install fsnotify by running: - `go get gopkg.in/fsnotify/fsnotify.v1` -You can then run continuserv by running: - `go run main.go` diff --git a/scripts/continuserv/README.md b/scripts/continuserv/README.md new file mode 100644 index 000000000..40321bb62 --- /dev/null +++ b/scripts/continuserv/README.md @@ -0,0 +1,3 @@ +continuserv proactively re-generates the spec on filesystem changes, and serves +it over HTTP. For notes on using it, see [the main +readme](../../README.rst#continuserv). From cb00fc35abfb53429f0f495cde58d207c3be4bff Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 31 May 2018 15:54:23 +0100 Subject: [PATCH 420/801] git checkout master --- scripts/proposals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index 5bbe3d08f..241b0708d 100644 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -22,7 +22,7 @@ def getpage(url, page): def getbylabel(label): pagecount = 1 json = list() - urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=open&labels=' + label + '&page=' + urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=all&labels=' + label + '&page=' print(urlbase) json.extend(getpage(urlbase, 1)) for page in range(2, int(pagecount) + 1): From 7a44351a34f8b1fb7d08dfd498f162e2d4c3f83d Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 31 May 2018 16:13:31 +0100 Subject: [PATCH 421/801] update following rvdh spec blitz --- specification/proposals.rst | 121 +++++++++++++++++++++++++----------- 1 file changed, 85 insertions(+), 36 deletions(-) diff --git a/specification/proposals.rst b/specification/proposals.rst index a19d820f1..636877ffb 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -68,7 +68,7 @@ proposal-wip * - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_ - Publishing Room Lists for 3rd party networks - 2016-10-21 - - 2018-05-15 + - 2018-05-31 - `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_ - `@erikjohnston`_ - None @@ -212,14 +212,6 @@ proposal-ready-for-review - Author - Shepherd - PRs - * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ - - Document key-share requests - - 2018-04-30 - - 2018-05-15 - - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ - - `@richvdh`_ - - None - - * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ - Media limits API - 2018-05-04 @@ -236,6 +228,14 @@ proposal-ready-for-review - `@turt2live`_ - None - + * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ + - Synapse /_matrix/media/v1/resolve_url to API download and preview urls in the clients despite on CORS + - 2018-05-31 + - 2018-05-31 + - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ + - `@oivoodoo`_ + - None + - @@ -333,6 +333,14 @@ spec-pr-missing - Author - Shepherd - PRs + * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ + - Configuration of E2E encryption in a room + - 2016-06-16 + - 2018-05-31 + - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ + - `@richvdh`_ + - None + - * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ - Device Management API - 2016-07-14 @@ -429,14 +437,22 @@ spec-pr-missing - `@lukebarnard1`_ - None - - * - `MSC1216 <https://github.com/matrix-org/matrix-doc/issues/1216>`_ - - @room notification proposal + * - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_ + - Doc @room notifications - 2017-10-23 - - 2018-05-15 - - `1216-1 <https://docs.google.com/document/d/1qRdlg94cr9YXxPCwhW4HgI2oDrqQOUKX5HptZFBGf6o/edit>`_ + - 2018-05-31 + - - `@dbkr`_ - None - - `PR#1176`_ + - + * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ + - Document key-share requests + - 2018-04-30 + - 2018-05-31 + - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ + - `@richvdh`_ + - None + - * - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_ - Temporary mitigation for depth parameter abuse - 2018-05-01 @@ -472,6 +488,14 @@ merged - Author - Shepherd - PRs + * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ + - Ignoring Users + - 2016-05-03 + - 2018-05-18 + - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ + - `@erikjohnston`_ + - None + - `PR#1142`_ * - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_ - Notifications API - 2016-05-23 @@ -480,14 +504,6 @@ merged - `@dbkr`_ - None - - * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ - - Configuration of E2E encryption in a room - - 2016-06-16 - - 2018-05-15 - - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ - - `@richvdh`_ - - None - - * - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_ - Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition - 2016-09-29 @@ -496,6 +512,14 @@ merged - `@richvdh`_ - None - + * - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_ + - Add /user_directory/search API + - 2017-05-31 + - 2018-05-10 + - `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_ + - `@erikjohnston`_ + - None + - * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ - A proposal for organising spec proposals - 2018-05-10 @@ -574,6 +598,22 @@ obsolete - Author - Shepherd - PRs + * - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_ + - Replies event format + - 2018-02-01 + - 2018-05-15 + - `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_ + - `@t3chguy`_ + - None + - + * - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_ + - Replies - next steps + - 2018-02-03 + - 2018-05-15 + - `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_ + - `@t3chguy`_ + - None + - * - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_ - Proposal for Calendar Events - 2018-02-06 @@ -582,34 +622,43 @@ obsolete - `@Half-Shot`_ - None - + * - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_ + - Rich quoting proposal + - 2018-05-10 + - 2018-05-15 + - `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_ + - `@t3chguy`_ + - None + - +.. _@rxl881: https://github.com/rxl881 +.. _@psaavedra: https://github.com/psaavedra +.. _@erikjohnston: https://github.com/erikjohnston .. _@t3chguy: https://github.com/t3chguy +.. _@Kegsay: https://github.com/Kegsay .. _@KitsuneRal: https://github.com/KitsuneRal -.. _@pik: https://github.com/pik .. _@leonerd: https://github.com/leonerd .. _@turt2live: https://github.com/turt2live -.. _@erikjohnston: https://github.com/erikjohnston -.. _@neilisfragile: https://github.com/neilisfragile -.. _@psaavedra: https://github.com/psaavedra -.. _@richvdh: https://github.com/richvdh -.. _@NegativeMjark: https://github.com/NegativeMjark .. _@ara4n: https://github.com/ara4n -.. _@lukebarnard1: https://github.com/lukebarnard1 -.. _@lampholder: https://github.com/lampholder -.. _@dbkr: https://github.com/dbkr .. _@maxidor: https://github.com/maxidor -.. _others: https://github.com/thers -.. _@rxl881: https://github.com/rxl881 .. _@uhoreg: https://github.com/uhoreg -.. _@Kegsay: https://github.com/Kegsay +.. _@pik: https://github.com/pik +.. _@neilisfragile: https://github.com/neilisfragile +.. _@lukebarnard1: https://github.com/lukebarnard1 +.. _others: https://github.com/thers .. _@Half-Shot: https://github.com/Half-Shot .. _@aviraldg: https://github.com/aviraldg +.. _@oivoodoo: https://github.com/oivoodoo +.. _@richvdh: https://github.com/richvdh +.. _@NegativeMjark: https://github.com/NegativeMjark +.. _@lampholder: https://github.com/lampholder +.. _@dbkr: https://github.com/dbkr .. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310 +.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142 .. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240 .. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189 -.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 -.. _PR#1176: https://github.com/matrix-org/matrix-doc/pull/1176 \ No newline at end of file +.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 \ No newline at end of file From 42fba1a87ec5886a2cba9ee60359347ca2647234 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 3 Jun 2018 12:08:19 +0900 Subject: [PATCH 422/801] Add 'default' to formally enforce the description A quick follow up on #1265. Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/client-server/content-repo.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index f76b2fb95..943fee3cd 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -100,6 +100,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to @@ -154,6 +155,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to @@ -221,6 +223,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to From ee98082a6051a4871a1936bd2ddf7d3d97729980 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 4 Jun 2018 12:12:48 +0100 Subject: [PATCH 423/801] update MSC1270 --- scripts/proposals.py | 2 ++ specification/proposals.rst | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) mode change 100644 => 100755 scripts/proposals.py diff --git a/scripts/proposals.py b/scripts/proposals.py old mode 100644 new mode 100755 index 241b0708d..aa2252bcb --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -1,3 +1,5 @@ +#! /usr/bin/env python + # proposals.py: generate an RST file (proposals.rst) from queries to github.com/matrix.org/matrix-doc/issues. # v0.0.1 diff --git a/specification/proposals.rst b/specification/proposals.rst index 636877ffb..9e0becf35 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -229,9 +229,9 @@ proposal-ready-for-review - None - * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ - - Synapse /_matrix/media/v1/resolve_url to API download and preview urls in the clients despite on CORS - - 2018-05-31 + - Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS - 2018-05-31 + - 2018-06-04 - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ - `@oivoodoo`_ - None @@ -376,7 +376,7 @@ spec-pr-missing * - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_ - Reporting inappropriate content in Matrix - 2016-11-21 - - 2018-05-15 + - 2018-05-31 - `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_ - `@ara4n`_ - None From 4ff5887c917b3595344f01d33b134a1658a1e4a1 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 5 Jun 2018 10:06:26 +0100 Subject: [PATCH 424/801] spec the highlights field in /search response --- api/client-server/search.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index c4f38fa17..7c5a9a5bc 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -181,6 +181,12 @@ paths: count: type: number description: An approximate count of the total number of results found. + highlights: + type: array + title: Highlights + description: List of words which should be highlighted, useful for stemming which may change the query terms. + items: + type: string results: type: array title: Results From 64f97c5b7861b84bd53993214c89db6dff97862b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 5 Jun 2018 10:10:24 +0100 Subject: [PATCH 425/801] add example of highlights field in /search response --- api/client-server/search.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 7c5a9a5bc..65730e382 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -324,6 +324,10 @@ paths: } } }, + "highlights": [ + "martians", + "men" + ], "next_batch": "5FdgFsd234dfgsdfFD", "count": 1224, "results": [ From df5455de1f993104c772f85af6f115ec0751a3d1 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 5 Jun 2018 10:12:34 +0100 Subject: [PATCH 426/801] re-arrange fields in example /search request to make them a valid request. --- api/client-server/search.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 65730e382..e5f6a872b 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -53,16 +53,16 @@ paths: "keys": [ "content.body" ], - "search_term": "martians and men" - } - }, - "order_by": "recent", - "groupings": { - "group_by": [ - { - "key": "room_id" + "search_term": "martians and men", + "order_by": "recent", + "groupings": { + "group_by": [ + { + "key": "room_id" + } + ] } - ] + } } } properties: From 968ee0f61379b5c021ef26044ba59e566906014e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 5 Jun 2018 10:13:54 +0100 Subject: [PATCH 427/801] add changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 92d131030..243441163 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -54,6 +54,8 @@ Unreleased changes (`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_). - Document ``/logout/all`` endpoint (`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_). + - Document `highlights` field in /search response + (`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_). r0.3.0 ====== From ffb8037af2d1a1e7e7657f8f7154c5175093034b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 5 Jun 2018 16:43:42 +0100 Subject: [PATCH 428/801] update MSC list --- specification/proposals.rst | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/specification/proposals.rst b/specification/proposals.rst index 9e0becf35..6c41a0acd 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -49,6 +49,14 @@ proposal-wip - `@leonerd`_ - None - + * - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_ + - Support for websockets + - 2015-11-16 + - 2018-06-04 + - `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_ + - `@richvdh`_, `@krombel`_ + - None + - * - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_ - Push to Talk - 2016-04-13 @@ -193,6 +201,14 @@ proposal-wip - `@uhoreg`_ - None - + * - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_ + - Mechanisms for communicating erasure requests to bots and federated homeservers + - 2018-06-05 + - 2018-06-05 + - `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_ + - `@richvdh`_ + - None + - @@ -215,7 +231,7 @@ proposal-ready-for-review * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ - Media limits API - 2018-05-04 - - 2018-05-15 + - 2018-06-05 - `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_ - `@Half-Shot`_ - None @@ -231,7 +247,7 @@ proposal-ready-for-review * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ - Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS - 2018-05-31 - - 2018-06-04 + - 2018-06-05 - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ - `@oivoodoo`_ - None @@ -636,14 +652,15 @@ obsolete .. _@rxl881: https://github.com/rxl881 -.. _@psaavedra: https://github.com/psaavedra +.. _@turt2live: https://github.com/turt2live .. _@erikjohnston: https://github.com/erikjohnston .. _@t3chguy: https://github.com/t3chguy .. _@Kegsay: https://github.com/Kegsay .. _@KitsuneRal: https://github.com/KitsuneRal .. _@leonerd: https://github.com/leonerd -.. _@turt2live: https://github.com/turt2live +.. _@psaavedra: https://github.com/psaavedra .. _@ara4n: https://github.com/ara4n +.. _@krombel: https://github.com/krombel .. _@maxidor: https://github.com/maxidor .. _@uhoreg: https://github.com/uhoreg .. _@pik: https://github.com/pik From cefd1a832e1849793917caffe89f417c01c2ac99 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Tue, 5 Jun 2018 17:55:21 +0100 Subject: [PATCH 429/801] server_server_api: fix typo in auth section fixes "destintation" typo --- specification/server_server_api.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index e98853119..9ad04d102 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -18,7 +18,8 @@ Federation API Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to -each other in real-time, to request historic messages from each other, and to +each other in real-time, to +historic messages from each other, and to query profile and presence information about users on each other's servers. The APIs are implemented using HTTPS GETs and PUTs between each of the @@ -1173,7 +1174,7 @@ Step 1 sign JSON: "method": "GET", "uri": "/target", "origin": "origin.hs.example.com", - "destintation": "destination.hs.example.com", + "destination": "destination.hs.example.com", "content": <request body>, "signatures": { "origin.hs.example.com": { From a552c1853e10c660f0ded997d43dfe5fdd80f45b Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 7 Jun 2018 14:07:02 +0100 Subject: [PATCH 430/801] update for MSC 701 --- specification/proposals.rst | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/specification/proposals.rst b/specification/proposals.rst index 6c41a0acd..2b3e3e638 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -252,6 +252,14 @@ proposal-ready-for-review - `@oivoodoo`_ - None - + * - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_ + - Auth for content repo (and enforcing GDPR erasure) + - 2018-06-04 + - 2018-06-07 + - `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_ + - `@ara4n`_ + - None + - @@ -280,9 +288,9 @@ proposal-in-review - `@uhoreg`_ - * - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_ - - A way for HSes to remove bindings from ISes + - A way for HSes to remove bindings from ISes (aka unbind) - 2018-05-09 - - 2018-05-15 + - 2018-06-05 - `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_ - `@dbkr`_ - None From 0c1ba33ebadf45e65234eb8017e542ba020e958a Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 7 Jun 2018 14:30:50 +0100 Subject: [PATCH 431/801] include proposals.py in matrix-doc CI --- scripts/generate-matrix-org-assets | 3 +++ scripts/proposals.py | 3 +-- scripts/requirements.txt | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index cb3cf4552..ed08f81d3 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -8,6 +8,9 @@ cd `dirname $0`/.. mkdir -p assets +# generate specification/proposals.rst +./scripts/proposals.py + # generate the spec docs ./scripts/gendoc.py -d assets/spec diff --git a/scripts/proposals.py b/scripts/proposals.py index aa2252bcb..b489f0d27 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -6,7 +6,6 @@ import requests import re from datetime import datetime -from m2r import convert as m2r pagecount = 1 authors = set() @@ -42,7 +41,7 @@ issues = {} for label in labels: issues[label] = getbylabel(label) -text_file = open("../specification/proposals.rst", "w") +text_file = open("specification/proposals.rst", "w") text_file.write("Tables of Tracked Proposals\n---------------------------\n\n") diff --git a/scripts/requirements.txt b/scripts/requirements.txt index 9886fce4a..37d99dd3d 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -6,3 +6,4 @@ pygments >= 2.2.0 Jinja2 >= 2.9.6 jsonschema >= 2.6.0 PyYAML >= 3.12 +requests >= 2.18.4 From 18ba0d6d81c536db1d47b75301b9076a40683772 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Thu, 7 Jun 2018 15:32:18 +0100 Subject: [PATCH 432/801] remove propsals.rst as it will be regenerated --- specification/proposals.rst | 689 ------------------------------------ 1 file changed, 689 deletions(-) delete mode 100644 specification/proposals.rst diff --git a/specification/proposals.rst b/specification/proposals.rst deleted file mode 100644 index 2b3e3e638..000000000 --- a/specification/proposals.rst +++ /dev/null @@ -1,689 +0,0 @@ -Tables of Tracked Proposals ---------------------------- - -proposal-wip -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_ - - Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5) - - 2014-09-15 - - 2018-05-15 - - `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_ - - `@KitsuneRal`_ - - None - - - * - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_ - - Federation API for canonicalising MXIDs - - 2014-10-27 - - 2018-05-15 - - `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_ - - Extensible Profiles. (SPEC-93) - - 2015-01-19 - - 2018-05-15 - - `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_ - - Matrix Escape Hatch (Versioned Rooms) - - 2015-10-22 - - 2018-05-15 - - `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_ - - `@leonerd`_ - - None - - - * - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_ - - Support for websockets - - 2015-11-16 - - 2018-06-04 - - `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_ - - `@richvdh`_, `@krombel`_ - - None - - - * - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_ - - Push to Talk - - 2016-04-13 - - 2018-05-15 - - `1238-1 <TBD>`_ - - `@aviraldg`_ - - None - - `PR#310`_ - * - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_ - - Threading API - - 2016-05-23 - - 2018-05-15 - - `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_ - - `@Half-Shot`_ - - None - - - * - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_ - - Publishing Room Lists for 3rd party networks - - 2016-10-21 - - 2018-05-31 - - `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_ - - Support for Reactions / Aggregations - - 2016-12-25 - - 2018-05-15 - - `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_ - - `@pik`_ - - `@ara4n`_ - - - * - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_ - - Improving m.location with GeoJSON and accuracy - - 2017-05-19 - - 2018-05-15 - - `1237-1 <TBD>`_ - - `@Half-Shot`_ - - None - - `PR#919`_ - * - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_ - - Add groups stuff to spec - - 2017-08-10 - - 2018-05-20 - - `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_ - - Groups as Rooms - - 2017-10-17 - - 2018-05-15 - - `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_ - - Visibility of groups to group members and their non-members - - 2017-10-30 - - 2018-05-15 - - `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_ - - `@lampholder`_ - - None - - - * - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_ - - Bridging group membership with 3rd party group sources - - 2017-11-15 - - 2018-05-15 - - `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_ - - Proposal for storing megolm keys serverside - - 2017-11-23 - - 2018-05-15 - - `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_ - - Improving Presence - - 2017-12-26 - - 2018-05-24 - - `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_ - - `@ara4n`_ - - None - - - * - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_ - - Pushing updates about Groups (Communities) to clients - - 2018-01-02 - - 2018-05-24 - - `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_ - - `@ara4n`_ - - None - - - * - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_ - - Extensible event types & fallback in Matrix - - 2018-02-18 - - 2018-05-15 - - `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_ - - `@ara4n`_ - - None - - - * - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_ - - Proposal for lazy-loading room members to improve initial sync speed and client RAM usage - - 2018-03-05 - - 2018-05-28 - - `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ - - Proposal for improved bot support - - 2018-03-14 - - 2018-05-15 - - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - - * - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_ - - Removing MXIDs from events - - 2018-04-19 - - 2018-05-15 - - `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_ - - `@richvdh`_ - - None - - - * - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_ - - Handling Consent for Privacy Policy - - 2018-05-02 - - 2018-05-15 - - `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_ - - `@neilisfragile`_ - - None - - - * - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_ - - Interactive Key Verification - - 2018-05-28 - - 2018-05-28 - - `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_ - - `@uhoreg`_ - - None - - - * - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_ - - Mechanisms for communicating erasure requests to bots and federated homeservers - - 2018-06-05 - - 2018-06-05 - - `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_ - - `@richvdh`_ - - None - - - - - -proposal-ready-for-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ - - Media limits API - - 2018-05-04 - - 2018-06-05 - - `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_ - - `@Half-Shot`_ - - None - - `PR#1189`_ - * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ - - Custom emoji and sticker packs in matrix - - 2018-05-23 - - 2018-05-24 - - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - - * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ - - Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS - - 2018-05-31 - - 2018-06-05 - - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ - - `@oivoodoo`_ - - None - - - * - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_ - - Auth for content repo (and enforcing GDPR erasure) - - 2018-06-04 - - 2018-06-07 - - `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_ - - `@ara4n`_ - - None - - - - - -proposal-in-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_ - - Support for discovering API endpoints via .well-known URIs (SPEC-121) - - 2015-03-08 - - 2018-05-15 - - `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_ - - `@maxidor`_, `others`_ - - `@uhoreg`_ - - - * - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_ - - A way for HSes to remove bindings from ISes (aka unbind) - - 2018-05-09 - - 2018-06-05 - - `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_ - - `@dbkr`_ - - None - - - - - -proposal-passed-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_ - - State Reset mitigation proposal - - 2018-02-20 - - 2018-05-15 - - `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_ - - `@richvdh`_ - - None - - - * - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_ - - Mitigating abuse of the event depth parameter over federation - - 2018-04-30 - - 2018-05-15 - - `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_ - - Matrix Widget API v2 - - 2018-05-13 - - 2018-05-15 - - `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_ - - `@rxl881`_ - - None - - - - - -spec-pr-missing -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ - - Configuration of E2E encryption in a room - - 2016-06-16 - - 2018-05-31 - - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ - - `@richvdh`_ - - None - - - * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ - - Device Management API - - 2016-07-14 - - 2018-05-15 - - `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_ - - `@richvdh`_ - - None - - - * - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_ - - 3rd Party Entity lookup API - - 2016-07-21 - - 2018-05-15 - - `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_ - - `@leonerd`_ - - None - - - * - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_ - - Proposal for multi-device deletion API - - 2016-10-12 - - 2018-05-15 - - `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_ - - `@richvdh`_ - - None - - - * - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_ - - Encrypted attachment format - - 2016-10-26 - - 2018-05-15 - - `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_ - - `@NegativeMjark`_ - - None - - - * - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_ - - Reporting inappropriate content in Matrix - - 2016-11-21 - - 2018-05-31 - - `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_ - - Megolm session export format - - 2017-01-03 - - 2018-05-15 - - `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_ - - `@richvdh`_ - - None - - - * - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_ - - Device List Update Stream - - 2017-01-18 - - 2018-05-15 - - `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_ - - `@richvdh`_ - - None - - - * - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_ - - Need to spec msisdn login API - - 2017-03-08 - - 2018-05-15 - - `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_ - - `@dbkr`_ - - None - - - * - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_ - - spec m.login.msisdn UI auth type - - 2017-03-24 - - 2018-05-15 - - `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ - - `@dbkr`_ - - None - - - * - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_ - - Add new Read Marker API to docs - - 2017-05-08 - - 2018-05-15 - - - - `@lukebarnard1`_ - - None - - - * - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_ - - Spec @mentions - - 2017-07-14 - - 2018-05-15 - - `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_ - - Related Groups (i.e. flair) - - 2017-10-03 - - 2018-05-15 - - `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_ - - Doc @room notifications - - 2017-10-23 - - 2018-05-31 - - - - `@dbkr`_ - - None - - - * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ - - Document key-share requests - - 2018-04-30 - - 2018-05-31 - - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ - - `@richvdh`_ - - None - - - * - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_ - - Temporary mitigation for depth parameter abuse - - 2018-05-01 - - 2018-05-15 - - `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_ - - `@ara4n`_ - - None - - - * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ - - Rich Replies format - - 2018-05-12 - - 2018-05-18 - - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ - - `@t3chguy`_ - - None - - - - - -merged -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ - - Ignoring Users - - 2016-05-03 - - 2018-05-18 - - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ - - `@erikjohnston`_ - - None - - `PR#1142`_ - * - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_ - - Notifications API - - 2016-05-23 - - 2018-05-15 - - `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_ - - `@dbkr`_ - - None - - - * - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_ - - Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition - - 2016-09-29 - - 2018-05-15 - - `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_ - - `@richvdh`_ - - None - - - * - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_ - - Add /user_directory/search API - - 2017-05-31 - - 2018-05-10 - - `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ - - A proposal for organising spec proposals - - 2018-05-10 - - 2018-05-18 - - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ - - `@ara4n`_ - - None - - `PR#1240`_ - - - -abandoned -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_ - - Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206) - - 2015-07-25 - - 2018-05-15 - - `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_ - - `@Kegsay`_ - - None - - - * - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_ - - Profile Personae - - 2016-07-15 - - 2018-05-15 - - `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_ - - Server Side Profile API - - 2016-11-01 - - 2018-05-15 - - `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_ - - Set defaults for m.federate - - 2017-04-10 - - 2018-05-18 - - `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_ - - `@psaavedra`_ - - None - - - - - -obsolete -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_ - - Replies event format - - 2018-02-01 - - 2018-05-15 - - `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_ - - `@t3chguy`_ - - None - - - * - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_ - - Replies - next steps - - 2018-02-03 - - 2018-05-15 - - `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_ - - `@t3chguy`_ - - None - - - * - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_ - - Proposal for Calendar Events - - 2018-02-06 - - 2018-05-15 - - `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_ - - `@Half-Shot`_ - - None - - - * - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_ - - Rich quoting proposal - - 2018-05-10 - - 2018-05-15 - - `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_ - - `@t3chguy`_ - - None - - - - - - - -.. _@rxl881: https://github.com/rxl881 -.. _@turt2live: https://github.com/turt2live -.. _@erikjohnston: https://github.com/erikjohnston -.. _@t3chguy: https://github.com/t3chguy -.. _@Kegsay: https://github.com/Kegsay -.. _@KitsuneRal: https://github.com/KitsuneRal -.. _@leonerd: https://github.com/leonerd -.. _@psaavedra: https://github.com/psaavedra -.. _@ara4n: https://github.com/ara4n -.. _@krombel: https://github.com/krombel -.. _@maxidor: https://github.com/maxidor -.. _@uhoreg: https://github.com/uhoreg -.. _@pik: https://github.com/pik -.. _@neilisfragile: https://github.com/neilisfragile -.. _@lukebarnard1: https://github.com/lukebarnard1 -.. _others: https://github.com/thers -.. _@Half-Shot: https://github.com/Half-Shot -.. _@aviraldg: https://github.com/aviraldg -.. _@oivoodoo: https://github.com/oivoodoo -.. _@richvdh: https://github.com/richvdh -.. _@NegativeMjark: https://github.com/NegativeMjark -.. _@lampholder: https://github.com/lampholder -.. _@dbkr: https://github.com/dbkr -.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310 -.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142 -.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240 -.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189 -.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 \ No newline at end of file From 72282577bf5f827fc052a623c6109ee79eda8438 Mon Sep 17 00:00:00 2001 From: Michael Kaye <1917473+michaelkaye@users.noreply.github.com> Date: Thu, 7 Jun 2018 16:32:03 +0100 Subject: [PATCH 433/801] Add back proposals.rst with a link to the actual location --- specification/proposals.rst | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 specification/proposals.rst diff --git a/specification/proposals.rst b/specification/proposals.rst new file mode 100644 index 000000000..371850ab3 --- /dev/null +++ b/specification/proposals.rst @@ -0,0 +1,6 @@ +Tables of Tracked Proposals +--------------------------- + +This file is autogenerated by a jenkins build process + +View the current live version `at https://matrix.org/docs/spec/proposals <https://matrix.org/docs/spec/proposals>`_ From c3f66e18147d4139ebc02ffae64cadc5217211a6 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 11 Jun 2018 12:40:04 +0100 Subject: [PATCH 434/801] basic spec for group IDs, mostly copied from User IDs as they share grammar --- .../appendices/identifier_grammar.rst | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/specification/appendices/identifier_grammar.rst b/specification/appendices/identifier_grammar.rst index e85bf4107..9487374b3 100644 --- a/specification/appendices/identifier_grammar.rst +++ b/specification/appendices/identifier_grammar.rst @@ -60,6 +60,7 @@ The sigil characters are as follows: * ``@``: User ID * ``!``: Room ID * ``$``: Event ID +* ``+``: Group ID * ``#``: Room alias The precise grammar defining the allowable format of an identifier depends on @@ -207,6 +208,35 @@ readable. .. TODO-spec What is the grammar for the opaque part? https://matrix.org/jira/browse/SPEC-389 + +Group Identifiers ++++++++++++++++++ + +Groups within Matrix are uniquely identified by their group ID. The group +ID is namespaced to the group server which hosts this group and has the +form:: + + +localpart:domain + +The ``localpart`` of a group ID is an opaque identifier for that group. It MUST +NOT be empty, and MUST contain only the characters ``a-z``, ``0-9``, ``.``, +``_``, ``=``, ``-``, and ``/``. + +The ``domain`` of a group ID is the `server name`_ of the group server which +hosts this group. + +The length of a group ID, including the ``+`` sigil and the domain, MUST NOT +exceed 255 characters. + +The complete grammar for a legal group ID is:: + + group_id = "+" group_id_localpart ":" server_name + group_id_localpart = 1*group_id_char + group_id_char = DIGIT + / %x61-7A ; a-z + / "-" / "." / "=" / "_" / "/" + + Room Aliases ++++++++++++ From 2e5cdaf51c28103f6aa30866beb5855b28499559 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> Date: Mon, 11 Jun 2018 14:25:05 +0100 Subject: [PATCH 435/801] Fix typo "To stream events all the events" -> "To stream all the events" --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 9ad04d102..8d6c8eba7 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -781,7 +781,7 @@ room. Starting from the PDU ID(s) given in the "v" argument, the PDUs that preceded it are retrieved, up to a total number given by the "limit" argument. -To stream events all the events:: +To stream all the events:: GET .../pull/ Query args: origin, v From 5ab5fe08d1b56c58e073e587b42928923ac41f98 Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Sun, 17 Jun 2018 15:38:35 +0100 Subject: [PATCH 436/801] Small grammatical and stylistic fixes --- api/server-server/directory.yaml | 6 +- scripts/css/blockquote.css | 1 - specification/server_server_api.rst | 420 +++++++++++++++------------- 3 files changed, 221 insertions(+), 206 deletions(-) diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index c4a06231f..516b1bf81 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -27,13 +27,13 @@ paths: get: summary: Retrieve the room ID and list of resident homeservers for a room alias. - description: Retrieve the room ID and list of resident homeservers for a Room + description: Retrieve the room ID and list of resident homeservers for a room alias. parameters: - in: query name: room_alias type: string - description: Room alias + description: Room alias. required: true x-example: "#room_alias:example.org" responses: @@ -65,4 +65,4 @@ paths: "example.com", "another.example.com:8449", ] - } \ No newline at end of file + } diff --git a/scripts/css/blockquote.css b/scripts/css/blockquote.css index 151d3bce0..05fa73bc0 100644 --- a/scripts/css/blockquote.css +++ b/scripts/css/blockquote.css @@ -1,5 +1,4 @@ blockquote { margin: 20px 0 30px; - border-left: 5px solid; padding-left: 20px; } diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 8d6c8eba7..e6484853c 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -126,20 +126,20 @@ Publishing Keys Homeservers publish the allowed TLS fingerprints and signing keys in a JSON object at ``/_matrix/key/v2/server/{key_id}``. The response contains a list of ``verify_keys`` that are valid for signing federation requests made by the -server and for signing events. It contains a list of ``old_verify_keys`` -which are only valid for signing events. Finally the response contains a list -of TLS certificate fingerprints to validate any connection made to the server. +server and for signing events. It contains a list of ``old_verify_keys`` which +are only valid for signing events. Finally the response contains a list of TLS +certificate fingerprints to validate any connection made to the server. A server may have multiple keys active at a given time. A server may have any number of old keys. It is recommended that servers return a single JSON response listing all of its keys whenever any ``key_id`` is requested to reduce the number of round trips needed to discover the relevant keys for a server. -However a server may return a different responses for a different ``key_id``. +However a server may return different responses for a different ``key_id``. -The ``tls_certificates`` contain a list of hashes of the X.509 TLS certificates -currently used by the server. The list must include SHA-256 hashes for every -certificate currently in use by the server. These fingerprints are valid until -the millisecond POSIX timestamp in ``valid_until_ts``. +The ``tls_certificates`` field contains a list of hashes of the X.509 TLS +certificates currently used by the server. The list must include SHA-256 hashes +for every certificate currently in use by the server. These fingerprints are +valid until the millisecond POSIX timestamp in ``valid_until_ts``. The ``verify_keys`` can be used to sign requests and events made by the server until the millisecond POSIX timestamp in ``valid_until_ts``. If a homeserver @@ -152,17 +152,18 @@ before the ``expired_ts``. The ``expired_ts`` is a millisecond POSIX timestamp of when the originating server stopped using that key. Intermediate notary servers should cache a response for half of its remaining -life time to avoid serving a stale response. Originating servers should avoid +lifetime to avoid serving a stale response. Originating servers should avoid returning responses that expire in less than an hour to avoid repeated requests -for an about to expire certificate. Requesting servers should limit how -frequently they query for certificates to avoid flooding a server with requests. +for a certificate that is about to expire. Requesting servers should limit how +frequently they query for certificates to avoid flooding a server with +requests. If a server goes offline intermediate notary servers should continue to return the last response they received from that server so that the signatures of old events sent by that server can still be checked. ==================== =================== ====================================== - Key Type Description + Key Type Description ==================== =================== ====================================== ``server_name`` String DNS name of the homeserver. ``verify_keys`` Object Public keys of the homeserver for @@ -172,7 +173,7 @@ events sent by that server can still be checked. ``signatures`` Object Digital signatures for this object signed using the ``verify_keys``. ``tls_fingerprints`` Array of Objects Hashes of X.509 TLS certificates used - by this this server encoded as `Unpadded Base64`_. + by this server encoded as `Unpadded Base64`_. ``valid_until_ts`` Integer POSIX timestamp when the list of valid keys should be refreshed. ==================== =================== ====================================== @@ -209,38 +210,38 @@ events sent by that server can still be checked. Querying Keys Through Another Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Servers may offer a query API ``_matrix/key/v2/query/`` for getting the keys -for another server. This API can be used to GET at list of JSON objects for a +Servers may offer a query API ``/_matrix/key/v2/query/`` for getting the keys +for another server. This API can be used to GET a list of JSON objects for a given server or to POST a bulk query for a number of keys from a number of servers. Either way the response is a list of JSON objects containing the -JSON published by the server under ``_matrix/key/v2/server/`` signed by +JSON published by the server under ``/_matrix/key/v2/server/`` signed by both the originating server and by this server. The ``minimum_valid_until_ts`` is a millisecond POSIX timestamp indicating when the returned certificate will need to be valid until to be useful to the requesting server. This can be set using the maximum ``origin_server_ts`` of -an batch of events that a requesting server is trying to validate. This allows +a batch of events that a requesting server is trying to validate. This allows an intermediate notary server to give a prompt cached response even if the originating server is offline. -This API can return keys for servers that are offline be using cached responses +This API can return keys for servers that are offline by using cached responses taken from when the server was online. Keys can be queried from multiple servers to mitigate against DNS spoofing. -Requests: +Example request: .. code:: - GET /_matrix/key/v2/query/${server_name}/${key_id}/?minimum_valid_until_ts=${minimum_valid_until_ts} HTTP/1.1 + GET /_matrix/key/v2/query/{server_name}/{key_id}/?minimum_valid_until_ts={minimum_valid_until_ts} HTTP/1.1 POST /_matrix/key/v2/query HTTP/1.1 Content-Type: application/json { "server_keys": { - "$server_name": { - "$key_id": { - "minimum_valid_until_ts": $posix_timestamp + "{server_name}": { + "{key_id}": { + "minimum_valid_until_ts": {posix_timestamp} } } } @@ -263,14 +264,14 @@ Response: Version 1 +++++++++ .. WARNING:: - Version 1 of key distribution is obsolete + Version 1 of key distribution is obsolete. Homeservers publish their TLS certificates and signing keys in a JSON object at ``/_matrix/key/v1``. ==================== =================== ====================================== - Key Type Description + Key Type Description ==================== =================== ====================================== ``server_name`` String DNS name of the homeserver. ``verify_keys`` Object Public keys of the homeserver for @@ -299,7 +300,7 @@ at ``/_matrix/key/v1``. When fetching the keys for a server the client should check that the TLS certificate in the JSON matches the TLS server certificate for the connection and should check that the JSON signatures are correct for the supplied -``verify_keys`` +``verify_keys``. Transactions ------------ @@ -321,7 +322,7 @@ Transaction Fields ~~~~~~~~~~~~~~~~~~ ==================== =================== ====================================== - Key Type Description + Key Type Description ==================== =================== ====================================== ``origin`` String **Required**. ``server_name`` of homeserver sending this transaction. @@ -339,10 +340,10 @@ Example: .. code:: json { - "origin_server_ts":1404835423000, - "origin":"matrix.org", - "pdus":[...], - "edus":[...] + "origin_server_ts": 1404835423000, + "origin": "matrix.org", + "pdus": [...], + "edus": [...] } PDUs @@ -368,19 +369,18 @@ PDU Fields ``origin_server_ts`` Integer **Required**. Timestamp in milliseconds on origin homeserver when this event was created. -``type`` String **Required**. Event type -``state_key`` String Optional. If this key is present, the - event is a state event, and it will - replace previous events with the same - ``type`` and ``state_key`` in the room - state. +``type`` String **Required**. Event type. +``state_key`` String If this key is present, the event is a + state event, and it will replace + previous events with the same ``type`` + and ``state_key`` in the room state. ``content`` Object **Required**. The content of the event. ``prev_events`` List of (String, **Required**. Event IDs and hashes of {String: String}) the most recent events in the room that pairs the homeserver was aware of when it - made this event + made this event. ``depth`` Integer **Required**. The maximum depth of the - ``prev_events``, plus one + ``prev_events``, plus one. ``auth_events`` List of (String, **Required**. Event IDs and hashes for {String: String}) the "auth events" of this event. pairs @@ -390,10 +390,10 @@ PDU Fields ``signatures`` {String: **Required**. Signatures of the redacted {String: String}} PDU, following the algorithm specified in `Signing Events`_. -``redacts`` String Optional. For redaction events, the ID - of the event being redacted -``unsigned`` Object Optional. Additional data added by the - origin server but not covered by the +``redacts`` String For redaction events, the ID of the + event being redacted. +``unsigned`` Object Additional data added by the origin + server but not covered by the ``signatures``. ==================== ================== ======================================= @@ -500,119 +500,121 @@ the state of the room. state of the room. For example, a redacted ``join`` event will still result in the user being considered joined. +The rules are as follows: + 1. If type is ``m.room.create``, allow if and only if it has no previous events - *i.e.* it is the first event in the room. -#. If type is ``m.room.member``: +2. If type is ``m.room.member``: - a. If ``membership`` is ``join``: + a. If ``membership`` is ``join``: - i. If the only previous event is an ``m.room.create`` - and the ``state_key`` is the creator, allow. + i. If the only previous event is an ``m.room.create`` + and the ``state_key`` is the creator, allow. - #. If the ``sender`` does not match ``state_key``, reject. + #. If the ``sender`` does not match ``state_key``, reject. - #. If the user's current membership state is ``invite`` or ``join``, - allow. + #. If the user's current membership state is ``invite`` or ``join``, + allow. - #. If the ``join_rule`` is ``public``, allow. + #. If the ``join_rule`` is ``public``, allow. - #. Otherwise, reject. + #. Otherwise, reject. - #. If ``membership`` is ``invite``: + b. If ``membership`` is ``invite``: - i. If the ``sender``'s current membership state is not ``join``, reject. + i. If the ``sender``'s current membership state is not ``join``, reject. - #. If *target user*'s current membership state is ``join`` or ``ban``, - reject. + #. If *target user*'s current membership state is ``join`` or ``ban``, + reject. - #. If the ``sender``'s power level is greater than or equal to the *invite - level*, allow. + #. If the ``sender``'s power level is greater than or equal to the *invite + level*, allow. - #. Otherwise, reject. + #. Otherwise, reject. - #. If ``membership`` is ``leave``: + c. If ``membership`` is ``leave``: - i. If the ``sender`` matches ``state_key``, allow if and only if that user's - current membership state is ``invite`` or ``join``. + i. If the ``sender`` matches ``state_key``, allow if and only if that user's + current membership state is ``invite`` or ``join``. - #. If the ``sender``'s current membership state is not ``join``, reject. + #. If the ``sender``'s current membership state is not ``join``, reject. - #. If the *target user*'s current membership state is ``ban``, and the - ``sender``'s power level is less than the *ban level*, reject. + #. If the *target user*'s current membership state is ``ban``, and the + ``sender``'s power level is less than the *ban level*, reject. - #. If the ``sender``'s power level is greater than or equal to the *kick - level*, and the *target user*'s power level is less than the - ``sender``'s power level, allow. + #. If the ``sender``'s power level is greater than or equal to the *kick + level*, and the *target user*'s power level is less than the + ``sender``'s power level, allow. - #. Otherwise, reject. + #. Otherwise, reject. - #. If ``membership`` is ``ban``: + d. If ``membership`` is ``ban``: - i. If the ``sender``'s current membership state is not ``join``, reject. + i. If the ``sender``'s current membership state is not ``join``, reject. - #. If the ``sender``'s power level is greater than or equal to the *ban - level*, and the *target user*'s power level is less than the - ``sender``'s power level, allow. + #. If the ``sender``'s power level is greater than or equal to the *ban + level*, and the *target user*'s power level is less than the + ``sender``'s power level, allow. - #. Otherwise, reject. + #. Otherwise, reject. - #. Otherwise, the membership is unknown. Reject. + e. Otherwise, the membership is unknown. Reject. -#. If the ``sender``'s current membership state is not ``join``, reject. +3. If the ``sender``'s current membership state is not ``join``, reject. -#. If the event type's *required power level* is greater than the ``sender``'s power +4. If the event type's *required power level* is greater than the ``sender``'s power level, reject. -#. If type is ``m.room.power_levels``: +5. If type is ``m.room.power_levels``: - a. If there is no previous ``m.room.power_levels`` event in the room, allow. + a. If there is no previous ``m.room.power_levels`` event in the room, allow. - #. For each of the keys ``users_default``, ``events_default``, - ``state_default``, ``ban``, ``redact``, ``kick``, ``invite``, as well as - each entry being changed under the ``events`` or ``users`` keys: + b. For each of the keys ``users_default``, ``events_default``, + ``state_default``, ``ban``, ``redact``, ``kick``, ``invite``, as well as + each entry being changed under the ``events`` or ``users`` keys: - i. If the current value is higher than the ``sender``'s current power level, - reject. + i. If the current value is higher than the ``sender``'s current power level, + reject. - #. If the new value is higher than the ``sender``'s current power level, - reject. + #. If the new value is higher than the ``sender``'s current power level, + reject. - #. For each entry being changed under the ``users`` key, other than the - ``sender``'s own entry: + c. For each entry being changed under the ``users`` key, other than the + ``sender``'s own entry: - i. If the current value is equal to the ``sender``'s current power level, - reject. + i. If the current value is equal to the ``sender``'s current power level, + reject. - #. Otherwise, allow. + d. Otherwise, allow. -#. If type is ``m.room.redaction``: +6. If type is ``m.room.redaction``: - #. If the ``sender``'s power level is greater than or equal to the *redact - level*, allow. + a. If the ``sender``'s power level is greater than or equal to the *redact + level*, allow. - #. If the ``sender`` of the event being redacted is the same as the - ``sender`` of the ``m.room.redaction``, allow. + #. If the ``sender`` of the event being redacted is the same as the + ``sender`` of the ``m.room.redaction``, allow. - #. Otherwise, reject. + #. Otherwise, reject. -#. Otherwise, allow. +7. Otherwise, allow. .. NOTE:: - Some consequences of these rules: + Some consequences of these rules: - * Unless you are a member of the room, the only permitted operations (apart - from the intial create/join) are: joining a public room; accepting or - rejecting an invitation to a room. + * Unless you are a member of the room, the only permitted operations (apart + from the intial create/join) are: joining a public room; accepting or + rejecting an invitation to a room. - * To unban somebody, you must have power level greater than or equal to both - the kick *and* ban levels, *and* greater than the target user's power - level. + * To unban somebody, you must have power level greater than or equal to both + the kick *and* ban levels, *and* greater than the target user's power + level. .. TODO-spec - I think there is some magic about 3pid invites too. + I think there is some magic about 3pid invites too. EDUs ---- @@ -628,16 +630,20 @@ destination homeserver names, and the actual nested content. Key Type Description ======================== ============ ========================================= ``edu_type`` String The type of the ephemeral message. +``origin`` String The server name sending the ephemeral + message. +``destination`` String The server name receiving the ephemeral + message. ``content`` Object Content of the ephemeral message. ======================== ============ ========================================= .. code:: json { - "edu_type":"m.presence", - "origin":"blue", - "destination":"orange", - "content":{...} + "edu_type": "m.presence", + "origin": "blue", + "destination": "orange", + "content": {...} } Room State Resolution @@ -817,14 +823,14 @@ below. Joining Rooms ------------- -When a new user wishes to join room that the user's homeserver already knows +When a new user wishes to join a room that the user's homeserver already knows about, the homeserver can immediately determine if this is allowable by -inspecting the state of the room, and if it is acceptable, it can generate, -sign, and emit a new ``m.room.member`` state event adding the user into that -room. When the homeserver does not yet know about the room it cannot do this +inspecting the state of the room. If it is acceptable, it can generate, sign, +and emit a new ``m.room.member`` state event adding the user into that room. +When the homeserver does not yet know about the room it cannot do this directly. Instead, it must take a longer multi-stage handshaking process by which it first selects a remote homeserver which is already participating in -that room, and uses it to assist in the joining process. This is the remote +that room, and use it to assist in the joining process. This is the remote join handshake. This handshake involves the homeserver of the new member wishing to join @@ -886,44 +892,47 @@ of the information that the joining server will need. Despite its name, this object is not a full event; notably it does not need to be hashed or signed by the resident homeserver. The required fields are: -==================== ======== ============ - Key Type Description -==================== ======== ============ -``type`` String The value ``m.room.member`` -``auth_events`` List An event-reference list containing the - authorization events that would allow this member - to join -``content`` Object The event content -``depth`` Integer (this field must be present but is ignored; it - may be 0) -``origin`` String The name of the resident homeserver -``origin_server_ts`` Integer A timestamp added by the resident homeserver -``prev_events`` List An event-reference list containing the immediate - predecessor events -``room_id`` String The room ID of the room -``sender`` String The user ID of the joining member -``state_key`` String The user ID of the joining member -==================== ======== ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``type`` String The value ``m.room.member``. +``auth_events`` List An event-reference list containing the + authorization events that would allow + this member to join. +``content`` Object The event content. +``depth`` Integer (this field must be present but is + ignored; it may be 0) +``origin`` String The name of the resident homeserver. +``origin_server_ts`` Integer A timestamp added by the resident + homeserver. +``prev_events`` List An event-reference list containing the + immediate predecessor events. +``room_id`` String The room ID of the room. +``sender`` String The user ID of the joining member. +``state_key`` String The user ID of the joining member. +======================== ============ ========================================= The ``content`` field itself must be an object, containing: -============== ====== ============ - Key Type Description -============== ====== ============ -``membership`` String The value ``join`` -============== ====== ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``membership`` String The value ``join``. +======================== ============ ========================================= The joining server now has sufficient information to construct the real join event from these protoevent fields. It copies the values of most of them, adding (or replacing) the following fields: -==================== ======= ============ - Key Type Description -==================== ======= ============ -``event_id`` String A new event ID specified by the joining homeserver -``origin`` String The name of the joining homeserver -``origin_server_ts`` Integer A timestamp added by the joining homeserver -==================== ======= ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``event_id`` String A new event ID specified by the joining + homeserver. +``origin`` String The name of the joining homeserver. +``origin_server_ts`` Integer A timestamp added by the joining + homeserver. +======================== ============ ========================================= This will be a true event, so the joining server should apply the event-signing algorithm to it, resulting in the addition of the ``hashes`` and ``signatures`` @@ -934,20 +943,22 @@ event to an resident homeserver, by using the ``send_join`` endpoint. This is invoked using the room ID and the event ID of the new member event. The resident homeserver then accepts this event into the room's event graph, -and responds to the joining server with the full set of state for the newly- +and responds to the joining server with the full set of state for the newly joined room. This is returned as a two-element list, whose first element is the integer 200, and whose second element is an object which contains the following keys: -============== ===== ============ - Key Type Description -============== ===== ============ -``auth_chain`` List A list of events giving all of the events in the auth - chains for the join event and the events in ``state``. -``state`` List A complete list of the prevailing state events at the - instant just before accepting the new ``m.room.member`` - event. -============== ===== ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``auth_chain`` List A list of events giving all of the events + in the auth chains for the join event and + the events in ``state``. +``state`` List A complete list of the prevailing state + events at the instant just before + accepting the new ``m.room.member`` + event. +======================== ============ ========================================= .. TODO-spec - (paul) I don't really understand why the full auth_chain events are given @@ -977,17 +988,18 @@ specifying how many more events of history before that one to return at most. The response to this request is an object with the following keys: -==================== ======== ============ - Key Type Description -==================== ======== ============ -``pdus`` List A list of events -``origin`` String The name of the resident homeserver -``origin_server_ts`` Integer A timestamp added by the resident homeserver -==================== ======== ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``pdus`` List A list of events. +``origin`` String The name of the resident homeserver. +``origin_server_ts`` Integer A timestamp added by the resident + homeserver. +======================== ============ ========================================= The list of events given in ``pdus`` is returned in reverse chronological order; having the most recent event first (i.e. the event whose event ID is -that requested by the requestor in the ``v`` parameter). +that requested by the requester in the ``v`` parameter). .. TODO-spec Specify (or remark that it is unspecified) how the server handles divergent @@ -996,38 +1008,42 @@ that requested by the requestor in the ``v`` parameter). Inviting to a room ------------------ -When a user wishes to invite an other user to a local room and the other user -is on a different server, the inviting server will send a request to the invited +When a user wishes to invite another user to a local room and the other user is +on a different server, the inviting server will send a request to the invited server:: PUT .../invite/{roomId}/{eventId} The required fields in the JSON body are: -==================== ======== ============ - Key Type Description -==================== ======== ============ -``room_id`` String The room ID of the room. Must be the same as the - room ID specified in the path. -``event_id`` String The ID of the event. Must be the same as the event - ID specified in the path. -``type`` String The value ``m.room.member``. -``auth_events`` List An event-reference list containing the IDs of the - authorization events that would allow this member - to be invited in the room. -``content`` Object The content of the event. -``depth`` Integer The depth of the event. -``origin`` String The name of the inviting homeserver. -``origin_server_ts`` Integer A timestamp added by the inviting homeserver. -``prev_events`` List An event-reference list containing the IDs of the - immediate predecessor events. -``sender`` String The Matrix ID of the user who sent the original - `m.room.third_party_invite`. -``state_key`` String The Matrix ID of the invited user. -``signatures`` Object The signature of the event from the origin server. -``unsigned`` Object An object containing the properties that aren't - part of the signature's computation. -==================== ======== ============ +======================== ============ ========================================= + Key Type Description +======================== ============ ========================================= +``room_id`` String The room ID of the room. Must be the same + as the room ID specified in the path. +``event_id`` String The ID of the event. Must be the same as + the event ID specified in the path. +``type`` String The value ``m.room.member``. +``auth_events`` List An event-reference list containing the + IDs of the authorization events that + would allow this member to be invited in + the room. +``content`` Object The content of the event. +``depth`` Integer The depth of the event. +``origin`` String The name of the inviting homeserver. +``origin_server_ts`` Integer A timestamp added by the inviting + homeserver. +``prev_events`` List An event-reference list containing the + IDs of the immediate predecessor events. +``sender`` String The Matrix ID of the user who sent the + original ``m.room.third_party_invite``. +``state_key`` String The Matrix ID of the invited user. +``signatures`` Object The signature of the event from the + origin server. +``unsigned`` Object An object containing the properties that + aren't part of the signature's + computation. +======================== ============ ========================================= Where the ``content`` key contains the content for the ``m.room.member`` event specified in the `Client-Server API`_. Note that the ``membership`` property of @@ -1080,7 +1096,7 @@ and public keys the identity server provided as a response to the invite storage request. When a third-party identifier with pending invites gets bound to a Matrix ID, -the identity server will send a ``POST`` request to the ID's homeserver as described +the identity server will send a POST request to the ID's homeserver as described in the `Invitation Storage`_ section of the Identity Service API. The following process applies for each invite sent by the identity server: @@ -1102,13 +1118,13 @@ Where ``roomId`` is the ID of the room the invite is for. The required fields in the JSON body are: ==================== ======= ================================================== - Key Type Description + Key Type Description ==================== ======= ================================================== -``type`` String The event type. Must be `m.room.member`. +``type`` String The event type. Must be ``m.room.member``. ``room_id`` String The ID of the room the event is for. Must be the same as the ID specified in the path. ``sender`` String The Matrix ID of the user who sent the original - `m.room.third_party_invite`. + ``m.room.third_party_invite``. ``state_key`` String The Matrix ID of the invited user. ``content`` Object The content of the event. ==================== ======= ================================================== @@ -1121,7 +1137,7 @@ The inviting homeserver will then be able to authenticate the event. It will sen a fully authenticated event to the invited homeserver as described in the `Inviting to a room`_ section above. -Once the invited homeserver responded with the event to which it appended its +Once the invited homeserver responds with the event to which it appended its signature, the inviting homeserver will respond with ``200 OK`` and an empty body (``{}``) to the initial request on ``/exchange_third_party_invite/{roomId}`` and send the now verified ``m.room.member`` invite event to the room's members. @@ -1144,7 +1160,7 @@ It will then use these keys to verify that the ``signed`` object (in the ``third_party_invite`` object from the ``m.room.member`` event's content) was signed by the same identity server. -Since this ``signed`` object can only be delivered once in the ``POST`` request +Since this ``signed`` object can only be delivered once in the POST request emitted by the identity server upon binding between the third-party identifier and the Matrix ID, and contains the invited user's Matrix ID and the token delivered when the invite was stored, this verification will prove that the @@ -1161,10 +1177,10 @@ Every HTTP request made by a homeserver is authenticated using public key digital signatures. The request method, target and body are signed by wrapping them in a JSON object and signing it using the JSON signing algorithm. The resulting signatures are added as an Authorization header with an auth scheme -of X-Matrix. Note that the target field should include the full path starting with -``/_matrix/...``, including the ``?`` and any query parameters if present, but -should not include the leading ``https:``, nor the destination server's -hostname. +of ``X-Matrix``. Note that the target field should include the full path +starting with ``/_matrix/...``, including the ``?`` and any query parameters if +present, but should not include the leading ``https:``, nor the destination +server's hostname. Step 1 sign JSON: @@ -1360,7 +1376,7 @@ the following EDU:: messages: The messages to send. A map from user ID, to a map from device ID to message body. The device ID may also be *, meaning all known devices - for the user. + for the user Signing Events @@ -1492,7 +1508,7 @@ Servers can then transmit the entire event or the event with the non-essential keys removed. If the entire event is present, receiving servers can then check the event by computing the SHA-256 of the event, excluding the ``hash`` object. If the keys have been redacted, then the ``hash`` object is included when -calculating the SHA-256 instead. +calculating the SHA-256 hash instead. New hash functions can be introduced by adding additional keys to the ``hash`` object. Since the ``hash`` object cannot be redacted a server shouldn't allow From 54c3003b74a178d4c4455536baa84761c2f700ba Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Sun, 17 Jun 2018 16:35:23 +0100 Subject: [PATCH 437/801] newly joined -> newly-joined --- specification/server_server_api.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index e6484853c..3738ea053 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -943,9 +943,9 @@ event to an resident homeserver, by using the ``send_join`` endpoint. This is invoked using the room ID and the event ID of the new member event. The resident homeserver then accepts this event into the room's event graph, -and responds to the joining server with the full set of state for the newly -joined room. This is returned as a two-element list, whose first element is the -integer 200, and whose second element is an object which contains the +and responds to the joining server with the full set of state for the +newly-joined room. This is returned as a two-element list, whose first element +is the integer 200, and whose second element is an object which contains the following keys: ======================== ============ ========================================= From fc402c296be202c7eda6ade54d4d0d29de6ce423 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 18 Jun 2018 12:03:14 -0600 Subject: [PATCH 438/801] Don't suggest reusing old issues for spec proposals In practice this was confusing for people, so instead we should encourage people to create new issues and reference the existing ones. Signed-off-by: Travis Ralston <travpc@gmail.com> --- specification/proposals_intro.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index cfa59b8fc..5cd8c5549 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -30,9 +30,9 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: <https://docs.google.com/document/d/1CoLCPTcRFvD4PqjvbUl3ZIWgGLpmRNbqxsT2Tu7lCzI/>`_ is available. -- Make a new issue at https://github.com/matrix-org/matrix-doc/issues (or - modify an existing one), whose description should list the metadata as per - below. +- Make a new issue at https://github.com/matrix-org/matrix-doc/issues, whose + description should list the metadata as per below. If an existing issue + relates to your proposal, link to it in your new issue. - Gather feedback as widely as possible from the community and core team on the proposal. From d6471698066a348aee550aca68d6b3cbb183d008 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 18 Jun 2018 13:20:42 -0600 Subject: [PATCH 439/801] Add more strength to the suggestion to find existing issues Signed-off-by: Travis Ralston <travpc@gmail.com> --- specification/proposals_intro.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/proposals_intro.rst b/specification/proposals_intro.rst index 5cd8c5549..cc4d5d220 100644 --- a/specification/proposals_intro.rst +++ b/specification/proposals_intro.rst @@ -31,8 +31,9 @@ The process for submitting a Matrix Spec Change (MSC) Proposal is as follows: is available. - Make a new issue at https://github.com/matrix-org/matrix-doc/issues, whose - description should list the metadata as per below. If an existing issue - relates to your proposal, link to it in your new issue. + description should list the metadata as per below. Use the github search + function to attempt to locate any related github issues, and link any that + are found in the body of the new issue. - Gather feedback as widely as possible from the community and core team on the proposal. From 077cd04a6d42b852f0dd8e29ad26ffda843e48ef Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Wed, 20 Jun 2018 16:01:06 +0100 Subject: [PATCH 440/801] /limits => /config --- api/client-server/content-repo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index cf7b5f25d..3c2003444 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -269,9 +269,9 @@ paths: "$ref": "definitions/error.yaml" tags: - Media - "/limits": + "/config": get: - summary: Get limits on what can be uploaded to the content repository. + summary: Get the config for the media repository. Clients SHOULD use this as a guide when uploading content. All values are intentionally left optional, the client MUST assume that any field not given is not limited. From 6b9640bcb499e95cb87ca6784b2b68e5bdf73d7a Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Wed, 20 Jun 2018 17:06:17 +0100 Subject: [PATCH 441/801] upload_size => m.upload.size --- api/client-server/content-repo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 3c2003444..b86b6596b 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -290,12 +290,12 @@ paths: schema: type: object properties: - upload_size: + m.upload.size: type: number description: "The maximum size an upload can be in bytes." examples: application/json: { - "upload_size": 50000000 + "m.upload.size": 50000000 } tags: - Media From 6d0a56d190cddab7b0e710f6e1c43b04392088e0 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 22 Jun 2018 09:38:53 +0100 Subject: [PATCH 442/801] Suggestions by Travis tend to be sensible ones --- api/client-server/content-repo.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index b86b6596b..4a61ccec2 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -286,7 +286,7 @@ paths: - accessToken: [] responses: 200: - description: The limits exposed by the matrix server. + description: The public content repository configuration for the matrix server. schema: type: object properties: @@ -295,7 +295,7 @@ paths: description: "The maximum size an upload can be in bytes." examples: application/json: { - "m.upload.size": 50000000 - } + "m.upload.size": 50000000 + } tags: - Media From dfa4af5c19192967bdb3f7c49d5470f88b6c2760 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Fri, 22 Jun 2018 11:08:19 +0100 Subject: [PATCH 443/801] record that "identity server" has two words --- meta/documentation_style.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index 698eb0279..a67f25ff5 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -63,7 +63,11 @@ have English as their first language. Prefer British English (colour, -ise) to American English. The word "homeserver" is spelt thus (rather than "home server", "Homeserver", -or (argh) "Home Server"). +or (argh) "Home Server"). However, an identity server is two words. + +.. Rationale: "homeserver" distinguishes from a "home server" which is a server + you have at home. "Identity server" is clear, whereas "identityserver" is + horrible. Lists should: From c84066df89dcbee70d90f3931850bc80631ca39a Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Fri, 22 Jun 2018 14:30:24 +0100 Subject: [PATCH 444/801] do not use 'optional' in descriptions. --- meta/documentation_style.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index a67f25ff5..a866d1ebd 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -100,3 +100,7 @@ When writing OpenAPI specifications for the API endpoints, follow these rules: The description is also the place to define default values for optional properties. Use the wording "Defaults to X [if unspecified]." + + Some descriptions start with the workd "Optional" to explicitly mark optional + properties and parameters. This is redundant. Instead, use the ``required`` + property to mark those that are required. From 2605c75f920973fafe4d57c29b89735dac9dfb53 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Fri, 22 Jun 2018 14:31:31 +0100 Subject: [PATCH 445/801] typo --- meta/documentation_style.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index a866d1ebd..e60c7847e 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -101,6 +101,6 @@ When writing OpenAPI specifications for the API endpoints, follow these rules: The description is also the place to define default values for optional properties. Use the wording "Defaults to X [if unspecified]." - Some descriptions start with the workd "Optional" to explicitly mark optional + Some descriptions start with the word "Optional" to explicitly mark optional properties and parameters. This is redundant. Instead, use the ``required`` property to mark those that are required. From 1140c0c05b73d081f421555465caa6bdb34a8c1e Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 22 Jun 2018 16:23:05 +0100 Subject: [PATCH 446/801] Document StateEvent for /createRoom (#1329) --- api/client-server/create_room.yaml | 4 ++++ changelogs/client_server.rst | 2 ++ 2 files changed, 6 insertions(+) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index bf632c1a1..3e88ee0c0 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -150,10 +150,14 @@ paths: properties: type: type: string + description: The type of event to send. state_key: type: string + description: The state_key of the state event. Defaults to an empty string. content: type: object + description: The content of the event. + required: ["type", "content"] preset: type: string enum: ["private_chat", "public_chat", "trusted_private_chat"] diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 243441163..feabecab5 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -37,6 +37,8 @@ Unreleased changes (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). - Mark ``GET /rooms/{roomId}/members`` as requiring authentication (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). + - Describe ``StateEvent`` for ``/createRoom`` + (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). - Changes to the API which will be backwards-compatible for clients: From 20200264e1ba2a31aa45b5ed67f38f1403577546 Mon Sep 17 00:00:00 2001 From: Remi Rampin <remirampin@gmail.com> Date: Sat, 23 Jun 2018 11:11:38 -0400 Subject: [PATCH 447/801] Consolidate backwards-compatible client changes --- changelogs/client_server.rst | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..f375fc97d 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -15,6 +15,22 @@ Unreleased changes - Sticker messages: - Add sticker message event definition. (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). + - Add 'token' parameter to /keys/query endpoint + (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). + - Add the room visibility options for the room directory + (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_). + - Add spec for ignoring users + (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). + - Add the ``/register/available`` endpoint for username availability + (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). + - Add ``allow_remote`` to the content repo to avoid routing loops + (`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_). + - Add report content API + (`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_). + - Document ``/logout/all`` endpoint + (`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_). + - Document `highlights` field in /search response + (`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_). - Spec clarifications: @@ -40,25 +56,6 @@ Unreleased changes - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). -- Changes to the API which will be backwards-compatible for clients: - - - Add 'token' parameter to /keys/query endpoint - (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). - - Add the room visibility options for the room directory - (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_). - - Add spec for ignoring users - (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - - Add the ``/register/available`` endpoint for username availability - (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). - - Add ``allow_remote`` to the content repo to avoid routing loops - (`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_). - - Add report content API - (`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_). - - Document ``/logout/all`` endpoint - (`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_). - - Document `highlights` field in /search response - (`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_). - r0.3.0 ====== From e52d94bea9cb7129d545d78e7d684926ddae8c67 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Mon, 25 Jun 2018 15:00:58 +0100 Subject: [PATCH 448/801] ignore malformed PR items --- scripts/proposals.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index b489f0d27..a8f58caec 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -63,7 +63,6 @@ for label in labels: for item in issues[label]: # set the created date, find local field, otherwise Github - print(item) body = str(item['body']) created = re.search('^Date: (.+?)\n', body, flags=re.MULTILINE) if created is not None: @@ -133,16 +132,22 @@ for label in labels: text_file.write(" - " + str(shepherd) + "\n") # PRs - pr_list = re.search('PRs: (.+?)$', str(item['body'])) - if pr_list is not None: - pr_list_formatted = set() - pr_list = pr_list.group(1) - for p in pr_list.split(","): - prs.add(p.strip()) - pr_list_formatted.add("`PR" + str(p.strip()) + "`_") - text_file.write(" - " + ', '.join(pr_list_formatted)) - text_file.write("\n") - else: + try: + pr_list = re.search('PRs: (.+?)$', str(item['body'])) + if pr_list is not None: + pr_list_formatted = set() + pr_list = pr_list.group(1) + for p in pr_list.split(","): + if not re.match(r"#\d", p.strip()): + raise RuntimeWarning + prs.add(p.strip()) + pr_list_formatted.add("`PR" + str(p.strip()) + "`_") + text_file.write(" - " + ', '.join(pr_list_formatted)) + text_file.write("\n") + else: + text_file.write(" - \n") + except: + print("exception parsing PRs for MSC" + str(item['number'])) text_file.write(" - \n") text_file.write("\n\n\n") From f032d6d1c346e441cc666df73b528b8209e21011 Mon Sep 17 00:00:00 2001 From: Terrill Tsang <terilscaub@gmail.com> Date: Tue, 26 Jun 2018 17:46:58 +0800 Subject: [PATCH 449/801] Update keys.yaml Fixed an end to end document bug , a format misleading in an claim response --- api/client-server/keys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 5fb6318e9..6e995c2ce 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -274,7 +274,7 @@ paths: type: object description: |- One-time keys for the queried devices. A map from user ID, to a - map from ``<algorithm>:<key_id>`` to the key object. + map from devices to a map from ``<algorithm>:<key_id>`` to the key object. additionalProperties: type: object additionalProperties: From ddc152347bfa6c472ffc30d508b0a2fdbd3e8cb6 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Wed, 27 Jun 2018 20:14:29 +0100 Subject: [PATCH 450/801] Extending words and rate limiting --- api/client-server/content-repo.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 4a61ccec2..57585ce88 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -271,16 +271,17 @@ paths: - Media "/config": get: - summary: Get the config for the media repository. + summary: Get the configuration for the media repository. Clients SHOULD use this as a guide when uploading content. All values are intentionally left optional, the client MUST assume that any field not given is not limited. - **NOTE:** Reverse proxies may apply their own limits. + **NOTE:** Reverse proxies may apply their own configuration. + - If auth is not supplied, this endpoint gives the global limit of the server. - Otherwise it should give the limits applied to the authenticated user. - operationId: getLimits + If an accessToken is supplied, the configuration applied to the authenticated user. + Otherwise it should give the configuration applied globally to the server. + operationId: getConfig produces: ["application/json"] security: - accessToken: [] @@ -297,5 +298,10 @@ paths: application/json: { "m.upload.size": 50000000 } + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: - Media From 80935eadcf87f6dd8e1a3669e5519844e77e34fb Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 00:14:42 +0100 Subject: [PATCH 451/801] Update content-repo.yaml --- api/client-server/content-repo.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 57585ce88..c80961386 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -273,13 +273,13 @@ paths: get: summary: Get the configuration for the media repository. Clients SHOULD use this as a guide when uploading content. - All values are intentionally left optional, the client MUST assume - that any field not given is not limited. + All values are intentionally left optional. Clients SHOULD follow + the advise given in the field description when the field is not avaliable. **NOTE:** Reverse proxies may apply their own configuration. - If an accessToken is supplied, the configuration applied to the authenticated user. + If an accessToken is supplied, the configuration applied to the authenticated user is returned. Otherwise it should give the configuration applied globally to the server. operationId: getConfig produces: ["application/json"] @@ -293,7 +293,9 @@ paths: properties: m.upload.size: type: number - description: "The maximum size an upload can be in bytes." + description: |- + The maximum size an upload can be in bytes. If not listed or null, + the upload limit should be treated as unknown. examples: application/json: { "m.upload.size": 50000000 From eeaf4385d73f221e896917432ec6ed336bbabeaf Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 09:04:01 +0100 Subject: [PATCH 452/801] Speling is my weakniss --- api/client-server/content-repo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index c80961386..be003a2b2 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -274,7 +274,7 @@ paths: summary: Get the configuration for the media repository. Clients SHOULD use this as a guide when uploading content. All values are intentionally left optional. Clients SHOULD follow - the advise given in the field description when the field is not avaliable. + the advice given in the field description when the field is not available. **NOTE:** Reverse proxies may apply their own configuration. From 091b2a677190c1a120dd31c2ef4e4c0bec6469e6 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 16:42:36 +0100 Subject: [PATCH 453/801] Hard limit on requiring accessToken. Rephrased some sections --- api/client-server/content-repo.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index be003a2b2..b48068f23 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -272,15 +272,13 @@ paths: "/config": get: summary: Get the configuration for the media repository. - Clients SHOULD use this as a guide when uploading content. + Clients SHOULD use this as a guide when using media endpoints. All values are intentionally left optional. Clients SHOULD follow the advice given in the field description when the field is not available. - **NOTE:** Reverse proxies may apply their own configuration. - - - If an accessToken is supplied, the configuration applied to the authenticated user is returned. - Otherwise it should give the configuration applied globally to the server. + **NOTE:** The /config endpoint is a guide. Other middleware such as + reverse proxies may apply their own configuration not described on this + endpoint. operationId: getConfig produces: ["application/json"] security: @@ -294,8 +292,9 @@ paths: m.upload.size: type: number description: |- - The maximum size an upload can be in bytes. If not listed or null, - the upload limit should be treated as unknown. + The maximum size an upload can be in bytes. + Clients SHOULD use this as a guide when uploading content. + If not listed or null, the size limit should be treated as unknown. examples: application/json: { "m.upload.size": 50000000 From 1820df02d9faebf042bb3cf81e24d2036e844f74 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 17:07:44 +0100 Subject: [PATCH 454/801] media => content repository --- api/client-server/content-repo.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index b48068f23..582d06956 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -271,8 +271,8 @@ paths: - Media "/config": get: - summary: Get the configuration for the media repository. - Clients SHOULD use this as a guide when using media endpoints. + summary: Get the configuration for the content repository. + Clients SHOULD use this as a guide when using content endpoints. All values are intentionally left optional. Clients SHOULD follow the advice given in the field description when the field is not available. From 21e957edfba242107eb871a960fc1af334b8ce49 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 17:23:57 +0100 Subject: [PATCH 455/801] Better note for /config --- api/client-server/content-repo.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 582d06956..8ccc7684e 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -276,9 +276,11 @@ paths: All values are intentionally left optional. Clients SHOULD follow the advice given in the field description when the field is not available. - **NOTE:** The /config endpoint is a guide. Other middleware such as - reverse proxies may apply their own configuration not described on this - endpoint. + **NOTE:** Both clients and server administrators should be aware that proxies + between the client and the server may affect the apparent behaviour of content + repository APIs, for example, proxies may enforce a lower upload size limit + than is advertised by the server on this endpoint. Clients should handle such + situations gracefully. operationId: getConfig produces: ["application/json"] security: From 41c18bed0f954e43e65993b7487a573bf65152f0 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 28 Jun 2018 17:53:57 +0100 Subject: [PATCH 456/801] +repository --- api/client-server/content-repo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 8ccc7684e..e2549c658 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -272,7 +272,7 @@ paths: "/config": get: summary: Get the configuration for the content repository. - Clients SHOULD use this as a guide when using content endpoints. + Clients SHOULD use this as a guide when using content repository endpoints. All values are intentionally left optional. Clients SHOULD follow the advice given in the field description when the field is not available. From a1309d636c8af90ef04499c392ce836fb07d614f Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 29 Jun 2018 09:58:07 +0100 Subject: [PATCH 457/801] Remove "Clients should handle gracefully" sentence --- api/client-server/content-repo.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index e2549c658..0f4ef2da6 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -279,8 +279,7 @@ paths: **NOTE:** Both clients and server administrators should be aware that proxies between the client and the server may affect the apparent behaviour of content repository APIs, for example, proxies may enforce a lower upload size limit - than is advertised by the server on this endpoint. Clients should handle such - situations gracefully. + than is advertised by the server on this endpoint. operationId: getConfig produces: ["application/json"] security: From d73b247688606d767667c5e80a1b35c69513c566 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Tue, 26 Jun 2018 10:57:35 +0100 Subject: [PATCH 458/801] 3PE lookup service --- .../application_service.yaml | 391 +++++++++++++++++- changelogs/client_server.rst | 12 + specification/targets.yaml | 1 + 3 files changed, 401 insertions(+), 3 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index c39ce198f..a0713d45f 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -91,7 +92,13 @@ paths: } schema: type: object - + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object "/rooms/{roomAlias}": get: summary: Query if a room alias should exist on the application service. @@ -147,7 +154,14 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { } schema: type: object @@ -203,7 +217,378 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object + "/_matrix/app/unstable/thirdparty/{protocol}": + get: + summary: Retrieve metadata about a specific protocol that the application service supports. + description: |- + This API is called by the HS when it wants to present clients with + specific information about the various thirdparty networks that an AS + supports. + operationId: queryMetadata + parameters: + - in: path + name: protocol + type: string + description: |- + The name of the protocol. + required: true + x-example: "irc" + responses: + 200: + description: The protocol was found and metadata returned. + examples: + application/json: { + "user_fields": ["network", "nickname"], + "location_fields": ["network", "channel"], + "icon": "mxc://example.org/aBcDeFgH", + "field_types": { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s]+", + "placeholder": "username" + }, + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + }, + "instances": [ + { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", + } + } + ] + } + schema: + type: object + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + type: object + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "M_FORBIDDEN" + } + schema: + type: object + 404: + description: No protocol was found with the given path. + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object + "/_matrix/app/unstable/thirdparty/user/{protocol}": + get: + summary: Retrieve the Matrix ID of a corresponding thirdparty user. + description: |- + This API is called by the HS in order to retrieve a Matrix ID linked + to a user on the external service, given a set of user parameters. + operationId: queryUserByProtocol + parameters: + - in: path + name: protocol + type: string + description: |- + The name of the protocol. + required: true + x-example: irc + - in: query + name: field1, field2... + type: string + description: |- + One or more custom fields that are passed to the AS to help identify the user. + responses: + 200: + description: The Matrix IDs found with the given parameters. + examples: + application/json: [{ + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] + schema: + type: array + description: Matched users. + items: + type: object + title: User + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + type: object + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "M_FORBIDDEN" + } + schema: + type: object + 404: + description: No users were found with the given parameters. + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object + "/_matrix/app/unstable/thirdparty/location/{protocol}": + get: + summary: Retreive Matrix-side portals rooms leading to a thirdparty location. + description: |- + Requesting this endpoint with a valid protocol name results in a list + of successful mapping results in a JSON array. Each result contains + objects to represent the Matrix room or rooms that represent a portal + to this 3PN. Each has the Matrix room alias string, an identifier for + the particular 3PN protocol, and an object containing the + network-specific fields that comprise this identifier. It should + attempt to canonicalise the identifier as much as reasonably possible + given the network type. + operationId: queryLocationByProtocol + parameters: + - in: path + name: protocol + type: string + description: The protocol used to communicate to the thirdparty network. + required: true + x-example: "irc" + - in: query + name: field1, field2... + type: string + description: |- + One or more custom fields that are passed to the AS to help + identify the thirdparty location. + responses: + 200: + description: At least one portal room was found. + examples: + application/json: [{ + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] + schema: + type: array + description: |- + Array of portal rooms leading to the requested thirdparty + location. + items: + type: object + title: Portal Room + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + type: object + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "M_FORBIDDEN" } schema: type: object + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object + "/_matrix/app/unstable/thirdparty/location": + get: + summary: Reverse-lookup thirdparty locations given a Matrix room alias. + description: |- + Retreive an array of thirdparty network locations from a Matrix room + alias. + operationId: queryLocationByAlias + parameters: + - in: path + name: alias + type: string + description: The Matrix room alias to look up. + responses: + 200: + description: |- + All found thirdparty locations. Same response format as the + forward lookup response. + examples: + application/json: [{ + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] + schema: + type: array + description: Matched thirdparty locations. + items: + type: object + title: Location + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + type: object + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "M_FORBIDDEN" + } + schema: + type: object + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object + "/_matrix/app/unstable/thirdparty/user": + get: + summary: Reverse-lookup thirdparty users given a Matrix ID. + description: |- + Retreive an array of thirdparty users from a Matrix ID. + operationId: queryUserByID + paramters: + - in: path + name: userid + type: string + description: The Matrix ID to look up. + responses: + 200: + description: |- + An array of thirdparty users. + examples: + application/json: [{ + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] + schema: + type: array + description: Matched thirdparty users + items: + type: object + title: User + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + type: object + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "M_FORBIDDEN" + } + schema: + type: object + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + 500: + description: There was a problem completing the request. + examples: + application/json: { + } + schema: + type: object \ No newline at end of file diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..f7e94dbe4 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -11,6 +11,18 @@ Unreleased changes (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). - ``POST /delete_devices`` (`#1239 <https://github.com/matrix-org/matrix-doc/pull/1239>`_). + - ``GET /thirdparty/protocols`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). + - ``GET /thirdparty/protocol/{protocol}`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). + - ``GET /thirdparty/location/{protocol}`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). + - ``GET /thirdparty/user/{protocol}`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). + - ``GET /thirdparty/location`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). + - ``GET /thirdparty/user`` + (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). - Sticker messages: - Add sticker message event definition. diff --git a/specification/targets.yaml b/specification/targets.yaml index bc9d94c8f..c6c9cd234 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -12,6 +12,7 @@ targets: - { 1: modules.rst } - { 2: feature_profiles.rst } - { 2: "group:modules" } # reference a group of files + - { 1: thirdparty_lookup.rst } version_label: "%CLIENT_RELEASE_LABEL%" application_service: files: From 5803c9cace238c6ce72bb52c0800e064ec5d6d48 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 3 Jul 2018 15:49:40 +0100 Subject: [PATCH 459/801] don't run proposals.py step if in TravisCI environment --- scripts/generate-matrix-org-assets | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index ed08f81d3..cbebbb649 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -8,8 +8,11 @@ cd `dirname $0`/.. mkdir -p assets -# generate specification/proposals.rst -./scripts/proposals.py +if [ "$TRAVIS" != "true" ] +then + # generate specification/proposals.rst + ./scripts/proposals.py +fi # generate the spec docs ./scripts/gendoc.py -d assets/spec From eb21a71b702e481680800faba0dd3aa354df8c54 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 10:49:55 -0600 Subject: [PATCH 460/801] Make the builder happier with Windows environments There's two main issues with Windows environments: * Slashes * Windows still notifies about some directories we've ignored, therefore we need to filter them too It's not super pretty, but it does work. --- scripts/continuserv/main.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index 330ddca73..fe4e5cc96 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -99,6 +99,7 @@ func makeWalker(base string, w *fsnotify.Watcher) filepath.WalkFunc { } // skip a few things that we know don't form part of the spec + rel = strings.Replace(rel, "\\", "/", -1) // normalize slashes (thanks to windows) if rel == "api/node_modules" || rel == "scripts/gen" || rel == "scripts/tmp" { @@ -125,6 +126,14 @@ func filter(e fsnotify.Event) bool { return false } + // Forcefully ignore directories we don't care about (Windows, at least, tries to notify about some directories) + filePath := strings.Replace(e.Name, "\\", "/", -1) // normalize slashes (thanks to windows) + if strings.Contains(filePath, "/scripts/tmp") || + strings.Contains(filePath, "/scripts/gen") || + strings.Contains(filePath, "/api/node_modules") { + return false + } + return true } @@ -149,6 +158,10 @@ func serve(w http.ResponseWriter, req *http.Request) { } b, ok = m.bytes[file] + if !ok { + b, ok = m.bytes[strings.Replace(file, "/", "\\", -1)] // Attempt a Windows lookup + } + if ok && file == "api-docs.json" { w.Header().Set("Access-Control-Allow-Origin", "*") } From 85e1962f9ceabd64d0a72d20eb651fe50172670c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 12:07:31 -0600 Subject: [PATCH 461/801] Use filepath.To/FromSlash instead of manually replacing slashes see https://github.com/matrix-org/matrix-doc/pull/1356#discussion_r199897557 --- scripts/continuserv/main.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index fe4e5cc96..3797b9d74 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -98,8 +98,10 @@ func makeWalker(base string, w *fsnotify.Watcher) filepath.WalkFunc { log.Fatalf("Failed to get relative path of %s: %v", path, err) } + // Normalize slashes + rel = filepath.ToSlash(rel) + // skip a few things that we know don't form part of the spec - rel = strings.Replace(rel, "\\", "/", -1) // normalize slashes (thanks to windows) if rel == "api/node_modules" || rel == "scripts/gen" || rel == "scripts/tmp" { @@ -127,7 +129,7 @@ func filter(e fsnotify.Event) bool { } // Forcefully ignore directories we don't care about (Windows, at least, tries to notify about some directories) - filePath := strings.Replace(e.Name, "\\", "/", -1) // normalize slashes (thanks to windows) + filePath := filepath.ToSlash(e.Name) // normalize slashes if strings.Contains(filePath, "/scripts/tmp") || strings.Contains(filePath, "/scripts/gen") || strings.Contains(filePath, "/api/node_modules") { @@ -156,11 +158,7 @@ func serve(w http.ResponseWriter, req *http.Request) { if file[0] == '/' { file = file[1:] } - b, ok = m.bytes[file] - - if !ok { - b, ok = m.bytes[strings.Replace(file, "/", "\\", -1)] // Attempt a Windows lookup - } + b, ok = m.bytes[filepath.FromSlash(file)] // de-normalize slashes if ok && file == "api-docs.json" { w.Header().Set("Access-Control-Allow-Origin", "*") From a2e0d0382ca46a7564581fed0e3fbfc4093b08fb Mon Sep 17 00:00:00 2001 From: Hubert Chathi <hubert@uhoreg.ca> Date: Tue, 3 Jul 2018 14:10:22 -0400 Subject: [PATCH 462/801] ignore emacs temporary files and fix ignoring of dotfiles --- scripts/continuserv/main.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index 330ddca73..21effdfd4 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -120,8 +120,11 @@ func filter(e fsnotify.Event) bool { return false } - // Avoid some temp files that vim writes - if strings.HasSuffix(e.Name, "~") || strings.HasSuffix(e.Name, ".swp") || strings.HasPrefix(e.Name, ".") { + _, fname := filepath.Split(e.Name) + + // Avoid some temp files that vim or emacs writes + if strings.HasSuffix(e.Name, "~") || strings.HasSuffix(e.Name, ".swp") || strings.HasPrefix(fname, ".") || + (strings.HasPrefix(fname, "#") && strings.HasSuffix(fname, "#")) { return false } From aac7b848f77e4aeb5f72f7858ea4027f01d2b3c0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 13:10:28 -0600 Subject: [PATCH 463/801] Add uhoreg and myself as trusted speculator people --- scripts/speculator/main.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index 0380a3cd9..5e1225037 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -713,6 +713,8 @@ func main() { "ara4n": true, "leonerd": true, "rxl881": true, + "uhoreg": true, + "turt2live": true, } if err := initCache(); err != nil { log.Fatal(err) From 2409c849686cf7028dd35d5c12cfb6fb67ed5565 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 13:41:49 -0600 Subject: [PATCH 464/801] Document the GET version of /login Fixes https://github.com/matrix-org/matrix-doc/issues/677 --- api/client-server/login.yaml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index a6e21a389..c0db2299b 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -28,6 +28,42 @@ securityDefinitions: $ref: definitions/security.yaml paths: "/login": + get: + summary: Get the supported login types to authenticate users + description: |- + Gets the homeserver's supported login types to authenticate users. Clients + should pick one of these and supply it as the ``type`` when logging in. + operationId: getLoginFlows + responses: + 200: + description: The login types the homeserver supports + examples: + application/json: { + "flows": [ + {"type": "m.login.password"} + ] + } + schema: + type: object + properties: + flows: + type: array + description: The homeserver's supported login types + items: + type: object + title: LoginFlow + properties: + type: + description: |- + The login type. This is supplied as the ``type`` when + logging in. + type: string + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: + - Session management post: summary: Authenticates the user. description: |- From 17c9cde0ec06e2f85b4e08615041890c4c223218 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 13:46:57 -0600 Subject: [PATCH 465/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..44d41f4e4 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -15,6 +15,8 @@ Unreleased changes - Sticker messages: - Add sticker message event definition. (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). + - Document the GET version of ``/login`` + (`#1361 <https://github.com/matrix-org/matrix-doc/pull/1361>`_). - Spec clarifications: From 7d94aaace8a799927673d53fa49b5f28c7d83acd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 14:59:41 -0600 Subject: [PATCH 466/801] Explicitly declare that the kick/ban reason will be on the membership event Fixes https://github.com/matrix-org/matrix-doc/issues/798 --- api/client-server/banning.yaml | 3 ++- api/client-server/kicking.yaml | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api/client-server/banning.yaml b/api/client-server/banning.yaml index 3877f0e90..4030f46b1 100644 --- a/api/client-server/banning.yaml +++ b/api/client-server/banning.yaml @@ -61,7 +61,8 @@ paths: description: The fully qualified user ID of the user being banned. reason: type: string - description: The reason the user has been banned. + description: The reason the user has been banned. This will be supplied as the + ``reason`` on the target's updated `m.room.member`_ event. required: ["user_id"] responses: 200: diff --git a/api/client-server/kicking.yaml b/api/client-server/kicking.yaml index ef43c0ee9..bacc806ee 100644 --- a/api/client-server/kicking.yaml +++ b/api/client-server/kicking.yaml @@ -34,6 +34,10 @@ paths: Kick a user from the room. The caller must have the required power level in order to perform this operation. + + Kicking a user adjusts the target member's membership state to be ``leave`` with an + optional ``reason``. Like with other membership changes, a user can directly adjust + the target member's state by making a request to ``/rooms/<room id>/state/m.room.member/<user id>``. operationId: kick security: - accessToken: [] @@ -59,7 +63,9 @@ paths: description: The fully qualified user ID of the user being kicked. reason: type: string - description: The reason the user has been kicked. + description: |- + The reason the user has been kicked. This will be supplied as the + ``reason`` on the target's updated `m.room.member`_ event. required: ["user_id"] responses: 200: From 5b6ad6f39d5792c987b4bee60989b8a2b026f9b3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 15:19:33 -0600 Subject: [PATCH 467/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..a16b96ae0 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -39,6 +39,8 @@ Unreleased changes (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). + - Describe how the ``reason`` is handled for kicks/bans + (`#1362 <https://github.com/matrix-org/matrix-doc/pull/1362>`_). - Changes to the API which will be backwards-compatible for clients: From d279fdafa6e649f4dd8ea2dd4a89e559c633a3f3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 15:49:16 -0600 Subject: [PATCH 468/801] Document the server_name query parameter on /join/{roomIdOrAlias} Fixes https://github.com/matrix-org/matrix-doc/issues/904 --- api/client-server/joining.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index da4e43371..bd3e6885f 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -143,6 +143,16 @@ paths: description: The room identifier or alias to join. required: true x-example: "#monkeys:matrix.org" + - in: query + type: array + items: + type: string + explode: true + name: server_name + description: |- + The servers to attempt to join the room through. One of the servers + must be participating in the room. + x-example: ["matrix.org", "elsewhere.ca"] - in: body name: third_party_signed schema: From cbbdcbcf01cd5c9d18bb0ca0aa80257dad8fccfe Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 15:50:01 -0600 Subject: [PATCH 469/801] Show arrays in the query string as "[type]" rather than "array" Otherwise the question "array of what?" is raised. --- scripts/templating/matrix_templates/units.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index d8cfe1e34..dac183d1f 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -502,6 +502,11 @@ class MatrixUnits(Units): # assign value expected for this param val_type = param.get("type") # integer/string + if val_type == "array": + items = param.get("items") + if items: + val_type = "[%s]" % items.get("type") + if param.get("enum"): val_type = "enum" desc += ( From 625913d797cda10d9916934351e598161adaced0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 15:53:43 -0600 Subject: [PATCH 470/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..01670c744 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -15,6 +15,8 @@ Unreleased changes - Sticker messages: - Add sticker message event definition. (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). + - Document the ``server_name`` parameter on ``/join/{roomIdOrAlias}`` + (`#1364 <https://github.com/matrix-org/matrix-doc/pull/1364>`_). - Spec clarifications: From 4ca54404fa4ae3b2ae58c34688204883e4c94903 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 16:15:29 -0600 Subject: [PATCH 471/801] Document the CORS/preflight headers Fixes https://github.com/matrix-org/matrix-doc/issues/1006 --- specification/client_server_api.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index dec3a4f44..f7a7d509e 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -164,6 +164,26 @@ recommended. {{versions_cs_http_api}} +Web Browser Clients +------------------- + +It is realistic to expect that some clients will be written to be run within a +web browser or similar environment. In these cases, the homeserver should respond +to pre-flight requests and supply Cross-Origin Resource Sharing (CORS) headers. + +When a client approaches the server with a pre-flight (``OPTIONS``) request, the +server should respond with the CORS headers for that route. If the route does not +exist, the server should return an ``M_NOT_FOUND`` error with a 404 status code. + +The standard CORS headers to be returned by servers on all requests are: + +.. code:: + + Access-Control-Allow-Origin: * + Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS + Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization + + Client Authentication --------------------- From b8c8d859268874cd548aff3be9fe58eed50a15a6 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 16:18:04 -0600 Subject: [PATCH 472/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab5..e4e7552f3 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -15,6 +15,8 @@ Unreleased changes - Sticker messages: - Add sticker message event definition. (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). + - Document the CORS/preflight headers + (`#1365 <https://github.com/matrix-org/matrix-doc/pull/1365>`_). - Spec clarifications: From a6b0125da62e9c911ff15b8cbcf267499f95ee99 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 3 Jul 2018 16:19:31 -0600 Subject: [PATCH 473/801] Our swagger doesn't support explode yet --- api/client-server/joining.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index bd3e6885f..471c50382 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -147,7 +147,6 @@ paths: type: array items: type: string - explode: true name: server_name description: |- The servers to attempt to join the room through. One of the servers From 2fc292646147b236a3740184a589f457206b3db5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 11:33:51 -0600 Subject: [PATCH 474/801] Clearly say that the server/server API is unstable and subject to change --- specification/server_server_api.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 3738ea053..f2b3204ab 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -16,6 +16,10 @@ Federation API ============== +.. WARNING:: + This API is unstable and will change without warning or discussion while + we work towards a r0 release (scheduled for August 2018). + Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to each other in real-time, to From 1f12637d3f8973301e0ec6b7ebdfb167603b7d49 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 12:23:51 -0600 Subject: [PATCH 475/801] Getting presence requires authentication --- api/client-server/presence.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index ba202c2da..ab32f9833 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -83,6 +83,8 @@ paths: description: |- Get the given user's presence state. operationId: getPresence + security: + - accessToken: [] parameters: - in: path type: string From b61fe201718ca121c62a8edde9093bb2c0611bf7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 13:02:32 -0600 Subject: [PATCH 476/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..eb0387c11 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -39,6 +39,8 @@ Unreleased changes (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). - Mark ``GET /rooms/{roomId}/members`` as requiring authentication (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). + - Mark ``GET /presence/{userId}/status`` as requiring authentication + (`#1371 <https://github.com/matrix-org/matrix-doc/pull/1371>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). From 7cd22f5690b50cc4132328e3ba030b49f117e83c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 13:45:34 -0600 Subject: [PATCH 477/801] Describe the rate limit error everywhere Fixes https://github.com/matrix-org/matrix-doc/issues/1153 --- api/client-server/content-repo.yaml | 10 +++---- .../definitions/{ => errors}/error.yaml | 2 ++ .../definitions/errors/rate_limited.yaml | 26 +++++++++++++++++++ api/client-server/inviting.yaml | 2 +- api/client-server/joining.yaml | 4 +-- api/client-server/leaving.yaml | 4 +-- api/client-server/login.yaml | 4 +-- api/client-server/presence.yaml | 4 +-- api/client-server/profile.yaml | 4 +-- api/client-server/pusher.yaml | 2 +- api/client-server/pushrules.yaml | 2 +- api/client-server/receipts.yaml | 2 +- api/client-server/registration.yaml | 8 +++--- api/client-server/search.yaml | 2 +- api/client-server/third_party_membership.yaml | 2 +- api/client-server/typing.yaml | 2 +- api/client-server/users.yaml | 2 +- api/client-server/voip.yaml | 2 +- api/client-server/whoami.yaml | 2 +- 19 files changed, 57 insertions(+), 29 deletions(-) rename api/client-server/definitions/{ => errors}/error.yaml (90%) create mode 100644 api/client-server/definitions/errors/rate_limited.yaml diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index f76b2fb95..7ded75d0f 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -72,7 +72,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Media "/download/{serverName}/{mediaId}": @@ -119,7 +119,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Media "/download/{serverName}/{mediaId}/{fileName}": @@ -173,7 +173,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Media "/thumbnail/{serverName}/{mediaId}": @@ -238,7 +238,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Media "/preview_url": @@ -293,6 +293,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Media diff --git a/api/client-server/definitions/error.yaml b/api/client-server/definitions/errors/error.yaml similarity index 90% rename from api/client-server/definitions/error.yaml rename to api/client-server/definitions/errors/error.yaml index fa5cada7a..7471da6f6 100644 --- a/api/client-server/definitions/error.yaml +++ b/api/client-server/definitions/errors/error.yaml @@ -17,7 +17,9 @@ properties: errcode: type: string description: An error code. + example: M_UNKNOWN error: type: string description: A human-readable error message. + example: An unknown error occurred required: ["errcode"] \ No newline at end of file diff --git a/api/client-server/definitions/errors/rate_limited.yaml b/api/client-server/definitions/errors/rate_limited.yaml new file mode 100644 index 000000000..6b4932ee6 --- /dev/null +++ b/api/client-server/definitions/errors/rate_limited.yaml @@ -0,0 +1,26 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +$ref: error.yaml +type: object +description: The rate limit was reached for this request +properties: + errcode: + type: string + description: The M_LIMIT_EXCEEDED error code + example: M_LIMIT_EXCEEDED + error: + type: string + description: A human-readable error message. + example: Too many requests +required: ["errcode"] \ No newline at end of file diff --git a/api/client-server/inviting.yaml b/api/client-server/inviting.yaml index 47f51bd47..1e6694dc8 100644 --- a/api/client-server/inviting.yaml +++ b/api/client-server/inviting.yaml @@ -96,6 +96,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index da4e43371..9890e73ca 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -113,7 +113,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership "/join/{roomIdOrAlias}": @@ -209,6 +209,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index 36351fd44..1a2515a6c 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -64,7 +64,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership "/rooms/{roomId}/forget": @@ -102,6 +102,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index c0db2299b..e64ff953d 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -61,7 +61,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Session management post: @@ -176,6 +176,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Session management diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index ba202c2da..2a97e1bae 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -75,7 +75,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Presence get: @@ -176,7 +176,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Presence get: diff --git a/api/client-server/profile.yaml b/api/client-server/profile.yaml index 0cada0cad..c8dc40563 100644 --- a/api/client-server/profile.yaml +++ b/api/client-server/profile.yaml @@ -67,7 +67,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data get: @@ -141,7 +141,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data get: diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 9cf40a061..826b69d1f 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -232,6 +232,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Push notifications diff --git a/api/client-server/pushrules.yaml b/api/client-server/pushrules.yaml index 801349efa..22738c3e3 100644 --- a/api/client-server/pushrules.yaml +++ b/api/client-server/pushrules.yaml @@ -442,7 +442,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Push notifications "/pushrules/{scope}/{kind}/{ruleId}/enabled": diff --git a/api/client-server/receipts.yaml b/api/client-server/receipts.yaml index e46359a99..a3e9789e9 100644 --- a/api/client-server/receipts.yaml +++ b/api/client-server/receipts.yaml @@ -76,6 +76,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room participation diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 1c544afed..5c2059996 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -185,7 +185,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data "/register/email/requestToken": @@ -296,7 +296,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data "/account/password/email/requestToken": @@ -363,7 +363,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data "/register/available": @@ -423,6 +423,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index e5f6a872b..3dcd719fa 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -355,6 +355,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Search diff --git a/api/client-server/third_party_membership.yaml b/api/client-server/third_party_membership.yaml index 612b22d05..3050ee3a9 100644 --- a/api/client-server/third_party_membership.yaml +++ b/api/client-server/third_party_membership.yaml @@ -129,6 +129,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room membership diff --git a/api/client-server/typing.yaml b/api/client-server/typing.yaml index e2a8f9bd1..e7cbe2d7d 100644 --- a/api/client-server/typing.yaml +++ b/api/client-server/typing.yaml @@ -82,6 +82,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - Room participation diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml index 1734e3bb8..a682b4358 100644 --- a/api/client-server/users.yaml +++ b/api/client-server/users.yaml @@ -95,6 +95,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data diff --git a/api/client-server/voip.yaml b/api/client-server/voip.yaml index 6d6136a54..75ace4c3a 100644 --- a/api/client-server/voip.yaml +++ b/api/client-server/voip.yaml @@ -73,6 +73,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - VOIP diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 8f5abdf79..4d178e073 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -79,6 +79,6 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/rate_limited.yaml" tags: - User data From caa6d4d9ad082003cb4c481795327c5cc22569c3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 13:51:17 -0600 Subject: [PATCH 478/801] Give all errors a schema reference This just helps keep an overall structure --- api/client-server/administrative_contact.yaml | 2 ++ api/client-server/banning.yaml | 4 ++++ api/client-server/create_room.yaml | 2 ++ api/client-server/directory.yaml | 4 ++++ api/client-server/inviting.yaml | 2 ++ api/client-server/joining.yaml | 4 ++++ api/client-server/kicking.yaml | 2 ++ api/client-server/list_public_rooms.yaml | 4 ++++ api/client-server/login.yaml | 4 ++++ api/client-server/pusher.yaml | 2 +- api/client-server/pushrules.yaml | 2 +- api/client-server/registration.yaml | 6 +++++- api/client-server/third_party_membership.yaml | 2 ++ api/client-server/whoami.yaml | 4 ++-- 14 files changed, 39 insertions(+), 5 deletions(-) diff --git a/api/client-server/administrative_contact.yaml b/api/client-server/administrative_contact.yaml index e7381a555..8f0319d5a 100644 --- a/api/client-server/administrative_contact.yaml +++ b/api/client-server/administrative_contact.yaml @@ -129,6 +129,8 @@ paths: "errcode": "M_THREEPID_AUTH_FAILED", "error": "The third party credentials could not be verified by the identity server." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - User data "/account/3pid/email/requestToken": diff --git a/api/client-server/banning.yaml b/api/client-server/banning.yaml index 3877f0e90..9aceb2db8 100644 --- a/api/client-server/banning.yaml +++ b/api/client-server/banning.yaml @@ -82,6 +82,8 @@ paths: "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to ban from this room." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room membership "/rooms/{roomId}/unban": @@ -133,5 +135,7 @@ paths: "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to unban from this room." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room membership diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 3e88ee0c0..59f7f75f0 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -218,6 +218,8 @@ paths: invalid: for example, the user's ``power_level`` is set below that necessary to set the room name (``errcode`` set to ``M_INVALID_ROOM_STATE``). + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room creation diff --git a/api/client-server/directory.yaml b/api/client-server/directory.yaml index a50bab629..ee42cf845 100644 --- a/api/client-server/directory.yaml +++ b/api/client-server/directory.yaml @@ -68,6 +68,8 @@ paths: "errcode": "M_UNKNOWN", "error": "Room alias #monkeys:matrix.org already exists." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room directory get: @@ -118,6 +120,8 @@ paths: "errcode": "M_NOT_FOUND", "error": "Room alias #monkeys:matrix.org not found." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room directory delete: diff --git a/api/client-server/inviting.yaml b/api/client-server/inviting.yaml index 1e6694dc8..f312d5ceb 100644 --- a/api/client-server/inviting.yaml +++ b/api/client-server/inviting.yaml @@ -93,6 +93,8 @@ paths: examples: application/json: { "errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/joining.yaml b/api/client-server/joining.yaml index 9890e73ca..2a2a4c687 100644 --- a/api/client-server/joining.yaml +++ b/api/client-server/joining.yaml @@ -110,6 +110,8 @@ paths: examples: application/json: { "errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: @@ -206,6 +208,8 @@ paths: examples: application/json: { "errcode": "M_FORBIDDEN", "error": "You are not invited to this room."} + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/kicking.yaml b/api/client-server/kicking.yaml index ef43c0ee9..9be5dc79f 100644 --- a/api/client-server/kicking.yaml +++ b/api/client-server/kicking.yaml @@ -81,5 +81,7 @@ paths: "errcode": "M_FORBIDDEN", "error": "You do not have a high enough power level to kick from this room." } + schema: + "$ref": "definitions/errors/error.yaml" tags: - Room membership diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 334d528c3..45034488a 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -59,6 +59,8 @@ paths: "errcode": "M_NOT_FOUND", "error": "Room not found" } + schema: + "$ref": "definitions/errors/error.yaml" put: summary: Sets the visibility of a room in the room directory description: |- @@ -107,6 +109,8 @@ paths: "errcode": "M_NOT_FOUND", "error": "Room not found" } + schema: + "$ref": "definitions/errors/error.yaml" "/publicRooms": get: summary: Lists the public rooms on the server. diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index e64ff953d..289b17e78 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -167,12 +167,16 @@ paths: "errcode": "M_UNKNOWN", "error": "Bad login type." } + schema: + "$ref": "definitions/errors/error.yaml" 403: description: |- The login attempt failed. For example, the password may have been incorrect. examples: application/json: { "errcode": "M_FORBIDDEN"} + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 826b69d1f..938014c60 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -228,7 +228,7 @@ paths: "errcode": "M_MISSING_PARAM" } schema: - type: object + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/pushrules.yaml b/api/client-server/pushrules.yaml index 22738c3e3..ceb9954b1 100644 --- a/api/client-server/pushrules.yaml +++ b/api/client-server/pushrules.yaml @@ -438,7 +438,7 @@ paths: "errcode": "M_UNKNOWN" } schema: - type: object + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 5c2059996..6ae4ddd37 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -177,6 +177,8 @@ paths: "errcode": "M_USER_IN_USE", "error": "Desired user ID is already taken." } + schema: + "$ref": "definitions/errors/error.yaml" 401: description: |- The homeserver requires additional authentication information. @@ -249,7 +251,7 @@ paths: "error": "The specified address is already in use" } schema: - type: object + "$ref": "definitions/errors/error.yaml" "/account/password": post: summary: "Changes a user's password." @@ -420,6 +422,8 @@ paths: "errcode": "M_USER_IN_USE", "error": "Desired user ID is already taken." } + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/third_party_membership.yaml b/api/client-server/third_party_membership.yaml index 3050ee3a9..66c14c4d3 100644 --- a/api/client-server/third_party_membership.yaml +++ b/api/client-server/third_party_membership.yaml @@ -126,6 +126,8 @@ paths: examples: application/json: { "errcode": "M_FORBIDDEN", "error": "@cheeky_monkey:matrix.org is banned from the room"} + schema: + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: diff --git a/api/client-server/whoami.yaml b/api/client-server/whoami.yaml index 4d178e073..ad40eb869 100644 --- a/api/client-server/whoami.yaml +++ b/api/client-server/whoami.yaml @@ -65,7 +65,7 @@ paths: "error": "Unrecognised access token." } schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/error.yaml" 403: description: The appservice cannot masquerade as the user or has not registered them. @@ -75,7 +75,7 @@ paths: "error": "Application service has not registered this user." } schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: From 705423086af6ae273f8ce140f572b6e1cffa860b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 13:55:36 -0600 Subject: [PATCH 479/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..c06c46b32 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -41,6 +41,8 @@ Unreleased changes (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). + - Describe the rate limit error response schema + (`#1373 <https://github.com/matrix-org/matrix-doc/pull/1373>`_). - Changes to the API which will be backwards-compatible for clients: From 981d1004bc9d7a82e09ca413eee87a64d80d59f1 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Thu, 3 May 2018 23:18:47 +0900 Subject: [PATCH 480/801] Add a missing $ref --- api/client-server/message_pagination.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api/client-server/message_pagination.yaml b/api/client-server/message_pagination.yaml index 714066534..941e61fb9 100644 --- a/api/client-server/message_pagination.yaml +++ b/api/client-server/message_pagination.yaml @@ -107,6 +107,7 @@ paths: items: type: object title: RoomEvent + "$ref": "definitions/event-schemas/schema/core-event-schema/room_event.yaml" examples: application/json: { "start": "t47429-4392820_219380_26003_2265", From 0779d81e52556c28bed61b82c602fd154a8f184d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 14:30:39 -0600 Subject: [PATCH 481/801] Clarify which requests should have CORS headers Spoilers: all of them. --- specification/client_server_api.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index f7a7d509e..33ee8b1ac 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -169,7 +169,8 @@ Web Browser Clients It is realistic to expect that some clients will be written to be run within a web browser or similar environment. In these cases, the homeserver should respond -to pre-flight requests and supply Cross-Origin Resource Sharing (CORS) headers. +to pre-flight requests and supply Cross-Origin Resource Sharing (CORS) headers on +all requests. When a client approaches the server with a pre-flight (``OPTIONS``) request, the server should respond with the CORS headers for that route. If the route does not From 05c85fd840b3feda4916596365387e1e75cb1e8b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 14:37:21 -0600 Subject: [PATCH 482/801] Spec the 403 on GET /presence/{userId}/status --- api/client-server/presence.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index ab32f9833..461344308 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -123,6 +123,15 @@ paths: description: |- There is no presence state for this user. This user may not exist or isn't exposing presence information to you. + 403: + description: You are not allowed to see this user's presence status. + examples: + application/json: { + "errcode": "M_FORBIDDEN", + "error": "You are not allowed to see their presence" + } + schema: + "$ref": "definitions/error.yaml" tags: - Presence "/presence/list/{userId}": From 9e796192e45aad16019f29d892cf875db7eeb7c5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 15:31:23 -0600 Subject: [PATCH 483/801] Document that clients must leave before forgetting rooms Fixes https://github.com/matrix-org/matrix-doc/issues/1011 --- api/client-server/leaving.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index 36351fd44..e8e58397e 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -78,8 +78,8 @@ paths: for this room. If all users on a homeserver forget a room, the room is eligible for deletion from that homeserver. - If the user is currently joined to the room, they will implicitly leave - the room as part of this API call. + If the user is currently joined to the room, they must leave the room + before calling this API. operationId: forgetRoom security: - accessToken: [] From a19bbc80897fe0b4e184263200203b4b2e2c707c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 15:32:53 -0600 Subject: [PATCH 484/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..697b02c1a 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -41,6 +41,8 @@ Unreleased changes (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). + - Clarify that clients must leave rooms before forgetting them + (`#1378 <https://github.com/matrix-org/matrix-doc/pull/1378>`_). - Changes to the API which will be backwards-compatible for clients: From 9b1f3a1f4768fe153fa733e8db6d10b0c3c917e0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 18:16:24 -0600 Subject: [PATCH 485/801] Document guest_access in /createRoom presets; Make presets a table Previously the presets ended up being rendered as one long string (the indentation was not respected). This was hard to read and wasn't very clear. Now that there's a larger amount of information, it makes some sense to put it into a table. Tables don't work nicely when nested in another table, so the preset definitions have been moved into the general route description. This commit also updates the documentation to reference `preset`, not `presets` given the param is singular. Fixes https://github.com/matrix-org/matrix-doc/issues/881 --- api/client-server/create_room.yaml | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 3e88ee0c0..37c8ec210 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -40,7 +41,7 @@ paths: 0. A default ``m.room.power_levels`` event, giving the room creator (and not other members) permission to send state events. - 1. Events set by ``presets``. + 1. Events set by the ``preset``. 2. Events listed in ``initial_state``, in the order that they are listed. @@ -49,6 +50,16 @@ paths: 4. Invite events implied by ``invite`` and ``invite_3pid``. + The available presets do the following with respect to room state: + + ======================== ============== ====================== ================ ========= + Preset ``join_rules`` ``history_visibility`` ``guest_access`` Other + ======================== ============== ====================== ================ ========= + ``private_chat`` ``invite`` ``shared`` ``can_join`` + ``trusted_private_chat`` ``invite`` ``shared`` ``can_join`` All invitees are given the same power level as the room creator. + ``public_chat`` ``public`` ``shared`` ``forbidden`` + ======================== ============== ====================== ================ ========= + operationId: createRoom security: - accessToken: [] @@ -142,7 +153,7 @@ paths: room. The expected format of the state events are an object with type, state_key and content keys set. - Takes precedence over events set by ``presets``, but gets + Takes precedence over events set by ``preset``, but gets overriden by ``name`` and ``topic`` keys. items: type: object @@ -163,20 +174,7 @@ paths: enum: ["private_chat", "public_chat", "trusted_private_chat"] description: |- Convenience parameter for setting various default state events - based on a preset. Must be either: - - ``private_chat`` => - ``join_rules`` is set to ``invite``. - ``history_visibility`` is set to ``shared``. - - ``trusted_private_chat`` => - ``join_rules`` is set to ``invite``. - ``history_visibility`` is set to ``shared``. - All invitees are given the same power level as the room creator. - - ``public_chat``: => - ``join_rules`` is set to ``public``. - ``history_visibility`` is set to ``shared``. + based on a preset. is_direct: type: boolean description: |- From e409b40fad7f456f962e6005d8265de4da5cbbd0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 18:22:10 -0600 Subject: [PATCH 486/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..781e2f90f 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -17,6 +17,8 @@ Unreleased changes (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). - Document the GET version of ``/login`` (`#1361 <https://github.com/matrix-org/matrix-doc/pull/1361>`_). + - Document guest access in ``/createRoom`` presets + (`#1379 <https://github.com/matrix-org/matrix-doc/pull/1379>`_). - Spec clarifications: From 95e8f1bddebc927fff3bf2b03ea795a79312b2ed Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 19:21:03 -0600 Subject: [PATCH 487/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..34e42d0b4 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -39,6 +39,8 @@ Unreleased changes (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). - Mark ``GET /rooms/{roomId}/members`` as requiring authentication (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). + - Define what a ``RoomEvent`` is on ``/rooms/{roomId}/messages`` + (`#1380 <https://github.com/matrix-org/matrix-doc/pull/1380>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). From 436b4106980663b595570f5878033765195be6b2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 20:02:30 -0600 Subject: [PATCH 488/801] Document the error code when someone tries to forget a room they are in --- api/client-server/leaving.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index e8e58397e..57a148c62 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -99,6 +99,15 @@ paths: } schema: type: object + 400: + description: The user has not left the room + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "User @example:matrix.org is in room !au1ba7o:matrix.org" + } + schema: + "$ref": "definitions/error.yaml" 429: description: This request was rate-limited. schema: From dfdc5f9bef899c356695c9cc0c5b7f9e8c45b2d5 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Thu, 3 May 2018 23:19:55 +0900 Subject: [PATCH 489/801] search.yaml: Rename some titles to avoid confusion between request and response schemas Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/client-server/search.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index e5f6a872b..f7c961805 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -74,7 +74,7 @@ paths: properties: room_events: type: object - title: "Room Events" + title: Room Events Criteria description: Mapping of category name to search criteria. properties: search_term: @@ -103,7 +103,7 @@ paths: The order in which to search for results. By default, this is ``"rank"``. event_context: - title: "Event Context" + title: "Include Event Context" type: object description: |- Configures whether any context for the events @@ -169,13 +169,13 @@ paths: properties: search_categories: type: object - title: Categories + title: Result Categories description: Describes which categories to search in and their criteria. properties: room_events: type: object - title: Room Event Results + title: Result Room Events description: Mapping of category name to search criteria. properties: count: From 0867ab2365e403241343d45bc06c966d73442ea3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 4 Jul 2018 20:14:19 -0600 Subject: [PATCH 490/801] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 44d41f4e4..f732a6d83 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -41,6 +41,8 @@ Unreleased changes (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - Describe ``StateEvent`` for ``/createRoom`` (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). + - Clarify the request and result types on ``/search`` + (`#1381 <https://github.com/matrix-org/matrix-doc/pull/1381>`_). - Changes to the API which will be backwards-compatible for clients: From 92f3989f2b00627201cb16a5fdfd2ee1fa095180 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Thu, 5 Jul 2018 11:37:06 +0100 Subject: [PATCH 491/801] Dirty replace of DNS name -> hostname --- specification/server_server_api.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 3738ea053..70d495d33 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -18,7 +18,7 @@ Federation API Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to -each other in real-time, to +each other in real-time, to historic messages from each other, and to query profile and presence information about users on each other's servers. @@ -73,22 +73,22 @@ Server Discovery Resolving Server Names ~~~~~~~~~~~~~~~~~~~~~~ -Each matrix homeserver is identified by a server name consisting of a DNS name +Each matrix homeserver is identified by a server name consisting of a hostname and an optional TLS port. .. code:: - server_name = dns_name [ ":" tls_port] + server_name = hostname [ ":" tls_port] dns_name = <host, see [RFC 3986], Section 3.2.2> tls_port = *DIGIT .. ** If the port is present then the server is discovered by looking up an AAAA or -A record for the DNS name and connecting to the specified TLS port. If the port +A record for the hostname and connecting to the specified TLS port. If the port is absent then the server is discovered by looking up a ``_matrix._tcp`` SRV -record for the DNS name. If this record does not exist then the server is -discovered by looking up an AAAA or A record on the DNS name and taking the +record for the hostname. If this record does not exist then the server is +discovered by looking up an AAAA or A record on the hostname and taking the default fallback port number of 8448. Homeservers may use SRV records to load balance requests between multiple TLS endpoints or to failover to another endpoint if an endpoint fails. @@ -165,7 +165,7 @@ events sent by that server can still be checked. ==================== =================== ====================================== Key Type Description ==================== =================== ====================================== -``server_name`` String DNS name of the homeserver. +``server_name`` String hostname of the homeserver. ``verify_keys`` Object Public keys of the homeserver for verifying digital signatures. ``old_verify_keys`` Object The public keys that the server used @@ -273,7 +273,7 @@ at ``/_matrix/key/v1``. ==================== =================== ====================================== Key Type Description ==================== =================== ====================================== -``server_name`` String DNS name of the homeserver. +``server_name`` String hostname of the homeserver. ``verify_keys`` Object Public keys of the homeserver for verifying digital signatures. ``signatures`` Object Digital signatures for this object @@ -897,10 +897,10 @@ the resident homeserver. The required fields are: ======================== ============ ========================================= ``type`` String The value ``m.room.member``. ``auth_events`` List An event-reference list containing the - authorization events that would allow + authorization events that would allow this member to join. ``content`` Object The event content. -``depth`` Integer (this field must be present but is +``depth`` Integer (this field must be present but is ignored; it may be 0) ``origin`` String The name of the resident homeserver. ``origin_server_ts`` Integer A timestamp added by the resident From cc3724b54a44bef1ee26577e74b2f167aebdcc2a Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 11:55:25 +0100 Subject: [PATCH 492/801] fix indentation, error messages. add rest of PR --- .../application_service.yaml | 331 ++++---- api/client-server/third_party_lookup.yaml | 338 ++++++++ changelogs/client_server.rst | 2 - specification/proposals.rst | 770 +++++++++++++++++- specification/targets.yaml | 2 +- specification/third_party_lookup.rst | 26 + 6 files changed, 1306 insertions(+), 163 deletions(-) create mode 100644 api/client-server/third_party_lookup.yaml create mode 100644 specification/third_party_lookup.rst diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index a0713d45f..5efc058b4 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -30,8 +30,8 @@ paths: put: summary: Send some events to the application service. description: |- - This API is called by the HS when the HS wants to push an event (or - batch of events) to the AS. + This API is called by the homeserver when it wants to push an event + (or batch of events) to the application service. operationId: sendTransaction parameters: - in: path @@ -48,33 +48,33 @@ paths: schema: type: object example: { - "events": [ - { - "age": 32, - "content": { - "body": "incoming message", - "msgtype": "m.text" - }, - "event_id": "$14328055551tzaee:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" + "events": [ + { + "age": 32, + "content": { + "body": "incoming message", + "msgtype": "m.text" }, - { - "age": 1984, - "content": { - "body": "another incoming message", - "msgtype": "m.text" - }, - "event_id": "$1228055551ffsef:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" - } - ] - } + "event_id": "$14328055551tzaee:localhost", + "origin_server_ts": 1432804485886, + "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", + "type": "m.room.message", + "user_id": "@bob:localhost" + }, + { + "age": 1984, + "content": { + "body": "another incoming message", + "msgtype": "m.text" + }, + "event_id": "$1228055551ffsef:localhost", + "origin_server_ts": 1432804485886, + "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", + "type": "m.room.message", + "user_id": "@bob:localhost" + } + ] + } description: "Transaction informations" properties: events: @@ -89,14 +89,14 @@ paths: description: The transaction was processed successfully. examples: application/json: { - } + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/rooms/{roomAlias}": @@ -126,7 +126,7 @@ paths: before responding. examples: application/json: { - } + } schema: type: object 401: @@ -135,8 +135,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -144,8 +144,8 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: @@ -154,15 +154,15 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/users/{userId}": @@ -189,7 +189,7 @@ paths: service MUST create the user using the client-server API. examples: application/json: { - } + } schema: type: object 401: @@ -198,8 +198,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -207,8 +207,8 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: @@ -217,24 +217,24 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/_matrix/app/unstable/thirdparty/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. description: |- - This API is called by the HS when it wants to present clients with - specific information about the various thirdparty networks that an AS - supports. + This API is called by the homeserver when it wants to present clients + with specific information about the various third party networks that + an application service supports. operationId: queryMetadata parameters: - in: path @@ -249,33 +249,33 @@ paths: description: The protocol was found and metadata returned. examples: application/json: { - "user_fields": ["network", "nickname"], - "location_fields": ["network", "channel"], - "icon": "mxc://example.org/aBcDeFgH", - "field_types": { - "network": { - "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", - "placeholder": "irc.example.org" - }, - "nickname": { - "regexp": "[^\\s]+", - "placeholder": "username" - }, - "channel": { - "regexp": "#[^\\s]+", - "placeholder": "#foobar" - } + "user_fields": ["network", "nickname"], + "location_fields": ["network", "channel"], + "icon": "mxc://example.org/aBcDeFgH", + "field_types": { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s]+", + "placeholder": "username" }, - "instances": [ - { - "desc": "Freenode", - "icon": "mxc://example.org/JkLmNoPq", - "fields": { - "network": "freenode.net", - } + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + }, + "instances": [ + { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", } - ] - } + } + ] + } schema: type: object 401: @@ -284,8 +284,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -293,30 +293,30 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: description: No protocol was found with the given path. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/_matrix/app/unstable/thirdparty/user/{protocol}": get: - summary: Retrieve the Matrix ID of a corresponding thirdparty user. + summary: Retrieve the Matrix ID of a corresponding third party user. description: |- - This API is called by the HS in order to retrieve a Matrix ID linked + This API is called by the homeserver in order to retrieve a Matrix ID linked to a user on the external service, given a set of user parameters. operationId: queryUserByProtocol parameters: @@ -331,32 +331,47 @@ paths: name: field1, field2... type: string description: |- - One or more custom fields that are passed to the AS to help identify the user. + One or more custom fields that are passed to the application + service to help identify the user. responses: 200: description: The Matrix IDs found with the given parameters. examples: application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] schema: type: array description: Matched users. items: type: object title: User + properties: + userid: + type: string + description: The Matrix ID of the matched user. + protocol: + type: string + description: The third party protocol. + fields: + type: object + description: The third party network fields used to identify this user. + properties: + user: + type: string + description: An example field, in this case the username for a Gitter user. 401: description: |- The homeserver has not supplied credentials to the application service. Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -364,67 +379,67 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: description: No users were found with the given parameters. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/_matrix/app/unstable/thirdparty/location/{protocol}": get: - summary: Retreive Matrix-side portals rooms leading to a thirdparty location. + summary: Retreive Matrix-side portal rooms leading to a third party location. description: |- Requesting this endpoint with a valid protocol name results in a list of successful mapping results in a JSON array. Each result contains objects to represent the Matrix room or rooms that represent a portal - to this 3PN. Each has the Matrix room alias string, an identifier for - the particular 3PN protocol, and an object containing the - network-specific fields that comprise this identifier. It should - attempt to canonicalise the identifier as much as reasonably possible - given the network type. + to this third party network. Each has the Matrix room alias string, + an identifier for the particular third party network protocol, and an + object containing the network-specific fields that comprise this + identifier. It should attempt to canonicalise the identifier as much + as reasonably possible given the network type. operationId: queryLocationByProtocol parameters: - in: path name: protocol type: string - description: The protocol used to communicate to the thirdparty network. + description: The protocol used to communicate to the third party network. required: true x-example: "irc" - in: query name: field1, field2... type: string description: |- - One or more custom fields that are passed to the AS to help - identify the thirdparty location. + One or more custom fields that are passed to the application + service to help identify the third party location. responses: 200: description: At least one portal room was found. examples: application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] schema: type: array description: |- - Array of portal rooms leading to the requested thirdparty + Array of portal rooms leading to the requested third party location. items: type: object @@ -435,8 +450,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -444,54 +459,54 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: description: No mappings were found with the given parameters. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/_matrix/app/unstable/thirdparty/location": get: - summary: Reverse-lookup thirdparty locations given a Matrix room alias. + summary: Reverse-lookup third party locations given a Matrix room alias. description: |- - Retreive an array of thirdparty network locations from a Matrix room + Retreive an array of third party network locations from a Matrix room alias. operationId: queryLocationByAlias parameters: - - in: path + - in: query name: alias type: string description: The Matrix room alias to look up. responses: 200: description: |- - All found thirdparty locations. Same response format as the + All found third party locations. Same response format as the forward lookup response. examples: application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] schema: type: array - description: Matched thirdparty locations. + description: Matched third party locations. items: type: object title: Location @@ -501,8 +516,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -510,51 +525,51 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } schema: type: object 404: description: No mappings were found with the given parameters. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object "/_matrix/app/unstable/thirdparty/user": get: - summary: Reverse-lookup thirdparty users given a Matrix ID. + summary: Reverse-lookup third party users given a Matrix ID. description: |- - Retreive an array of thirdparty users from a Matrix ID. + Retreive an array of third party users from a Matrix ID. operationId: queryUserByID paramters: - - in: path + - in: query name: userid type: string description: The Matrix ID to look up. responses: 200: description: |- - An array of thirdparty users. + An array of third party users. examples: application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] schema: type: array - description: Matched thirdparty users + description: Matched third party users items: type: object title: User @@ -564,8 +579,8 @@ paths: Optional error information can be included in the body of this response. examples: application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 403: @@ -573,22 +588,22 @@ paths: The credentials supplied by the homeserver were rejected. examples: application/json: { - "errcode": "M_FORBIDDEN" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } schema: type: object 404: description: No mappings were found with the given parameters. examples: application/json: { - "errcode": "M_NOT_FOUND" - } + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } schema: type: object 500: description: There was a problem completing the request. examples: application/json: { - } + } schema: type: object \ No newline at end of file diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml new file mode 100644 index 000000000..41b5df16b --- /dev/null +++ b/api/client-server/third_party_lookup.yaml @@ -0,0 +1,338 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Third Party Lookup API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +paths: + "/thirdparty/protocols": + get: + summary: Retrieve metadata about all protocols that a homeserver supports. + description: |- + Fetches the overall metadata about protocols supported by the + homeserver. Includes both the available protocols and all fields + required for queries against each protocol. + operationId: queryMetadata + responses: + 200: + description: The protocols supported by the homeserver. + examples: + application/json: { + "irc": { + "user_fields": ["network", "nickname"], + "location_fields": ["network", "channel"], + "icon": "mxc://example.org/aBcDeFgH", + "field_types": { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s]+", + "placeholder": "username" + }, + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + }, + "instances": [ + { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", + } + } + ] + }, + "gitter": { + "user_fields": ["username"], + "location_fields": ["room"], + "field_types": { + "username": { + "regexp": "@[^\\s]+", + "placeholder": "@username" + }, + "room": { + "regexp": "[^\\s]+\\/[^\\s]+", + "placeholder": "matrix-org/matrix-doc" + } + }, + "instances": [ + { + "desc": "Gitter", + "icon": "mxc://example.org/zXyWvUt", + "fields": {} + } + ] + } + } + schema: + type: object + "/thirdparty/protocol/{protocol}": + get: + summary: Retrieve metadata about a specific protocol that the homeserver supports. + description: |- + Fetches the metadata from the homeserver about a particular third party protocol. + operationId: queryMetadata + parameters: + - in: path + name: protocol + type: string + description: |- + The name of the protocol. + required: true + x-example: "irc" + responses: + 200: + description: The protocol was found and metadata returned. + examples: + application/json: { + "user_fields": ["network", "nickname"], + "location_fields": ["network", "channel"], + "icon": "mxc://example.org/aBcDeFgH", + "field_types": { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s#]+", + "placeholder": "username" + }, + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + }, + "instances": [ + { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", + } + } + ] + } + schema: + type: object + 404: + description: The protocol is unknown + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + "/thirdparty/location/{protocol}": + get: + summary: Retreive Matrix-side portals rooms leading to a third party location. + description: |- + Requesting this endpoint with a valid protocol name results in a list + of successful mapping results in a JSON array. Each result contains + objects to represent the Matrix room or rooms that represent a portal + to this third party network. Each has the Matrix room alias string, + an identifier for the particular third party network protocol, and an + object containing the network-specific fields that comprise this + identifier. It should attempt to canonicalise the identifier as much + as reasonably possible given the network type. + operationId: queryLocationByProtocol + parameters: + - in: path + name: protocol + type: string + description: The protocol used to communicate to the third party network. + required: true + x-example: "irc" + - in: query + name: field1, field2... + type: string + description: |- + One or more custom fields to help identify the third party + location. + responses: + 200: + description: At least one portal room was found. + examples: + application/json: [{ + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] + schema: + type: array + description: |- + Array of portal rooms leading to the requested third party + location. + items: + type: object + title: Portal Room + 404: + description: The Matrix room alias was not found + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + "/thirdparty/user/{protocol}": + get: + summary: Retrieve the Matrix ID of a corresponding third party user. + description: |- + Retrieve a Matrix ID linked to a user on the third party service, given + a set of user parameters. + operationId: queryUserByProtocol + parameters: + - in: path + name: protocol + type: string + description: |- + The name of the protocol. + required: true + x-example: irc + - in: query + name: field1, field2... + type: string + description: |- + One or more custom fields that are passed to the AS to help identify the user. + responses: + 200: + description: The Matrix IDs found with the given parameters. + examples: + application/json: [{ + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] + schema: + type: array + description: Matched users. + items: + type: object + title: User + properties: + userid: + type: string + description: The Matrix ID of the matched user. + protocol: + type: string + description: The third party protocol. + fields: + type: object + description: The third party network fields used to identify this user. + properties: + user: + type: string + description: An example field, in this case the username for a Gitter user. + 404: + description: The Matrix ID was not found + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + "/thirdparty/location": + get: + summary: Reverse-lookup third party locations given a Matrix room alias. + description: |- + Retreive an array of third party network locations from a Matrix room + alias. + operationId: queryLocationByAlias + parameters: + - in: path + name: alias + type: string + description: The Matrix room alias to look up. + responses: + 200: + description: |- + All found third party locations. Same response format as the + forward lookup response. + examples: + application/json: [{ + "alias": "#freenode_#matrix:matrix.org", + "protocol": "irc", + "fields": { + "network": "freenode", + "channel": "#matrix" + } + }] + schema: + type: array + description: Matched third party locations. + items: + type: object + title: Location + 404: + description: The Matrix room alias was not found + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object + "/thirdparty/user": + get: + summary: Reverse-lookup third party users given a Matrix ID. + description: |- + Retreive an array of third party users from a Matrix ID. + operationId: queryUserByID + paramters: + - in: path + name: userid + type: string + description: The Matrix ID to look up. + responses: + 200: + description: |- + An array of third party users. + examples: + application/json: [{ + "userid": "@_gitter_jim:matrix.org", + "protocol": "gitter", + "fields": { + "user": "jim" + } + }] + schema: + type: array + description: Matched third party users + items: + type: object + title: User + 404: + description: The Matrix ID was not found + examples: + application/json: { + "errcode": "M_NOT_FOUND" + } + schema: + type: object \ No newline at end of file diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index f7e94dbe4..7f31aa751 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -11,8 +11,6 @@ Unreleased changes (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). - ``POST /delete_devices`` (`#1239 <https://github.com/matrix-org/matrix-doc/pull/1239>`_). - - ``GET /thirdparty/protocols`` - (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). - ``GET /thirdparty/protocol/{protocol}`` (`#1353 <https://github.com/matrix-org/matrix-doc/pull/1353>`_). - ``GET /thirdparty/location/{protocol}`` diff --git a/specification/proposals.rst b/specification/proposals.rst index 371850ab3..d04edfa84 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -1,6 +1,772 @@ Tables of Tracked Proposals --------------------------- -This file is autogenerated by a jenkins build process +proposal-wip +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -View the current live version `at https://matrix.org/docs/spec/proposals <https://matrix.org/docs/spec/proposals>`_ +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_ + - Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5) + - 2014-09-15 + - 2018-05-15 + - `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_ + - `@KitsuneRal`_ + - None + - + * - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_ + - Federation API for canonicalising MXIDs + - 2014-10-27 + - 2018-05-15 + - `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_ + - Extensible Profiles. (SPEC-93) + - 2015-01-19 + - 2018-05-15 + - `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_ + - Matrix Escape Hatch (Versioned Rooms) + - 2015-10-22 + - 2018-05-15 + - `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_ + - `@leonerd`_ + - None + - + * - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_ + - Support for websockets + - 2015-11-16 + - 2018-06-04 + - `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_ + - `@richvdh`_, `@krombel`_ + - None + - + * - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_ + - Push to Talk + - 2016-04-13 + - 2018-05-15 + - `1238-1 <TBD>`_ + - `@aviraldg`_ + - None + - `PR#310`_ + * - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_ + - Threading API + - 2016-05-23 + - 2018-05-15 + - `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_ + - `@Half-Shot`_ + - None + - + * - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_ + - Publishing Room Lists for 3rd party networks + - 2016-10-21 + - 2018-05-31 + - `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_ + - Support for Reactions / Aggregations + - 2016-12-25 + - 2018-05-15 + - `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_ + - `@pik`_ + - `@ara4n`_ + - + * - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_ + - Improving m.location with GeoJSON and accuracy + - 2017-05-19 + - 2018-05-15 + - `1237-1 <TBD>`_ + - `@Half-Shot`_ + - None + - `PR#919`_ + * - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_ + - Add groups stuff to spec + - 2017-08-10 + - 2018-05-20 + - `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_ + - Groups as Rooms + - 2017-10-17 + - 2018-05-15 + - `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_ + - Visibility of groups to group members and their non-members + - 2017-10-30 + - 2018-05-15 + - `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_ + - `@lampholder`_ + - None + - + * - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_ + - Bridging group membership with 3rd party group sources + - 2017-11-15 + - 2018-05-15 + - `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_ + - Proposal for storing megolm keys serverside + - 2017-11-23 + - 2018-05-15 + - `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_ + - Improving Presence + - 2017-12-26 + - 2018-05-24 + - `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_ + - `@ara4n`_ + - None + - + * - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_ + - Pushing updates about Groups (Communities) to clients + - 2018-01-02 + - 2018-05-24 + - `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_ + - `@ara4n`_ + - None + - + * - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_ + - Extensible event types & fallback in Matrix + - 2018-02-18 + - 2018-05-15 + - `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_ + - `@ara4n`_ + - None + - + * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ + - Proposal for improved bot support + - 2018-03-14 + - 2018-06-08 + - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - + * - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_ + - Removing MXIDs from events + - 2018-04-19 + - 2018-05-15 + - `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_ + - `@richvdh`_ + - None + - + * - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_ + - Handling Consent for Privacy Policy + - 2018-05-02 + - 2018-05-15 + - `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_ + - `@neilisfragile`_ + - None + - + * - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_ + - Interactive Key Verification + - 2018-05-28 + - 2018-05-28 + - `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_ + - `@uhoreg`_ + - None + - + * - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_ + - Mechanisms for communicating erasure requests to bots and federated homeservers + - 2018-06-05 + - 2018-06-05 + - `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_ + - `@richvdh`_ + - None + - + * - `MSC688 <https://github.com/matrix-org/matrix-doc/issues/688>`_ + - Calculate room names server-side + - 2018-06-10 + - 2018-06-15 + - `688-1 <https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC1324 <https://github.com/matrix-org/matrix-doc/issues/1324>`_ + - Custom protocol definitions for application services + - 2018-06-20 + - 2018-06-20 + - `1324-1 <https://docs.google.com/document/d/1nCAGu9ZDqum39yj1-pun-sldCCHgeDA0tPqC94R4Qcg/edit?usp=sharing>`_ + - `@anoadragon453`_ + - None + - + * - `MSC1323 <https://github.com/matrix-org/matrix-doc/issues/1323>`_ + - AS traffic rate-limiting + - 2018-06-20 + - 2018-07-03 + - `1323-1 <https://docs.google.com/document/d/14ygfhAMUrAa04YMHHl2P8_mxV3H2ntNq_-crmZizED0/edit?usp=sharing>`_ + - `@anoadragon453`_ + - None + - + * - `MSC1322 <https://github.com/matrix-org/matrix-doc/issues/1322>`_ + - Mechanism to communicate 3PID binding updates or deletions to homeservers + - 2018-06-20 + - 2018-06-20 + - `1322-1 <https://docs.google.com/document/d/1LPHBfJQ6x5iOkm2_ZYPNHNjyAzJ4hWNdOGcPGpnEb14>`_ + - `@babolivier`_ + - None + - + + + +proposal-ready-for-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_ + - Proposal for lazy-loading room members to improve initial sync speed and client RAM usage + - 2018-03-05 + - 2018-06-10 + - `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ + - Proposal for improved bot support + - 2018-03-14 + - 2018-06-08 + - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - + * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ + - Custom emoji and sticker packs in matrix + - 2018-05-23 + - 2018-05-24 + - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ + - `@turt2live`_ + - None + - + * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ + - Proposal Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS + - 2018-05-31 + - 2018-06-19 + - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ + - `@oivoodoo`_ + - None + - + * - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_ + - Auth for content repo (and enforcing GDPR erasure) + - 2018-06-04 + - 2018-06-07 + - `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_ + - `@ara4n`_ + - None + - + * - `MSC1304 <https://github.com/matrix-org/matrix-doc/issues/1304>`_ + - Proposal to simplify the auth rules of m.room.power_level events. + - 2018-06-13 + - 2018-06-14 + - `1304-1 <https://docs.google.com/document/d/1YuaCFH3RzBUIAjJWFMzKROMDlttoP94KIsyV_F_kfNs/edit#heading=h.8b2tmd2n0vhz>`_ + - `@richvdh`_, `@ara4n`_ + - None + - + * - `MSC1301 <https://github.com/matrix-org/matrix-doc/issues/1301>`_ + - Proposal for improving authorization for the matrix profile API + - 2018-06-13 + - 2018-06-13 + - `1301-1 <https://docs.google.com/document/d/1G7JjyTuJlZHieuAflGFWmdKyNViGGLRTWON7AMl0wrM/edit#>`_ + - `@turt2live`_ + - None + - + * - `MSC1309 <https://github.com/matrix-org/matrix-doc/issues/1309>`_ + - Proposal for an application service management API + - 2018-06-14 + - 2018-06-15 + - `1309-1 <https://docs.google.com/document/d/1Y6bWdejrOiwL5UjnJ5VnOKoK6OfK6kX-pYbWT7f5czA/edit>`_ + - `@turt2live`_ + - None + - + * - `MSC1308 <https://github.com/matrix-org/matrix-doc/issues/1308>`_ + - Proposal for speeding up review of simple spec changes + - 2018-06-14 + - 2018-06-24 + - + - `@ara4n`_ + - None + - + * - `MSC1306 <https://github.com/matrix-org/matrix-doc/issues/1306>`_ + - Proposal to filter out traffic to Appservices based on filters + - 2018-06-14 + - 2018-06-14 + - `1306-1 <https://docs.google.com/document/d/1YhjKWTjIijdM40_4xePtU6LliDJT068IE0i09Yl1w6g/edit?usp=sharing>`_ + - `@Half-Shot`_ + - None + - + + + +proposal-in-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_ + - A way for HSes to remove bindings from ISes (aka unbind) + - 2018-05-09 + - 2018-06-05 + - `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_ + - `@dbkr`_ + - None + - + + + +proposal-passed-review +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_ + - Support for discovering API endpoints via .well-known URIs (SPEC-121) + - 2015-03-08 + - 2018-07-01 + - `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_ + - `@maxidor`_, `others`_ + - `@uhoreg`_ + - + * - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_ + - State Reset mitigation proposal + - 2018-02-20 + - 2018-05-15 + - `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_ + - `@richvdh`_ + - None + - + * - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_ + - Mitigating abuse of the event depth parameter over federation + - 2018-04-30 + - 2018-05-15 + - `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ + - Media limits API + - 2018-05-04 + - 2018-06-21 + - `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_ + - `@Half-Shot`_ + - None + - `PR#1189`_ + * - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_ + - Matrix Widget API v2 + - 2018-05-13 + - 2018-05-15 + - `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_ + - `@rxl881`_ + - None + - + + + +spec-pr-missing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ + - Configuration of E2E encryption in a room + - 2016-06-16 + - 2018-05-31 + - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ + - `@richvdh`_ + - None + - + * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ + - Device Management API + - 2016-07-14 + - 2018-05-15 + - `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_ + - `@richvdh`_ + - None + - + * - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_ + - 3rd Party Entity lookup API + - 2016-07-21 + - 2018-07-02 + - `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_ + - `@leonerd`_ + - None + - + * - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_ + - Encrypted attachment format + - 2016-10-26 + - 2018-05-15 + - `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_ + - `@NegativeMjark`_ + - None + - + * - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_ + - Reporting inappropriate content in Matrix + - 2016-11-21 + - 2018-05-31 + - `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_ + - `@ara4n`_ + - None + - + * - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_ + - Megolm session export format + - 2017-01-03 + - 2018-05-15 + - `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_ + - `@richvdh`_ + - None + - + * - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_ + - Device List Update Stream + - 2017-01-18 + - 2018-05-15 + - `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_ + - `@richvdh`_ + - None + - + * - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_ + - Need to spec msisdn login API + - 2017-03-08 + - 2018-05-15 + - `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_ + - `@dbkr`_ + - None + - + * - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_ + - spec m.login.msisdn UI auth type + - 2017-03-24 + - 2018-05-15 + - `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ + - `@dbkr`_ + - None + - + * - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_ + - Add new Read Marker API to docs + - 2017-05-08 + - 2018-05-15 + - + - `@lukebarnard1`_ + - None + - + * - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_ + - Spec @mentions + - 2017-07-14 + - 2018-05-15 + - `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_ + - Related Groups (i.e. flair) + - 2017-10-03 + - 2018-05-15 + - `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_ + - `@lukebarnard1`_ + - None + - + * - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_ + - Doc @room notifications + - 2017-10-23 + - 2018-05-31 + - + - `@dbkr`_ + - None + - + * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ + - Document key-share requests + - 2018-04-30 + - 2018-05-31 + - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ + - `@richvdh`_ + - None + - + * - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_ + - Temporary mitigation for depth parameter abuse + - 2018-05-01 + - 2018-05-15 + - `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_ + - `@ara4n`_ + - None + - + * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ + - Rich Replies format + - 2018-05-12 + - 2018-05-18 + - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ + - `@t3chguy`_ + - None + - + + + +merged +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ + - Ignoring Users + - 2016-05-03 + - 2018-05-18 + - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ + - `@erikjohnston`_ + - None + - `PR#1142`_ + * - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_ + - Notifications API + - 2016-05-23 + - 2018-06-25 + - `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_ + - `@dbkr`_ + - None + - + * - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_ + - Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition + - 2016-09-29 + - 2018-06-25 + - `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_ + - `@richvdh`_ + - None + - + * - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_ + - Proposal for multi-device deletion API + - 2016-10-12 + - 2018-06-25 + - `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_ + - `@richvdh`_ + - None + - `PR#1239`_ + * - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_ + - Add /user_directory/search API + - 2017-05-31 + - 2018-05-10 + - `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ + - A proposal for organising spec proposals + - 2018-05-10 + - 2018-06-25 + - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ + - `@ara4n`_ + - None + - `PR#1240`_ + + + +abandoned +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_ + - Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206) + - 2015-07-25 + - 2018-05-15 + - `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_ + - `@Kegsay`_ + - None + - + * - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_ + - Profile Personae + - 2016-07-15 + - 2018-05-15 + - `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_ + - Server Side Profile API + - 2016-11-01 + - 2018-05-15 + - `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_ + - `@erikjohnston`_ + - None + - + * - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_ + - Set defaults for m.federate + - 2017-04-10 + - 2018-05-18 + - `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_ + - `@psaavedra`_ + - None + - + + + +obsolete +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: auto + :stub-columns: 1 + + * - MSC + - Proposal Title + - Creation Date + - Update Date + - Documentation + - Author + - Shepherd + - PRs + * - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_ + - Replies event format + - 2018-02-01 + - 2018-05-15 + - `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_ + - `@t3chguy`_ + - None + - + * - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_ + - Replies - next steps + - 2018-02-03 + - 2018-05-15 + - `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_ + - `@t3chguy`_ + - None + - + * - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_ + - Proposal for Calendar Events + - 2018-02-06 + - 2018-05-15 + - `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_ + - `@Half-Shot`_ + - None + - + * - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_ + - Rich quoting proposal + - 2018-05-10 + - 2018-05-15 + - `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_ + - `@t3chguy`_ + - None + - + + + + + +.. _@rxl881: https://github.com/rxl881 +.. _@turt2live: https://github.com/turt2live +.. _@erikjohnston: https://github.com/erikjohnston +.. _@anoadragon453: https://github.com/anoadragon453 +.. _@t3chguy: https://github.com/t3chguy +.. _@Kegsay: https://github.com/Kegsay +.. _@KitsuneRal: https://github.com/KitsuneRal +.. _@leonerd: https://github.com/leonerd +.. _@psaavedra: https://github.com/psaavedra +.. _@ara4n: https://github.com/ara4n +.. _@krombel: https://github.com/krombel +.. _@maxidor: https://github.com/maxidor +.. _@uhoreg: https://github.com/uhoreg +.. _@pik: https://github.com/pik +.. _@neilisfragile: https://github.com/neilisfragile +.. _@babolivier: https://github.com/babolivier +.. _@lukebarnard1: https://github.com/lukebarnard1 +.. _others: https://github.com/thers +.. _@Half-Shot: https://github.com/Half-Shot +.. _@aviraldg: https://github.com/aviraldg +.. _@oivoodoo: https://github.com/oivoodoo +.. _@richvdh: https://github.com/richvdh +.. _@NegativeMjark: https://github.com/NegativeMjark +.. _@lampholder: https://github.com/lampholder +.. _@dbkr: https://github.com/dbkr +.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189 +.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310 +.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142 +.. _PR#1239: https://github.com/matrix-org/matrix-doc/pull/1239 +.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240 +.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 \ No newline at end of file diff --git a/specification/targets.yaml b/specification/targets.yaml index c6c9cd234..96199d291 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -12,7 +12,7 @@ targets: - { 1: modules.rst } - { 2: feature_profiles.rst } - { 2: "group:modules" } # reference a group of files - - { 1: thirdparty_lookup.rst } + - { 1: third_party_lookup.rst } version_label: "%CLIENT_RELEASE_LABEL%" application_service: files: diff --git a/specification/third_party_lookup.rst b/specification/third_party_lookup.rst new file mode 100644 index 000000000..1279f9fed --- /dev/null +++ b/specification/third_party_lookup.rst @@ -0,0 +1,26 @@ +Application Services +==================== + +An application service is a separate program that interacts with a homeserver +and provides various bits of functionality that would otherwise not make +sense to include directly in the homeserver. This ranges from bots, which can +often be interacted with, to bridges, which allow Matrix users to communicate +with users on third party networks. The following describes endpoints that a +Matrix client can use to interact with an application service through the +facilitation of the homeserver. + +Third Party Lookups +------------------ + +Application services can provide access to third party networks via bridging. +This allows Matrix users to communicate with users on other communication +platforms, with messages ferried back and forth by the application service. A +single application service may bridge multiple third party networks, and many +individual locations within those networks. A single third party network +location may be bridged to multiple Matrix rooms. + +In order for a client to join one of these bridged rooms, or communicate +directly with a user on a third party network, the following endpoints can be +used. + +{{third_party_lookup_cs_http_api}} \ No newline at end of file From a6dad76c018925867b4d714a2a87e502aff623b9 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 11:56:30 +0100 Subject: [PATCH 493/801] Fix indentation --- .../application_service.yaml | 28 +++++++++---------- api/client-server/third_party_lookup.yaml | 28 +++++++++---------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 5efc058b4..5edb10121 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -350,20 +350,20 @@ paths: items: type: object title: User - properties: - userid: - type: string - description: The Matrix ID of the matched user. - protocol: - type: string - description: The third party protocol. - fields: - type: object - description: The third party network fields used to identify this user. - properties: - user: - type: string - description: An example field, in this case the username for a Gitter user. + properties: + userid: + type: string + description: The Matrix ID of the matched user. + protocol: + type: string + description: The third party protocol. + fields: + type: object + description: The third party network fields used to identify this user. + properties: + user: + type: string + description: An example field, in this case the username for a Gitter user. 401: description: |- The homeserver has not supplied credentials to the application service. diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 41b5df16b..2b07484aa 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -237,20 +237,20 @@ paths: items: type: object title: User - properties: - userid: - type: string - description: The Matrix ID of the matched user. - protocol: - type: string - description: The third party protocol. - fields: - type: object - description: The third party network fields used to identify this user. - properties: - user: - type: string - description: An example field, in this case the username for a Gitter user. + properties: + userid: + type: string + description: The Matrix ID of the matched user. + protocol: + type: string + description: The third party protocol. + fields: + type: object + description: The third party network fields used to identify this user. + properties: + user: + type: string + description: An example field, in this case the username for a Gitter user. 404: description: The Matrix ID was not found examples: From e6218b56abe447c3ecd4ed2c3afa975db32583d1 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 11:59:10 +0100 Subject: [PATCH 494/801] Switch properties to schema --- api/application-service/application_service.yaml | 2 +- api/client-server/third_party_lookup.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 5edb10121..8c49043e4 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -350,7 +350,7 @@ paths: items: type: object title: User - properties: + schema: userid: type: string description: The Matrix ID of the matched user. diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 2b07484aa..0cc18ecde 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -237,7 +237,7 @@ paths: items: type: object title: User - properties: + schema: userid: type: string description: The Matrix ID of the matched user. From 8e22e9e85ab9da2e90b957f98c3155865fda8517 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 12:00:20 +0100 Subject: [PATCH 495/801] Fix title underline length --- specification/third_party_lookup.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/third_party_lookup.rst b/specification/third_party_lookup.rst index 1279f9fed..6325dca0c 100644 --- a/specification/third_party_lookup.rst +++ b/specification/third_party_lookup.rst @@ -10,7 +10,7 @@ Matrix client can use to interact with an application service through the facilitation of the homeserver. Third Party Lookups ------------------- +------------------- Application services can provide access to third party networks via bridging. This allows Matrix users to communicate with users on other communication From 4c38012122b2c6efc4943f7da55d4f3b3be3ae8e Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 12:58:42 +0100 Subject: [PATCH 496/801] I can spell --- api/application-service/application_service.yaml | 2 +- api/client-server/third_party_lookup.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 8c49043e4..4951a29ff 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -550,7 +550,7 @@ paths: description: |- Retreive an array of third party users from a Matrix ID. operationId: queryUserByID - paramters: + parameters: - in: query name: userid type: string diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 0cc18ecde..343cf2b77 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -305,7 +305,7 @@ paths: description: |- Retreive an array of third party users from a Matrix ID. operationId: queryUserByID - paramters: + parameters: - in: path name: userid type: string From 16860ddd22b8364ea501bbcf0034c5ae189b3bf3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 5 Jul 2018 10:46:53 -0600 Subject: [PATCH 497/801] De-quote --- api/client-server/search.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index f7c961805..687140b3e 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -103,7 +103,7 @@ paths: The order in which to search for results. By default, this is ``"rank"``. event_context: - title: "Include Event Context" + title: Include Event Context type: object description: |- Configures whether any context for the events From e81e0328c22aa2c0cb64b41791d692bb352d7683 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 5 Jul 2018 17:50:34 +0100 Subject: [PATCH 498/801] Fix single protocol metadata endpoint path, remove 500s --- .../application_service.yaml | 58 +------------------ 1 file changed, 1 insertion(+), 57 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 4951a29ff..86411ffa2 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -92,13 +92,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/rooms/{roomAlias}": get: summary: Query if a room alias should exist on the application service. @@ -158,13 +151,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/users/{userId}": get: summary: Query if a user should exist on the application service. @@ -221,14 +207,7 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object - "/_matrix/app/unstable/thirdparty/{protocol}": + "/_matrix/app/unstable/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. description: |- @@ -305,13 +284,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/_matrix/app/unstable/thirdparty/user/{protocol}": get: summary: Retrieve the Matrix ID of a corresponding third party user. @@ -391,13 +363,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/_matrix/app/unstable/thirdparty/location/{protocol}": get: summary: Retreive Matrix-side portal rooms leading to a third party location. @@ -471,13 +436,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/_matrix/app/unstable/thirdparty/location": get: summary: Reverse-lookup third party locations given a Matrix room alias. @@ -537,13 +495,6 @@ paths: } schema: type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } - schema: - type: object "/_matrix/app/unstable/thirdparty/user": get: summary: Reverse-lookup third party users given a Matrix ID. @@ -598,12 +549,5 @@ paths: application/json: { "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } - schema: - type: object - 500: - description: There was a problem completing the request. - examples: - application/json: { - } schema: type: object \ No newline at end of file From f9a0a49e96a98eb0d96b2ef424868858235ab007 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <richard@matrix.org> Date: Thu, 5 Jul 2018 20:22:59 +0100 Subject: [PATCH 499/801] Add a bunch more people to the speculator trusted list --- scripts/speculator/main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index 5e1225037..12ec2aec2 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -701,8 +701,8 @@ func ignoreExitCodeOne(err error) error { func main() { flag.Parse() - // It would be great to read this from github, but there's no convenient way to do so. - // Most of these memberships are "private", so would require some kind of auth. + // It would be great to read this from github + // cf https://github.com/matrix-org/matrix-doc/issues/1384 allowedMembers = map[string]bool{ "dbkr": true, "erikjohnston": true, @@ -715,6 +715,11 @@ func main() { "rxl881": true, "uhoreg": true, "turt2live": true, + "Half-Shot": true, + "anoadragon453": true, + "mujx": true, + "benparsons": true, + "KitsuneRal": true, } if err := initCache(); err != nil { log.Fatal(err) From bbf63d116cfca00ea9947547db5c84830736e94d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 5 Jul 2018 16:55:11 -0600 Subject: [PATCH 500/801] Fix reference to error.yaml in forget room API --- api/client-server/leaving.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/leaving.yaml b/api/client-server/leaving.yaml index 7d8e9c895..513b5b4d1 100644 --- a/api/client-server/leaving.yaml +++ b/api/client-server/leaving.yaml @@ -107,7 +107,7 @@ paths: "error": "User @example:matrix.org is in room !au1ba7o:matrix.org" } schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/error.yaml" 429: description: This request was rate-limited. schema: From d1c8ec9e489134a804834a049cd9f80794b48abb Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 5 Jul 2018 21:18:28 -0600 Subject: [PATCH 501/801] add circle config --- .circleci/config.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..e8df5956b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,19 @@ +version: 2 +jobs: + build-docs: + docker: + - image: uhoreg/matrix-doc-build + steps: + - checkout + - run: python scripts/gendoc.py + +workflows: + version: 2 + + egg-info: + jobs: + - build-docs + +notify: + webhooks: + - url: https://giles.cadair.com/circleci From 86b00451953d96e7af2eadb1c013415a488fc8c4 Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 5 Jul 2018 21:25:15 -0600 Subject: [PATCH 502/801] virtualenvs are the worst --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e8df5956b..c11e36bad 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,9 +2,10 @@ version: 2 jobs: build-docs: docker: - - image: uhoreg/matrix-doc-build + - image: circleci/python:2.7 steps: - checkout + - run: pip install -r scripts/requirements.txt - run: python scripts/gendoc.py workflows: From fe43b79e73f84708ad7ae5b641f7a69be8020170 Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 5 Jul 2018 21:29:12 -0600 Subject: [PATCH 503/801] what's even the point --- .circleci/config.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c11e36bad..236a1d813 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,12 +1,17 @@ +gendoc: &gendoc + name: Generate the docs + command: | + source /env/bin/activate + scripts/gendoc.py + version: 2 jobs: build-docs: docker: - - image: circleci/python:2.7 + - image: uhoreg/matrix-doc-build steps: - checkout - - run: pip install -r scripts/requirements.txt - - run: python scripts/gendoc.py + - run: *gendoc workflows: version: 2 From b7c3a7402282eb1b9787d07158e27c93521dec9e Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 5 Jul 2018 21:31:57 -0600 Subject: [PATCH 504/801] artifacts --- .circleci/config.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 236a1d813..06696633b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,6 +12,11 @@ jobs: steps: - checkout - run: *gendoc + - store_artifacts: + path: scripts/gen + - run: + name: "Doc build is available at:" + command: DOCS_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/scripts/gen/index.html"; echo $DOCS_URL workflows: version: 2 From be5232914a704808f74ac9a5f32b1591fc7988ff Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 5 Jul 2018 21:39:45 -0600 Subject: [PATCH 505/801] Maybe a swagger --- .circleci/config.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 06696633b..c11eb70dc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,6 +4,12 @@ gendoc: &gendoc source /env/bin/activate scripts/gendoc.py +gendoc: &genswagger + name: Generate the swagger + command: | + source /env/bin/activate + scripts/dump-swagger.py + version: 2 jobs: build-docs: @@ -18,12 +24,25 @@ jobs: name: "Doc build is available at:" command: DOCS_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/scripts/gen/index.html"; echo $DOCS_URL + build-swagger: + docker: + - image: uhoreg/matrix-doc-build + steps: + - checkout + - run: *genswagger + - store_artifacts: + path: scripts/swagger/api-docs.json + - run: + name: "Swagger UI is available at:" + command: SWAGGER_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/scripts/swagger/api-docs.json"; echo "https://matrix.org/docs/api/client-server/?url="$SWAGGER_URL + workflows: version: 2 - egg-info: + build-spec: jobs: - build-docs + - build-swagger notify: webhooks: From d5ce87e9567a38c9fbaafa2cbbfd90304794053b Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 6 Jul 2018 10:27:03 +0100 Subject: [PATCH 506/801] Split summary up into description and summary --- api/client-server/content-repo.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 0f4ef2da6..3340808c5 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -272,14 +272,14 @@ paths: "/config": get: summary: Get the configuration for the content repository. - Clients SHOULD use this as a guide when using content repository endpoints. - All values are intentionally left optional. Clients SHOULD follow - the advice given in the field description when the field is not available. + description: Clients SHOULD use this as a guide when using content repository endpoints. + All values are intentionally left optional. Clients SHOULD follow + the advice given in the field description when the field is not available. - **NOTE:** Both clients and server administrators should be aware that proxies - between the client and the server may affect the apparent behaviour of content - repository APIs, for example, proxies may enforce a lower upload size limit - than is advertised by the server on this endpoint. + **NOTE:** Both clients and server administrators should be aware that proxies + between the client and the server may affect the apparent behaviour of content + repository APIs, for example, proxies may enforce a lower upload size limit + than is advertised by the server on this endpoint. operationId: getConfig produces: ["application/json"] security: From 2e6cc8045cc3f0942b9c23caab1edd25f52e4915 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 6 Jul 2018 10:29:05 +0100 Subject: [PATCH 507/801] Better indent of description --- api/client-server/content-repo.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 3340808c5..1f1d6abc9 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -272,14 +272,15 @@ paths: "/config": get: summary: Get the configuration for the content repository. - description: Clients SHOULD use this as a guide when using content repository endpoints. - All values are intentionally left optional. Clients SHOULD follow - the advice given in the field description when the field is not available. + description: |- + Clients SHOULD use this as a guide when using content repository endpoints. + All values are intentionally left optional. Clients SHOULD follow + the advice given in the field description when the field is not available. - **NOTE:** Both clients and server administrators should be aware that proxies - between the client and the server may affect the apparent behaviour of content - repository APIs, for example, proxies may enforce a lower upload size limit - than is advertised by the server on this endpoint. + **NOTE:** Both clients and server administrators should be aware that proxies + between the client and the server may affect the apparent behaviour of content + repository APIs, for example, proxies may enforce a lower upload size limit + than is advertised by the server on this endpoint. operationId: getConfig produces: ["application/json"] security: From 77f4ac54aaddee927812a6c3e10d844d8df00ef7 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Fri, 6 Jul 2018 10:36:17 +0100 Subject: [PATCH 508/801] Wordy intro sentence for description --- api/client-server/content-repo.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 1f1d6abc9..d88961b7d 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -273,6 +273,8 @@ paths: get: summary: Get the configuration for the content repository. description: |- + This endpoint allows clients to retrieve the configuration of the content + repository, such as upload limitations. Clients SHOULD use this as a guide when using content repository endpoints. All values are intentionally left optional. Clients SHOULD follow the advice given in the field description when the field is not available. From 516000bdc3888dce6844bebd066961ab5f50916e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 08:53:04 -0600 Subject: [PATCH 509/801] Fix error reference in media repo --- api/client-server/content-repo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index 1397c8eee..b3e9517b1 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -336,7 +336,7 @@ paths: 429: description: This request was rate-limited. schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/error.yaml" tags: - Media From f54d5a40398c3c6a1c252b01d38e50a850685dee Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 15:19:14 -0600 Subject: [PATCH 510/801] Convert build scripts to python 3 --- .gitignore | 2 +- README.rst | 2 +- api/check_examples.py | 6 +-- scripts/dump-swagger.py | 8 +-- scripts/gendoc.py | 38 +++++++------- scripts/proposals.py | 2 +- scripts/swagger-http-server.py | 12 ++--- scripts/templating/batesian/__init__.py | 7 ++- scripts/templating/batesian/sections.py | 8 +-- scripts/templating/batesian/units.py | 4 +- scripts/templating/build.py | 23 ++++----- .../templating/matrix_templates/__init__.py | 4 +- .../templating/matrix_templates/sections.py | 4 +- scripts/templating/matrix_templates/units.py | 49 ++++++++++--------- 14 files changed, 86 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index 84ac4951c..58b6099e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ /api/node_modules /assets /assets.tar.gz -/env +/env* /scripts/gen /scripts/continuserv/continuserv /scripts/speculator/speculator diff --git a/README.rst b/README.rst index 6c87201c4..c0949d9e6 100644 --- a/README.rst +++ b/README.rst @@ -41,7 +41,7 @@ specs and event schemas in this repository. Preparation ----------- -To use the scripts, it is best to create a Python 2.x virtualenv as follows:: +To use the scripts, it is best to create a Python 3.5+ virtualenv as follows:: virtualenv env env/bin/pip install -r scripts/requirements.txt diff --git a/api/check_examples.py b/api/check_examples.py index be0676bb4..3ecd5a4c6 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -88,9 +88,9 @@ def check_swagger_file(filepath): with open(filepath) as f: swagger = yaml.load(f) - for path, path_api in swagger.get('paths', {}).items(): + for path, path_api in list(swagger.get('paths', {}).items()): - for method, request_api in path_api.items(): + for method, request_api in list(path_api.items()): request = "%s %s" % (method.upper(), path) for parameter in request_api.get('parameters', ()): if parameter['in'] == 'body': @@ -100,7 +100,7 @@ def check_swagger_file(filepath): responses = request_api['responses'] except KeyError: raise ValueError("No responses for %r" % (request,)) - for code, response in responses.items(): + for code, response in list(responses.items()): check_response(filepath, request, code, response) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 110c44466..6dd9864f9 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -94,16 +94,16 @@ for filename in os.listdir(cs_api_dir): api = units.resolve_references(filepath, api) basePath = api['basePath'] - for path, methods in api["paths"].items(): + for path, methods in list(api["paths"].items()): path = (basePath + path).replace('%CLIENT_MAJOR_VERSION%', major_version) - for method, spec in methods.items(): - if "tags" in spec.keys(): + for method, spec in list(methods.items()): + if "tags" in list(spec.keys()): if path not in output["paths"]: output["paths"][path] = {} output["paths"][path][method] = spec -print "Generating %s" % output_file +print("Generating %s" % output_file) try: os.makedirs(os.path.dirname(output_file)) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 2b35f8015..0c5486114 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -31,6 +31,7 @@ script_dir = os.path.dirname(os.path.abspath(__file__)) docs_dir = os.path.dirname(script_dir) spec_dir = os.path.join(docs_dir, "specification") tmp_dir = os.path.join(script_dir, "tmp") +changelog_dir = os.path.join(docs_dir, "changelogs") VERBOSE = False @@ -151,7 +152,7 @@ def is_title_line(prev_line, line, title_styles): def get_rst(file_info, title_level, title_styles, spec_dir, adjust_titles): # string are file paths to RST blobs - if isinstance(file_info, basestring): + if isinstance(file_info, str): log("%s %s" % (">" * (1 + title_level), file_info)) with open(os.path.join(spec_dir, file_info), "r") as f: rst = None @@ -194,7 +195,7 @@ def build_spec(target, out_filename): spec_dir=spec_dir, adjust_titles=True ) - outfile.write(section) + outfile.write(section.encode('UTF-8')) """ @@ -279,15 +280,16 @@ def rst2html(i, o, stylesheets): def addAnchors(path): log("add anchors %s" % path) - with open(path, "r") as f: + with open(path, "rb") as f: lines = f.readlines() replacement = replacement = r'<p><a class="anchor" id="\3"></a></p>\n\1' - with open(path, "w") as f: + with open(path, "wb") as f: for line in lines: + line = line.decode("UTF-8") line = re.sub(r'(<h\d id="#?(.*?)">)', replacement, line.rstrip()) line = re.sub(r'(<div class="section" (id)="(.*?)">)', replacement, line.rstrip()) - f.write(line + "\n") + f.write((line + "\n").encode('UTF-8')) def run_through_template(input_files, set_verbose, substitutions): @@ -297,7 +299,7 @@ def run_through_template(input_files, set_verbose, substitutions): "-i", "matrix_templates", ] - for k, v in substitutions.items(): + for k, v in list(substitutions.items()): args.append("--substitution=%s=%s" % (k, v)) if set_verbose: @@ -357,14 +359,14 @@ def get_build_target(all_targets, target_name): for i, entry in enumerate(group): if isinstance(entry, dict): group[i] = { - (rel_depth + depth): v for (rel_depth, v) in entry.items() + (rel_depth + depth): v for (rel_depth, v) in list(entry.items()) } return group resolved_files = [] for file_entry in target["files"]: # file_entry is a group id - if isinstance(file_entry, basestring) and file_entry.startswith("group:"): + if isinstance(file_entry, str) and file_entry.startswith("group:"): group = get_group(file_entry, 0) # The group may be resolved to a list of file entries, in which case # we want to extend the array to insert each of them rather than @@ -376,8 +378,8 @@ def get_build_target(all_targets, target_name): # file_entry is a dict which has more file entries as values elif isinstance(file_entry, dict): resolved_entry = {} - for (depth, entry) in file_entry.iteritems(): - if not isinstance(entry, basestring): + for (depth, entry) in list(file_entry.items()): + if not isinstance(entry, str): raise Exception( "Double-nested depths are not supported. Entry: %s" % (file_entry,) ) @@ -395,11 +397,11 @@ def get_build_target(all_targets, target_name): return build_target def log(line): - print "gendoc: %s" % line + print("gendoc: %s" % line) def logv(line): if VERBOSE: - print "gendoc:V: %s" % line + print("gendoc:V: %s" % line) def cleanup_env(): @@ -427,7 +429,7 @@ def main(targets, dest_dir, keep_intermediates, substitutions): target_defs = yaml.load(targ_file.read()) if targets == ["all"]: - targets = target_defs["targets"].keys() + targets = list(target_defs["targets"].keys()) log("Building spec [targets=%s]" % targets) @@ -441,17 +443,17 @@ def main(targets, dest_dir, keep_intermediates, substitutions): templated_files[target_name] = templated_file # we do all the templating at once, because it's slow - run_through_template(templated_files.values(), VERBOSE, substitutions) + run_through_template(list(templated_files.values()), VERBOSE, substitutions) stylesheets = glob.glob(os.path.join(script_dir, "css", "*.css")) - for target_name, templated_file in templated_files.iteritems(): + for target_name, templated_file in list(templated_files.items()): target = target_defs["targets"].get(target_name) version_label = None if target: version_label = target.get("version_label") if version_label: - for old, new in substitutions.items(): + for old, new in list(substitutions.items()): version_label = version_label.replace(old, new) rst_file = os.path.join(tmp_dir, "spec_%s.rst" % (target_name,)) @@ -479,8 +481,8 @@ def main(targets, dest_dir, keep_intermediates, substitutions): def list_targets(): with open(os.path.join(spec_dir, "targets.yaml"), "r") as targ_file: target_defs = yaml.load(targ_file.read()) - targets = target_defs["targets"].keys() - print "\n".join(targets) + targets = list(target_defs["targets"].keys()) + print("\n".join(targets)) def extract_major(s): diff --git a/scripts/proposals.py b/scripts/proposals.py index b489f0d27..156d53518 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -14,7 +14,7 @@ prs = set() def getpage(url, page): resp = requests.get(url + str(page)) - for link in resp.links.values(): + for link in list(resp.links.values()): if link['rel'] == 'last': pagecount = re.search('page=(.+?)', link['url']).group(1) diff --git a/scripts/swagger-http-server.py b/scripts/swagger-http-server.py index 5ec001019..06d764aa0 100755 --- a/scripts/swagger-http-server.py +++ b/scripts/swagger-http-server.py @@ -19,14 +19,14 @@ import argparse import os -import SimpleHTTPServer -import SocketServer +import http.server +import socketserver # Thanks to http://stackoverflow.com/a/13354482 -class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): +class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def end_headers(self): self.send_my_headers() - SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self) + http.server.SimpleHTTPRequestHandler.end_headers(self) def send_my_headers(self): self.send_header("Access-Control-Allow-Origin", "*") @@ -49,7 +49,7 @@ if __name__ == '__main__': os.chdir(args.swagger_dir) - httpd = SocketServer.TCPServer(("localhost", args.port), + httpd = socketserver.TCPServer(("localhost", args.port), MyHTTPRequestHandler) - print "Serving at http://localhost:%i/api-docs.json" % args.port + print("Serving at http://localhost:%i/api-docs.json" % args.port) httpd.serve_forever() diff --git a/scripts/templating/batesian/__init__.py b/scripts/templating/batesian/__init__.py index da41b31bf..f5d83a1ed 100644 --- a/scripts/templating/batesian/__init__.py +++ b/scripts/templating/batesian/__init__.py @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from sets import Set class AccessKeyStore(object): @@ -22,10 +21,10 @@ class AccessKeyStore(object): if not existing_data: existing_data = {} self.data = existing_data - self.accessed_set = Set() + self.accessed_set = set() def keys(self): - return self.data.keys() + return list(self.data.keys()) def add(self, key, unit_dict): self.data[key] = unit_dict @@ -35,5 +34,5 @@ class AccessKeyStore(object): return self.data[key] def get_unaccessed_set(self): - data_list = Set(self.data.keys()) + data_list = set(self.data.keys()) return data_list - self.accessed_set \ No newline at end of file diff --git a/scripts/templating/batesian/sections.py b/scripts/templating/batesian/sections.py index c541d771d..2e5593d64 100644 --- a/scripts/templating/batesian/sections.py +++ b/scripts/templating/batesian/sections.py @@ -29,7 +29,7 @@ class Sections(object): def log(self, text): if self.debug: - print "batesian:sections: %s" % text + print("batesian:sections: %s" % text) def get_sections(self): render_list = inspect.getmembers(self, predicate=inspect.ismethod) @@ -40,7 +40,7 @@ class Sections(object): section_key = func_name[len("render_"):] self.log("Generating section '%s'" % section_key) section = func() - if isinstance(section, basestring): + if isinstance(section, str): if section_key in section_dict: raise Exception( ("%s : Section %s already exists. It must have been " + @@ -54,8 +54,8 @@ class Sections(object): ) elif isinstance(section, dict): self.log(" Generated multiple sections:") - for (k, v) in section.iteritems(): - if not isinstance(k, basestring) or not isinstance(v, basestring): + for (k, v) in list(section.items()): + if not isinstance(k, str) or not isinstance(v, str): raise Exception( ("Method %s returned multiple sections as a dict but " + "expected the dict elements to be strings but they aren't.") % diff --git a/scripts/templating/batesian/units.py b/scripts/templating/batesian/units.py index 8f748f6da..82cc52f92 100644 --- a/scripts/templating/batesian/units.py +++ b/scripts/templating/batesian/units.py @@ -41,7 +41,7 @@ class Units(object): trace = inspect.stack() if len(trace) > 1 and len(trace[1]) > 2: func_name = trace[1][3] + ":" - print "batesian:units:%s %s" % (func_name, text) + print("batesian:units:%s %s" % (func_name, text)) def get_units(self, debug=False): unit_list = inspect.getmembers(self, predicate=inspect.ismethod) @@ -50,7 +50,7 @@ class Units(object): if not func_name.startswith("load_"): continue unit_key = func_name[len("load_"):] - if len(inspect.getargs(func.func_code).args) > 1: + if len(inspect.getargs(func.__code__).args) > 1: unit_dict[unit_key] = func(self.substitutions) else: unit_dict[unit_key] = func() diff --git a/scripts/templating/build.py b/scripts/templating/build.py index d18569b66..de9ead35f 100755 --- a/scripts/templating/build.py +++ b/scripts/templating/build.py @@ -63,6 +63,7 @@ import sys from textwrap import TextWrapper from matrix_templates.units import TypeTableRow +from functools import reduce def create_from_template(template, sections): @@ -138,7 +139,7 @@ def main(input_module, files=None, out_dir=None, verbose=False, substitutions={} return reduce(max, rowwidths, default if default is not None else default_width) - results = map(colwidth, keys, defaults) + results = list(map(colwidth, keys, defaults)) return results # make Jinja aware of the templates and filters @@ -167,16 +168,16 @@ def main(input_module, files=None, out_dir=None, verbose=False, substitutions={} # print out valid section keys if no file supplied if not files: - print "\nValid template variables:" - for key in sections.keys(): + print("\nValid template variables:") + for key in list(sections.keys()): sec_text = "" if (len(sections[key]) > 75) else ( "(Value: '%s')" % sections[key] ) sec_info = "%s characters" % len(sections[key]) if sections[key].count("\n") > 0: sec_info += ", %s lines" % sections[key].count("\n") - print " %s" % key - print " %s %s" % (sec_info, sec_text) + print(" %s" % key) + print(" %s %s" % (sec_info, sec_text)) return # check the input files and substitute in sections where required @@ -190,8 +191,8 @@ def main(input_module, files=None, out_dir=None, verbose=False, substitutions={} def process_file(env, sections, filename, output_filename): log("Parsing input template: %s" % filename) - with open(filename, "r") as file_stream: - temp_str = file_stream.read().decode("utf-8") + with open(filename, "rb") as file_stream: + temp_str = file_stream.read().decode('UTF-8') # do sanity checking on the template to make sure they aren't reffing things # which will never be replaced with a section. @@ -210,16 +211,16 @@ def process_file(env, sections, filename, output_filename): # Do these substitutions outside of the ordinary templating system because # we want them to apply to things like the underlying swagger used to # generate the templates, not just the top-level sections. - for old, new in substitutions.items(): + for old, new in list(substitutions.items()): output = output.replace(old, new) - with open(output_filename, "w") as f: - f.write(output.encode("utf-8")) + with open(output_filename, "wb") as f: + f.write(output.encode('UTF-8')) log("Output file for: %s" % output_filename) def log(line): - print "batesian: %s" % line + print("batesian: %s" % line) if __name__ == '__main__': parser = ArgumentParser( diff --git a/scripts/templating/matrix_templates/__init__.py b/scripts/templating/matrix_templates/__init__.py index 6b46192ca..b81c5a30d 100644 --- a/scripts/templating/matrix_templates/__init__.py +++ b/scripts/templating/matrix_templates/__init__.py @@ -11,8 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from sections import MatrixSections -from units import MatrixUnits +from .sections import MatrixSections +from .units import MatrixUnits import os exports = { diff --git a/scripts/templating/matrix_templates/sections.py b/scripts/templating/matrix_templates/sections.py index 64e32aa44..71c1acf35 100644 --- a/scripts/templating/matrix_templates/sections.py +++ b/scripts/templating/matrix_templates/sections.py @@ -86,7 +86,7 @@ class MatrixSections(Sections): # the key is the section name and the value is the value of the section def render_group_http_apis(self): # map all swagger_apis to the form $GROUP_http_api - swagger_groups = self.units.get("swagger_apis").keys() + swagger_groups = list(self.units.get("swagger_apis").keys()) renders = {} for group in swagger_groups: sortFnOrPathList = None @@ -134,7 +134,7 @@ class MatrixSections(Sections): "m.room.message#m.file" ] other_msgtypes = [ - k for k in schemas.keys() if k.startswith("m.room.message#") and + k for k in list(schemas.keys()) if k.startswith("m.room.message#") and k not in msgtype_order ] for event_name in (msgtype_order + other_msgtypes): diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index dac183d1f..40fd96a23 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -29,11 +29,12 @@ import os.path import re import subprocess import sys -import urllib +import urllib.request, urllib.parse, urllib.error import yaml +from functools import reduce matrix_doc_dir=reduce(lambda acc,_: os.path.dirname(acc), - range(1, 5), os.path.abspath(__file__)) + list(range(1, 5)), os.path.abspath(__file__)) HTTP_APIS = { os.path.join(matrix_doc_dir, "api/application-service"): "as", @@ -124,7 +125,7 @@ def resolve_references(path, schema): else: result = OrderedDict() - for key, value in schema.items(): + for key, value in list(schema.items()): result[key] = resolve_references(path, value) return result elif isinstance(schema, list): @@ -147,7 +148,7 @@ def inherit_parents(obj): # settings defined in the child take priority over the parents, so we # iterate through the parents first, and then overwrite with the settings # from the child. - for p in map(inherit_parents, parents) + [obj]: + for p in list(map(inherit_parents, parents)) + [obj]: # child blats out type, title and description for key in ('type', 'title', 'description'): if p.get(key): @@ -209,7 +210,7 @@ def get_json_schema_object_fields(obj, enforce_title=False): props = obj.get("patternProperties") if props: # try to replace horrible regex key names with pretty x-pattern ones - for key_name in props.keys(): + for key_name in list(props.keys()): pretty_key = props[key_name].get("x-pattern") if pretty_key: props[pretty_key] = props[key_name] @@ -250,12 +251,12 @@ def get_json_schema_object_fields(obj, enforce_title=False): tables.extend(res["tables"]) logger.debug("Done property %s" % key_name) - except Exception, e: + except Exception as e: e2 = Exception("Error reading property %s.%s: %s" % (obj_title, key_name, str(e))) # throw the new exception with the old stack trace, so that # we don't lose information about where the error occurred. - raise e2, None, sys.exc_info()[2] + raise e2.with_traceback(sys.exc_info()[2]) tables.insert(0, TypeTable(title=obj_title, rows=first_table_rows)) @@ -380,7 +381,7 @@ def get_example_for_schema(schema): if 'properties' not in schema: raise Exception('"object" property has neither properties nor example') res = OrderedDict() - for prop_name, prop in schema['properties'].iteritems(): + for prop_name, prop in list(schema['properties'].items()): logger.debug("Parsing property %r" % prop_name) prop_example = get_example_for_schema(prop) res[prop_name] = prop_example @@ -523,7 +524,7 @@ class MatrixUnits(Units): if param_loc == "path": path_template = path_template.replace( - "{%s}" % param_name, urllib.quote(example) + "{%s}" % param_name, urllib.parse.quote(example) ) elif param_loc == "query": if type(example) == list: @@ -532,7 +533,7 @@ class MatrixUnits(Units): else: example_query_params.append((param_name, example)) - except Exception, e: + except Exception as e: raise Exception("Error handling parameter %s" % param_name, e) # endfor[param] good_response = None @@ -556,14 +557,14 @@ class MatrixUnits(Units): ) if "headers" in good_response: headers = TypeTable() - for (header_name, header) in good_response["headers"].iteritems(): + for (header_name, header) in list(good_response["headers"].items()): headers.add_row( TypeTableRow(key=header_name, title=header["type"], desc=header["description"]), ) endpoint["res_headers"] = headers query_string = "" if len( - example_query_params) == 0 else "?" + urllib.urlencode( + example_query_params) == 0 else "?" + urllib.parse.urlencode( example_query_params) if example_body: endpoint["example"][ @@ -605,17 +606,17 @@ class MatrixUnits(Units): body_tables = req_body_tables[1:] endpoint_data['req_body_tables'].extend(body_tables) - except Exception, e: + except Exception as e: e2 = Exception( "Error decoding body of API endpoint %s %s: %s" % (endpoint_data["method"], endpoint_data["path"], e) ) - raise e2, None, sys.exc_info()[2] + raise e2.with_traceback(sys.exc_info()[2]) def load_swagger_apis(self): apis = {} - for path, suffix in HTTP_APIS.items(): + for path, suffix in list(HTTP_APIS.items()): for filename in os.listdir(path): if not filename.endswith(".yaml"): continue @@ -711,12 +712,12 @@ class MatrixUnits(Units): if filename != event_name: examples[event_name] = examples.get(event_name, []) examples[event_name].append(example) - except Exception, e: + except Exception as e: e2 = Exception("Error reading event example "+filepath+": "+ str(e)) # throw the new exception with the old stack trace, so that # we don't lose information about where the error occurred. - raise e2, None, sys.exc_info()[2] + raise e2.with_traceback(sys.exc_info()[2]) return examples @@ -730,12 +731,12 @@ class MatrixUnits(Units): filepath = os.path.join(path, filename) try: schemata[filename] = self.read_event_schema(filepath) - except Exception, e: + except Exception as e: e2 = Exception("Error reading event schema "+filepath+": "+ str(e)) # throw the new exception with the old stack trace, so that # we don't lose information about where the error occurred. - raise e2, None, sys.exc_info()[2] + raise e2.with_traceback(sys.exc_info()[2]) return schemata @@ -871,7 +872,7 @@ class MatrixUnits(Units): ['git', 'rev-parse', '--abbrev-ref', 'HEAD'], stderr=null, cwd=cwd, - ).strip() + ).strip().decode('UTF-8') except subprocess.CalledProcessError: git_branch = "" try: @@ -879,7 +880,7 @@ class MatrixUnits(Units): ['git', 'describe', '--exact-match'], stderr=null, cwd=cwd, - ).strip() + ).strip().decode('UTF-8') git_tag = "tag=" + git_tag except subprocess.CalledProcessError: git_tag = "" @@ -888,7 +889,7 @@ class MatrixUnits(Units): ['git', 'rev-parse', '--short', 'HEAD'], stderr=null, cwd=cwd, - ).strip() + ).strip().decode('UTF-8') except subprocess.CalledProcessError: git_commit = "" try: @@ -897,7 +898,7 @@ class MatrixUnits(Units): ['git', 'describe', '--dirty=' + dirty_string, "--all"], stderr=null, cwd=cwd, - ).strip().endswith(dirty_string) + ).strip().decode('UTF-8').endswith(dirty_string) git_dirty = "dirty" if is_dirty else "" except subprocess.CalledProcessError: git_dirty = "" @@ -908,7 +909,7 @@ class MatrixUnits(Units): s for s in (git_branch, git_tag, git_commit, git_dirty,) if s - ).encode("ascii") + ).encode("ascii").decode('ascii') return { "string": git_version, "revision": git_commit From 9277e4c52d70472cd58d7b2bf0ec6329e8228b8a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 16:32:27 -0600 Subject: [PATCH 511/801] Add initial towncrier support --- .gitignore | 1 + changelogs/client_server/pyproject.toml | 30 ++++++++++++++++++++ scripts/requirements.txt | 1 + scripts/templating/matrix_templates/units.py | 23 +++++++++++++-- 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 changelogs/client_server/pyproject.toml diff --git a/.gitignore b/.gitignore index 58b6099e1..a850d2faa 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /templating/out *.pyc *.swp +_rendered.rst diff --git a/changelogs/client_server/pyproject.toml b/changelogs/client_server/pyproject.toml new file mode 100644 index 000000000..d5daface6 --- /dev/null +++ b/changelogs/client_server/pyproject.toml @@ -0,0 +1,30 @@ +[tool.towncrier] + filename = "_rendered.rst" + directory = "newsfragments" + issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_" + title_format = "{version}" + + [[tool.towncrier.type]] + directory = "breaking" + name = "Breaking Changes" + showcontent = true + + [[tool.towncrier.type]] + directory = "deprecation" + name = "Deprecations" + showcontent = true + + [[tool.towncrier.type]] + directory = "new" + name = "New Endpoints" + showcontent = true + + [[tool.towncrier.type]] + directory = "feature" + name = "Backwards Compatible Changes" + showcontent = true + + [[tool.towncrier.type]] + directory = "clarification" + name = "Spec Clarifications" + showcontent = true diff --git a/scripts/requirements.txt b/scripts/requirements.txt index 37d99dd3d..6f7951d62 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -7,3 +7,4 @@ Jinja2 >= 2.9.6 jsonschema >= 2.6.0 PyYAML >= 3.12 requests >= 2.18.4 +towncrier == 18.6.0rc1 diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 40fd96a23..0dbf81047 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -832,12 +832,28 @@ class MatrixUnits(Units): path = os.path.join(CHANGELOG_DIR, f) name = f[:-4] + # If there's a directory with the same name, we'll try to generate + # a towncrier changelog and prepend it to the general changelog. + tc_path = os.path.join(CHANGELOG_DIR, name) + tc_lines = [] + if os.path.isdir(tc_path): + logger.info("Generating towncrier changelog for: %s" % name) + try: + raw_log = subprocess.check_output( + ['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'], + stderr=subprocess.PIPE, + cwd=tc_path, + ).strip().decode('UTF-8') + except subprocess.CalledProcessError: + raw_log = "" + tc_lines = raw_log.splitlines() + title_part = None changelog_lines = [] with open(path, "r") as f: lines = f.readlines() prev_line = None - for line in lines: + for line in (tc_lines + lines): if prev_line is None: prev_line = line continue @@ -853,7 +869,10 @@ class MatrixUnits(Units): # then bail out. changelog_lines.pop() break - changelog_lines.append(" " + line) + # Don't generate subheadings (we'll keep the title though) + if re.match("^[-]{3,}$", line.strip()): + continue + changelog_lines.append(" " + line + '\n') changelogs[name] = "".join(changelog_lines) return changelogs From ee9abc5fd76c4e8e62a9a737fbf4ea33afddead5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 16:41:54 -0600 Subject: [PATCH 512/801] Convert unstable changelog to towncrier --- changelogs/client_server.rst | 70 ------------------- .../client_server/newsfragments/1096.new | 1 + .../newsfragments/1097.clarification | 1 + .../client_server/newsfragments/1104.feature | 1 + .../newsfragments/1106.clarification | 1 + .../newsfragments/1109.clarification | 1 + .../client_server/newsfragments/1110.new | 1 + .../newsfragments/1137.clarification | 1 + .../newsfragments/1139.clarification | 1 + .../client_server/newsfragments/1141.feature | 1 + .../client_server/newsfragments/1142.feature | 1 + .../client_server/newsfragments/1151.feature | 1 + .../newsfragments/1152.clarification | 1 + .../newsfragments/1158.clarification | 3 + .../client_server/newsfragments/1158.feature | 1 + .../client_server/newsfragments/1239.new | 1 + .../newsfragments/1245.clarification | 1 + .../client_server/newsfragments/1263.feature | 1 + .../client_server/newsfragments/1264.feature | 1 + .../client_server/newsfragments/1265.feature | 1 + .../client_server/newsfragments/1274.feature | 1 + .../newsfragments/1329.clarification | 1 + .../client_server/newsfragments/1361.feature | 1 + .../newsfragments/1362.clarification | 1 + .../client_server/newsfragments/1364.feature | 1 + .../newsfragments/1378.clarification | 1 + .../newsfragments/1380.clarification | 1 + .../newsfragments/1381.clarification | 1 + 28 files changed, 29 insertions(+), 70 deletions(-) create mode 100644 changelogs/client_server/newsfragments/1096.new create mode 100644 changelogs/client_server/newsfragments/1097.clarification create mode 100644 changelogs/client_server/newsfragments/1104.feature create mode 100644 changelogs/client_server/newsfragments/1106.clarification create mode 100644 changelogs/client_server/newsfragments/1109.clarification create mode 100644 changelogs/client_server/newsfragments/1110.new create mode 100644 changelogs/client_server/newsfragments/1137.clarification create mode 100644 changelogs/client_server/newsfragments/1139.clarification create mode 100644 changelogs/client_server/newsfragments/1141.feature create mode 100644 changelogs/client_server/newsfragments/1142.feature create mode 100644 changelogs/client_server/newsfragments/1151.feature create mode 100644 changelogs/client_server/newsfragments/1152.clarification create mode 100644 changelogs/client_server/newsfragments/1158.clarification create mode 100644 changelogs/client_server/newsfragments/1158.feature create mode 100644 changelogs/client_server/newsfragments/1239.new create mode 100644 changelogs/client_server/newsfragments/1245.clarification create mode 100644 changelogs/client_server/newsfragments/1263.feature create mode 100644 changelogs/client_server/newsfragments/1264.feature create mode 100644 changelogs/client_server/newsfragments/1265.feature create mode 100644 changelogs/client_server/newsfragments/1274.feature create mode 100644 changelogs/client_server/newsfragments/1329.clarification create mode 100644 changelogs/client_server/newsfragments/1361.feature create mode 100644 changelogs/client_server/newsfragments/1362.clarification create mode 100644 changelogs/client_server/newsfragments/1364.feature create mode 100644 changelogs/client_server/newsfragments/1378.clarification create mode 100644 changelogs/client_server/newsfragments/1380.clarification create mode 100644 changelogs/client_server/newsfragments/1381.clarification diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index 32654025b..d2ef7f2db 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -1,73 +1,3 @@ -Unreleased changes -================== - -- Changes to the API which will be backwards-compatible for clients: - - - New endpoints: - - - ``POST /user_directory/search`` - (`#1096 <https://github.com/matrix-org/matrix-doc/pull/1096>`_). - - ``GET /rooms/{roomId}/event/{eventId}`` - (`#1110 <https://github.com/matrix-org/matrix-doc/pull/1110>`_). - - ``POST /delete_devices`` - (`#1239 <https://github.com/matrix-org/matrix-doc/pull/1239>`_). - - - Sticker messages: - - Add sticker message event definition. - (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). - - Document the ``server_name`` parameter on ``/join/{roomIdOrAlias}`` - (`#1364 <https://github.com/matrix-org/matrix-doc/pull/1364>`_). - - Add 'token' parameter to /keys/query endpoint - (`#1104 <https://github.com/matrix-org/matrix-doc/pull/1104>`_). - - Add the room visibility options for the room directory - (`#1141 <https://github.com/matrix-org/matrix-doc/pull/1141>`_). - - Add spec for ignoring users - (`#1142 <https://github.com/matrix-org/matrix-doc/pull/1142>`_). - - Add the ``/register/available`` endpoint for username availability - (`#1151 <https://github.com/matrix-org/matrix-doc/pull/1151>`_). - - Add ``allow_remote`` to the content repo to avoid routing loops - (`#1265 <https://github.com/matrix-org/matrix-doc/pull/1265>`_). - - Add report content API - (`#1264 <https://github.com/matrix-org/matrix-doc/pull/1264>`_). - - Document ``/logout/all`` endpoint - (`#1263 <https://github.com/matrix-org/matrix-doc/pull/1263>`_). - - Document `highlights` field in /search response - (`#1274 <https://github.com/matrix-org/matrix-doc/pull/1274>`_). - - Document the GET version of ``/login`` - (`#1361 <https://github.com/matrix-org/matrix-doc/pull/1361>`_). - -- Spec clarifications: - - - Update ``ImageInfo`` and ``ThumbnailInfo`` dimension schema descriptions - to clarify that they relate to intended display size, as opposed to the - intrinsic size of the image file. - (`#1158 <https://github.com/matrix-org/matrix-doc/pull/1158>`_). - - Mark ``home_server`` return field for ``/login`` and ``/register`` - endpoints as deprecated - (`#1097 <https://github.com/matrix-org/matrix-doc/pull/1097>`_). - - Fix response format of ``/keys/changes`` endpoint - (`#1106 <https://github.com/matrix-org/matrix-doc/pull/1106>`_). - - Clarify default values for some fields on the /search API - (`#1109 <https://github.com/matrix-org/matrix-doc/pull/1109>`_). - - Fix the representation of ``m.presence`` events - (`#1137 <https://github.com/matrix-org/matrix-doc/pull/1137>`_). - - Clarify that ``m.tag`` ordering is done with numbers, not strings - (`#1139 <https://github.com/matrix-org/matrix-doc/pull/1139>`_). - - Clarify that ``/account/whoami`` should consider application services - (`#1152 <https://github.com/matrix-org/matrix-doc/pull/1152>`_). - - Mark ``GET /rooms/{roomId}/members`` as requiring authentication - (`#1245 <https://github.com/matrix-org/matrix-doc/pull/1244>`_). - - Define what a ``RoomEvent`` is on ``/rooms/{roomId}/messages`` - (`#1380 <https://github.com/matrix-org/matrix-doc/pull/1380>`_). - - Describe ``StateEvent`` for ``/createRoom`` - (`#1329 <https://github.com/matrix-org/matrix-doc/pull/1329>`_). - - Describe how the ``reason`` is handled for kicks/bans - (`#1362 <https://github.com/matrix-org/matrix-doc/pull/1362>`_). - - Clarify that clients must leave rooms before forgetting them - (`#1378 <https://github.com/matrix-org/matrix-doc/pull/1378>`_). - - Clarify the request and result types on ``/search`` - (`#1381 <https://github.com/matrix-org/matrix-doc/pull/1381>`_). - r0.3.0 ====== diff --git a/changelogs/client_server/newsfragments/1096.new b/changelogs/client_server/newsfragments/1096.new new file mode 100644 index 000000000..50d868799 --- /dev/null +++ b/changelogs/client_server/newsfragments/1096.new @@ -0,0 +1 @@ +``POST /user_directory/search`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1097.clarification b/changelogs/client_server/newsfragments/1097.clarification new file mode 100644 index 000000000..2a7cb93a5 --- /dev/null +++ b/changelogs/client_server/newsfragments/1097.clarification @@ -0,0 +1 @@ +Mark ``home_server`` return field for ``/login`` and ``/register`` endpoints as deprecated \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1104.feature b/changelogs/client_server/newsfragments/1104.feature new file mode 100644 index 000000000..9b85343f7 --- /dev/null +++ b/changelogs/client_server/newsfragments/1104.feature @@ -0,0 +1 @@ +Add ``token`` parameter to the ``/keys/query`` endpoint \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1106.clarification b/changelogs/client_server/newsfragments/1106.clarification new file mode 100644 index 000000000..f7a1fe3e7 --- /dev/null +++ b/changelogs/client_server/newsfragments/1106.clarification @@ -0,0 +1 @@ +Fix response format of ``/keys/changes`` endpoint \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1109.clarification b/changelogs/client_server/newsfragments/1109.clarification new file mode 100644 index 000000000..176d94030 --- /dev/null +++ b/changelogs/client_server/newsfragments/1109.clarification @@ -0,0 +1 @@ +Clarify default values for some fields on the ``/search`` API \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1110.new b/changelogs/client_server/newsfragments/1110.new new file mode 100644 index 000000000..e1b80b8b6 --- /dev/null +++ b/changelogs/client_server/newsfragments/1110.new @@ -0,0 +1 @@ +``GET /rooms/{roomId}/event/{eventId}`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1137.clarification b/changelogs/client_server/newsfragments/1137.clarification new file mode 100644 index 000000000..5ad8ec34f --- /dev/null +++ b/changelogs/client_server/newsfragments/1137.clarification @@ -0,0 +1 @@ +Fix the representation of ``m.presence`` events \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1139.clarification b/changelogs/client_server/newsfragments/1139.clarification new file mode 100644 index 000000000..b5193ad3c --- /dev/null +++ b/changelogs/client_server/newsfragments/1139.clarification @@ -0,0 +1 @@ +Clarify that ``m.tag`` ordering is done with numbers, not strings \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1141.feature b/changelogs/client_server/newsfragments/1141.feature new file mode 100644 index 000000000..da0418191 --- /dev/null +++ b/changelogs/client_server/newsfragments/1141.feature @@ -0,0 +1 @@ +Add the room visibility options for the room directory \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1142.feature b/changelogs/client_server/newsfragments/1142.feature new file mode 100644 index 000000000..0a0842c42 --- /dev/null +++ b/changelogs/client_server/newsfragments/1142.feature @@ -0,0 +1 @@ +Add spec for ignoring users \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1151.feature b/changelogs/client_server/newsfragments/1151.feature new file mode 100644 index 000000000..8875812bd --- /dev/null +++ b/changelogs/client_server/newsfragments/1151.feature @@ -0,0 +1 @@ +Add the ``/register/available`` endpoint for username availability \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1152.clarification b/changelogs/client_server/newsfragments/1152.clarification new file mode 100644 index 000000000..bbecc9b29 --- /dev/null +++ b/changelogs/client_server/newsfragments/1152.clarification @@ -0,0 +1 @@ +Clarify that ``/account/whoami`` should consider application services \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1158.clarification b/changelogs/client_server/newsfragments/1158.clarification new file mode 100644 index 000000000..dc1f6d149 --- /dev/null +++ b/changelogs/client_server/newsfragments/1158.clarification @@ -0,0 +1,3 @@ +Update ``ImageInfo`` and ``ThumbnailInfo`` dimension schema descriptions +to clarify that they relate to intended display size, as opposed to the +intrinsic size of the image file. \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1158.feature b/changelogs/client_server/newsfragments/1158.feature new file mode 100644 index 000000000..a55df4fb3 --- /dev/null +++ b/changelogs/client_server/newsfragments/1158.feature @@ -0,0 +1 @@ +Add sticker messages \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1239.new b/changelogs/client_server/newsfragments/1239.new new file mode 100644 index 000000000..9bcf357df --- /dev/null +++ b/changelogs/client_server/newsfragments/1239.new @@ -0,0 +1 @@ +``POST /delete_devices`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1245.clarification b/changelogs/client_server/newsfragments/1245.clarification new file mode 100644 index 000000000..e0a638345 --- /dev/null +++ b/changelogs/client_server/newsfragments/1245.clarification @@ -0,0 +1 @@ +Mark ``GET /rooms/{roomId}/members`` as requiring authentication \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1263.feature b/changelogs/client_server/newsfragments/1263.feature new file mode 100644 index 000000000..04964a7d6 --- /dev/null +++ b/changelogs/client_server/newsfragments/1263.feature @@ -0,0 +1 @@ +Document ``/logout/all`` endpoint \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1264.feature b/changelogs/client_server/newsfragments/1264.feature new file mode 100644 index 000000000..9cb06f719 --- /dev/null +++ b/changelogs/client_server/newsfragments/1264.feature @@ -0,0 +1 @@ +Add report content API \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1265.feature b/changelogs/client_server/newsfragments/1265.feature new file mode 100644 index 000000000..1e270fa8b --- /dev/null +++ b/changelogs/client_server/newsfragments/1265.feature @@ -0,0 +1 @@ +Add ``allow_remote`` to the content repo to avoid routing loops \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1274.feature b/changelogs/client_server/newsfragments/1274.feature new file mode 100644 index 000000000..d49581314 --- /dev/null +++ b/changelogs/client_server/newsfragments/1274.feature @@ -0,0 +1 @@ +Document `highlights` field in /search response \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1329.clarification b/changelogs/client_server/newsfragments/1329.clarification new file mode 100644 index 000000000..970d3d947 --- /dev/null +++ b/changelogs/client_server/newsfragments/1329.clarification @@ -0,0 +1 @@ +Describe ``StateEvent`` for ``/createRoom`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1361.feature b/changelogs/client_server/newsfragments/1361.feature new file mode 100644 index 000000000..b1d4c2f11 --- /dev/null +++ b/changelogs/client_server/newsfragments/1361.feature @@ -0,0 +1 @@ +Document the GET version of ``/login`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1362.clarification b/changelogs/client_server/newsfragments/1362.clarification new file mode 100644 index 000000000..1deb45002 --- /dev/null +++ b/changelogs/client_server/newsfragments/1362.clarification @@ -0,0 +1 @@ +Describe how the ``reason`` is handled for kicks/bans \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1364.feature b/changelogs/client_server/newsfragments/1364.feature new file mode 100644 index 000000000..733d6a1f0 --- /dev/null +++ b/changelogs/client_server/newsfragments/1364.feature @@ -0,0 +1 @@ +Document the ``server_name`` parameter on ``/join/{roomIdOrAlias}`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1378.clarification b/changelogs/client_server/newsfragments/1378.clarification new file mode 100644 index 000000000..f952428b5 --- /dev/null +++ b/changelogs/client_server/newsfragments/1378.clarification @@ -0,0 +1 @@ +Clarify that clients must leave rooms before forgetting them \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1380.clarification b/changelogs/client_server/newsfragments/1380.clarification new file mode 100644 index 000000000..490a9a43c --- /dev/null +++ b/changelogs/client_server/newsfragments/1380.clarification @@ -0,0 +1 @@ +Define what a ``RoomEvent`` is on ``/rooms/{roomId}/messages`` \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/1381.clarification b/changelogs/client_server/newsfragments/1381.clarification new file mode 100644 index 000000000..e5e599acf --- /dev/null +++ b/changelogs/client_server/newsfragments/1381.clarification @@ -0,0 +1 @@ +Clarify the request and result types on ``/search`` \ No newline at end of file From c2f85788ded8970cad38bc261314ae148c492e20 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 16:54:14 -0600 Subject: [PATCH 513/801] Add documentation about how to add to the changelog --- CONTRIBUTING.rst | 35 +++++++++++++++++++++++++++++++++++ scripts/gendoc.py | 3 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 2a7416b17..c592cf02b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -69,6 +69,41 @@ For such changes, please do just open a `pull request`_. .. _pull request: https://help.github.com/articles/about-pull-requests + +Adding to the changelog +~~~~~~~~~~~~~~~~~~~~~~~ + +Currently only changes to the client-server API need to end up in a changelog. The +other APIs are not yet stable and therefore do not have a changelog. Adding to the +changelog can only be done after you've opened your pull request, so be sure to do +that first. + +The changelog is managed by Towncrier (https://github.com/hawkowl/towncrier) in the +form of "news fragments". The news fragments for the client-server API are stored +under ``changelogs/client_server/newsfragments``. + +To create a changelog entry, create a file named in the format ``prNumber.type`` in +the ``newsfragments`` directory. The ``type`` can be one of the following: + +* ``new`` - Used when adding new endpoints. Please have the file contents be the + method and route being added, surrounded in RST code tags. For example: ``POST + /accounts/whoami`` + +* ``feature`` - Used when adding backwards-compatible changes to the API. + +* ``clarification`` - Used when an area of the spec is being improved upon and does + not change or introduce any functionality. + +* ``breaking`` - Used when the change is not backwards compatible. + +* ``deprecation`` - Used when deprecating something + +All news fragments must have a brief summary explaining the change in the contents +of the file. + +Changes that do not change the spec, such as changes to the build script, formatting, +CSS, etc should not get a news fragment. + Sign off -------- diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 0c5486114..31ee9e696 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -405,7 +405,8 @@ def logv(line): def cleanup_env(): - shutil.rmtree(tmp_dir) + #shutil.rmtree(tmp_dir) + pass def mkdirp(d) : From 34089e302c8415a34f69a200f4aee689fd97a0c8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 17:06:08 -0600 Subject: [PATCH 514/801] Add general documentation for maintainers --- changelogs/README.md | 55 +++++++++++++++++++++++++ changelogs/client_server/pyproject.toml | 2 +- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 changelogs/README.md diff --git a/changelogs/README.md b/changelogs/README.md new file mode 100644 index 000000000..10d69cb6b --- /dev/null +++ b/changelogs/README.md @@ -0,0 +1,55 @@ +<!-- Note: This is a markdown file so the build script's RST processing doesn't grab it --> + +# Changelogs + +[Towncrier](https://github.com/hawkowl/towncrier) is used to manage the changelog and +keep it up to date. Because of this, updating a changelog is really easy. + +## How to update a changelog when releasing an API + +1. Ensure you're in your Python 3 virtual environment +2. `cd` your way to the API you're releasing (eg: `cd changelogs/client_server`) +3. Run `towncrier --version "r0.4.0" --name "client-server" --yes` substituting the + variables as approprite. Note that `--name` is required although the value is ignored. +4. Commit the changes and finish the release process. + +## How to prepare a changelog for a new API + +For this example, we're going to pretend that the `server_server` API doesn't exist. + +1. Create the file `changelogs/server_server.rst` +2. Create the folder `changelogs/server_server` +3. In the new folder, create a `pyproject.toml` file with these contents: + ```toml + [tool.towncrier] + filename = "../server_server.rst" + directory = "newsfragments" + issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_" + title_format = "{version}" + + [[tool.towncrier.type]] + directory = "breaking" + name = "Breaking Changes" + showcontent = true + + [[tool.towncrier.type]] + directory = "deprecation" + name = "Deprecations" + showcontent = true + + [[tool.towncrier.type]] + directory = "new" + name = "New Endpoints" + showcontent = true + + [[tool.towncrier.type]] + directory = "feature" + name = "Backwards Compatible Changes" + showcontent = true + + [[tool.towncrier.type]] + directory = "clarification" + name = "Spec Clarifications" + showcontent = true + ``` +4. Use the changelog in whatever RST documents you need diff --git a/changelogs/client_server/pyproject.toml b/changelogs/client_server/pyproject.toml index d5daface6..8fa3f6b5a 100644 --- a/changelogs/client_server/pyproject.toml +++ b/changelogs/client_server/pyproject.toml @@ -1,5 +1,5 @@ [tool.towncrier] - filename = "_rendered.rst" + filename = "../client_server.rst" directory = "newsfragments" issue_format = "`#{issue} <https://github.com/matrix-org/matrix-doc/issues/{issue}>`_" title_format = "{version}" From 63b926a4aaae18293426cc10efa658a8644b7e42 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 17:19:04 -0600 Subject: [PATCH 515/801] Make Travis CI use python 3 --- .travis.yml | 4 ++++ scripts/test-and-build.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7d84f237d..98dd14b83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,10 @@ sudo: false git: depth: 1 +before_install: +- sudo apt-get update +- sudo apt-get install python3 + # test-and-build does the installation, so tell travis to skip the # installation step install: true diff --git a/scripts/test-and-build.sh b/scripts/test-and-build.sh index 7794f8264..e459a370a 100755 --- a/scripts/test-and-build.sh +++ b/scripts/test-and-build.sh @@ -4,7 +4,7 @@ set -ex cd `dirname $0`/.. -virtualenv env +virtualenv -p python3 env . env/bin/activate pip install -r scripts/requirements.txt From f68c82bd6c3d8959004ee564ae9dce6769aa99a8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 6 Jul 2018 17:32:57 -0600 Subject: [PATCH 516/801] Don't let the newsfragments wink out of existence --- changelogs/README.md | 2 +- changelogs/client_server/newsfragments/.gitignore | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelogs/client_server/newsfragments/.gitignore diff --git a/changelogs/README.md b/changelogs/README.md index 10d69cb6b..a5fb1fb7d 100644 --- a/changelogs/README.md +++ b/changelogs/README.md @@ -52,4 +52,4 @@ For this example, we're going to pretend that the `server_server` API doesn't ex name = "Spec Clarifications" showcontent = true ``` -4. Use the changelog in whatever RST documents you need +4. Create a `.gitignore` in `changelogs/server_server/newsfragments` with the contents `!.gitignore` diff --git a/changelogs/client_server/newsfragments/.gitignore b/changelogs/client_server/newsfragments/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelogs/client_server/newsfragments/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file From a4f8e0807acee23f58b2a9e4ae2b0b0ba9f21cfa Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 08:41:20 -0600 Subject: [PATCH 517/801] Print the python version being used in the CI build. --- scripts/test-and-build.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/test-and-build.sh b/scripts/test-and-build.sh index e459a370a..710b03ddf 100755 --- a/scripts/test-and-build.sh +++ b/scripts/test-and-build.sh @@ -6,6 +6,11 @@ cd `dirname $0`/.. virtualenv -p python3 env . env/bin/activate + +# Print out the python versions for debugging purposes +python --version +pip --version + pip install -r scripts/requirements.txt # do sanity checks on the examples and swagger From 08f69128259bc3113614018e04b9342850388d2c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 08:50:26 -0600 Subject: [PATCH 518/801] Ask Travis to install 3.5 explicitly --- .travis.yml | 2 +- scripts/test-and-build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 98dd14b83..013efdd98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ git: before_install: - sudo apt-get update -- sudo apt-get install python3 +- sudo apt-get install python3.5 # test-and-build does the installation, so tell travis to skip the # installation step diff --git a/scripts/test-and-build.sh b/scripts/test-and-build.sh index 710b03ddf..397b620ed 100755 --- a/scripts/test-and-build.sh +++ b/scripts/test-and-build.sh @@ -4,7 +4,7 @@ set -ex cd `dirname $0`/.. -virtualenv -p python3 env +virtualenv -p python3.5 env . env/bin/activate # Print out the python versions for debugging purposes From c65c6e2e70795dabd7717e195a72a39704e8a014 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 12:25:34 -0600 Subject: [PATCH 519/801] Add changelog entries removed in the merge from master --- changelogs/client_server/newsfragments/1371.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1371.clarification diff --git a/changelogs/client_server/newsfragments/1371.clarification b/changelogs/client_server/newsfragments/1371.clarification new file mode 100644 index 000000000..88552fcd5 --- /dev/null +++ b/changelogs/client_server/newsfragments/1371.clarification @@ -0,0 +1 @@ +Mark ``GET /presence/{userId}/status`` as requiring authentication \ No newline at end of file From 7ada96020677b9df88422ac38b2b82754d974321 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 12:28:27 -0600 Subject: [PATCH 520/801] Fix the Travis CI build to work on 3.5 --- .travis.yml | 9 +++------ scripts/requirements.txt | 1 + scripts/templating/matrix_templates/units.py | 7 ++++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 013efdd98..27e5cf202 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,13 +8,10 @@ sudo: false git: depth: 1 -before_install: +install: - sudo apt-get update -- sudo apt-get install python3.5 - -# test-and-build does the installation, so tell travis to skip the -# installation step -install: true +- sudo apt-get install python3.5 python3.5-dev +- sudo pip install --upgrade virtualenv script: - ./scripts/test-and-build.sh diff --git a/scripts/requirements.txt b/scripts/requirements.txt index 6f7951d62..1f92c3dc9 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -8,3 +8,4 @@ jsonschema >= 2.6.0 PyYAML >= 3.12 requests >= 2.18.4 towncrier == 18.6.0rc1 +six >= 1.11.0 \ No newline at end of file diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 0dbf81047..acd85d66a 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -29,9 +29,10 @@ import os.path import re import subprocess import sys -import urllib.request, urllib.parse, urllib.error import yaml +import requests.utils from functools import reduce +from six.moves.urllib.parse import urlencode matrix_doc_dir=reduce(lambda acc,_: os.path.dirname(acc), list(range(1, 5)), os.path.abspath(__file__)) @@ -524,7 +525,7 @@ class MatrixUnits(Units): if param_loc == "path": path_template = path_template.replace( - "{%s}" % param_name, urllib.parse.quote(example) + "{%s}" % param_name, requests.utils.requote_uri(example) ) elif param_loc == "query": if type(example) == list: @@ -564,7 +565,7 @@ class MatrixUnits(Units): ) endpoint["res_headers"] = headers query_string = "" if len( - example_query_params) == 0 else "?" + urllib.parse.urlencode( + example_query_params) == 0 else "?" + urlencode( example_query_params) if example_body: endpoint["example"][ From 550f95570b327e8f57e832866427049603f48b06 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 15:17:28 -0600 Subject: [PATCH 521/801] Fix regex for some versions of python --- scripts/gendoc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 31ee9e696..25fd4577a 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -283,12 +283,12 @@ def addAnchors(path): with open(path, "rb") as f: lines = f.readlines() - replacement = replacement = r'<p><a class="anchor" id="\3"></a></p>\n\1' + replacement = r'<p><a class="anchor" id="\2"></a></p>\n\1' with open(path, "wb") as f: for line in lines: line = line.decode("UTF-8") line = re.sub(r'(<h\d id="#?(.*?)">)', replacement, line.rstrip()) - line = re.sub(r'(<div class="section" (id)="(.*?)">)', replacement, line.rstrip()) + line = re.sub(r'(<div class="section" id="(.*?)">)', replacement, line.rstrip()) f.write((line + "\n").encode('UTF-8')) From 423d5593f5a48e8bd0b7dfea0d37278b957d7a56 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 15:40:03 -0600 Subject: [PATCH 522/801] Generify how OPTIONS and CORS are handled --- specification/client_server_api.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 33ee8b1ac..8dde43029 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -173,10 +173,8 @@ to pre-flight requests and supply Cross-Origin Resource Sharing (CORS) headers o all requests. When a client approaches the server with a pre-flight (``OPTIONS``) request, the -server should respond with the CORS headers for that route. If the route does not -exist, the server should return an ``M_NOT_FOUND`` error with a 404 status code. - -The standard CORS headers to be returned by servers on all requests are: +server should respond with the CORS headers for that route. The recommended CORS +headers to be returned by servers on all requests are: .. code:: From 3a9cfd490feaeb6a91d14ade329393b50cb1337b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 9 Jul 2018 23:52:22 -0600 Subject: [PATCH 523/801] Improve pagination handling in proposals.py Previously if multiple pages were returned then the script would lose the results. A check to ensure the response is an array was also added. This helps avoid somewhat cryptic errors when iterating over non-lists (eg: error messages, bad output, etc) --- scripts/proposals.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index b489f0d27..eec6d6527 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -12,13 +12,18 @@ authors = set() prs = set() def getpage(url, page): - resp = requests.get(url + str(page)) + url = url + str(page) + resp = requests.get(url) for link in resp.links.values(): if link['rel'] == 'last': pagecount = re.search('page=(.+?)', link['url']).group(1) - return resp.json() + val = resp.json() + if not isinstance(val, list): + print(val) # Just dump the raw (likely error) response to the log + raise Exception("Error calling %s" % url) + return val def getbylabel(label): pagecount = 1 @@ -27,7 +32,7 @@ def getbylabel(label): print(urlbase) json.extend(getpage(urlbase, 1)) for page in range(2, int(pagecount) + 1): - getpage(urlbase, page) + json.extend(getpage(urlbase, page)) return json From e9f7d2096e100c27c530ec4660670bdb9f8605a4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 08:39:34 -0600 Subject: [PATCH 524/801] Add changelog entry for CORS --- changelogs/client_server/newsfragments/1365.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1365.feature diff --git a/changelogs/client_server/newsfragments/1365.feature b/changelogs/client_server/newsfragments/1365.feature new file mode 100644 index 000000000..d2864e965 --- /dev/null +++ b/changelogs/client_server/newsfragments/1365.feature @@ -0,0 +1 @@ +Document the CORS/preflight headers \ No newline at end of file From 55e4e90ab1155c5b4d4031fe5108c7b5ea63ac53 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 12:52:11 -0600 Subject: [PATCH 525/801] Document message formats as-is This is likely to later be replaced by mixins, however this is being documented now so clients aren't left in the dark. Fixes https://github.com/matrix-org/matrix-doc/issues/917 --- event-schemas/examples/m.room.message#m.emote | 4 +++- event-schemas/examples/m.room.message#m.text | 4 +++- event-schemas/schema/m.room.message#m.emote | 10 ++++++++++ event-schemas/schema/m.room.message#m.text | 10 ++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/event-schemas/examples/m.room.message#m.emote b/event-schemas/examples/m.room.message#m.emote index 4280928ee..79292ddf8 100644 --- a/event-schemas/examples/m.room.message#m.emote +++ b/event-schemas/examples/m.room.message#m.emote @@ -2,7 +2,9 @@ "age": 242352, "content": { "body": "thinks this is an example emote", - "msgtype": "m.emote" + "msgtype": "m.emote", + "format": "org.matrix.custom.html", + "formatted_body": "thinks <b>this</b> is an example emote" }, "origin_server_ts": 1431961217939, "event_id": "$WLGTSEFSEF:localhost", diff --git a/event-schemas/examples/m.room.message#m.text b/event-schemas/examples/m.room.message#m.text index e00c7aa56..48a97db80 100644 --- a/event-schemas/examples/m.room.message#m.text +++ b/event-schemas/examples/m.room.message#m.text @@ -2,7 +2,9 @@ "age": 242352, "content": { "body": "This is an example text message", - "msgtype": "m.text" + "msgtype": "m.text", + "format": "org.matrix.custom.html", + "formatted_body": "<b>This is an example text message</b>" }, "origin_server_ts": 1431961217939, "event_id": "$WLGTSEFSEF:localhost", diff --git a/event-schemas/schema/m.room.message#m.emote b/event-schemas/schema/m.room.message#m.emote index 88860cb21..f67a184b1 100644 --- a/event-schemas/schema/m.room.message#m.emote +++ b/event-schemas/schema/m.room.message#m.emote @@ -12,6 +12,16 @@ properties: enum: - m.emote type: string + format: + description: |- + The format used in the ``formatted_body``. Currently only + ``org.matrix.custom.html`` is supported. + type: string + formatted_body: + description: |- + The formatted version of the ``body``. This is required if ``format`` + is specified. + type: string required: - msgtype - body diff --git a/event-schemas/schema/m.room.message#m.text b/event-schemas/schema/m.room.message#m.text index 2720172dd..b481bceab 100644 --- a/event-schemas/schema/m.room.message#m.text +++ b/event-schemas/schema/m.room.message#m.text @@ -12,6 +12,16 @@ properties: enum: - m.text type: string + format: + description: |- + The format used in the ``formatted_body``. Currently only + ``org.matrix.custom.html`` is supported. + type: string + formatted_body: + description: |- + The formatted version of the ``body``. This is required if ``format`` + is specified. + type: string required: - msgtype - body From c999b7c2e21b61a8f5d217054555d6a317a76cf0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 13:00:37 -0600 Subject: [PATCH 526/801] Add newsfragment --- changelogs/client_server/newsfragments/1397.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1397.feature diff --git a/changelogs/client_server/newsfragments/1397.feature b/changelogs/client_server/newsfragments/1397.feature new file mode 100644 index 000000000..e4bd248a8 --- /dev/null +++ b/changelogs/client_server/newsfragments/1397.feature @@ -0,0 +1 @@ +Document message formats on ``m.text`` and ``m.emote`` messages From fbee83d5cf53ddb37ce4b54b6f12d7cbe0496038 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 15:08:28 -0600 Subject: [PATCH 527/801] Clarify some of the properties on the search result Fixes https://github.com/matrix-org/matrix-doc/issues/773 --- api/client-server/search.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 687140b3e..e28461c4f 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -227,6 +227,9 @@ paths: description: |- The historic profile information of the users that sent the events returned. + + The ``string`` key is the user ID for which + the profile belongs to. additionalProperties: type: object title: User Profile @@ -260,15 +263,24 @@ paths: The current state for every room in the results. This is included if the request had the ``include_state`` key set with a value of ``true``. + + The ``string`` key is the room ID for which the ``State + Event`` array belongs to. additionalProperties: type: array title: Room State items: + type: object "$ref": "definitions/event-schemas/schema/core-event-schema/state_event.yaml" groups: type: object title: Groups - description: Any groups that were requested. + description: |- + Any groups that were requested. + + The outer ``string`` key is the group key requested (eg: ``room_id`` + or ``sender``). The inner ``string`` key is the grouped value (eg: + a room's ID or a user's ID). additionalProperties: type: object title: Group Key From b6f9e13d469718aa07c879b88136f4ec99719505 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 15:09:53 -0600 Subject: [PATCH 528/801] Add newsfragment --- changelogs/client_server/newsfragments/1400.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1400.clarification diff --git a/changelogs/client_server/newsfragments/1400.clarification b/changelogs/client_server/newsfragments/1400.clarification new file mode 100644 index 000000000..3fd29e920 --- /dev/null +++ b/changelogs/client_server/newsfragments/1400.clarification @@ -0,0 +1 @@ +Clarify some of the properties on the search result From 9e0fafbcd4436d3d245a942117eccb1d2396261d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 15:13:22 -0600 Subject: [PATCH 529/801] Remove debugging line --- scripts/gendoc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/gendoc.py b/scripts/gendoc.py index 25fd4577a..af613b680 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -405,8 +405,7 @@ def logv(line): def cleanup_env(): - #shutil.rmtree(tmp_dir) - pass + shutil.rmtree(tmp_dir) def mkdirp(d) : From ebc7db12fbb9e5ff0f6193605da8182710d0937c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 16:52:17 -0600 Subject: [PATCH 530/801] Remove extraneous list casting --- api/check_examples.py | 6 +++--- scripts/dump-swagger.py | 6 +++--- scripts/gendoc.py | 16 ++++++++-------- scripts/proposals.py | 2 +- scripts/templating/batesian/__init__.py | 2 +- scripts/templating/batesian/sections.py | 2 +- scripts/templating/build.py | 4 ++-- scripts/templating/matrix_templates/sections.py | 4 ++-- scripts/templating/matrix_templates/units.py | 12 ++++++------ 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/api/check_examples.py b/api/check_examples.py index 3ecd5a4c6..be0676bb4 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -88,9 +88,9 @@ def check_swagger_file(filepath): with open(filepath) as f: swagger = yaml.load(f) - for path, path_api in list(swagger.get('paths', {}).items()): + for path, path_api in swagger.get('paths', {}).items(): - for method, request_api in list(path_api.items()): + for method, request_api in path_api.items(): request = "%s %s" % (method.upper(), path) for parameter in request_api.get('parameters', ()): if parameter['in'] == 'body': @@ -100,7 +100,7 @@ def check_swagger_file(filepath): responses = request_api['responses'] except KeyError: raise ValueError("No responses for %r" % (request,)) - for code, response in list(responses.items()): + for code, response in responses.items(): check_response(filepath, request, code, response) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 6dd9864f9..7994324f6 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -94,11 +94,11 @@ for filename in os.listdir(cs_api_dir): api = units.resolve_references(filepath, api) basePath = api['basePath'] - for path, methods in list(api["paths"].items()): + for path, methods in api["paths"].items(): path = (basePath + path).replace('%CLIENT_MAJOR_VERSION%', major_version) - for method, spec in list(methods.items()): - if "tags" in list(spec.keys()): + for method, spec in methods.items(): + if "tags" in spec.keys(): if path not in output["paths"]: output["paths"][path] = {} output["paths"][path][method] = spec diff --git a/scripts/gendoc.py b/scripts/gendoc.py index af613b680..16c40af5d 100755 --- a/scripts/gendoc.py +++ b/scripts/gendoc.py @@ -299,7 +299,7 @@ def run_through_template(input_files, set_verbose, substitutions): "-i", "matrix_templates", ] - for k, v in list(substitutions.items()): + for k, v in substitutions.items(): args.append("--substitution=%s=%s" % (k, v)) if set_verbose: @@ -359,7 +359,7 @@ def get_build_target(all_targets, target_name): for i, entry in enumerate(group): if isinstance(entry, dict): group[i] = { - (rel_depth + depth): v for (rel_depth, v) in list(entry.items()) + (rel_depth + depth): v for (rel_depth, v) in entry.items() } return group @@ -378,7 +378,7 @@ def get_build_target(all_targets, target_name): # file_entry is a dict which has more file entries as values elif isinstance(file_entry, dict): resolved_entry = {} - for (depth, entry) in list(file_entry.items()): + for (depth, entry) in file_entry.items(): if not isinstance(entry, str): raise Exception( "Double-nested depths are not supported. Entry: %s" % (file_entry,) @@ -429,7 +429,7 @@ def main(targets, dest_dir, keep_intermediates, substitutions): target_defs = yaml.load(targ_file.read()) if targets == ["all"]: - targets = list(target_defs["targets"].keys()) + targets = target_defs["targets"].keys() log("Building spec [targets=%s]" % targets) @@ -443,17 +443,17 @@ def main(targets, dest_dir, keep_intermediates, substitutions): templated_files[target_name] = templated_file # we do all the templating at once, because it's slow - run_through_template(list(templated_files.values()), VERBOSE, substitutions) + run_through_template(templated_files.values(), VERBOSE, substitutions) stylesheets = glob.glob(os.path.join(script_dir, "css", "*.css")) - for target_name, templated_file in list(templated_files.items()): + for target_name, templated_file in templated_files.items(): target = target_defs["targets"].get(target_name) version_label = None if target: version_label = target.get("version_label") if version_label: - for old, new in list(substitutions.items()): + for old, new in substitutions.items(): version_label = version_label.replace(old, new) rst_file = os.path.join(tmp_dir, "spec_%s.rst" % (target_name,)) @@ -481,7 +481,7 @@ def main(targets, dest_dir, keep_intermediates, substitutions): def list_targets(): with open(os.path.join(spec_dir, "targets.yaml"), "r") as targ_file: target_defs = yaml.load(targ_file.read()) - targets = list(target_defs["targets"].keys()) + targets = target_defs["targets"].keys() print("\n".join(targets)) diff --git a/scripts/proposals.py b/scripts/proposals.py index 156d53518..b489f0d27 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -14,7 +14,7 @@ prs = set() def getpage(url, page): resp = requests.get(url + str(page)) - for link in list(resp.links.values()): + for link in resp.links.values(): if link['rel'] == 'last': pagecount = re.search('page=(.+?)', link['url']).group(1) diff --git a/scripts/templating/batesian/__init__.py b/scripts/templating/batesian/__init__.py index f5d83a1ed..e901590f5 100644 --- a/scripts/templating/batesian/__init__.py +++ b/scripts/templating/batesian/__init__.py @@ -24,7 +24,7 @@ class AccessKeyStore(object): self.accessed_set = set() def keys(self): - return list(self.data.keys()) + return self.data.keys() def add(self, key, unit_dict): self.data[key] = unit_dict diff --git a/scripts/templating/batesian/sections.py b/scripts/templating/batesian/sections.py index 2e5593d64..18a622f65 100644 --- a/scripts/templating/batesian/sections.py +++ b/scripts/templating/batesian/sections.py @@ -54,7 +54,7 @@ class Sections(object): ) elif isinstance(section, dict): self.log(" Generated multiple sections:") - for (k, v) in list(section.items()): + for (k, v) in section.items(): if not isinstance(k, str) or not isinstance(v, str): raise Exception( ("Method %s returned multiple sections as a dict but " + diff --git a/scripts/templating/build.py b/scripts/templating/build.py index de9ead35f..fae4db56f 100755 --- a/scripts/templating/build.py +++ b/scripts/templating/build.py @@ -169,7 +169,7 @@ def main(input_module, files=None, out_dir=None, verbose=False, substitutions={} # print out valid section keys if no file supplied if not files: print("\nValid template variables:") - for key in list(sections.keys()): + for key in sections.keys(): sec_text = "" if (len(sections[key]) > 75) else ( "(Value: '%s')" % sections[key] ) @@ -211,7 +211,7 @@ def process_file(env, sections, filename, output_filename): # Do these substitutions outside of the ordinary templating system because # we want them to apply to things like the underlying swagger used to # generate the templates, not just the top-level sections. - for old, new in list(substitutions.items()): + for old, new in substitutions.items(): output = output.replace(old, new) with open(output_filename, "wb") as f: diff --git a/scripts/templating/matrix_templates/sections.py b/scripts/templating/matrix_templates/sections.py index 71c1acf35..64e32aa44 100644 --- a/scripts/templating/matrix_templates/sections.py +++ b/scripts/templating/matrix_templates/sections.py @@ -86,7 +86,7 @@ class MatrixSections(Sections): # the key is the section name and the value is the value of the section def render_group_http_apis(self): # map all swagger_apis to the form $GROUP_http_api - swagger_groups = list(self.units.get("swagger_apis").keys()) + swagger_groups = self.units.get("swagger_apis").keys() renders = {} for group in swagger_groups: sortFnOrPathList = None @@ -134,7 +134,7 @@ class MatrixSections(Sections): "m.room.message#m.file" ] other_msgtypes = [ - k for k in list(schemas.keys()) if k.startswith("m.room.message#") and + k for k in schemas.keys() if k.startswith("m.room.message#") and k not in msgtype_order ] for event_name in (msgtype_order + other_msgtypes): diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index acd85d66a..63a4e5a84 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -35,7 +35,7 @@ from functools import reduce from six.moves.urllib.parse import urlencode matrix_doc_dir=reduce(lambda acc,_: os.path.dirname(acc), - list(range(1, 5)), os.path.abspath(__file__)) + range(1, 5), os.path.abspath(__file__)) HTTP_APIS = { os.path.join(matrix_doc_dir, "api/application-service"): "as", @@ -126,7 +126,7 @@ def resolve_references(path, schema): else: result = OrderedDict() - for key, value in list(schema.items()): + for key, value in schema.items(): result[key] = resolve_references(path, value) return result elif isinstance(schema, list): @@ -211,7 +211,7 @@ def get_json_schema_object_fields(obj, enforce_title=False): props = obj.get("patternProperties") if props: # try to replace horrible regex key names with pretty x-pattern ones - for key_name in list(props.keys()): + for key_name in props.keys(): pretty_key = props[key_name].get("x-pattern") if pretty_key: props[pretty_key] = props[key_name] @@ -382,7 +382,7 @@ def get_example_for_schema(schema): if 'properties' not in schema: raise Exception('"object" property has neither properties nor example') res = OrderedDict() - for prop_name, prop in list(schema['properties'].items()): + for prop_name, prop in schema['properties'].items(): logger.debug("Parsing property %r" % prop_name) prop_example = get_example_for_schema(prop) res[prop_name] = prop_example @@ -558,7 +558,7 @@ class MatrixUnits(Units): ) if "headers" in good_response: headers = TypeTable() - for (header_name, header) in list(good_response["headers"].items()): + for (header_name, header) in good_response["headers"].items(): headers.add_row( TypeTableRow(key=header_name, title=header["type"], desc=header["description"]), @@ -617,7 +617,7 @@ class MatrixUnits(Units): def load_swagger_apis(self): apis = {} - for path, suffix in list(HTTP_APIS.items()): + for path, suffix in HTTP_APIS.items(): for filename in os.listdir(path): if not filename.endswith(".yaml"): continue From 905ef6daddbaeff457c9f265d0d2bf64332c558b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 10 Jul 2018 16:57:21 -0600 Subject: [PATCH 531/801] Have the towncrier generator complain if the output looks wrong --- scripts/templating/matrix_templates/units.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 63a4e5a84..9b3d621d6 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -845,7 +845,14 @@ class MatrixUnits(Units): stderr=subprocess.PIPE, cwd=tc_path, ).strip().decode('UTF-8') - except subprocess.CalledProcessError: + + # This is a bit of a hack, but it does mean that the log at least gets *something* + # to tell us it broke + if not raw_log.startswith("Unreleased Changes"): + logger.error(raw_log) + raw_log = "" + except subprocess.CalledProcessError as e: + logger.error(e) raw_log = "" tc_lines = raw_log.splitlines() From a8461e647f2c5c6bf8cdb4f5157736ed2589948a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Jul 2018 08:35:55 -0600 Subject: [PATCH 532/801] Improve the error handling for towncrier The changelog shows up via stdout, everything else via stderr. We dump as much information as we can into the changelog to make debugging errors easier. --- scripts/templating/matrix_templates/units.py | 25 +++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 9b3d621d6..760aeb6b8 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -839,21 +839,28 @@ class MatrixUnits(Units): tc_lines = [] if os.path.isdir(tc_path): logger.info("Generating towncrier changelog for: %s" % name) - try: - raw_log = subprocess.check_output( - ['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'], - stderr=subprocess.PIPE, - cwd=tc_path, - ).strip().decode('UTF-8') + p = subprocess.run( + ['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'], + cwd=tc_path, + check=False, # We'll manually check the exit code + stderr=subprocess.PIPE, + stdout=subprocess.PIPE, + ) + if p.returncode != 0: + # Something broke - dump as much information as we can + logger.error("Towncrier exited with code %s" % p.returncode) + logger.error(p.stdout.decode('UTF-8')) + logger.error(p.stderr.decode('UTF-8')) + raw_log = "" + else: + raw_log = p.stdout.decode('UTF-8') # This is a bit of a hack, but it does mean that the log at least gets *something* # to tell us it broke if not raw_log.startswith("Unreleased Changes"): + logger.error("Towncrier appears to have failed to generate a changelog") logger.error(raw_log) raw_log = "" - except subprocess.CalledProcessError as e: - logger.error(e) - raw_log = "" tc_lines = raw_log.splitlines() title_part = None From bd2c0b7c98612635c514567094caccda974fafba Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Jul 2018 13:09:19 -0600 Subject: [PATCH 533/801] Convert server keys to swagger --- api/server-server/definitions/keys.yaml | 96 ++++++++++++++ .../definitions/keys_query_response.yaml | 27 ++++ api/server-server/examples/server_key.json | 23 ++++ api/server-server/keys.yaml | 121 ++++++++++++++++++ specification/server_server_api.rst | 34 +---- 5 files changed, 269 insertions(+), 32 deletions(-) create mode 100644 api/server-server/definitions/keys.yaml create mode 100644 api/server-server/definitions/keys_query_response.yaml create mode 100644 api/server-server/examples/server_key.json create mode 100644 api/server-server/keys.yaml diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml new file mode 100644 index 000000000..5d1c39def --- /dev/null +++ b/api/server-server/definitions/keys.yaml @@ -0,0 +1,96 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Server Keys +description: Server keys +example: + $ref: "../examples/server_key.json" +properties: + server_name: + type: string + description: DNS name of the homeserver + required: true # TODO: Verify + example: "example.org" + verify_keys: + type: object + description: Public keys of the homeserver for verifying digital signatures + required: true # TODO: Verify + additionalProperties: + type: object + title: Verify Key + example: { + "ed25519:auto2": { + "key": "Base+64+Encoded+Signature+Verification+Key" + } + } + properties: + key: + type: string + description: The key + required: true + example: "Base+64+Encoded+Signature+Verification+Key" + old_verify_keys: + type: object + description: The public keys that the server used to use and when it stopped using them + additionalProperties: + type: object + title: Old Verify Key + example: { + "ed25519:auto1": { + "expired_ts": 922834800000, + "key": "Base+64+Encoded+Signature+Verification+Key" + } + } + properties: + expired_ts: + type: integer + format: int64 + description: The expiration time + required: true + example: 922834800000 + key: + type: string + description: The key + required: true + example: "Base+64+Encoded+Signature+Verification+Key" + signatures: + type: object + description: Digital signatures for this object signed using the ``verify_keys`` + additionalProperties: + type: object + title: Signed Server + example: { + "example.org": { + "ad25519:auto2": "Base+64+Encoded+Signature+Verification+Key" + } + } + additionalProperties: + type: string + name: Encoded Signature Verification Key + tls_fingerprints: + type: array + description: Hashes of X.509 TLS certificates used by this server encoded as `Unpadded Base64`_ + items: + type: object + title: TLS Fingerprint + properties: + sha256: + type: string + description: The encoded fingerprint + example: Base+64+Encoded+SHA-256-Fingerprint + valid_until_ts: + type: integer + format: int64 + description: POSIX timestamp when the list of valid keys should be refreshed + example: 1052262000000 diff --git a/api/server-server/definitions/keys_query_response.yaml b/api/server-server/definitions/keys_query_response.yaml new file mode 100644 index 000000000..8223f9ec1 --- /dev/null +++ b/api/server-server/definitions/keys_query_response.yaml @@ -0,0 +1,27 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +description: Server keys +example: { + "server_keys": [{ + $ref: "../examples/server_key.json" + }] +} +properties: + server_keys: + type: array + title: Server Keys + description: The server keys + items: + $ref: "keys.yaml" diff --git a/api/server-server/examples/server_key.json b/api/server-server/examples/server_key.json new file mode 100644 index 000000000..a3934bd36 --- /dev/null +++ b/api/server-server/examples/server_key.json @@ -0,0 +1,23 @@ +{ + "server_name": "example.org", + "verify_keys": { + "ed25519:auto2": { + "key": "Base+64+Encoded+Signature+Verification+Key" + } + }, + "old_verify_keys": { + "ed25519:auto1": { + "expired_ts": 922834800000, + "key": "Base+64+Encoded+Old+Verify+Key" + } + }, + "signatures": { + "example.org": { + "ed25519:auto2": "Base+64+Encoded+Signature" + } + }, + "tls_fingerprints": [{ + "sha256": "Base+64+Encoded+SHA-256-Fingerprint" + }], + "valid_until_ts": 1052262000000 +} \ No newline at end of file diff --git a/api/server-server/keys.yaml b/api/server-server/keys.yaml new file mode 100644 index 000000000..e8e5167dd --- /dev/null +++ b/api/server-server/keys.yaml @@ -0,0 +1,121 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Key Exchange API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/key/v2 +produces: + - application/json +paths: + "/server/{keyId}": + get: + summary: Get the server's key + description: Get the server's key + operationId: getServerKey + parameters: + - in: path + name: keyId + type: string + description: Key ID + required: false + x-example: TODO # No examples in the spec so far + responses: + 200: + description: The server's keys + schema: + $ref: "definitions/keys.yaml" + "/query/{serverName}/{keyId}": + get: + summary: Retreive a server key + description: Retreive a server key + operationId: getQueryKeys + parameters: + - in: path + name: serverName + type: string + description: Server name + required: true + x-example: matrix.org + - in: path + name: keyId + type: string + description: Key ID + required: true + x-example: TODO # No examples in spec so far + - in: query + name: minimum_valid_until_ts + type: integer + format: int64 + description: Minimum Valid Until Milliseconds + required: true # TODO: Verify + x-example: 1234567890 + responses: + 200: + description: The keys for the server + schema: + $ref: "definitions/keys_query_response.yaml" + "/query": + post: + summary: Retreive a server key + description: Retreive a server key + operationId: postQueryKeys + parameters: + - in: body + name: body + schema: + type: object + # TODO: Improve example + example: { + "server_keys": { + "{server_name}": { + "{key_id}": { + "minimum_valid_until_ts": 1234567890 + } + } + } + } + properties: + server_keys: + type: object + description: The query criteria + required: true + additionalProperties: + type: object + name: ServerName + description: The server names to query + additionalProperties: + type: array + name: ServerKey + description: The server keys to query + items: + type: object + title: Query Criteria + description: The query criteria + properties: + minimum_valid_until_ts: + type: integer + format: int64 + description: Minimum Valid Until MS + required: true # TODO: Verify + x-example: 1234567890 + responses: + 200: + description: The keys for the server + schema: + $ref: "definitions/keys_query_response.yaml" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f2b3204ab..861519910 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1,5 +1,6 @@ .. Copyright 2016 OpenMarket Ltd .. Copyright 2017 New Vector Ltd +.. Copyright 2018 New Vector Ltd .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. @@ -232,38 +233,7 @@ This API can return keys for servers that are offline by using cached responses taken from when the server was online. Keys can be queried from multiple servers to mitigate against DNS spoofing. -Example request: - -.. code:: - - GET /_matrix/key/v2/query/{server_name}/{key_id}/?minimum_valid_until_ts={minimum_valid_until_ts} HTTP/1.1 - - POST /_matrix/key/v2/query HTTP/1.1 - Content-Type: application/json - - { - "server_keys": { - "{server_name}": { - "{key_id}": { - "minimum_valid_until_ts": {posix_timestamp} - } - } - } - } - - -Response: - -.. code:: - - HTTP/1.1 200 OK - Content-Type: application/json - { - "server_keys": [ - # List of responses with same format as /_matrix/key/v2/server - # signed by both the originating server and this server. - ] - } +{{keys_ss_http_api}} Version 1 +++++++++ From 96889f16e93aed1a273d0e9ef4621ab079b64f32 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Jul 2018 13:20:44 -0600 Subject: [PATCH 534/801] Split out and fix the /server and /query key APIs --- .../{keys.yaml => keys_query.yaml} | 39 ++++------------ api/server-server/keys_server.yaml | 42 +++++++++++++++++ specification/server_server_api.rst | 46 +------------------ 3 files changed, 53 insertions(+), 74 deletions(-) rename api/server-server/{keys.yaml => keys_query.yaml} (72%) create mode 100644 api/server-server/keys_server.yaml diff --git a/api/server-server/keys.yaml b/api/server-server/keys_query.yaml similarity index 72% rename from api/server-server/keys.yaml rename to api/server-server/keys_query.yaml index e8e5167dd..c0811dbc2 100644 --- a/api/server-server/keys.yaml +++ b/api/server-server/keys_query.yaml @@ -23,23 +23,6 @@ basePath: /_matrix/key/v2 produces: - application/json paths: - "/server/{keyId}": - get: - summary: Get the server's key - description: Get the server's key - operationId: getServerKey - parameters: - - in: path - name: keyId - type: string - description: Key ID - required: false - x-example: TODO # No examples in the spec so far - responses: - 200: - description: The server's keys - schema: - $ref: "definitions/keys.yaml" "/query/{serverName}/{keyId}": get: summary: Retreive a server key @@ -100,20 +83,16 @@ paths: name: ServerName description: The server names to query additionalProperties: - type: array - name: ServerKey + type: object + title: Query Criteria description: The server keys to query - items: - type: object - title: Query Criteria - description: The query criteria - properties: - minimum_valid_until_ts: - type: integer - format: int64 - description: Minimum Valid Until MS - required: true # TODO: Verify - x-example: 1234567890 + properties: + minimum_valid_until_ts: + type: integer + format: int64 + description: Minimum Valid Until MS + required: true # TODO: Verify + example: 1234567890 responses: 200: description: The keys for the server diff --git a/api/server-server/keys_server.yaml b/api/server-server/keys_server.yaml new file mode 100644 index 000000000..819a2599d --- /dev/null +++ b/api/server-server/keys_server.yaml @@ -0,0 +1,42 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Key Exchange API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/key/v2 +produces: + - application/json +paths: + "/server/{keyId}": + get: + summary: Get the server's key + description: Get the server's key + operationId: getServerKey + parameters: + - in: path + name: keyId + type: string + description: Key ID + required: false + x-example: TODO # No examples in the spec so far + responses: + 200: + description: The server's keys + schema: + $ref: "definitions/keys.yaml" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 861519910..925076871 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -167,50 +167,8 @@ If a server goes offline intermediate notary servers should continue to return the last response they received from that server so that the signatures of old events sent by that server can still be checked. -==================== =================== ====================================== - Key Type Description -==================== =================== ====================================== -``server_name`` String DNS name of the homeserver. -``verify_keys`` Object Public keys of the homeserver for - verifying digital signatures. -``old_verify_keys`` Object The public keys that the server used - to use and when it stopped using them. -``signatures`` Object Digital signatures for this object - signed using the ``verify_keys``. -``tls_fingerprints`` Array of Objects Hashes of X.509 TLS certificates used - by this server encoded as `Unpadded Base64`_. -``valid_until_ts`` Integer POSIX timestamp when the list of valid - keys should be refreshed. -==================== =================== ====================================== - +{{keys_server_ss_http_api}} -.. code:: json - - { - "old_verify_keys": { - "ed25519:auto1": { - "expired_ts": 922834800000, - "key": "Base+64+Encoded+Old+Verify+Key" - } - }, - "server_name": "example.org", - "signatures": { - "example.org": { - "ed25519:auto2": "Base+64+Encoded+Signature" - } - }, - "tls_fingerprints": [ - { - "sha256": "Base+64+Encoded+SHA-256-Fingerprint" - } - ], - "valid_until_ts": 1052262000000, - "verify_keys": { - "ed25519:auto2": { - "key": "Base+64+Encoded+Signature+Verification+Key" - } - } - } Querying Keys Through Another Server ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -233,7 +191,7 @@ This API can return keys for servers that are offline by using cached responses taken from when the server was online. Keys can be queried from multiple servers to mitigate against DNS spoofing. -{{keys_ss_http_api}} +{{keys_query_ss_http_api}} Version 1 +++++++++ From 3e13ec2841e2d8c0a67a4e4ae595734d5dc3e757 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Jul 2018 13:43:15 -0600 Subject: [PATCH 535/801] Fix required properties in POST /query --- api/server-server/keys_query.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index c0811dbc2..1ba0f5ba3 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -77,7 +77,6 @@ paths: server_keys: type: object description: The query criteria - required: true additionalProperties: type: object name: ServerName @@ -91,8 +90,8 @@ paths: type: integer format: int64 description: Minimum Valid Until MS - required: true # TODO: Verify example: 1234567890 + required: ['server_keys'] responses: 200: description: The keys for the server From 374ec00046d0366c88a8e6cfd40c70c9624ed264 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 11 Jul 2018 16:51:24 -0600 Subject: [PATCH 536/801] Convert things that mention "Transaction" to swagger There's two kinds of transactions currently: one with EDUs and one without. The one with EDUs is only used on /send, however the schema is still somewhat worth splitting out for simplicity. The examples are brought apart to make them slightly more reusable for when they get dumped into the relevant sections of the spec (see TODO in server_server_api.rst) Further, the Transactions stuff introduces tuples to the spec. The units.py has been updated to support this. --- api/server-server/definitions/edu.yaml | 37 +++++ .../definitions/full_transaction.yaml | 28 ++++ api/server-server/definitions/pdu.yaml | 146 ++++++++++++++++++ .../definitions/transaction.yaml | 35 +++++ api/server-server/events.yaml | 118 ++++++++++++++ api/server-server/examples/edu.json | 8 + .../examples/full_transaction.json | 6 + api/server-server/examples/pdu.json | 25 +++ api/server-server/examples/transaction.json | 5 + api/server-server/transactions.yaml | 51 ++++++ scripts/templating/matrix_templates/units.py | 25 ++- specification/server_server_api.rst | 55 +------ 12 files changed, 485 insertions(+), 54 deletions(-) create mode 100644 api/server-server/definitions/edu.yaml create mode 100644 api/server-server/definitions/full_transaction.yaml create mode 100644 api/server-server/definitions/pdu.yaml create mode 100644 api/server-server/definitions/transaction.yaml create mode 100644 api/server-server/events.yaml create mode 100644 api/server-server/examples/edu.json create mode 100644 api/server-server/examples/full_transaction.json create mode 100644 api/server-server/examples/pdu.json create mode 100644 api/server-server/examples/transaction.json create mode 100644 api/server-server/transactions.yaml diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml new file mode 100644 index 000000000..4597ca623 --- /dev/null +++ b/api/server-server/definitions/edu.yaml @@ -0,0 +1,37 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# TODO: Address any concerns about this being inaccurate (flagged as such in the EDUs section) + +type: object +title: Ephemeral Data Unit +description: An ephemeral data unit +example: + $ref: "../examples/edu.json" +properties: + edu_type: + type: string + description: The type of ephemeral message + example: "!abc123:matrix.org" + origin: + type: string + description: The server name sending the ephemeral message + example: "matrix.org" + destination: + type: string + description: The server name receiving the ephemeral message + example: "elsewhere.com" + content: + type: object + description: The content of the ephemeral message diff --git a/api/server-server/definitions/full_transaction.yaml b/api/server-server/definitions/full_transaction.yaml new file mode 100644 index 000000000..39250433c --- /dev/null +++ b/api/server-server/definitions/full_transaction.yaml @@ -0,0 +1,28 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Transaction +description: Transaction +example: + $ref: "../examples/full_transaction.json" +allOf: + - $ref: "transaction.yaml" + - type: object + properties: + edus: + type: array + description: List of ephemeral messages. May be omitted if there are no ephemeral messages to be sent. + items: + $ref: "edu.yaml" +required: ['origin', 'origin_server_ts', 'pdus'] \ No newline at end of file diff --git a/api/server-server/definitions/pdu.yaml b/api/server-server/definitions/pdu.yaml new file mode 100644 index 000000000..b3f25ccf1 --- /dev/null +++ b/api/server-server/definitions/pdu.yaml @@ -0,0 +1,146 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Persistent Data Unit +description: A persistent data unit (event) +example: + $ref: "../examples/pdu.json" +properties: + room_id: + type: string + description: Room identifier + example: "!abc123:matrix.org" + sender: + type: string + description: The ID of the user sending the event + example: "@someone:matrix.org" + origin: + type: string + description: The ``server_name`` of the homeserver that created this event + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: Timestamp in milliseconds on origin homeserver when this event was created. + example: 1234567890 + type: + type: string + description: Event type + required: true + example: "m.room.message" + state_key: + type: string + description: |- + If this key is present, the event is a state event, and it will replace previous events + with the same ``type`` and ``state_key`` in the room state. + example: "my_key" + content: + type: object + description: The content of the event + prev_events: + type: array + description: |- + Event IDs and hashes of the most recent events in the room that the homeserver was aware + of when it made this event + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + depth: + type: integer + description: The maximum depth of the ``prev_events``, plus one + example: 12 + auth_events: + type: array + description: Event IDs and hashes for the "auth events" of this event + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + hashes: + type: object + title: Event Hash + description: Hashes of the PDU, following the algorithm specified in `Signing Events`_ + example: { + "sha256": "thishashcoversallfieldsincasethisisredacted" + } + properties: + sha256: + type: string + description: The hash + example: thishashcoversallfieldsincasethisisredacted + required: ['sha256'] + signatures: + type: object + description: |- + Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_ + example: { + "example.com": { + "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" + } + } + additionalProperties: + type: object + title: Server Signatures + additionalProperties: + type: string + redacts: + type: string + description: For redaction events, the ID of the event being redacted + example: "$def456:matrix.org" + unsigned: + type: object + description: Additional data added by the origin server but not covered by the ``signatures`` +required: + - room_id + - sender + - origin + - origin_server_ts + - type + - content + - prev_events + - depth + - auth_events + - hashes + - signatures diff --git a/api/server-server/definitions/transaction.yaml b/api/server-server/definitions/transaction.yaml new file mode 100644 index 000000000..630d2ba36 --- /dev/null +++ b/api/server-server/definitions/transaction.yaml @@ -0,0 +1,35 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Transaction +description: Transaction +example: + $ref: "../examples/transaction.json" +properties: + origin: + type: string + description: |- + The ``server_name`` of hoemserver sending this transaction + example: "example.org" + origin_server_ts: + type: integer + format: int64 + description: Timestamp in milliseconds on originating homeserver when this transaction started + example: 1234567890 + pdus: + type: array + description: List of persistent updates to rooms + items: + $ref: "pdu.yaml" +required: ['origin', 'origin_server_ts', 'pdus'] \ No newline at end of file diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml new file mode 100644 index 000000000..055883c26 --- /dev/null +++ b/api/server-server/events.yaml @@ -0,0 +1,118 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Events API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/state/{roomId}": + get: + summary: Get all the state of a given room + description: |- + Retrieves a snapshot of the entire current state of the given room. + operationId: getRoomState + parameters: + - in: path + name: roomId + type: string + description: The room ID to get state for + required: true + x-example: "!abc123:matrix.org" + responses: + 200: + description: The room state for the room (kept under ``pdus``) + schema: + $ref: "definitions/transaction.yaml" + "/event/{eventId}": + get: + summary: Get a single event + description: |- + Retrieves a single event + operationId: getEvent + parameters: + - in: path + name: eventId + type: string + description: The event ID to get + required: true + x-example: "$abc123:matrix.org" + responses: + 200: + description: A transaction containing a single PDU which is the event requested + schema: + $ref: "definitions/transaction.yaml" + "/backfill/{roomId}": + get: + summary: Retrieves the events which precede the given event + description: |- + Retreives a sliding-window history of previous PDUs that occurred on the given room. + Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it + are retrived, up to the total number given by the ``limit``. + operationId: backfillRoom + parameters: + - in: path + name: roomId + type: string + description: The room ID to backfill + required: true + x-example: "!abc123:matrix.org" + - in: query + name: v + type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it + description: The event ID to backfill from + required: true + x-example: "$abc123:matrix.org" + - in: query + name: limit + type: integer + description: The maximum number of events to retrieve + required: true # TODO: Verify + x-example: 10 + responses: + 200: + description: A transaction containing the PDUs that preceded the given event(s). + schema: + $ref: "definitions/transaction.yaml" + "/pull": + get: + summary: Stream events later than a given point in history + description: |- + Retrieves all of the transactions later than any version given by the ``v`` arguments. + operationId: pull + parameters: + - in: query + name: v + type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it + description: The event ID to backfill from + required: true + x-example: "$abc123:matrix.org" + - in: query + name: origin + type: string + description: The origin # TODO: What is this actually? + required: true # TODO: Verify + x-example: "matrix.org" + responses: + 200: + # TODO: This could do with a better description + description: A transaction containing multiple PDUs + schema: + $ref: "definitions/transaction.yaml" \ No newline at end of file diff --git a/api/server-server/examples/edu.json b/api/server-server/examples/edu.json new file mode 100644 index 000000000..95a7b55d9 --- /dev/null +++ b/api/server-server/examples/edu.json @@ -0,0 +1,8 @@ +{ + "edu_type": "m.presence", + "origin": "blue", + "destination": "orange", + "content": { + "key": "value" + } +} \ No newline at end of file diff --git a/api/server-server/examples/full_transaction.json b/api/server-server/examples/full_transaction.json new file mode 100644 index 000000000..c453d6ed3 --- /dev/null +++ b/api/server-server/examples/full_transaction.json @@ -0,0 +1,6 @@ +{ + "origin": "matrix.org", + "origin_server_ts": 1234567890, + "pdus": [{"$ref": "pdu.json"}], + "edus": [{"$ref": "edu.json"}] +} \ No newline at end of file diff --git a/api/server-server/examples/pdu.json b/api/server-server/examples/pdu.json new file mode 100644 index 000000000..531f4a374 --- /dev/null +++ b/api/server-server/examples/pdu.json @@ -0,0 +1,25 @@ +{ + "room_id": "!UcYsUzyxTGDxLBEvLy:example.org", + "sender": "@alice:example.com", + "origin": "example.com", + "event_id": "$a4ecee13e2accdadf56c1025:example.com", + "origin_server_ts": 1404838188000, + "type": "m.room.message", + "prev_events": [ + [ + "$af232176:example.org", + {"sha256": "abase64encodedsha256hashshouldbe43byteslong"} + ] + ], + "hashes": { + "sha256": "thishashcoversallfieldsincasethisisredacted" + }, + "signatures": { + "example.com": { + "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" + } + }, + "content": { + "key": "value" + } +} \ No newline at end of file diff --git a/api/server-server/examples/transaction.json b/api/server-server/examples/transaction.json new file mode 100644 index 000000000..bd8ac3dc7 --- /dev/null +++ b/api/server-server/examples/transaction.json @@ -0,0 +1,5 @@ +{ + "origin": "matrix.org", + "origin_server_ts": 1234567890, + "pdus": [{"$ref": "pdu.json"}] +} \ No newline at end of file diff --git a/api/server-server/transactions.yaml b/api/server-server/transactions.yaml new file mode 100644 index 000000000..389eecc7e --- /dev/null +++ b/api/server-server/transactions.yaml @@ -0,0 +1,51 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Transaction API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/send/{txnId}": + put: + summary: Send a transaction + description: |- + Push messages representing live activity to another server. The destination name + will be set to that of the receiving server itself. Each embedded PDU in the + transaction body will be processed. + operationId: sendTransaction + parameters: + - in: path + name: txnId + type: string + # TODO: "Overrides any ID given in the JSON body" - What does this mean? + description: |- + The transaction ID. Overrides any ID given in the JSON body. + required: true + x-example: TODO # No examples in the spec so far + - in: body + name: body + type: object + schema: + $ref: "definitions/full_transaction.yaml" + responses: + 200: + # TODO: Spec this (and figure out what it is) + description: TODO diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index dac183d1f..7819dbf90 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -292,10 +292,19 @@ def process_data_type(prop, required=False, enforce_title=True): is_object = True elif prop_type == "array": - nested = process_data_type(prop["items"]) - prop_title = "[%s]" % nested["title"] - tables = nested["tables"] - enum_desc = nested["enum_desc"] + items = prop["items"] + if isinstance(items, list): + prop_title = "[" + for i in items: + nested = process_data_type(i) + tables.extend(nested['tables']) + prop_title = "%s%s, " % (prop_title, nested['title']) + prop_title = prop_title[:-2] + "]" + else: + nested = process_data_type(prop["items"]) + prop_title = "[%s]" % nested["title"] + tables = nested["tables"] + enum_desc = nested["enum_desc"] else: prop_title = prop_type @@ -505,7 +514,13 @@ class MatrixUnits(Units): if val_type == "array": items = param.get("items") if items: - val_type = "[%s]" % items.get("type") + if isinstance(items, list): + val_type = "[" + for i in items: + val_type += "%s, " % items.get("type") + val_type = val_type[:-2] + "]" + else: + val_type = "[%s]" % items.get("type") if param.get("enum"): val_type = "enum" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f2b3204ab..7b66584dc 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -360,6 +360,10 @@ the destination. PDU Fields ~~~~~~~~~~ +.. TODO-spec + + Figure out how to embed swagger definitions in here (or improve the section) + ==================== ================== ======================================= Key Type Description ==================== ================== ======================================= @@ -749,57 +753,10 @@ All these URLs are name-spaced within a prefix of:: /_matrix/federation/v1/... -For active pushing of messages representing live activity "as it happens":: - - PUT .../send/<transaction_id>/ - Body: JSON encoding of a single Transaction - Response: TODO-doc - -The transaction_id path argument will override any ID given in the JSON body. -The destination name will be set to that of the receiving server itself. Each -embedded PDU in the transaction body will be processed. - - -To fetch all the state of a given room:: - - GET .../state/<room_id>/ - Response: JSON encoding of a single Transaction containing multiple PDUs - -Retrieves a snapshot of the entire current state of the given room. The -response will contain a single Transaction, inside which will be a list of PDUs -that encode the state. - - -To fetch a particular event:: - - GET .../event/<event_id>/ - Response: JSON encoding of a partial Transaction containing the event - -Retrieves a single event. The response will contain a partial Transaction, -having just the ``origin``, ``origin_server_ts`` and ``pdus`` fields; the -event will be encoded as the only PDU in the ``pdus`` list. - - -To backfill events on a given room:: - - GET .../backfill/<room_id>/ - Query args: v, limit - Response: JSON encoding of a single Transaction containing multiple PDUs - -Retrieves a sliding-window history of previous PDUs that occurred on the given -room. Starting from the PDU ID(s) given in the "v" argument, the PDUs that -preceded it are retrieved, up to a total number given by the "limit" argument. - - -To stream all the events:: - - GET .../pull/ - Query args: origin, v - Response: JSON encoding of a single Transaction consisting of multiple PDUs -Retrieves all of the transactions later than any version given by the "v" -arguments. +{{transactions_ss_http_api}} +{{events_ss_http_api}} To make a query:: From 114bcf1a2e1d612c15a735612e8a8f0ab9fb3b4f Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Fri, 6 Jul 2018 10:28:57 +0100 Subject: [PATCH 537/801] Use $ref, clean up, fix errors, AS is now a C-S module. --- .../application_service.yaml | 192 +---- .../definitions/schema/location.yaml | 30 + .../definitions/schema/location_batch.yaml | 17 + .../definitions/schema/protocol.yaml | 79 ++ .../definitions/schema/protocol_metadata.yaml | 66 ++ .../definitions/schema/user.yaml | 31 + .../definitions/schema/user_batch.yaml | 17 + api/client-server/third_party_lookup.yaml | 209 +---- specification/feature_profiles.rst | 2 + .../application_services.rst} | 2 + specification/proposals.rst | 770 +----------------- specification/targets.yaml | 2 +- 12 files changed, 323 insertions(+), 1094 deletions(-) create mode 100644 api/application-service/definitions/schema/location.yaml create mode 100644 api/application-service/definitions/schema/location_batch.yaml create mode 100644 api/application-service/definitions/schema/protocol.yaml create mode 100644 api/application-service/definitions/schema/protocol_metadata.yaml create mode 100644 api/application-service/definitions/schema/user.yaml create mode 100644 api/application-service/definitions/schema/user_batch.yaml rename specification/{third_party_lookup.rst => modules/application_services.rst} (94%) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 86411ffa2..b68cbe187 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -131,7 +131,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -140,7 +140,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: |- The application service indicates that this room alias does not exist. @@ -150,7 +150,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/users/{userId}": get: summary: Query if a user should exist on the application service. @@ -187,7 +187,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -196,7 +196,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: |- The application service indicates that this user does not exist. @@ -206,7 +206,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/_matrix/app/unstable/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. @@ -219,44 +219,14 @@ paths: - in: path name: protocol type: string - description: |- - The name of the protocol. + description: The protocol ID. required: true x-example: "irc" responses: 200: description: The protocol was found and metadata returned. - examples: - application/json: { - "user_fields": ["network", "nickname"], - "location_fields": ["network", "channel"], - "icon": "mxc://example.org/aBcDeFgH", - "field_types": { - "network": { - "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", - "placeholder": "irc.example.org" - }, - "nickname": { - "regexp": "[^\\s]+", - "placeholder": "username" - }, - "channel": { - "regexp": "#[^\\s]+", - "placeholder": "#foobar" - } - }, - "instances": [ - { - "desc": "Freenode", - "icon": "mxc://example.org/JkLmNoPq", - "fields": { - "network": "freenode.net", - } - } - ] - } schema: - type: object + $ref: definitions/schema/protocol_metadata.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -266,7 +236,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -275,7 +245,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: No protocol was found with the given path. examples: @@ -283,20 +253,20 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/_matrix/app/unstable/thirdparty/user/{protocol}": get: - summary: Retrieve the Matrix ID of a corresponding third party user. + summary: Retrieve the Matrix User ID of a corresponding third party user. description: |- - This API is called by the homeserver in order to retrieve a Matrix ID linked - to a user on the external service, given a set of user parameters. + This API is called by the homeserver in order to retrieve a Matrix + User ID linked to a user on the third party network, given a set of + user parameters. operationId: queryUserByProtocol parameters: - in: path name: protocol type: string - description: |- - The name of the protocol. + description: The protocol ID. required: true x-example: irc - in: query @@ -307,35 +277,9 @@ paths: service to help identify the user. responses: 200: - description: The Matrix IDs found with the given parameters. - examples: - application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] + description: The Matrix User IDs found with the given parameters. schema: - type: array - description: Matched users. - items: - type: object - title: User - schema: - userid: - type: string - description: The Matrix ID of the matched user. - protocol: - type: string - description: The third party protocol. - fields: - type: object - description: The third party network fields used to identify this user. - properties: - user: - type: string - description: An example field, in this case the username for a Gitter user. + $ref: definitions/schema/user_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -345,7 +289,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -354,7 +298,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: No users were found with the given parameters. examples: @@ -362,27 +306,20 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/_matrix/app/unstable/thirdparty/location/{protocol}": get: summary: Retreive Matrix-side portal rooms leading to a third party location. description: |- - Requesting this endpoint with a valid protocol name results in a list - of successful mapping results in a JSON array. Each result contains - objects to represent the Matrix room or rooms that represent a portal - to this third party network. Each has the Matrix room alias string, - an identifier for the particular third party network protocol, and an - object containing the network-specific fields that comprise this - identifier. It should attempt to canonicalise the identifier as much - as reasonably possible given the network type. + Retrieve a list of Matrix portal rooms that lead to the matched third party location. operationId: queryLocationByProtocol parameters: - in: path name: protocol type: string - description: The protocol used to communicate to the third party network. + description: The protocol ID. required: true - x-example: "irc" + x-example: irc - in: query name: field1, field2... type: string @@ -392,23 +329,8 @@ paths: responses: 200: description: At least one portal room was found. - examples: - application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] schema: - type: array - description: |- - Array of portal rooms leading to the requested third party - location. - items: - type: object - title: Portal Room + $ref: definitions/schema/location_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -418,7 +340,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -427,7 +349,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -435,7 +357,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/_matrix/app/unstable/thirdparty/location": get: summary: Reverse-lookup third party locations given a Matrix room alias. @@ -444,30 +366,16 @@ paths: alias. operationId: queryLocationByAlias parameters: - - in: query - name: alias - type: string - description: The Matrix room alias to look up. + - in: query + name: alias + type: string + description: The Matrix room alias to look up. responses: 200: description: |- - All found third party locations. Same response format as the - forward lookup response. - examples: - application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] + All found third party locations. schema: - type: array - description: Matched third party locations. - items: - type: object - title: Location + $ref: definitions/schema/location_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -477,7 +385,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -486,7 +394,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -494,36 +402,24 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object + $ref: ../client-server/definitions/error.yaml "/_matrix/app/unstable/thirdparty/user": get: - summary: Reverse-lookup third party users given a Matrix ID. + summary: Reverse-lookup third party users given a Matrix User ID. description: |- - Retreive an array of third party users from a Matrix ID. + Retreive an array of third party users from a Matrix User ID. operationId: queryUserByID parameters: - in: query name: userid type: string - description: The Matrix ID to look up. + description: The Matrix User ID to look up. responses: 200: description: |- An array of third party users. - examples: - application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] schema: - type: array - description: Matched third party users - items: - type: object - title: User + $ref: definitions/schema/user_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -533,7 +429,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -542,7 +438,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - type: object + $ref: ../client-server/definitions/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -550,4 +446,4 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - type: object \ No newline at end of file + $ref: ../client-server/definitions/error.yaml \ No newline at end of file diff --git a/api/application-service/definitions/schema/location.yaml b/api/application-service/definitions/schema/location.yaml new file mode 100644 index 000000000..4967ef61f --- /dev/null +++ b/api/application-service/definitions/schema/location.yaml @@ -0,0 +1,30 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +properties: + alias: + description: An alias for a matrix room. + type: string + example: "#freenode_#matrix:matrix.org" + protocol: + description: The protocol ID that the third party location is a part of. + type: string + example: irc + fields: + description: Information used to identify this third party location. + type: object + example: + "network": "freenode" + "channel": "#matrix" +title: Location +type: object \ No newline at end of file diff --git a/api/application-service/definitions/schema/location_batch.yaml b/api/application-service/definitions/schema/location_batch.yaml new file mode 100644 index 000000000..3f6de9df0 --- /dev/null +++ b/api/application-service/definitions/schema/location_batch.yaml @@ -0,0 +1,17 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: array +description: List of matched third party locations. +items: + $ref: location.yaml diff --git a/api/application-service/definitions/schema/protocol.yaml b/api/application-service/definitions/schema/protocol.yaml new file mode 100644 index 000000000..231e8288a --- /dev/null +++ b/api/application-service/definitions/schema/protocol.yaml @@ -0,0 +1,79 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +properties: + user_fields: + description: Fields used to identify a third party user. + type: array + items: + type: string + description: Field used to identify a third party user. + example: ["network", "nickname"] + location_fields: + description: Fields used to identify a third party location. + type: array + items: + type: string + description: Field used to identify a third party location. + example: ["network", "channel"] + icon: + description: An icon representing the third party protocol. + type: string + example: "mxc://example.org/aBcDeFgH" + field_types: + title: Field Types + description: All location or user fields should have an entry here. + type: object + properties: + fieldname: + title: Field Type + description: Definition of valid values for a field. + type: object + properties: + regexp: + description: A regular expression for validation of a field's value. + type: string + placeholder: + description: An placeholder serving as a valid example of the field value. + type: string + example: { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s#]+", + "placeholder": "username" + }, + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + } + instances: + description: |- + A list of objects representing independent instances of configuration. + For instance multiple networks on IRC if multiple are bridged by the + same bridge. + type: array + items: + type: object + example: { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", + } + } +title: Protocol +type: object \ No newline at end of file diff --git a/api/application-service/definitions/schema/protocol_metadata.yaml b/api/application-service/definitions/schema/protocol_metadata.yaml new file mode 100644 index 000000000..722640602 --- /dev/null +++ b/api/application-service/definitions/schema/protocol_metadata.yaml @@ -0,0 +1,66 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +description: Dictionary of supported third party protocols. +example: { + "irc": { + "user_fields": ["network", "nickname"], + "location_fields": ["network", "channel"], + "icon": "mxc://example.org/aBcDeFgH", + "field_types": { + "network": { + "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", + "placeholder": "irc.example.org" + }, + "nickname": { + "regexp": "[^\\s]+", + "placeholder": "username" + }, + "channel": { + "regexp": "#[^\\s]+", + "placeholder": "#foobar" + } + }, + "instances": [ + { + "desc": "Freenode", + "icon": "mxc://example.org/JkLmNoPq", + "fields": { + "network": "freenode.net", + } + } + ] + }, + "gitter": { + "user_fields": ["username"], + "location_fields": ["room"], + "field_types": { + "username": { + "regexp": "@[^\\s]+", + "placeholder": "@username" + }, + "room": { + "regexp": "[^\\s]+\\/[^\\s]+", + "placeholder": "matrix-org/matrix-doc" + } + }, + "instances": [ + { + "desc": "Gitter", + "icon": "mxc://example.org/zXyWvUt", + "fields": {} + } + ] + } +} \ No newline at end of file diff --git a/api/application-service/definitions/schema/user.yaml b/api/application-service/definitions/schema/user.yaml new file mode 100644 index 000000000..5f8d0460f --- /dev/null +++ b/api/application-service/definitions/schema/user.yaml @@ -0,0 +1,31 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# TODO: Change userid to user_id as a breaking change +properties: + userid: + description: A Matrix User ID represting a third party user. + type: string + example: "@_gitter_jim:matrix.org" + protocol: + description: The protocol ID that the third party location is a part of. + type: string + example: gitter + fields: + description: Information used to identify this third party location. + type: object + example: + "user": "jim" +title: Location +type: object \ No newline at end of file diff --git a/api/application-service/definitions/schema/user_batch.yaml b/api/application-service/definitions/schema/user_batch.yaml new file mode 100644 index 000000000..3653feb44 --- /dev/null +++ b/api/application-service/definitions/schema/user_batch.yaml @@ -0,0 +1,17 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: array +description: List of matched third party users. +items: + $ref: user.yaml diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 343cf2b77..863896030 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/thirdparty/protocols": get: @@ -36,60 +38,8 @@ paths: responses: 200: description: The protocols supported by the homeserver. - examples: - application/json: { - "irc": { - "user_fields": ["network", "nickname"], - "location_fields": ["network", "channel"], - "icon": "mxc://example.org/aBcDeFgH", - "field_types": { - "network": { - "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", - "placeholder": "irc.example.org" - }, - "nickname": { - "regexp": "[^\\s]+", - "placeholder": "username" - }, - "channel": { - "regexp": "#[^\\s]+", - "placeholder": "#foobar" - } - }, - "instances": [ - { - "desc": "Freenode", - "icon": "mxc://example.org/JkLmNoPq", - "fields": { - "network": "freenode.net", - } - } - ] - }, - "gitter": { - "user_fields": ["username"], - "location_fields": ["room"], - "field_types": { - "username": { - "regexp": "@[^\\s]+", - "placeholder": "@username" - }, - "room": { - "regexp": "[^\\s]+\\/[^\\s]+", - "placeholder": "matrix-org/matrix-doc" - } - }, - "instances": [ - { - "desc": "Gitter", - "icon": "mxc://example.org/zXyWvUt", - "fields": {} - } - ] - } - } schema: - type: object + $ref: ../application-service/definitions/schema/protocol_metadata.yaml "/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the homeserver supports. @@ -107,45 +57,16 @@ paths: responses: 200: description: The protocol was found and metadata returned. - examples: - application/json: { - "user_fields": ["network", "nickname"], - "location_fields": ["network", "channel"], - "icon": "mxc://example.org/aBcDeFgH", - "field_types": { - "network": { - "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", - "placeholder": "irc.example.org" - }, - "nickname": { - "regexp": "[^\\s#]+", - "placeholder": "username" - }, - "channel": { - "regexp": "#[^\\s]+", - "placeholder": "#foobar" - } - }, - "instances": [ - { - "desc": "Freenode", - "icon": "mxc://example.org/JkLmNoPq", - "fields": { - "network": "freenode.net", - } - } - ] - } schema: - type: object + $ref: ../application-service/definitions/schema/protocol.yaml 404: - description: The protocol is unknown + description: The protocol is unknown. examples: application/json: { "errcode": "M_NOT_FOUND" } schema: - type: object + $ref: definitions/error.yaml "/thirdparty/location/{protocol}": get: summary: Retreive Matrix-side portals rooms leading to a third party location. @@ -165,9 +86,9 @@ paths: type: string description: The protocol used to communicate to the third party network. required: true - x-example: "irc" + x-example: irc - in: query - name: field1, field2... + name: searchFields type: string description: |- One or more custom fields to help identify the third party @@ -175,36 +96,21 @@ paths: responses: 200: description: At least one portal room was found. - examples: - application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] schema: - type: array - description: |- - Array of portal rooms leading to the requested third party - location. - items: - type: object - title: Portal Room + $ref: ../application-service/definitions/schema/location_batch.yaml 404: - description: The Matrix room alias was not found + description: No portal rooms were found. examples: application/json: { "errcode": "M_NOT_FOUND" } schema: - type: object + $ref: definitions/error.yaml "/thirdparty/user/{protocol}": get: - summary: Retrieve the Matrix ID of a corresponding third party user. + summary: Retrieve the Matrix User ID of a corresponding third party user. description: |- - Retrieve a Matrix ID linked to a user on the third party service, given + Retrieve a Matrix User ID linked to a user on the third party service, given a set of user parameters. operationId: queryUserByProtocol parameters: @@ -222,43 +128,16 @@ paths: One or more custom fields that are passed to the AS to help identify the user. responses: 200: - description: The Matrix IDs found with the given parameters. - examples: - application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] - schema: - type: array - description: Matched users. - items: - type: object - title: User - schema: - userid: - type: string - description: The Matrix ID of the matched user. - protocol: - type: string - description: The third party protocol. - fields: - type: object - description: The third party network fields used to identify this user. - properties: - user: - type: string - description: An example field, in this case the username for a Gitter user. + description: The Matrix User IDs found with the given parameters. + $ref: ../application-service/definitions/schema/user_batch.yaml 404: - description: The Matrix ID was not found + description: The Matrix User ID was not found examples: application/json: { "errcode": "M_NOT_FOUND" } schema: - type: object + $ref: definitions/error.yaml "/thirdparty/location": get: summary: Reverse-lookup third party locations given a Matrix room alias. @@ -267,30 +146,17 @@ paths: alias. operationId: queryLocationByAlias parameters: - - in: path - name: alias - type: string - description: The Matrix room alias to look up. + - in: path + name: alias + type: string + description: The Matrix room alias to look up. + required: true responses: 200: description: |- - All found third party locations. Same response format as the - forward lookup response. - examples: - application/json: [{ - "alias": "#freenode_#matrix:matrix.org", - "protocol": "irc", - "fields": { - "network": "freenode", - "channel": "#matrix" - } - }] + All found third party locations. schema: - type: array - description: Matched third party locations. - items: - type: object - title: Location + $ref: ../application-service/definitions/schema/location_batch.yaml 404: description: The Matrix room alias was not found examples: @@ -298,41 +164,30 @@ paths: "errcode": "M_NOT_FOUND" } schema: - type: object + $ref: definitions/error.yaml "/thirdparty/user": get: - summary: Reverse-lookup third party users given a Matrix ID. + summary: Reverse-lookup third party users given a Matrix User ID. description: |- - Retreive an array of third party users from a Matrix ID. + Retreive an array of third party users from a Matrix User ID. operationId: queryUserByID parameters: - in: path name: userid type: string - description: The Matrix ID to look up. + description: The Matrix User ID to look up. + required: true responses: 200: description: |- An array of third party users. - examples: - application/json: [{ - "userid": "@_gitter_jim:matrix.org", - "protocol": "gitter", - "fields": { - "user": "jim" - } - }] schema: - type: array - description: Matched third party users - items: - type: object - title: User + $ref: ../application-service/definitions/schema/user_batch.yaml 404: - description: The Matrix ID was not found + description: The Matrix User ID was not found examples: application/json: { "errcode": "M_NOT_FOUND" } schema: - type: object \ No newline at end of file + $ref: definitions/error.yaml \ No newline at end of file diff --git a/specification/feature_profiles.rst b/specification/feature_profiles.rst index 7fc9696de..97d0de0ea 100644 --- a/specification/feature_profiles.rst +++ b/specification/feature_profiles.rst @@ -42,6 +42,7 @@ Summary `Server Side Search`_ Optional Optional Optional Optional Optional `Server Administration`_ Optional Optional Optional Optional Optional `Event Context`_ Optional Optional Optional Optional Optional + `Application Services`_ Optional Optional Optional Optional Optional ===================================== ========== ========== ========== ========== ========== *Please see each module for more details on what clients need to implement.* @@ -57,6 +58,7 @@ Summary .. _Server Side Search: `module:search`_ .. _Server Administration: `module:admin`_ .. _Event Context: `module:event-context`_ +.. _Application Services: `module:application-services`_ Clients ------- diff --git a/specification/third_party_lookup.rst b/specification/modules/application_services.rst similarity index 94% rename from specification/third_party_lookup.rst rename to specification/modules/application_services.rst index 6325dca0c..52e35dc8d 100644 --- a/specification/third_party_lookup.rst +++ b/specification/modules/application_services.rst @@ -1,6 +1,8 @@ Application Services ==================== +.. _module:application-services: + An application service is a separate program that interacts with a homeserver and provides various bits of functionality that would otherwise not make sense to include directly in the homeserver. This ranges from bots, which can diff --git a/specification/proposals.rst b/specification/proposals.rst index d04edfa84..371850ab3 100644 --- a/specification/proposals.rst +++ b/specification/proposals.rst @@ -1,772 +1,6 @@ Tables of Tracked Proposals --------------------------- -proposal-wip -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This file is autogenerated by a jenkins build process -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_ - - Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5) - - 2014-09-15 - - 2018-05-15 - - `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_ - - `@KitsuneRal`_ - - None - - - * - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_ - - Federation API for canonicalising MXIDs - - 2014-10-27 - - 2018-05-15 - - `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_ - - Extensible Profiles. (SPEC-93) - - 2015-01-19 - - 2018-05-15 - - `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_ - - Matrix Escape Hatch (Versioned Rooms) - - 2015-10-22 - - 2018-05-15 - - `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_ - - `@leonerd`_ - - None - - - * - `MSC1148 <https://github.com/matrix-org/matrix-doc/issues/1148>`_ - - Support for websockets - - 2015-11-16 - - 2018-06-04 - - `1148-1 <https://github.com/matrix-org/matrix-doc/blob/master/drafts/websockets.rst>`_, `1148-2 <https://docs.google.com/document/d/104ClehFBgqLQbf4s-AKX2ijr8sOAxcizfcRs_atsB0g/edit>`_ - - `@richvdh`_, `@krombel`_ - - None - - - * - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_ - - Push to Talk - - 2016-04-13 - - 2018-05-15 - - `1238-1 <TBD>`_ - - `@aviraldg`_ - - None - - `PR#310`_ - * - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_ - - Threading API - - 2016-05-23 - - 2018-05-15 - - `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_ - - `@Half-Shot`_ - - None - - - * - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_ - - Publishing Room Lists for 3rd party networks - - 2016-10-21 - - 2018-05-31 - - `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_ - - Support for Reactions / Aggregations - - 2016-12-25 - - 2018-05-15 - - `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_ - - `@pik`_ - - `@ara4n`_ - - - * - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_ - - Improving m.location with GeoJSON and accuracy - - 2017-05-19 - - 2018-05-15 - - `1237-1 <TBD>`_ - - `@Half-Shot`_ - - None - - `PR#919`_ - * - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_ - - Add groups stuff to spec - - 2017-08-10 - - 2018-05-20 - - `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_ - - Groups as Rooms - - 2017-10-17 - - 2018-05-15 - - `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_ - - Visibility of groups to group members and their non-members - - 2017-10-30 - - 2018-05-15 - - `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_ - - `@lampholder`_ - - None - - - * - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_ - - Bridging group membership with 3rd party group sources - - 2017-11-15 - - 2018-05-15 - - `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_ - - Proposal for storing megolm keys serverside - - 2017-11-23 - - 2018-05-15 - - `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_ - - Improving Presence - - 2017-12-26 - - 2018-05-24 - - `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_ - - `@ara4n`_ - - None - - - * - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_ - - Pushing updates about Groups (Communities) to clients - - 2018-01-02 - - 2018-05-24 - - `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_ - - `@ara4n`_ - - None - - - * - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_ - - Extensible event types & fallback in Matrix - - 2018-02-18 - - 2018-05-15 - - `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_ - - `@ara4n`_ - - None - - - * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ - - Proposal for improved bot support - - 2018-03-14 - - 2018-06-08 - - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - - * - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_ - - Removing MXIDs from events - - 2018-04-19 - - 2018-05-15 - - `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_ - - `@richvdh`_ - - None - - - * - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_ - - Handling Consent for Privacy Policy - - 2018-05-02 - - 2018-05-15 - - `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_ - - `@neilisfragile`_ - - None - - - * - `MSC1267 <https://github.com/matrix-org/matrix-doc/issues/1267>`_ - - Interactive Key Verification - - 2018-05-28 - - 2018-05-28 - - `1267-1 <https://docs.google.com/document/d/1SXmyjyNqClJ5bTHtwvp8tT1Db4pjlGVxfPQNdlQILqU/edit#>`_ - - `@uhoreg`_ - - None - - - * - `MSC1280 <https://github.com/matrix-org/matrix-doc/issues/1280>`_ - - Mechanisms for communicating erasure requests to bots and federated homeservers - - 2018-06-05 - - 2018-06-05 - - `1280-1 <https://docs.google.com/document/d/17ssplT4pX80ebmyaFIYcXtINV88lBT83ddW9ZhjsDnI>`_ - - `@richvdh`_ - - None - - - * - `MSC688 <https://github.com/matrix-org/matrix-doc/issues/688>`_ - - Calculate room names server-side - - 2018-06-10 - - 2018-06-15 - - `688-1 <https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC1324 <https://github.com/matrix-org/matrix-doc/issues/1324>`_ - - Custom protocol definitions for application services - - 2018-06-20 - - 2018-06-20 - - `1324-1 <https://docs.google.com/document/d/1nCAGu9ZDqum39yj1-pun-sldCCHgeDA0tPqC94R4Qcg/edit?usp=sharing>`_ - - `@anoadragon453`_ - - None - - - * - `MSC1323 <https://github.com/matrix-org/matrix-doc/issues/1323>`_ - - AS traffic rate-limiting - - 2018-06-20 - - 2018-07-03 - - `1323-1 <https://docs.google.com/document/d/14ygfhAMUrAa04YMHHl2P8_mxV3H2ntNq_-crmZizED0/edit?usp=sharing>`_ - - `@anoadragon453`_ - - None - - - * - `MSC1322 <https://github.com/matrix-org/matrix-doc/issues/1322>`_ - - Mechanism to communicate 3PID binding updates or deletions to homeservers - - 2018-06-20 - - 2018-06-20 - - `1322-1 <https://docs.google.com/document/d/1LPHBfJQ6x5iOkm2_ZYPNHNjyAzJ4hWNdOGcPGpnEb14>`_ - - `@babolivier`_ - - None - - - - - -proposal-ready-for-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_ - - Proposal for lazy-loading room members to improve initial sync speed and client RAM usage - - 2018-03-05 - - 2018-06-10 - - `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_ - - Proposal for improved bot support - - 2018-03-14 - - 2018-06-08 - - `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - - * - `MSC1256 <https://github.com/matrix-org/matrix-doc/issues/1256>`_ - - Custom emoji and sticker packs in matrix - - 2018-05-23 - - 2018-05-24 - - `1256-1 <https://docs.google.com/document/d/1zHS14unA2Wb3DgTL5fiymlWKZo4WMJpmmJOgY_2g6pg/edit?usp=sharing>`_ - - `@turt2live`_ - - None - - - * - `MSC1270 <https://github.com/matrix-org/matrix-doc/issues/1270>`_ - - Proposal Add /_matrix/media/v1/resolve_url to Client-Server API: download and preview urls in the clients despite CORS - - 2018-05-31 - - 2018-06-19 - - `1270-1 <https://docs.google.com/document/d/1bbX1yxNETmMa-AxBGjIpb4lNoTuc3vjGXmbZWrNBlzM/edit?usp=sharing>`_ - - `@oivoodoo`_ - - None - - - * - `MSC701 <https://github.com/matrix-org/matrix-doc/issues/701>`_ - - Auth for content repo (and enforcing GDPR erasure) - - 2018-06-04 - - 2018-06-07 - - `701-1 <https://docs.google.com/document/d/1ERHpmthZyspnZtE3tQzxKTkcxar6JANeyNXgz2_djhA/edit#>`_ - - `@ara4n`_ - - None - - - * - `MSC1304 <https://github.com/matrix-org/matrix-doc/issues/1304>`_ - - Proposal to simplify the auth rules of m.room.power_level events. - - 2018-06-13 - - 2018-06-14 - - `1304-1 <https://docs.google.com/document/d/1YuaCFH3RzBUIAjJWFMzKROMDlttoP94KIsyV_F_kfNs/edit#heading=h.8b2tmd2n0vhz>`_ - - `@richvdh`_, `@ara4n`_ - - None - - - * - `MSC1301 <https://github.com/matrix-org/matrix-doc/issues/1301>`_ - - Proposal for improving authorization for the matrix profile API - - 2018-06-13 - - 2018-06-13 - - `1301-1 <https://docs.google.com/document/d/1G7JjyTuJlZHieuAflGFWmdKyNViGGLRTWON7AMl0wrM/edit#>`_ - - `@turt2live`_ - - None - - - * - `MSC1309 <https://github.com/matrix-org/matrix-doc/issues/1309>`_ - - Proposal for an application service management API - - 2018-06-14 - - 2018-06-15 - - `1309-1 <https://docs.google.com/document/d/1Y6bWdejrOiwL5UjnJ5VnOKoK6OfK6kX-pYbWT7f5czA/edit>`_ - - `@turt2live`_ - - None - - - * - `MSC1308 <https://github.com/matrix-org/matrix-doc/issues/1308>`_ - - Proposal for speeding up review of simple spec changes - - 2018-06-14 - - 2018-06-24 - - - - `@ara4n`_ - - None - - - * - `MSC1306 <https://github.com/matrix-org/matrix-doc/issues/1306>`_ - - Proposal to filter out traffic to Appservices based on filters - - 2018-06-14 - - 2018-06-14 - - `1306-1 <https://docs.google.com/document/d/1YhjKWTjIijdM40_4xePtU6LliDJT068IE0i09Yl1w6g/edit?usp=sharing>`_ - - `@Half-Shot`_ - - None - - - - - -proposal-in-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_ - - A way for HSes to remove bindings from ISes (aka unbind) - - 2018-05-09 - - 2018-06-05 - - `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_ - - `@dbkr`_ - - None - - - - - -proposal-passed-review -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_ - - Support for discovering API endpoints via .well-known URIs (SPEC-121) - - 2015-03-08 - - 2018-07-01 - - `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_ - - `@maxidor`_, `others`_ - - `@uhoreg`_ - - - * - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_ - - State Reset mitigation proposal - - 2018-02-20 - - 2018-05-15 - - `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_ - - `@richvdh`_ - - None - - - * - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_ - - Mitigating abuse of the event depth parameter over federation - - 2018-04-30 - - 2018-05-15 - - `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_ - - Media limits API - - 2018-05-04 - - 2018-06-21 - - `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_ - - `@Half-Shot`_ - - None - - `PR#1189`_ - * - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_ - - Matrix Widget API v2 - - 2018-05-13 - - 2018-05-15 - - `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_ - - `@rxl881`_ - - None - - - - - -spec-pr-missing -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_ - - Configuration of E2E encryption in a room - - 2016-06-16 - - 2018-05-31 - - `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_ - - `@richvdh`_ - - None - - - * - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_ - - Device Management API - - 2016-07-14 - - 2018-05-15 - - `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_ - - `@richvdh`_ - - None - - - * - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_ - - 3rd Party Entity lookup API - - 2016-07-21 - - 2018-07-02 - - `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_ - - `@leonerd`_ - - None - - - * - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_ - - Encrypted attachment format - - 2016-10-26 - - 2018-05-15 - - `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_ - - `@NegativeMjark`_ - - None - - - * - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_ - - Reporting inappropriate content in Matrix - - 2016-11-21 - - 2018-05-31 - - `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_ - - `@ara4n`_ - - None - - - * - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_ - - Megolm session export format - - 2017-01-03 - - 2018-05-15 - - `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_ - - `@richvdh`_ - - None - - - * - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_ - - Device List Update Stream - - 2017-01-18 - - 2018-05-15 - - `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_ - - `@richvdh`_ - - None - - - * - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_ - - Need to spec msisdn login API - - 2017-03-08 - - 2018-05-15 - - `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_ - - `@dbkr`_ - - None - - - * - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_ - - spec m.login.msisdn UI auth type - - 2017-03-24 - - 2018-05-15 - - `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_ - - `@dbkr`_ - - None - - - * - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_ - - Add new Read Marker API to docs - - 2017-05-08 - - 2018-05-15 - - - - `@lukebarnard1`_ - - None - - - * - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_ - - Spec @mentions - - 2017-07-14 - - 2018-05-15 - - `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_ - - Related Groups (i.e. flair) - - 2017-10-03 - - 2018-05-15 - - `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_ - - `@lukebarnard1`_ - - None - - - * - `MSC1033 <https://github.com/matrix-org/matrix-doc/issues/1033>`_ - - Doc @room notifications - - 2017-10-23 - - 2018-05-31 - - - - `@dbkr`_ - - None - - - * - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_ - - Document key-share requests - - 2018-04-30 - - 2018-05-31 - - `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_ - - `@richvdh`_ - - None - - - * - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_ - - Temporary mitigation for depth parameter abuse - - 2018-05-01 - - 2018-05-15 - - `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_ - - `@ara4n`_ - - None - - - * - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_ - - Rich Replies format - - 2018-05-12 - - 2018-05-18 - - `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_ - - `@t3chguy`_ - - None - - - - - -merged -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_ - - Ignoring Users - - 2016-05-03 - - 2018-05-18 - - `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_ - - `@erikjohnston`_ - - None - - `PR#1142`_ - * - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_ - - Notifications API - - 2016-05-23 - - 2018-06-25 - - `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_ - - `@dbkr`_ - - None - - - * - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_ - - Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition - - 2016-09-29 - - 2018-06-25 - - `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_ - - `@richvdh`_ - - None - - - * - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_ - - Proposal for multi-device deletion API - - 2016-10-12 - - 2018-06-25 - - `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_ - - `@richvdh`_ - - None - - `PR#1239`_ - * - `MSC953 <https://github.com/matrix-org/matrix-doc/issues/953>`_ - - Add /user_directory/search API - - 2017-05-31 - - 2018-05-10 - - `953-1 <https://docs.google.com/document/d/1Xc9lAM-FiIC66Z5pnaI4D5zqAqcFcZ5uHr3bYT-DWVk/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_ - - A proposal for organising spec proposals - - 2018-05-10 - - 2018-06-25 - - `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_ - - `@ara4n`_ - - None - - `PR#1240`_ - - - -abandoned -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_ - - Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206) - - 2015-07-25 - - 2018-05-15 - - `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_ - - `@Kegsay`_ - - None - - - * - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_ - - Profile Personae - - 2016-07-15 - - 2018-05-15 - - `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_ - - Server Side Profile API - - 2016-11-01 - - 2018-05-15 - - `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_ - - `@erikjohnston`_ - - None - - - * - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_ - - Set defaults for m.federate - - 2017-04-10 - - 2018-05-18 - - `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_ - - `@psaavedra`_ - - None - - - - - -obsolete -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - :widths: auto - :stub-columns: 1 - - * - MSC - - Proposal Title - - Creation Date - - Update Date - - Documentation - - Author - - Shepherd - - PRs - * - `MSC1223 <https://github.com/matrix-org/matrix-doc/issues/1223>`_ - - Replies event format - - 2018-02-01 - - 2018-05-15 - - `1223-1 <https://docs.google.com/document/d/1KLdKtuZBbFoWDSfN4KM3p7LnIvFBQfSORICBo8zRHaE/edit>`_ - - `@t3chguy`_ - - None - - - * - `MSC1224 <https://github.com/matrix-org/matrix-doc/issues/1224>`_ - - Replies - next steps - - 2018-02-03 - - 2018-05-15 - - `1224-1 <https://docs.google.com/document/d/1FZsvodn2C0iKJDtn-8y8IPwOa96ixoJejK3gMLVOXHM/edit>`_ - - `@t3chguy`_ - - None - - - * - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_ - - Proposal for Calendar Events - - 2018-02-06 - - 2018-05-15 - - `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_ - - `@Half-Shot`_ - - None - - - * - `MSC1220 <https://github.com/matrix-org/matrix-doc/issues/1220>`_ - - Rich quoting proposal - - 2018-05-10 - - 2018-05-15 - - `1220-1 <https://docs.google.com/document/d/146zJr4h6odczMeGUH99dxDZk0i_iVtDiVMy510G25jI/edit>`_ - - `@t3chguy`_ - - None - - - - - - - -.. _@rxl881: https://github.com/rxl881 -.. _@turt2live: https://github.com/turt2live -.. _@erikjohnston: https://github.com/erikjohnston -.. _@anoadragon453: https://github.com/anoadragon453 -.. _@t3chguy: https://github.com/t3chguy -.. _@Kegsay: https://github.com/Kegsay -.. _@KitsuneRal: https://github.com/KitsuneRal -.. _@leonerd: https://github.com/leonerd -.. _@psaavedra: https://github.com/psaavedra -.. _@ara4n: https://github.com/ara4n -.. _@krombel: https://github.com/krombel -.. _@maxidor: https://github.com/maxidor -.. _@uhoreg: https://github.com/uhoreg -.. _@pik: https://github.com/pik -.. _@neilisfragile: https://github.com/neilisfragile -.. _@babolivier: https://github.com/babolivier -.. _@lukebarnard1: https://github.com/lukebarnard1 -.. _others: https://github.com/thers -.. _@Half-Shot: https://github.com/Half-Shot -.. _@aviraldg: https://github.com/aviraldg -.. _@oivoodoo: https://github.com/oivoodoo -.. _@richvdh: https://github.com/richvdh -.. _@NegativeMjark: https://github.com/NegativeMjark -.. _@lampholder: https://github.com/lampholder -.. _@dbkr: https://github.com/dbkr -.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189 -.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310 -.. _PR#1142: https://github.com/matrix-org/matrix-doc/pull/1142 -.. _PR#1239: https://github.com/matrix-org/matrix-doc/pull/1239 -.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240 -.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919 \ No newline at end of file +View the current live version `at https://matrix.org/docs/spec/proposals <https://matrix.org/docs/spec/proposals>`_ diff --git a/specification/targets.yaml b/specification/targets.yaml index 96199d291..ba3e32996 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -12,7 +12,6 @@ targets: - { 1: modules.rst } - { 2: feature_profiles.rst } - { 2: "group:modules" } # reference a group of files - - { 1: third_party_lookup.rst } version_label: "%CLIENT_RELEASE_LABEL%" application_service: files: @@ -69,6 +68,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/ignore_users.rst - modules/stickers.rst - modules/report_content.rst + - modules/application_services.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From 9bde78ac288b198ed0af9514f0aa51b7f4d68bf4 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 12 Jul 2018 14:41:24 +0100 Subject: [PATCH 538/801] $ref needs to be under a schema: --- api/client-server/third_party_lookup.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 863896030..848d92d1d 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -129,7 +129,8 @@ paths: responses: 200: description: The Matrix User IDs found with the given parameters. - $ref: ../application-service/definitions/schema/user_batch.yaml + schema: + $ref: ../application-service/definitions/schema/user_batch.yaml 404: description: The Matrix User ID was not found examples: From 89998872452c79be9efdf60b6d0936b9069b8855 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 12 Jul 2018 14:44:48 +0100 Subject: [PATCH 539/801] Path -> query params --- api/client-server/third_party_lookup.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 848d92d1d..2fcf790b0 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -147,7 +147,7 @@ paths: alias. operationId: queryLocationByAlias parameters: - - in: path + - in: query name: alias type: string description: The Matrix room alias to look up. @@ -173,7 +173,7 @@ paths: Retreive an array of third party users from a Matrix User ID. operationId: queryUserByID parameters: - - in: path + - in: query name: userid type: string description: The Matrix User ID to look up. From 16125f16f5cc1f1f02f96d20c3c11d7e6858ac06 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 09:28:30 -0600 Subject: [PATCH 540/801] Spec retry_after_ms on ratelimit errors --- api/client-server/definitions/errors/rate_limited.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/client-server/definitions/errors/rate_limited.yaml b/api/client-server/definitions/errors/rate_limited.yaml index 6b4932ee6..aca82ce7b 100644 --- a/api/client-server/definitions/errors/rate_limited.yaml +++ b/api/client-server/definitions/errors/rate_limited.yaml @@ -23,4 +23,10 @@ properties: type: string description: A human-readable error message. example: Too many requests + retry_after_ms: + type: integer + description: |- + The amount of time in milliseconds the client should wait + before trying the request again. + example: 2000 required: ["errcode"] \ No newline at end of file From 84e07a0c10276ac3b4d87586e8a25e74faad9506 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 09:31:50 -0600 Subject: [PATCH 541/801] Convert errors in presence.yaml --- api/client-server/presence.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/client-server/presence.yaml b/api/client-server/presence.yaml index 68b3ee564..91b75c6a8 100644 --- a/api/client-server/presence.yaml +++ b/api/client-server/presence.yaml @@ -123,6 +123,8 @@ paths: description: |- There is no presence state for this user. This user may not exist or isn't exposing presence information to you. + schema: + "$ref": "definitions/errors/error.yaml" 403: description: You are not allowed to see this user's presence status. examples: @@ -131,7 +133,7 @@ paths: "error": "You are not allowed to see their presence" } schema: - "$ref": "definitions/error.yaml" + "$ref": "definitions/errors/error.yaml" tags: - Presence "/presence/list/{userId}": From 291a4dfc7612635f77b4d71a89f549111bdb7e49 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Thu, 12 Jul 2018 16:52:31 +0100 Subject: [PATCH 542/801] Third party lookup module. Fix wording --- .../application_service.yaml | 10 +++---- .../definitions/{schema => }/location.yaml | 0 .../{schema => }/location_batch.yaml | 0 .../definitions/{schema => }/protocol.yaml | 0 .../{schema => }/protocol_metadata.yaml | 0 .../definitions/{schema => }/user.yaml | 0 .../definitions/{schema => }/user_batch.yaml | 0 api/client-server/third_party_lookup.yaml | 12 ++++---- specification/feature_profiles.rst | 4 +-- .../modules/application_services.rst | 28 ------------------- .../modules/third_party_networks.rst | 20 +++++++++++++ specification/targets.yaml | 2 +- 12 files changed, 34 insertions(+), 42 deletions(-) rename api/application-service/definitions/{schema => }/location.yaml (100%) rename api/application-service/definitions/{schema => }/location_batch.yaml (100%) rename api/application-service/definitions/{schema => }/protocol.yaml (100%) rename api/application-service/definitions/{schema => }/protocol_metadata.yaml (100%) rename api/application-service/definitions/{schema => }/user.yaml (100%) rename api/application-service/definitions/{schema => }/user_batch.yaml (100%) delete mode 100644 specification/modules/application_services.rst create mode 100644 specification/modules/third_party_networks.rst diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index b68cbe187..43a6023b2 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -226,7 +226,7 @@ paths: 200: description: The protocol was found and metadata returned. schema: - $ref: definitions/schema/protocol_metadata.yaml + $ref: definitions/protocol_metadata.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -279,7 +279,7 @@ paths: 200: description: The Matrix User IDs found with the given parameters. schema: - $ref: definitions/schema/user_batch.yaml + $ref: definitions/user_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -330,7 +330,7 @@ paths: 200: description: At least one portal room was found. schema: - $ref: definitions/schema/location_batch.yaml + $ref: definitions/location_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -375,7 +375,7 @@ paths: description: |- All found third party locations. schema: - $ref: definitions/schema/location_batch.yaml + $ref: definitions/location_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. @@ -419,7 +419,7 @@ paths: description: |- An array of third party users. schema: - $ref: definitions/schema/user_batch.yaml + $ref: definitions/user_batch.yaml 401: description: |- The homeserver has not supplied credentials to the application service. diff --git a/api/application-service/definitions/schema/location.yaml b/api/application-service/definitions/location.yaml similarity index 100% rename from api/application-service/definitions/schema/location.yaml rename to api/application-service/definitions/location.yaml diff --git a/api/application-service/definitions/schema/location_batch.yaml b/api/application-service/definitions/location_batch.yaml similarity index 100% rename from api/application-service/definitions/schema/location_batch.yaml rename to api/application-service/definitions/location_batch.yaml diff --git a/api/application-service/definitions/schema/protocol.yaml b/api/application-service/definitions/protocol.yaml similarity index 100% rename from api/application-service/definitions/schema/protocol.yaml rename to api/application-service/definitions/protocol.yaml diff --git a/api/application-service/definitions/schema/protocol_metadata.yaml b/api/application-service/definitions/protocol_metadata.yaml similarity index 100% rename from api/application-service/definitions/schema/protocol_metadata.yaml rename to api/application-service/definitions/protocol_metadata.yaml diff --git a/api/application-service/definitions/schema/user.yaml b/api/application-service/definitions/user.yaml similarity index 100% rename from api/application-service/definitions/schema/user.yaml rename to api/application-service/definitions/user.yaml diff --git a/api/application-service/definitions/schema/user_batch.yaml b/api/application-service/definitions/user_batch.yaml similarity index 100% rename from api/application-service/definitions/schema/user_batch.yaml rename to api/application-service/definitions/user_batch.yaml diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 2fcf790b0..efb4310f6 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -39,7 +39,7 @@ paths: 200: description: The protocols supported by the homeserver. schema: - $ref: ../application-service/definitions/schema/protocol_metadata.yaml + $ref: ../application-service/definitions/protocol_metadata.yaml "/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the homeserver supports. @@ -58,7 +58,7 @@ paths: 200: description: The protocol was found and metadata returned. schema: - $ref: ../application-service/definitions/schema/protocol.yaml + $ref: ../application-service/definitions/protocol.yaml 404: description: The protocol is unknown. examples: @@ -97,7 +97,7 @@ paths: 200: description: At least one portal room was found. schema: - $ref: ../application-service/definitions/schema/location_batch.yaml + $ref: ../application-service/definitions/location_batch.yaml 404: description: No portal rooms were found. examples: @@ -130,7 +130,7 @@ paths: 200: description: The Matrix User IDs found with the given parameters. schema: - $ref: ../application-service/definitions/schema/user_batch.yaml + $ref: ../application-service/definitions/user_batch.yaml 404: description: The Matrix User ID was not found examples: @@ -157,7 +157,7 @@ paths: description: |- All found third party locations. schema: - $ref: ../application-service/definitions/schema/location_batch.yaml + $ref: ../application-service/definitions/location_batch.yaml 404: description: The Matrix room alias was not found examples: @@ -183,7 +183,7 @@ paths: description: |- An array of third party users. schema: - $ref: ../application-service/definitions/schema/user_batch.yaml + $ref: ../application-service/definitions/user_batch.yaml 404: description: The Matrix User ID was not found examples: diff --git a/specification/feature_profiles.rst b/specification/feature_profiles.rst index 97d0de0ea..c6b8ef4c0 100644 --- a/specification/feature_profiles.rst +++ b/specification/feature_profiles.rst @@ -42,7 +42,7 @@ Summary `Server Side Search`_ Optional Optional Optional Optional Optional `Server Administration`_ Optional Optional Optional Optional Optional `Event Context`_ Optional Optional Optional Optional Optional - `Application Services`_ Optional Optional Optional Optional Optional + `Third Party Networks`_ Optional Optional Optional Optional Optional ===================================== ========== ========== ========== ========== ========== *Please see each module for more details on what clients need to implement.* @@ -58,7 +58,7 @@ Summary .. _Server Side Search: `module:search`_ .. _Server Administration: `module:admin`_ .. _Event Context: `module:event-context`_ -.. _Application Services: `module:application-services`_ +.. _Third Party Networks: `module:third-party-networks`_ Clients ------- diff --git a/specification/modules/application_services.rst b/specification/modules/application_services.rst deleted file mode 100644 index 52e35dc8d..000000000 --- a/specification/modules/application_services.rst +++ /dev/null @@ -1,28 +0,0 @@ -Application Services -==================== - -.. _module:application-services: - -An application service is a separate program that interacts with a homeserver -and provides various bits of functionality that would otherwise not make -sense to include directly in the homeserver. This ranges from bots, which can -often be interacted with, to bridges, which allow Matrix users to communicate -with users on third party networks. The following describes endpoints that a -Matrix client can use to interact with an application service through the -facilitation of the homeserver. - -Third Party Lookups -------------------- - -Application services can provide access to third party networks via bridging. -This allows Matrix users to communicate with users on other communication -platforms, with messages ferried back and forth by the application service. A -single application service may bridge multiple third party networks, and many -individual locations within those networks. A single third party network -location may be bridged to multiple Matrix rooms. - -In order for a client to join one of these bridged rooms, or communicate -directly with a user on a third party network, the following endpoints can be -used. - -{{third_party_lookup_cs_http_api}} \ No newline at end of file diff --git a/specification/modules/third_party_networks.rst b/specification/modules/third_party_networks.rst new file mode 100644 index 000000000..cd4ce4143 --- /dev/null +++ b/specification/modules/third_party_networks.rst @@ -0,0 +1,20 @@ +Third Party Networks +==================== + +.. _module:third-party-networks: + +Application services can provide access to third party networks via bridging. +This allows Matrix users to communicate with users on other communication +platforms, with messages ferried back and forth by the application service. A +single application service may bridge multiple third party networks, and many +individual locations within those networks. A single third party network +location may be bridged to multiple Matrix rooms. + +Third Party Lookups +------------------- + +A client may wish to provide a rich interface for joining third party +locations and connecting with third party users. Information necessary for +such an interface is provided by third party lookups. + +{{third_party_lookup_cs_http_api}} \ No newline at end of file diff --git a/specification/targets.yaml b/specification/targets.yaml index ba3e32996..b9718bc49 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -68,7 +68,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/ignore_users.rst - modules/stickers.rst - modules/report_content.rst - - modules/application_services.rst + - modules/third_party_networks.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From af7460088fa756eb2b3afff2949f5ee281c2e2e0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 10:07:09 -0600 Subject: [PATCH 543/801] Use six for url quoting --- scripts/templating/matrix_templates/units.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 760aeb6b8..12db409f3 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -30,9 +30,8 @@ import re import subprocess import sys import yaml -import requests.utils from functools import reduce -from six.moves.urllib.parse import urlencode +from six.moves.urllib.parse import urlencode, quote matrix_doc_dir=reduce(lambda acc,_: os.path.dirname(acc), range(1, 5), os.path.abspath(__file__)) @@ -525,7 +524,7 @@ class MatrixUnits(Units): if param_loc == "path": path_template = path_template.replace( - "{%s}" % param_name, requests.utils.requote_uri(example) + "{%s}" % param_name, quote(example) ) elif param_loc == "query": if type(example) == list: From 8a4ba8c5cac07011159855735e96948f33787e08 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 10:16:32 -0600 Subject: [PATCH 544/801] Use Popen rather than run() --- scripts/templating/matrix_templates/units.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 12db409f3..cd563346c 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -838,21 +838,21 @@ class MatrixUnits(Units): tc_lines = [] if os.path.isdir(tc_path): logger.info("Generating towncrier changelog for: %s" % name) - p = subprocess.run( + p = subprocess.Popen( ['towncrier', '--version', 'Unreleased Changes', '--name', name, '--draft'], cwd=tc_path, - check=False, # We'll manually check the exit code stderr=subprocess.PIPE, stdout=subprocess.PIPE, ) + stdout, stderr = p.communicate() if p.returncode != 0: # Something broke - dump as much information as we can logger.error("Towncrier exited with code %s" % p.returncode) - logger.error(p.stdout.decode('UTF-8')) - logger.error(p.stderr.decode('UTF-8')) + logger.error(stdout.decode('UTF-8')) + logger.error(stderr.decode('UTF-8')) raw_log = "" else: - raw_log = p.stdout.decode('UTF-8') + raw_log = stdout.decode('UTF-8') # This is a bit of a hack, but it does mean that the log at least gets *something* # to tell us it broke From 527a5a2fdccd72d38a7b7d3e621b31b9128a23c3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 10:18:46 -0600 Subject: [PATCH 545/801] Require sudo see also: https://github.com/travis-ci/travis-ci/issues/9875 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 27e5cf202..68fc77438 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: go go: - 1.8 -sudo: false +sudo: required # we only need a single git commit git: From 1829589d23f9c23cbcb7f3266408cb5db80f5517 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 12:16:11 -0600 Subject: [PATCH 546/801] Convert 3pn errors to new definition --- .../application_service.yaml | 42 +++++++++---------- api/client-server/third_party_lookup.yaml | 10 ++--- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 43a6023b2..b459e29ff 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -131,7 +131,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -140,7 +140,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: |- The application service indicates that this room alias does not exist. @@ -150,7 +150,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/users/{userId}": get: summary: Query if a user should exist on the application service. @@ -187,7 +187,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -196,7 +196,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: |- The application service indicates that this user does not exist. @@ -206,7 +206,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. @@ -236,7 +236,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -245,7 +245,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: No protocol was found with the given path. examples: @@ -253,7 +253,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/user/{protocol}": get: summary: Retrieve the Matrix User ID of a corresponding third party user. @@ -289,7 +289,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -298,7 +298,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: No users were found with the given parameters. examples: @@ -306,7 +306,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/location/{protocol}": get: summary: Retreive Matrix-side portal rooms leading to a third party location. @@ -340,7 +340,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -349,7 +349,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -357,7 +357,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/location": get: summary: Reverse-lookup third party locations given a Matrix room alias. @@ -385,7 +385,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -394,7 +394,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -402,7 +402,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/user": get: summary: Reverse-lookup third party users given a Matrix User ID. @@ -429,7 +429,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 403: description: |- The credentials supplied by the homeserver were rejected. @@ -438,7 +438,7 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" } schema: - $ref: ../client-server/definitions/error.yaml + $ref: ../client-server/definitions/errors/error.yaml 404: description: No mappings were found with the given parameters. examples: @@ -446,4 +446,4 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/error.yaml \ No newline at end of file + $ref: ../client-server/definitions/errors/error.yaml \ No newline at end of file diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index efb4310f6..55d4c70a2 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -66,7 +66,7 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/error.yaml + $ref: definitions/errors/error.yaml "/thirdparty/location/{protocol}": get: summary: Retreive Matrix-side portals rooms leading to a third party location. @@ -105,7 +105,7 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/error.yaml + $ref: definitions/errors/error.yaml "/thirdparty/user/{protocol}": get: summary: Retrieve the Matrix User ID of a corresponding third party user. @@ -138,7 +138,7 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/error.yaml + $ref: definitions/errors/error.yaml "/thirdparty/location": get: summary: Reverse-lookup third party locations given a Matrix room alias. @@ -165,7 +165,7 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/error.yaml + $ref: definitions/errors/error.yaml "/thirdparty/user": get: summary: Reverse-lookup third party users given a Matrix User ID. @@ -191,4 +191,4 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/error.yaml \ No newline at end of file + $ref: definitions/errors/error.yaml \ No newline at end of file From 1e500fd00563d52006807886cb223be107482d27 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 13:18:27 -0600 Subject: [PATCH 547/801] Add newsfragment for third party network endpoints Specifying multiple entries for the same PR would be covered under: https://github.com/hawkowl/towncrier/pull/119 --- changelogs/client_server/newsfragments/1353.new | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1353.new diff --git a/changelogs/client_server/newsfragments/1353.new b/changelogs/client_server/newsfragments/1353.new new file mode 100644 index 000000000..0af0c5206 --- /dev/null +++ b/changelogs/client_server/newsfragments/1353.new @@ -0,0 +1 @@ +``GET /thirdparty/*`` Endpoints From 51faf8ed2e4a63d4cfd6d23183698ed169956cc0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 13:46:42 -0600 Subject: [PATCH 548/801] Convert the general query API to swagger Includes "moving" the directory query API into the same area. This will make more sense once the other query types are specified. --- api/server-server/directory.yaml | 3 +- api/server-server/query_general.yaml | 44 ++++++++++++++++++++++++++++ specification/server_server_api.rst | 11 +------ 3 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 api/server-server/query_general.yaml diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml index 516b1bf81..94f115b91 100644 --- a/api/server-server/directory.yaml +++ b/api/server-server/directory.yaml @@ -1,4 +1,5 @@ # Copyright 2017 Kamax.io +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +15,7 @@ swagger: '2.0' info: - title: "Matrix Federation Query Directory API" + title: "Matrix Federation Query API" version: "1.0.0" host: localhost:8448 schemes: diff --git a/api/server-server/query_general.yaml b/api/server-server/query_general.yaml new file mode 100644 index 000000000..97e3406ea --- /dev/null +++ b/api/server-server/query_general.yaml @@ -0,0 +1,44 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Query API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/query/{queryType}": + get: + summary: Query for information + description: |- + Performs a single query request on the receiving homeserver. The query string + arguments are dependent on which type of query is being made. Known query types + are specified as their own endpoints as an extension to this definition. + operationId: queryInfo + parameters: + - in: path + name: queryType + type: string + description: The type of query to make + required: true + x-example: profile + responses: + 200: + description: |- + The query response. The schema varies depending on the query being made. diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f2b3204ab..66c06c8b8 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -801,16 +801,7 @@ Retrieves all of the transactions later than any version given by the "v" arguments. -To make a query:: - - GET .../query/<query_type> - Query args: as specified by the individual query types - Response: JSON encoding of a response object - -Performs a single query request on the receiving homeserver. The Query Type -part of the path specifies the kind of query being made, and its query -arguments have a meaning specific to that kind of query. The response is a -JSON-encoded object whose meaning also depends on the kind of query. +{{query_general_ss_http_api}} To join a room:: From e5da1e17412c99437d2af50b9b62c150c1c40662 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 21:34:52 -0600 Subject: [PATCH 549/801] Improve upon the transaction schema and examples Reduces data duplication and makes the objects more reusable for other areas of the spec --- .../definitions/full_transaction.yaml | 28 --- api/server-server/definitions/pdu.yaml | 160 ++++-------------- .../definitions/unsigned_pdu.yaml | 119 +++++++++++++ .../examples/full_transaction.json | 6 - api/server-server/examples/pdu.json | 16 +- api/server-server/examples/unsigned_pdu.json | 17 ++ api/server-server/transactions.yaml | 15 +- scripts/templating/matrix_templates/units.py | 13 +- 8 files changed, 196 insertions(+), 178 deletions(-) delete mode 100644 api/server-server/definitions/full_transaction.yaml create mode 100644 api/server-server/definitions/unsigned_pdu.yaml delete mode 100644 api/server-server/examples/full_transaction.json create mode 100644 api/server-server/examples/unsigned_pdu.json diff --git a/api/server-server/definitions/full_transaction.yaml b/api/server-server/definitions/full_transaction.yaml deleted file mode 100644 index 39250433c..000000000 --- a/api/server-server/definitions/full_transaction.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2018 New Vector Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -type: object -title: Transaction -description: Transaction -example: - $ref: "../examples/full_transaction.json" -allOf: - - $ref: "transaction.yaml" - - type: object - properties: - edus: - type: array - description: List of ephemeral messages. May be omitted if there are no ephemeral messages to be sent. - items: - $ref: "edu.yaml" -required: ['origin', 'origin_server_ts', 'pdus'] \ No newline at end of file diff --git a/api/server-server/definitions/pdu.yaml b/api/server-server/definitions/pdu.yaml index b3f25ccf1..2b6328be1 100644 --- a/api/server-server/definitions/pdu.yaml +++ b/api/server-server/definitions/pdu.yaml @@ -16,131 +16,37 @@ title: Persistent Data Unit description: A persistent data unit (event) example: $ref: "../examples/pdu.json" -properties: - room_id: - type: string - description: Room identifier - example: "!abc123:matrix.org" - sender: - type: string - description: The ID of the user sending the event - example: "@someone:matrix.org" - origin: - type: string - description: The ``server_name`` of the homeserver that created this event - example: "matrix.org" - origin_server_ts: - type: integer - format: int64 - description: Timestamp in milliseconds on origin homeserver when this event was created. - example: 1234567890 - type: - type: string - description: Event type - required: true - example: "m.room.message" - state_key: - type: string - description: |- - If this key is present, the event is a state event, and it will replace previous events - with the same ``type`` and ``state_key`` in the room state. - example: "my_key" - content: - type: object - description: The content of the event - prev_events: - type: array - description: |- - Event IDs and hashes of the most recent events in the room that the homeserver was aware - of when it made this event - items: - type: array - maxItems: 2 - minItems: 2 - items: - - type: string - title: Event ID - example: "$abc123:matrix.org" - - type: object - title: Event Hash - example: { - "sha256": "abase64encodedsha256hashshouldbe43byteslong" - } - properties: - sha256: - type: string - description: The event hash - example: abase64encodedsha256hashshouldbe43byteslong - required: ['sha256'] - depth: - type: integer - description: The maximum depth of the ``prev_events``, plus one - example: 12 - auth_events: - type: array - description: Event IDs and hashes for the "auth events" of this event - items: - type: array - maxItems: 2 - minItems: 2 - items: - - type: string - title: Event ID - example: "$abc123:matrix.org" - - type: object - title: Event Hash - example: { - "sha256": "abase64encodedsha256hashshouldbe43byteslong" - } - properties: - sha256: - type: string - description: The event hash - example: abase64encodedsha256hashshouldbe43byteslong - required: ['sha256'] - hashes: - type: object - title: Event Hash - description: Hashes of the PDU, following the algorithm specified in `Signing Events`_ - example: { - "sha256": "thishashcoversallfieldsincasethisisredacted" - } +allOf: + - $ref: "unsigned_pdu.yaml" + - type: object properties: - sha256: - type: string - description: The hash - example: thishashcoversallfieldsincasethisisredacted - required: ['sha256'] - signatures: - type: object - description: |- - Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_ - example: { - "example.com": { - "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" - } - } - additionalProperties: - type: object - title: Server Signatures - additionalProperties: - type: string - redacts: - type: string - description: For redaction events, the ID of the event being redacted - example: "$def456:matrix.org" - unsigned: - type: object - description: Additional data added by the origin server but not covered by the ``signatures`` -required: - - room_id - - sender - - origin - - origin_server_ts - - type - - content - - prev_events - - depth - - auth_events - - hashes - - signatures + hashes: + type: object + title: Event Hash + description: Hashes of the PDU, following the algorithm specified in `Signing Events`_ + example: { + "sha256": "thishashcoversallfieldsincasethisisredacted" + } + properties: + sha256: + type: string + description: The hash + example: thishashcoversallfieldsincasethisisredacted + required: ['sha256'] + signatures: + type: object + description: |- + Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_ + example: { + "example.com": { + "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" + } + } + additionalProperties: + type: object + title: Server Signatures + additionalProperties: + type: string + required: + - hashes + - signatures diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml new file mode 100644 index 000000000..173bddd4e --- /dev/null +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -0,0 +1,119 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Unsigned Persistent Data Unit +description: An unsigned persistent data unit (event) +example: + $ref: "../examples/unsigned_pdu.json" +properties: + room_id: + type: string + description: Room identifier + example: "!abc123:matrix.org" + sender: + type: string + description: The ID of the user sending the event + example: "@someone:matrix.org" + origin: + type: string + description: The ``server_name`` of the homeserver that created this event + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: Timestamp in milliseconds on origin homeserver when this event was created. + example: 1234567890 + type: + type: string + description: Event type + required: true + example: "m.room.message" + state_key: + type: string + description: |- + If this key is present, the event is a state event, and it will replace previous events + with the same ``type`` and ``state_key`` in the room state. + example: "my_key" + content: + type: object + description: The content of the event + example: {"key": "value"} + prev_events: + type: array + description: |- + Event IDs and hashes of the most recent events in the room that the homeserver was aware + of when it made this event + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + depth: + type: integer + description: The maximum depth of the ``prev_events``, plus one + example: 12 + auth_events: + type: array + description: Event IDs and hashes for the "auth events" of this event + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: For redaction events, the ID of the event being redacted + example: "$def456:matrix.org" + unsigned: + type: object + description: Additional data added by the origin server but not covered by the ``signatures`` + example: {"key": "value"} +required: + - room_id + - sender + - origin + - origin_server_ts + - type + - content + - prev_events + - depth + - auth_events diff --git a/api/server-server/examples/full_transaction.json b/api/server-server/examples/full_transaction.json deleted file mode 100644 index c453d6ed3..000000000 --- a/api/server-server/examples/full_transaction.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "origin": "matrix.org", - "origin_server_ts": 1234567890, - "pdus": [{"$ref": "pdu.json"}], - "edus": [{"$ref": "edu.json"}] -} \ No newline at end of file diff --git a/api/server-server/examples/pdu.json b/api/server-server/examples/pdu.json index 531f4a374..81981b23c 100644 --- a/api/server-server/examples/pdu.json +++ b/api/server-server/examples/pdu.json @@ -1,16 +1,5 @@ { - "room_id": "!UcYsUzyxTGDxLBEvLy:example.org", - "sender": "@alice:example.com", - "origin": "example.com", - "event_id": "$a4ecee13e2accdadf56c1025:example.com", - "origin_server_ts": 1404838188000, - "type": "m.room.message", - "prev_events": [ - [ - "$af232176:example.org", - {"sha256": "abase64encodedsha256hashshouldbe43byteslong"} - ] - ], + "$ref": "unsigned_pdu.json", "hashes": { "sha256": "thishashcoversallfieldsincasethisisredacted" }, @@ -18,8 +7,5 @@ "example.com": { "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" } - }, - "content": { - "key": "value" } } \ No newline at end of file diff --git a/api/server-server/examples/unsigned_pdu.json b/api/server-server/examples/unsigned_pdu.json new file mode 100644 index 000000000..6ed4b79d6 --- /dev/null +++ b/api/server-server/examples/unsigned_pdu.json @@ -0,0 +1,17 @@ +{ + "room_id": "!UcYsUzyxTGDxLBEvLy:example.org", + "sender": "@alice:example.com", + "origin": "example.com", + "event_id": "$a4ecee13e2accdadf56c1025:example.com", + "origin_server_ts": 1404838188000, + "type": "m.room.message", + "prev_events": [ + [ + "$af232176:example.org", + {"sha256": "abase64encodedsha256hashshouldbe43byteslong"} + ] + ], + "content": { + "key": "value" + } +} \ No newline at end of file diff --git a/api/server-server/transactions.yaml b/api/server-server/transactions.yaml index 389eecc7e..13ba6826b 100644 --- a/api/server-server/transactions.yaml +++ b/api/server-server/transactions.yaml @@ -43,8 +43,21 @@ paths: - in: body name: body type: object + required: true schema: - $ref: "definitions/full_transaction.yaml" + allOf: + - $ref: "definitions/transaction.yaml" + - type: object + properties: + edus: + type: array + description: List of ephemeral messages. May be omitted if there are no ephemeral messages to be sent. + items: + $ref: "definitions/edu.yaml" + example: { + "$ref": "examples/transaction.json", + "edus": [{"$ref": "edu.json"}] # Relative to the examples directory + } responses: 200: # TODO: Spec this (and figure out what it is) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 7819dbf90..8037bb61d 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -138,6 +138,10 @@ def inherit_parents(obj): Recurse through the 'allOf' declarations in the object """ logger.debug("inherit_parents %r" % obj) + + if isinstance(obj, list): + return [inherit_parents(obj[i]) for i in range(0, len(obj))] + parents = obj.get("allOf", []) if not parents: return obj @@ -379,6 +383,10 @@ def get_tables_for_response(schema): def get_example_for_schema(schema): """Returns a python object representing a suitable example for this object""" schema = inherit_parents(schema) + + if isinstance(schema, list): + return [get_example_for_schema(v) for v in schema] + if 'example' in schema: example = schema['example'] return example @@ -398,7 +406,10 @@ def get_example_for_schema(schema): if proptype == 'array': if 'items' not in schema: raise Exception('"array" property has neither items nor example') - return [get_example_for_schema(schema['items'])] + result = get_example_for_schema(schema['items']) + if isinstance(result, list): + return result + return [result] if proptype == 'integer': return 0 From baf19cc741071bf6e5b5c3235f56a9cd99488ae8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 10:05:14 -0600 Subject: [PATCH 550/801] Add newsfragment for 1379 --- changelogs/client_server/newsfragments/1379.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1379.clarification diff --git a/changelogs/client_server/newsfragments/1379.clarification b/changelogs/client_server/newsfragments/1379.clarification new file mode 100644 index 000000000..122b39004 --- /dev/null +++ b/changelogs/client_server/newsfragments/1379.clarification @@ -0,0 +1 @@ +Document guest access in ``/createRoom`` presets From cf93c88337c15b491f9ae069d5f08ffd69c9fdc2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:44:33 -0600 Subject: [PATCH 551/801] Convert third party invite exchange to swagger --- api/server-server/third_party_invite.yaml | 190 ++++++++++++++++++++++ specification/server_server_api.rst | 33 +--- 2 files changed, 192 insertions(+), 31 deletions(-) create mode 100644 api/server-server/third_party_invite.yaml diff --git a/api/server-server/third_party_invite.yaml b/api/server-server/third_party_invite.yaml new file mode 100644 index 000000000..30d8fe9d2 --- /dev/null +++ b/api/server-server/third_party_invite.yaml @@ -0,0 +1,190 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Third Party Invites API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/exchange_third_party_invite/{roomId}": + put: + summary: Request a server to auth a third party invite event + description: |- + The receiving server will verify the partial ``m.room.member`` event + given in the request body. If valid, the receiving server will issue + an invite as per the `Inviting Users`_ section before returning a + response to this request. + operationId: exchangeThirdPartyInvite + parameters: + - in: path + name: roomId + type: string + description: The room ID to exchange a third party invite in + required: true + x-example: "!abc123:matrix.org" + - in: body + name: body + type: object + description: A partial ``m.room.member`` event + required: true + schema: + type: object + properties: + type: + type: string + description: The event type. Must be ``m.room.member`` + example: "m.room.member" + room_id: + type: string + description: |- + The room ID the event is for. Must match the ID given in + the path. + example: "!abc123:matrix.org" + sender: + type: string + description: |- + The user ID of the user who sent the original ``m.room.third_party_invite`` + event. + example: "@joe:matrix.org" + state_key: + type: string + description: The user ID of the invited user + example: "@someone:example.org" + content: + type: object + description: The event content + title: Event Content + properties: + membership: + type: string + description: The membership state. Must be ``invite`` + example: invite + third_party_invite: + type: object + description: The third party invite + properties: + display_name: + type: string + description: |- + A name which can be displayed to represent the user instead of their + third party identifier. + example: "alice" + signed: + type: object + description: |- + A block of content which has been signed, which servers can use to + verify the event. + properties: + signatures: + type: object + description: The server signatures for this event. + additionalProperties: + type: object + title: Server Signatures + additionalProperties: + type: string + example: { + "magic.forest": { + "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" + } + } + mxid: + type: string + description: The invited matrix user ID + example: "@alice:localhost" + token: + type: string + description: The token used to verify the event + example: abc123 + required: ['signatures', 'mxid', 'token'] + example: { + "mxid": "@alice:localhost", + "token": "abc123", + "signatures": { + "magic.forest": { + "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" + } + } + } + required: ['display_name', 'signed'] + example: { + "display_name": "alice", + "signed": { + "mxid": "@alice:localhost", + "token": "abc123", + "signatures": { + "magic.forest": { + "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" + } + } + } + } + required: ['membership', 'third_party_invite'] + example: { + "membership": "invite", + "third_party_invite": { + "display_name": "alice", + "signed": { + "mxid": "@alice:localhost", + "token": "abc123", + "signatures": { + "magic.forest": { + "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" + } + } + } + } + } + required: + - type + - room_id + - sender + - state_key + - content + example: { + "type": "m.room.member", + "room_id": "!abc123:matrix.org", + "sender": "@joe:matrix.org", + "state_key": "@someone:example.org", + "content": { + "membership": "invite", + "third_party_invite": { + "display_name": "alice", + "signed": { + "mxid": "@alice:localhost", + "token": "abc123", + "signatures": { + "magic.forest": { + "ed25519:3": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg" + } + } + } + } + } + } + responses: + 200: + description: The invite has been issued successfully. + examples: + application/json: {} + schema: + type: object + description: An empty object + example: {} diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 66c06c8b8..43524aca7 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1104,38 +1104,9 @@ If the invited homeserver is in the room the invite came from, it can auth the event and send it. However, if the invited homeserver isn't in the room the invite came from, it -will need to request the room's homeserver to auth the event:: +will need to request the room's homeserver to auth the event. - PUT .../exchange_third_party_invite/{roomId} - -Where ``roomId`` is the ID of the room the invite is for. - -The required fields in the JSON body are: - -==================== ======= ================================================== - Key Type Description -==================== ======= ================================================== -``type`` String The event type. Must be ``m.room.member``. -``room_id`` String The ID of the room the event is for. Must be the - same as the ID specified in the path. -``sender`` String The Matrix ID of the user who sent the original - ``m.room.third_party_invite``. -``state_key`` String The Matrix ID of the invited user. -``content`` Object The content of the event. -==================== ======= ================================================== - -Where the ``content`` key contains the content for the ``m.room.member`` event -as described in the `Client-Server API`_. Its ``membership`` key must be -``invite`` and its content must include the ``third_party_invite`` object. - -The inviting homeserver will then be able to authenticate the event. It will send -a fully authenticated event to the invited homeserver as described in the `Inviting -to a room`_ section above. - -Once the invited homeserver responds with the event to which it appended its -signature, the inviting homeserver will respond with ``200 OK`` and an empty body -(``{}``) to the initial request on ``/exchange_third_party_invite/{roomId}`` and -send the now verified ``m.room.member`` invite event to the room's members. +{{third_party_invite_ss_http_api}} Verifying the invite ++++++++++++++++++++ From 272f3d843245eefe6b0874193af0e848e613a7ea Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:49:49 -0600 Subject: [PATCH 552/801] Fix documentation link --- api/server-server/third_party_invite.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/third_party_invite.yaml b/api/server-server/third_party_invite.yaml index 30d8fe9d2..42bdae23e 100644 --- a/api/server-server/third_party_invite.yaml +++ b/api/server-server/third_party_invite.yaml @@ -29,7 +29,7 @@ paths: description: |- The receiving server will verify the partial ``m.room.member`` event given in the request body. If valid, the receiving server will issue - an invite as per the `Inviting Users`_ section before returning a + an invite as per the `Inviting to a room`_ section before returning a response to this request. operationId: exchangeThirdPartyInvite parameters: From cfac4a1ab38ed05fc677c999b8ab379e1ff97eca Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 17 Jul 2018 08:48:31 -0600 Subject: [PATCH 553/801] Use towncrier 18.6.0 final --- scripts/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/requirements.txt b/scripts/requirements.txt index 1f92c3dc9..2a7d7ff85 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -7,5 +7,5 @@ Jinja2 >= 2.9.6 jsonschema >= 2.6.0 PyYAML >= 3.12 requests >= 2.18.4 -towncrier == 18.6.0rc1 +towncrier == 18.6.0 six >= 1.11.0 \ No newline at end of file From 98c607bff5e59d9d1db4a5af34fb197ac996d428 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 17 Jul 2018 10:27:01 -0600 Subject: [PATCH 554/801] Advertise python 3.4 support and use that in Travis CI We also don't need to update virtualenv, or use python3.5 specific packages. --- .travis.yml | 5 ++--- README.rst | 4 ++-- scripts/test-and-build.sh | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 68fc77438..9e9363aff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,9 +9,8 @@ git: depth: 1 install: -- sudo apt-get update -- sudo apt-get install python3.5 python3.5-dev -- sudo pip install --upgrade virtualenv + - sudo apt-get update + - sudo apt-get install python3 python3-dev script: - ./scripts/test-and-build.sh diff --git a/README.rst b/README.rst index c0949d9e6..b8847bfb6 100644 --- a/README.rst +++ b/README.rst @@ -41,9 +41,9 @@ specs and event schemas in this repository. Preparation ----------- -To use the scripts, it is best to create a Python 3.5+ virtualenv as follows:: +To use the scripts, it is best to create a Python 3.4+ virtualenv as follows:: - virtualenv env + virtualenv -p python3 env env/bin/pip install -r scripts/requirements.txt (Benjamin Synders has contributed a script for `Nix`_ users, which can be diff --git a/scripts/test-and-build.sh b/scripts/test-and-build.sh index 397b620ed..710b03ddf 100755 --- a/scripts/test-and-build.sh +++ b/scripts/test-and-build.sh @@ -4,7 +4,7 @@ set -ex cd `dirname $0`/.. -virtualenv -p python3.5 env +virtualenv -p python3 env . env/bin/activate # Print out the python versions for debugging purposes From 9e6f2b2fd01a3f1ecd7d9e56169c2d52690b0f49 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 08:29:13 -0600 Subject: [PATCH 555/801] Add newsfragment --- changelogs/client_server/newsfragments/1373.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1373.clarification diff --git a/changelogs/client_server/newsfragments/1373.clarification b/changelogs/client_server/newsfragments/1373.clarification new file mode 100644 index 000000000..21e18966b --- /dev/null +++ b/changelogs/client_server/newsfragments/1373.clarification @@ -0,0 +1 @@ +Describe the rate limit error response schema From bafdcf364011c5e8e1337b23762eea71f8256aab Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 10:37:56 -0600 Subject: [PATCH 556/801] Full stops, spelling, and operation IDs. --- api/server-server/definitions/keys.yaml | 18 ++++++------ .../definitions/keys_query_response.yaml | 2 +- api/server-server/keys_query.yaml | 28 +++++++++---------- api/server-server/keys_server.yaml | 4 +-- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index 5d1c39def..b08f24650 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -19,12 +19,12 @@ example: properties: server_name: type: string - description: DNS name of the homeserver + description: DNS name of the homeserver. required: true # TODO: Verify example: "example.org" verify_keys: type: object - description: Public keys of the homeserver for verifying digital signatures + description: Public keys of the homeserver for verifying digital signatures. required: true # TODO: Verify additionalProperties: type: object @@ -42,7 +42,7 @@ properties: example: "Base+64+Encoded+Signature+Verification+Key" old_verify_keys: type: object - description: The public keys that the server used to use and when it stopped using them + description: The public keys that the server used to use and when it stopped using them. additionalProperties: type: object title: Old Verify Key @@ -56,17 +56,17 @@ properties: expired_ts: type: integer format: int64 - description: The expiration time + description: The expiration time. required: true example: 922834800000 key: type: string - description: The key + description: The key. required: true example: "Base+64+Encoded+Signature+Verification+Key" signatures: type: object - description: Digital signatures for this object signed using the ``verify_keys`` + description: Digital signatures for this object signed using the ``verify_keys``. additionalProperties: type: object title: Signed Server @@ -80,17 +80,17 @@ properties: name: Encoded Signature Verification Key tls_fingerprints: type: array - description: Hashes of X.509 TLS certificates used by this server encoded as `Unpadded Base64`_ + description: Hashes of X.509 TLS certificates used by this server encoded as `Unpadded Base64`_. items: type: object title: TLS Fingerprint properties: sha256: type: string - description: The encoded fingerprint + description: The encoded fingerprint. example: Base+64+Encoded+SHA-256-Fingerprint valid_until_ts: type: integer format: int64 - description: POSIX timestamp when the list of valid keys should be refreshed + description: POSIX timestamp when the list of valid keys should be refreshed. example: 1052262000000 diff --git a/api/server-server/definitions/keys_query_response.yaml b/api/server-server/definitions/keys_query_response.yaml index 8223f9ec1..bf2d238f8 100644 --- a/api/server-server/definitions/keys_query_response.yaml +++ b/api/server-server/definitions/keys_query_response.yaml @@ -22,6 +22,6 @@ properties: server_keys: type: array title: Server Keys - description: The server keys + description: The server keys. items: $ref: "keys.yaml" diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index 1ba0f5ba3..f41cb35b2 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -25,27 +25,27 @@ produces: paths: "/query/{serverName}/{keyId}": get: - summary: Retreive a server key - description: Retreive a server key - operationId: getQueryKeys + summary: Retrieve a server key. + description: Retrieve a server key. + operationId: perspectivesKeyQuery parameters: - in: path name: serverName type: string - description: Server name + description: Server name. required: true x-example: matrix.org - in: path name: keyId type: string - description: Key ID + description: Key ID. required: true x-example: TODO # No examples in spec so far - in: query name: minimum_valid_until_ts type: integer format: int64 - description: Minimum Valid Until Milliseconds + description: Minimum Valid Until Milliseconds. required: true # TODO: Verify x-example: 1234567890 responses: @@ -55,9 +55,9 @@ paths: $ref: "definitions/keys_query_response.yaml" "/query": post: - summary: Retreive a server key - description: Retreive a server key - operationId: postQueryKeys + summary: Retrieve a server key + description: Retrieve a server key. + operationId: bulkPerspectivesKeyQuery parameters: - in: body name: body @@ -76,24 +76,24 @@ paths: properties: server_keys: type: object - description: The query criteria + description: The query criteria. additionalProperties: type: object name: ServerName - description: The server names to query + description: The server names to query. additionalProperties: type: object title: Query Criteria - description: The server keys to query + description: The server keys to query. properties: minimum_valid_until_ts: type: integer format: int64 - description: Minimum Valid Until MS + description: Minimum Valid Until MS. example: 1234567890 required: ['server_keys'] responses: 200: - description: The keys for the server + description: The keys for the server. schema: $ref: "definitions/keys_query_response.yaml" diff --git a/api/server-server/keys_server.yaml b/api/server-server/keys_server.yaml index 819a2599d..46beeebba 100644 --- a/api/server-server/keys_server.yaml +++ b/api/server-server/keys_server.yaml @@ -26,7 +26,7 @@ paths: "/server/{keyId}": get: summary: Get the server's key - description: Get the server's key + description: Get the server's key. operationId: getServerKey parameters: - in: path @@ -37,6 +37,6 @@ paths: x-example: TODO # No examples in the spec so far responses: 200: - description: The server's keys + description: The server's keys. schema: $ref: "definitions/keys.yaml" From 89384c96c18310d084fa3c2695c51109780b9f53 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 11:06:23 -0600 Subject: [PATCH 557/801] Full stops, language. --- api/server-server/definitions/edu.yaml | 10 ++++----- api/server-server/definitions/pdu.yaml | 8 +++---- .../definitions/transaction.yaml | 6 ++--- .../definitions/unsigned_pdu.yaml | 22 +++++++++---------- api/server-server/events.yaml | 21 +++++++++--------- 5 files changed, 34 insertions(+), 33 deletions(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index 4597ca623..af12752c2 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -22,16 +22,16 @@ example: properties: edu_type: type: string - description: The type of ephemeral message - example: "!abc123:matrix.org" + description: The type of ephemeral message. + example: "m.presence" origin: type: string - description: The server name sending the ephemeral message + description: The server name sending the ephemeral message. example: "matrix.org" destination: type: string - description: The server name receiving the ephemeral message + description: The server name receiving the ephemeral message. example: "elsewhere.com" content: type: object - description: The content of the ephemeral message + description: The content of the ephemeral message. diff --git a/api/server-server/definitions/pdu.yaml b/api/server-server/definitions/pdu.yaml index 2b6328be1..a5da57c04 100644 --- a/api/server-server/definitions/pdu.yaml +++ b/api/server-server/definitions/pdu.yaml @@ -23,20 +23,20 @@ allOf: hashes: type: object title: Event Hash - description: Hashes of the PDU, following the algorithm specified in `Signing Events`_ + description: Hashes of the PDU, following the algorithm specified in `Signing Events`_. example: { "sha256": "thishashcoversallfieldsincasethisisredacted" } properties: sha256: type: string - description: The hash - example: thishashcoversallfieldsincasethisisredacted + description: The hash. + example: thishashcoversallfieldsincasthisisredacted required: ['sha256'] signatures: type: object description: |- - Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_ + Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_. example: { "example.com": { "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" diff --git a/api/server-server/definitions/transaction.yaml b/api/server-server/definitions/transaction.yaml index 630d2ba36..e4c1f559e 100644 --- a/api/server-server/definitions/transaction.yaml +++ b/api/server-server/definitions/transaction.yaml @@ -20,16 +20,16 @@ properties: origin: type: string description: |- - The ``server_name`` of hoemserver sending this transaction + The ``server_name`` of the hoemserver sending this transaction. example: "example.org" origin_server_ts: type: integer format: int64 - description: Timestamp in milliseconds on originating homeserver when this transaction started + description: Timestamp in milliseconds on originating homeserver when this transaction started. example: 1234567890 pdus: type: array - description: List of persistent updates to rooms + description: List of persistent updates to rooms. items: $ref: "pdu.yaml" required: ['origin', 'origin_server_ts', 'pdus'] \ No newline at end of file diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index 173bddd4e..ca0a11835 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -19,15 +19,15 @@ example: properties: room_id: type: string - description: Room identifier + description: Room identifier. example: "!abc123:matrix.org" sender: type: string - description: The ID of the user sending the event + description: The ID of the user sending the event. example: "@someone:matrix.org" origin: type: string - description: The ``server_name`` of the homeserver that created this event + description: The ``server_name`` of the homeserver that created this event. example: "matrix.org" origin_server_ts: type: integer @@ -47,13 +47,13 @@ properties: example: "my_key" content: type: object - description: The content of the event + description: The content of the event. example: {"key": "value"} prev_events: type: array description: |- Event IDs and hashes of the most recent events in the room that the homeserver was aware - of when it made this event + of when it made this event. items: type: array maxItems: 2 @@ -70,16 +70,16 @@ properties: properties: sha256: type: string - description: The event hash + description: The event hash. example: abase64encodedsha256hashshouldbe43byteslong required: ['sha256'] depth: type: integer - description: The maximum depth of the ``prev_events``, plus one + description: The maximum depth of the ``prev_events``, plus one. example: 12 auth_events: type: array - description: Event IDs and hashes for the "auth events" of this event + description: Event IDs and hashes for the "auth events" of this event. items: type: array maxItems: 2 @@ -96,16 +96,16 @@ properties: properties: sha256: type: string - description: The event hash + description: The event hash. example: abase64encodedsha256hashshouldbe43byteslong required: ['sha256'] redacts: type: string - description: For redaction events, the ID of the event being redacted + description: For redaction events, the ID of the event being redacted. example: "$def456:matrix.org" unsigned: type: object - description: Additional data added by the origin server but not covered by the ``signatures`` + description: Additional data added by the origin server but not covered by the ``signatures``. example: {"key": "value"} required: - room_id diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index 055883c26..08498c357 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -33,37 +33,37 @@ paths: - in: path name: roomId type: string - description: The room ID to get state for + description: The room ID to get state for. required: true x-example: "!abc123:matrix.org" responses: 200: - description: The room state for the room (kept under ``pdus``) + description: The room state for the room (kept under ``pdus``). schema: $ref: "definitions/transaction.yaml" "/event/{eventId}": get: summary: Get a single event description: |- - Retrieves a single event + Retrieves a single event. operationId: getEvent parameters: - in: path name: eventId type: string - description: The event ID to get + description: The event ID to get. required: true x-example: "$abc123:matrix.org" responses: 200: - description: A transaction containing a single PDU which is the event requested + description: A transaction containing a single PDU which is the event requested. schema: $ref: "definitions/transaction.yaml" "/backfill/{roomId}": get: summary: Retrieves the events which precede the given event description: |- - Retreives a sliding-window history of previous PDUs that occurred on the given room. + Retreives a sliding-window history of previous PDUs that occurred in the given room. Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it are retrived, up to the total number given by the ``limit``. operationId: backfillRoom @@ -71,19 +71,19 @@ paths: - in: path name: roomId type: string - description: The room ID to backfill + description: The room ID to backfill. required: true x-example: "!abc123:matrix.org" - in: query name: v type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it - description: The event ID to backfill from + description: The event ID to backfill from. required: true x-example: "$abc123:matrix.org" - in: query name: limit type: integer - description: The maximum number of events to retrieve + description: The maximum number of events to retrieve. required: true # TODO: Verify x-example: 10 responses: @@ -91,6 +91,7 @@ paths: description: A transaction containing the PDUs that preceded the given event(s). schema: $ref: "definitions/transaction.yaml" + # TODO: It's possible that this endpoint doesn't exist anymore - verify "/pull": get: summary: Stream events later than a given point in history @@ -101,7 +102,7 @@ paths: - in: query name: v type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it - description: The event ID to backfill from + description: The event ID to backfill from. required: true x-example: "$abc123:matrix.org" - in: query From 2dae0c9c49542854005291a71d542b9c06fedb59 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 19 Jul 2018 08:54:04 -0600 Subject: [PATCH 558/801] use python3 in dump-swagger.py --- scripts/dump-swagger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/dump-swagger.py b/scripts/dump-swagger.py index 7994324f6..e02c554eb 100755 --- a/scripts/dump-swagger.py +++ b/scripts/dump-swagger.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # dump-swagger reads all of the swagger API docs used in spec generation and # outputs a JSON file which merges them all, for use as input to a swagger UI From 54d6d58fff385981bf8fb60abee083cfd74334a7 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Fri, 20 Jul 2018 14:15:47 +0100 Subject: [PATCH 559/801] naively move content from intro.rst to index.rst --- specification/index.rst | 384 ++++++++++++++++++++++++++++++++++- specification/intro.rst | 400 ------------------------------------- specification/targets.yaml | 3 - 3 files changed, 382 insertions(+), 405 deletions(-) delete mode 100644 specification/intro.rst diff --git a/specification/index.rst b/specification/index.rst index f9a3fef34..cb8b92414 100644 --- a/specification/index.rst +++ b/specification/index.rst @@ -30,18 +30,392 @@ communication ecosystem. To propose a change to the Matrix Spec, see the explanations at `Proposals for Spec Changes to Matrix <proposals>`_. +.. contents:: Table of Contents +.. sectnum:: + Matrix APIs ----------- The specification consists of the following parts: -`Introduction to Matrix <intro.html>`_ provides a full introduction to Matrix and the spec. - {{apis}} The `Appendices <appendices.html>`_ contain supplemental information not specific to one of the above APIs. +Introduction to the Matrix APIs +------------------------------- +.. WARNING:: + The Matrix specification is still evolving: the APIs are not yet frozen + and this document is in places a work in progress or stale. We have made every + effort to clearly flag areas which are still being finalised. + We're publishing it at this point because it's complete enough to be more than + useful and provide a canonical reference to how Matrix is evolving. Our end + goal is to mirror WHATWG's `Living Standard + <https://whatwg.org/faq?#living-standard>`_. + +Matrix is a set of open APIs for open-federated Instant Messaging (IM), Voice +over IP (VoIP) and Internet of Things (IoT) communication, designed to create +and support a new global real-time communication ecosystem. The intention is to +provide an open decentralised pubsub layer for the internet for securely +persisting and publishing/subscribing JSON objects. This specification is the +ongoing result of standardising the APIs used by the various components of the +Matrix ecosystem to communicate with one another. + +The principles that Matrix attempts to follow are: + +- Pragmatic Web-friendly APIs (i.e. JSON over REST) +- Keep It Simple & Stupid + + + provide a simple architecture with minimal third-party dependencies. + +- Fully open: + + + Fully open federation - anyone should be able to participate in the global + Matrix network + + Fully open standard - publicly documented standard with no IP or patent + licensing encumbrances + + Fully open source reference implementation - liberally-licensed example + implementations with no IP or patent licensing encumbrances + +- Empowering the end-user + + + The user should be able to choose the server and clients they use + + The user should be control how private their communication is + + The user should know precisely where their data is stored + +- Fully decentralised - no single points of control over conversations or the + network as a whole +- Learning from history to avoid repeating it + + + Trying to take the best aspects of XMPP, SIP, IRC, SMTP, IMAP and NNTP + whilst trying to avoid their failings + + +The functionality that Matrix provides includes: + +- Creation and management of fully distributed chat rooms with no + single points of control or failure +- Eventually-consistent cryptographically secure synchronisation of room + state across a global open network of federated servers and services +- Sending and receiving extensible messages in a room with (optional) + end-to-end encryption +- Extensible user management (inviting, joining, leaving, kicking, banning) + mediated by a power-level based user privilege system. +- Extensible room state management (room naming, aliasing, topics, bans) +- Extensible user profile management (avatars, display names, etc) +- Managing user accounts (registration, login, logout) +- Use of 3rd Party IDs (3PIDs) such as email addresses, phone numbers, + Facebook accounts to authenticate, identify and discover users on Matrix. +- Trusted federation of Identity servers for: + + + Publishing user public keys for PKI + + Mapping of 3PIDs to Matrix IDs + + +The end goal of Matrix is to be a ubiquitous messaging layer for synchronising +arbitrary data between sets of people, devices and services - be that for +instant messages, VoIP call setups, or any other objects that need to be +reliably and persistently pushed from A to B in an interoperable and federated +manner. + + +Spec Change Proposals +~~~~~~~~~~~~~~~~~~~~~ +To propose a change to the Matrix Spec, see the explanations at `Proposals +for Spec Changes to Matrix <proposals>`_. + + +Architecture +------------ + +Matrix defines APIs for synchronising extensible JSON objects known as +"events" between compatible clients, servers and services. Clients are +typically messaging/VoIP applications or IoT devices/hubs and communicate by +synchronising communication history with their "homeserver" using the +"Client-Server API". Each homeserver stores the communication history and +account information for all of its clients, and shares data with the wider +Matrix ecosystem by synchronising communication history with other homeservers +and their clients. + +Clients typically communicate with each other by emitting events in the +context of a virtual "room". Room data is replicated across *all of the +homeservers* whose users are participating in a given room. As such, *no +single homeserver has control or ownership over a given room*. Homeservers +model communication history as a partially ordered graph of events known as +the room's "event graph", which is synchronised with eventual consistency +between the participating servers using the "Server-Server API". This process +of synchronising shared conversation history between homeservers run by +different parties is called "Federation". Matrix optimises for the +Availability and Partitioned properties of CAP theorem at +the expense of Consistency. + +For example, for client A to send a message to client B, client A performs an +HTTP PUT of the required JSON event on its homeserver (HS) using the +client-server API. A's HS appends this event to its copy of the room's event +graph, signing the message in the context of the graph for integrity. A's HS +then replicates the message to B's HS by performing an HTTP PUT using the +server-server API. B's HS authenticates the request, validates the event's +signature, authorises the event's contents and then adds it to its copy of the +room's event graph. Client B then receives the message from his homeserver via +a long-lived GET request. + +:: + + How data flows between clients + ============================== + + { Matrix client A } { Matrix client B } + ^ | ^ | + | events | Client-Server API | events | + | V | V + +------------------+ +------------------+ + | |---------( HTTPS )--------->| | + | homeserver | | homeserver | + | |<--------( HTTPS )----------| | + +------------------+ Server-Server API +------------------+ + History Synchronisation + (Federation) + + +Users +~~~~~ + +Each client is associated with a user account, which is identified in Matrix +using a unique "user ID". This ID is namespaced to the homeserver which +allocated the account and has the form:: + + @localpart:domain + +See the `appendices <appendices.html#identifier-grammar>`_ for full details of +the structure of user IDs. + +Devices +~~~~~~~ + +The Matrix specification has a particular meaning for the term "device". As a +user, I might have several devices: a desktop client, some web browsers, an +Android device, an iPhone, etc. They broadly relate to a real device in the +physical world, but you might have several browsers on a physical device, or +several Matrix client applications on a mobile device, each of which would be +its own device. + +Devices are used primarily to manage the keys used for end-to-end encryption +(each device gets its own copy of the decryption keys), but they also help +users manage their access - for instance, by revoking access to particular +devices. + +When a user first uses a client, it registers itself as a new device. The +longevity of devices might depend on the type of client. A web client will +probably drop all of its state on logout, and create a new device every time +you log in, to ensure that cryptography keys are not leaked to a new user. In +a mobile client, it might be acceptable to reuse the device if a login session +expires, provided the user is the same. + +Devices are identified by a ``device_id``, which is unique within the scope of +a given user. + +A user may assign a human-readable display name to a device, to help them +manage their devices. + +Events +~~~~~~ + +All data exchanged over Matrix is expressed as an "event". Typically each client +action (e.g. sending a message) correlates with exactly one event. Each event +has a ``type`` which is used to differentiate different kinds of data. ``type`` +values MUST be uniquely globally namespaced following Java's `package naming +conventions`_, e.g. +``com.example.myapp.event``. The special top-level namespace ``m.`` is reserved +for events defined in the Matrix specification - for instance ``m.room.message`` +is the event type for instant messages. Events are usually sent in the context +of a "Room". + +.. _package naming conventions: https://en.wikipedia.org/wiki/Java_package#Package_naming_conventions + +Event Graphs +~~~~~~~~~~~~ + +.. _sect:event-graph: + +Events exchanged in the context of a room are stored in a directed acyclic graph +(DAG) called an "event graph". The partial ordering of this graph gives the +chronological ordering of events within the room. Each event in the graph has a +list of zero or more "parent" events, which refer to any preceding events +which have no chronological successor from the perspective of the homeserver +which created the event. + +Typically an event has a single parent: the most recent message in the room at +the point it was sent. However, homeservers may legitimately race with each +other when sending messages, resulting in a single event having multiple +successors. The next event added to the graph thus will have multiple parents. +Every event graph has a single root event with no parent. + +To order and ease chronological comparison between the events within the graph, +homeservers maintain a ``depth`` metadata field on each event. An event's +``depth`` is a positive integer that is strictly greater than the depths of any +of its parents. The root event should have a depth of 1. Thus if one event is +before another, then it must have a strictly smaller depth. + +Room structure +~~~~~~~~~~~~~~ + +A room is a conceptual place where users can send and receive events. Events are +sent to a room, and all participants in that room with sufficient access will +receive the event. Rooms are uniquely identified internally via "Room IDs", +which have the form:: + + !opaque_id:domain + +There is exactly one room ID for each room. Whilst the room ID does contain a +domain, it is simply for globally namespacing room IDs. The room does NOT +reside on the domain specified. + +See the `appendices <appendices.html#identifier-grammar>`_ for full details of +the structure of a room ID. + +The following conceptual diagram shows an +``m.room.message`` event being sent to the room ``!qporfwt:matrix.org``:: + + { @alice:matrix.org } { @bob:domain.com } + | ^ + | | + [HTTP POST] [HTTP GET] + Room ID: !qporfwt:matrix.org Room ID: !qporfwt:matrix.org + Event type: m.room.message Event type: m.room.message + Content: { JSON object } Content: { JSON object } + | | + V | + +------------------+ +------------------+ + | homeserver | | homeserver | + | matrix.org | | domain.com | + +------------------+ +------------------+ + | ^ + | [HTTP PUT] | + | Room ID: !qporfwt:matrix.org | + | Event type: m.room.message | + | Content: { JSON object } | + `-------> Pointer to the preceding message ------` + PKI signature from matrix.org + Transaction-layer metadata + PKI Authorization header + + ................................... + | Shared Data | + | State: | + | Room ID: !qporfwt:matrix.org | + | Servers: matrix.org, domain.com | + | Members: | + | - @alice:matrix.org | + | - @bob:domain.com | + | Messages: | + | - @alice:matrix.org | + | Content: { JSON object } | + |...................................| + +Federation maintains *shared data structures* per-room between multiple home +servers. The data is split into ``message events`` and ``state events``. + +Message events: + These describe transient 'once-off' activity in a room such as an + instant messages, VoIP call setups, file transfers, etc. They generally + describe communication activity. + +State events: + These describe updates to a given piece of persistent information + ('state') related to a room, such as the room's name, topic, membership, + participating servers, etc. State is modelled as a lookup table of key/value + pairs per room, with each key being a tuple of ``state_key`` and ``event type``. + Each state event updates the value of a given key. + +The state of the room at a given point is calculated by considering all events +preceding and including a given event in the graph. Where events describe the +same state, a merge conflict algorithm is applied. The state resolution +algorithm is transitive and does not depend on server state, as it must +consistently select the same event irrespective of the server or the order the +events were received in. Events are signed by the originating server (the +signature includes the parent relations, type, depth and payload hash) and are +pushed over federation to the participating servers in a room, currently using +full mesh topology. Servers may also request backfill of events over federation +from the other servers participating in a room. + + +Room Aliases +++++++++++++ + +Each room can also have multiple "Room Aliases", which look like:: + + #room_alias:domain + +See the `appendices <appendices.html#identifier-grammar>`_ for full details of +the structure of a room alias. + +A room alias "points" to a room ID and is the human-readable label by which +rooms are publicised and discovered. The room ID the alias is pointing to can +be obtained by visiting the domain specified. Note that the mapping from a room +alias to a room ID is not fixed, and may change over time to point to a +different room ID. For this reason, Clients SHOULD resolve the room alias to a +room ID once and then use that ID on subsequent requests. + +When resolving a room alias the server will also respond with a list of servers +that are in the room that can be used to join via. + +:: + + HTTP GET + #matrix:domain.com !aaabaa:matrix.org + | ^ + | | + _______V____________________|____ + | domain.com | + | Mappings: | + | #matrix >> !aaabaa:matrix.org | + | #golf >> !wfeiofh:sport.com | + | #bike >> !4rguxf:matrix.org | + |________________________________| + +Identity +~~~~~~~~ + +Users in Matrix are identified via their Matrix user ID. However, +existing 3rd party ID namespaces can also be used in order to identify Matrix +users. A Matrix "Identity" describes both the user ID and any other existing IDs +from third party namespaces *linked* to their account. +Matrix users can *link* third-party IDs (3PIDs) such as email addresses, social +network accounts and phone numbers to their user ID. Linking 3PIDs creates a +mapping from a 3PID to a user ID. This mapping can then be used by Matrix +users in order to discover the user IDs of their contacts. +In order to ensure that the mapping from 3PID to user ID is genuine, a globally +federated cluster of trusted "Identity Servers" (IS) are used to verify the 3PID +and persist and replicate the mappings. + +Usage of an IS is not required in order for a client application to be part of +the Matrix ecosystem. However, without one clients will not be able to look up +user IDs using 3PIDs. + + +Profiles +~~~~~~~~ + +Users may publish arbitrary key/value data associated with their account - such +as a human readable display name, a profile photo URL, contact information +(email address, phone numbers, website URLs etc). + +.. TODO + Actually specify the different types of data - e.g. what format are display + names allowed to be? + +Private User Data +~~~~~~~~~~~~~~~~~ + +Users may also store arbitrary private key/value data in their account - such as +client preferences, or server configuration settings which lack any other +dedicated API. The API is symmetrical to managing Profile data. + +.. TODO + Would it really be overengineered to use the same API for both profile & + private user data, but with different ACLs? + Specification Versions ---------------------- @@ -57,3 +431,9 @@ The specification for each API is versioned in the form ``rX.Y.Z``. * A change to ``Z`` represents a change which is backwards-compatible on both sides. Typically this implies a clarification to the specification, rather than a change which must be implemented. + +License +------- + +The Matrix specification is licensed under the `Apache License, Version 2.0 +<http://www.apache.org/licenses/LICENSE-2.0>`_. diff --git a/specification/intro.rst b/specification/intro.rst deleted file mode 100644 index ad5452484..000000000 --- a/specification/intro.rst +++ /dev/null @@ -1,400 +0,0 @@ -.. Copyright 2016 OpenMarket Ltd -.. -.. Licensed under the Apache License, Version 2.0 (the "License"); -.. you may not use this file except in compliance with the License. -.. You may obtain a copy of the License at -.. -.. http://www.apache.org/licenses/LICENSE-2.0 -.. -.. Unless required by applicable law or agreed to in writing, software -.. distributed under the License is distributed on an "AS IS" BASIS, -.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -.. See the License for the specific language governing permissions and -.. limitations under the License. - -.. contents:: Table of Contents -.. sectnum:: - -.. Note that this file is specifically unversioned because we don't want to -.. have to add Yet Another version number, and the commentary on what specs we -.. have should hopefully not get complex enough that we need to worry about -.. versioning it. - -Introduction ------------- -.. WARNING:: - The Matrix specification is still evolving: the APIs are not yet frozen - and this document is in places a work in progress or stale. We have made every - effort to clearly flag areas which are still being finalised. - We're publishing it at this point because it's complete enough to be more than - useful and provide a canonical reference to how Matrix is evolving. Our end - goal is to mirror WHATWG's `Living Standard - <https://whatwg.org/faq?#living-standard>`_. - -Matrix is a set of open APIs for open-federated Instant Messaging (IM), Voice -over IP (VoIP) and Internet of Things (IoT) communication, designed to create -and support a new global real-time communication ecosystem. The intention is to -provide an open decentralised pubsub layer for the internet for securely -persisting and publishing/subscribing JSON objects. This specification is the -ongoing result of standardising the APIs used by the various components of the -Matrix ecosystem to communicate with one another. - -The principles that Matrix attempts to follow are: - -- Pragmatic Web-friendly APIs (i.e. JSON over REST) -- Keep It Simple & Stupid - - + provide a simple architecture with minimal third-party dependencies. - -- Fully open: - - + Fully open federation - anyone should be able to participate in the global - Matrix network - + Fully open standard - publicly documented standard with no IP or patent - licensing encumbrances - + Fully open source reference implementation - liberally-licensed example - implementations with no IP or patent licensing encumbrances - -- Empowering the end-user - - + The user should be able to choose the server and clients they use - + The user should be control how private their communication is - + The user should know precisely where their data is stored - -- Fully decentralised - no single points of control over conversations or the - network as a whole -- Learning from history to avoid repeating it - - + Trying to take the best aspects of XMPP, SIP, IRC, SMTP, IMAP and NNTP - whilst trying to avoid their failings - - -The functionality that Matrix provides includes: - -- Creation and management of fully distributed chat rooms with no - single points of control or failure -- Eventually-consistent cryptographically secure synchronisation of room - state across a global open network of federated servers and services -- Sending and receiving extensible messages in a room with (optional) - end-to-end encryption -- Extensible user management (inviting, joining, leaving, kicking, banning) - mediated by a power-level based user privilege system. -- Extensible room state management (room naming, aliasing, topics, bans) -- Extensible user profile management (avatars, display names, etc) -- Managing user accounts (registration, login, logout) -- Use of 3rd Party IDs (3PIDs) such as email addresses, phone numbers, - Facebook accounts to authenticate, identify and discover users on Matrix. -- Trusted federation of Identity servers for: - - + Publishing user public keys for PKI - + Mapping of 3PIDs to Matrix IDs - - -The end goal of Matrix is to be a ubiquitous messaging layer for synchronising -arbitrary data between sets of people, devices and services - be that for -instant messages, VoIP call setups, or any other objects that need to be -reliably and persistently pushed from A to B in an interoperable and federated -manner. - - -Spec Change Proposals -~~~~~~~~~~~~~~~~~~~~~ -To propose a change to the Matrix Spec, see the explanations at `Proposals -for Spec Changes to Matrix <proposals>`_. - - -Architecture ------------- - -Matrix defines APIs for synchronising extensible JSON objects known as -"events" between compatible clients, servers and services. Clients are -typically messaging/VoIP applications or IoT devices/hubs and communicate by -synchronising communication history with their "homeserver" using the -"Client-Server API". Each homeserver stores the communication history and -account information for all of its clients, and shares data with the wider -Matrix ecosystem by synchronising communication history with other homeservers -and their clients. - -Clients typically communicate with each other by emitting events in the -context of a virtual "room". Room data is replicated across *all of the -homeservers* whose users are participating in a given room. As such, *no -single homeserver has control or ownership over a given room*. Homeservers -model communication history as a partially ordered graph of events known as -the room's "event graph", which is synchronised with eventual consistency -between the participating servers using the "Server-Server API". This process -of synchronising shared conversation history between homeservers run by -different parties is called "Federation". Matrix optimises for the -Availability and Partitioned properties of CAP theorem at -the expense of Consistency. - -For example, for client A to send a message to client B, client A performs an -HTTP PUT of the required JSON event on its homeserver (HS) using the -client-server API. A's HS appends this event to its copy of the room's event -graph, signing the message in the context of the graph for integrity. A's HS -then replicates the message to B's HS by performing an HTTP PUT using the -server-server API. B's HS authenticates the request, validates the event's -signature, authorises the event's contents and then adds it to its copy of the -room's event graph. Client B then receives the message from his homeserver via -a long-lived GET request. - -:: - - How data flows between clients - ============================== - - { Matrix client A } { Matrix client B } - ^ | ^ | - | events | Client-Server API | events | - | V | V - +------------------+ +------------------+ - | |---------( HTTPS )--------->| | - | homeserver | | homeserver | - | |<--------( HTTPS )----------| | - +------------------+ Server-Server API +------------------+ - History Synchronisation - (Federation) - - -Users -~~~~~ - -Each client is associated with a user account, which is identified in Matrix -using a unique "user ID". This ID is namespaced to the homeserver which -allocated the account and has the form:: - - @localpart:domain - -See the `appendices <appendices.html#identifier-grammar>`_ for full details of -the structure of user IDs. - -Devices -~~~~~~~ - -The Matrix specification has a particular meaning for the term "device". As a -user, I might have several devices: a desktop client, some web browsers, an -Android device, an iPhone, etc. They broadly relate to a real device in the -physical world, but you might have several browsers on a physical device, or -several Matrix client applications on a mobile device, each of which would be -its own device. - -Devices are used primarily to manage the keys used for end-to-end encryption -(each device gets its own copy of the decryption keys), but they also help -users manage their access - for instance, by revoking access to particular -devices. - -When a user first uses a client, it registers itself as a new device. The -longevity of devices might depend on the type of client. A web client will -probably drop all of its state on logout, and create a new device every time -you log in, to ensure that cryptography keys are not leaked to a new user. In -a mobile client, it might be acceptable to reuse the device if a login session -expires, provided the user is the same. - -Devices are identified by a ``device_id``, which is unique within the scope of -a given user. - -A user may assign a human-readable display name to a device, to help them -manage their devices. - -Events -~~~~~~ - -All data exchanged over Matrix is expressed as an "event". Typically each client -action (e.g. sending a message) correlates with exactly one event. Each event -has a ``type`` which is used to differentiate different kinds of data. ``type`` -values MUST be uniquely globally namespaced following Java's `package naming -conventions`_, e.g. -``com.example.myapp.event``. The special top-level namespace ``m.`` is reserved -for events defined in the Matrix specification - for instance ``m.room.message`` -is the event type for instant messages. Events are usually sent in the context -of a "Room". - -.. _package naming conventions: https://en.wikipedia.org/wiki/Java_package#Package_naming_conventions - -Event Graphs -~~~~~~~~~~~~ - -.. _sect:event-graph: - -Events exchanged in the context of a room are stored in a directed acyclic graph -(DAG) called an "event graph". The partial ordering of this graph gives the -chronological ordering of events within the room. Each event in the graph has a -list of zero or more "parent" events, which refer to any preceding events -which have no chronological successor from the perspective of the homeserver -which created the event. - -Typically an event has a single parent: the most recent message in the room at -the point it was sent. However, homeservers may legitimately race with each -other when sending messages, resulting in a single event having multiple -successors. The next event added to the graph thus will have multiple parents. -Every event graph has a single root event with no parent. - -To order and ease chronological comparison between the events within the graph, -homeservers maintain a ``depth`` metadata field on each event. An event's -``depth`` is a positive integer that is strictly greater than the depths of any -of its parents. The root event should have a depth of 1. Thus if one event is -before another, then it must have a strictly smaller depth. - -Room structure -~~~~~~~~~~~~~~ - -A room is a conceptual place where users can send and receive events. Events are -sent to a room, and all participants in that room with sufficient access will -receive the event. Rooms are uniquely identified internally via "Room IDs", -which have the form:: - - !opaque_id:domain - -There is exactly one room ID for each room. Whilst the room ID does contain a -domain, it is simply for globally namespacing room IDs. The room does NOT -reside on the domain specified. - -See the `appendices <appendices.html#identifier-grammar>`_ for full details of -the structure of a room ID. - -The following conceptual diagram shows an -``m.room.message`` event being sent to the room ``!qporfwt:matrix.org``:: - - { @alice:matrix.org } { @bob:domain.com } - | ^ - | | - [HTTP POST] [HTTP GET] - Room ID: !qporfwt:matrix.org Room ID: !qporfwt:matrix.org - Event type: m.room.message Event type: m.room.message - Content: { JSON object } Content: { JSON object } - | | - V | - +------------------+ +------------------+ - | homeserver | | homeserver | - | matrix.org | | domain.com | - +------------------+ +------------------+ - | ^ - | [HTTP PUT] | - | Room ID: !qporfwt:matrix.org | - | Event type: m.room.message | - | Content: { JSON object } | - `-------> Pointer to the preceding message ------` - PKI signature from matrix.org - Transaction-layer metadata - PKI Authorization header - - ................................... - | Shared Data | - | State: | - | Room ID: !qporfwt:matrix.org | - | Servers: matrix.org, domain.com | - | Members: | - | - @alice:matrix.org | - | - @bob:domain.com | - | Messages: | - | - @alice:matrix.org | - | Content: { JSON object } | - |...................................| - -Federation maintains *shared data structures* per-room between multiple home -servers. The data is split into ``message events`` and ``state events``. - -Message events: - These describe transient 'once-off' activity in a room such as an - instant messages, VoIP call setups, file transfers, etc. They generally - describe communication activity. - -State events: - These describe updates to a given piece of persistent information - ('state') related to a room, such as the room's name, topic, membership, - participating servers, etc. State is modelled as a lookup table of key/value - pairs per room, with each key being a tuple of ``state_key`` and ``event type``. - Each state event updates the value of a given key. - -The state of the room at a given point is calculated by considering all events -preceding and including a given event in the graph. Where events describe the -same state, a merge conflict algorithm is applied. The state resolution -algorithm is transitive and does not depend on server state, as it must -consistently select the same event irrespective of the server or the order the -events were received in. Events are signed by the originating server (the -signature includes the parent relations, type, depth and payload hash) and are -pushed over federation to the participating servers in a room, currently using -full mesh topology. Servers may also request backfill of events over federation -from the other servers participating in a room. - - -Room Aliases -++++++++++++ - -Each room can also have multiple "Room Aliases", which look like:: - - #room_alias:domain - -See the `appendices <appendices.html#identifier-grammar>`_ for full details of -the structure of a room alias. - -A room alias "points" to a room ID and is the human-readable label by which -rooms are publicised and discovered. The room ID the alias is pointing to can -be obtained by visiting the domain specified. Note that the mapping from a room -alias to a room ID is not fixed, and may change over time to point to a -different room ID. For this reason, Clients SHOULD resolve the room alias to a -room ID once and then use that ID on subsequent requests. - -When resolving a room alias the server will also respond with a list of servers -that are in the room that can be used to join via. - -:: - - HTTP GET - #matrix:domain.com !aaabaa:matrix.org - | ^ - | | - _______V____________________|____ - | domain.com | - | Mappings: | - | #matrix >> !aaabaa:matrix.org | - | #golf >> !wfeiofh:sport.com | - | #bike >> !4rguxf:matrix.org | - |________________________________| - -Identity -~~~~~~~~ - -Users in Matrix are identified via their Matrix user ID. However, -existing 3rd party ID namespaces can also be used in order to identify Matrix -users. A Matrix "Identity" describes both the user ID and any other existing IDs -from third party namespaces *linked* to their account. -Matrix users can *link* third-party IDs (3PIDs) such as email addresses, social -network accounts and phone numbers to their user ID. Linking 3PIDs creates a -mapping from a 3PID to a user ID. This mapping can then be used by Matrix -users in order to discover the user IDs of their contacts. -In order to ensure that the mapping from 3PID to user ID is genuine, a globally -federated cluster of trusted "Identity Servers" (IS) are used to verify the 3PID -and persist and replicate the mappings. - -Usage of an IS is not required in order for a client application to be part of -the Matrix ecosystem. However, without one clients will not be able to look up -user IDs using 3PIDs. - - -Profiles -~~~~~~~~ - -Users may publish arbitrary key/value data associated with their account - such -as a human readable display name, a profile photo URL, contact information -(email address, phone numbers, website URLs etc). - -.. TODO - Actually specify the different types of data - e.g. what format are display - names allowed to be? - -Private User Data -~~~~~~~~~~~~~~~~~ - -Users may also store arbitrary private key/value data in their account - such as -client preferences, or server configuration settings which lack any other -dedicated API. The API is symmetrical to managing Profile data. - -.. TODO - Would it really be overengineered to use the same API for both profile & - private user data, but with different ACLs? - -License -------- - -The Matrix specification is licensed under the `Apache License, Version 2.0 -<http://www.apache.org/licenses/LICENSE-2.0>`_. diff --git a/specification/targets.yaml b/specification/targets.yaml index b9718bc49..53957e0af 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -2,9 +2,6 @@ targets: index: files: - index.rst - intro: - files: - - intro.rst client_server: files: - client_server_api.rst From e7c79f2bd4a8e6d1bca5c457833e7f7350dd9cbf Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Fri, 20 Jul 2018 15:30:58 +0100 Subject: [PATCH 560/801] avoid .rst link conflict warnings --- specification/index.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/index.rst b/specification/index.rst index cb8b92414..36c899580 100644 --- a/specification/index.rst +++ b/specification/index.rst @@ -187,7 +187,7 @@ allocated the account and has the form:: @localpart:domain -See the `appendices <appendices.html#identifier-grammar>`_ for full details of +See `'Identifier Grammar' the appendices <appendices.html#identifier-grammar>`_ for full details of the structure of user IDs. Devices @@ -271,7 +271,7 @@ There is exactly one room ID for each room. Whilst the room ID does contain a domain, it is simply for globally namespacing room IDs. The room does NOT reside on the domain specified. -See the `appendices <appendices.html#identifier-grammar>`_ for full details of +See `'Identifier Grammar' in the appendices <appendices.html#identifier-grammar>`_ for full details of the structure of a room ID. The following conceptual diagram shows an @@ -347,7 +347,7 @@ Each room can also have multiple "Room Aliases", which look like:: #room_alias:domain -See the `appendices <appendices.html#identifier-grammar>`_ for full details of +See `'Identifier Grammar' in the appendices <appendices.html#identifier-grammar>`_ for full details of the structure of a room alias. A room alias "points" to a room ID and is the human-readable label by which From 59bdcb5615e5716d5b184f725d72ddaf8c02ea3c Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Thu, 19 Jul 2018 21:46:57 +0100 Subject: [PATCH 561/801] Clone and configure the swagger UI as a circle CI artifact Signed-off-by: Stuart Mumford <stuart@cadair.com> --- .circleci/config.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c11eb70dc..3a0b60325 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,12 +4,26 @@ gendoc: &gendoc source /env/bin/activate scripts/gendoc.py -gendoc: &genswagger +genswagger: &genswagger name: Generate the swagger command: | source /env/bin/activate scripts/dump-swagger.py +buildswaggerui: &buildswaggerui + name: Build Swagger UI + command: | + ls scripts/ + mkdir -p api/client-server + git clone https://github.com/matrix-org/swagger-ui swagger-ui + cp -r swagger-ui/dist/* api/client-server/ + mkdir -p api/client-server/json + cp scripts/swagger/api-docs.json api/client-server/json/ + wget https://raw.githubusercontent.com/matrix-org/matrix.org/master/content/swagger.css -O api/client-server/swagger.css + wget https://raw.githubusercontent.com/matrix-org/matrix.org/master/scripts/swagger-ui.patch + patch api/client-server/index.html swagger-ui.patch + + version: 2 jobs: build-docs: @@ -30,11 +44,12 @@ jobs: steps: - checkout - run: *genswagger + - run: *buildswaggerui - store_artifacts: - path: scripts/swagger/api-docs.json + path: api/client-server/ - run: name: "Swagger UI is available at:" - command: SWAGGER_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/scripts/swagger/api-docs.json"; echo "https://matrix.org/docs/api/client-server/?url="$SWAGGER_URL + command: DOCS_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/api/client-server/index.html"; echo $DOCS_URL workflows: version: 2 From 03b74476f12d65ab5fb1d36ae9b25f8bd11d50d5 Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Mon, 23 Jul 2018 20:20:52 +0100 Subject: [PATCH 562/801] Add config for Giles Signed-off-by: Stuart Mumford <stuart@cadair.com> --- pyproject.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..61f77ec60 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,9 @@ +[ tool.giles ] + + [ tool.giles.circleci_artifacts.docs ] + url = "gen/index.html" + message = "Click details to preview the HTML documentation." + + [ tool.giles.circleci_artifacts.random ] + url = "client-server/index.html" + message = "Click to preview the swagger build." From 7c71b697e7b0ac6ccb8227e3557199422bc18a47 Mon Sep 17 00:00:00 2001 From: Stuart Mumford <stuart@cadair.com> Date: Tue, 24 Jul 2018 11:07:11 +0100 Subject: [PATCH 563/801] Fix typo in Giles config Signed-off-by: Stuart Mumford <stuart@cadair.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 61f77ec60..b53982b87 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,6 @@ url = "gen/index.html" message = "Click details to preview the HTML documentation." - [ tool.giles.circleci_artifacts.random ] + [ tool.giles.circleci_artifacts.swagger ] url = "client-server/index.html" message = "Click to preview the swagger build." From 07aeaadef914f68b0e6bca274c8d656da91d52cf Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 24 Jul 2018 11:41:03 +0100 Subject: [PATCH 564/801] update links which used to point to docs/spec/intro --- specification/client_server_api.rst | 2 +- specification/modules/cas_login.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 8dde43029..1bb989ff6 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -1417,7 +1417,7 @@ have to wait in milliseconds before they can try again. .. References .. _`macaroon`: http://research.google.com/pubs/pub41892.html -.. _`devices`: ../intro.html#devices +.. _`devices`: ../index.html#devices .. Links through the external API docs are below .. ============================================= diff --git a/specification/modules/cas_login.rst b/specification/modules/cas_login.rst index b651431a3..5de980575 100644 --- a/specification/modules/cas_login.rst +++ b/specification/modules/cas_login.rst @@ -98,9 +98,9 @@ check for certain user attributes in the response. Any required attributes should be configured by the server administrator. Once the ticket has been validated, the server MUST map the CAS ``user_id`` -to a valid `Matrix user identifier <../intro.html#user-identifiers>`_. The +to a valid `Matrix user identifier <../index.html#user-identifiers>`_. The guidance in `Mapping from other character sets -<../intro.html#mapping-from-other-character-sets>`_ may be useful. +<../index.html#mapping-from-other-character-sets>`_ may be useful. If the generated user identifier represents a new user, it should be registered as a new user. From 26505533dd497859ae69b18ecd008fa56a14d563 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Tue, 24 Jul 2018 16:06:59 +0100 Subject: [PATCH 565/801] drop dns_name = host in favour of host --- specification/appendices/identifier_grammar.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/appendices/identifier_grammar.rst b/specification/appendices/identifier_grammar.rst index e85bf4107..3abcfae2b 100644 --- a/specification/appendices/identifier_grammar.rst +++ b/specification/appendices/identifier_grammar.rst @@ -25,8 +25,7 @@ number of identifiers, as described below. The server name represents the address at which the homeserver in question can be reached by other homeservers. The complete grammar is:: - server_name = dns_name [ ":" port] - dns_name = host + server_name = host [ ":" port] port = *DIGIT where ``host`` is as defined by `RFC3986, section 3.2.2 From 21c4af70a95b3bb7d7f8767e91487a5df5475a17 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 09:13:15 -0600 Subject: [PATCH 566/801] Fix schema definitions (spelling, attributes) --- api/server-server/definitions/edu.yaml | 5 ++++- api/server-server/definitions/transaction.yaml | 2 +- api/server-server/definitions/unsigned_pdu.yaml | 1 - api/server-server/events.yaml | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index af12752c2..c89573feb 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -24,14 +24,17 @@ properties: type: string description: The type of ephemeral message. example: "m.presence" + required: true origin: type: string description: The server name sending the ephemeral message. - example: "matrix.org" + example: "matrix.org" + required: true destination: type: string description: The server name receiving the ephemeral message. example: "elsewhere.com" + required: true content: type: object description: The content of the ephemeral message. diff --git a/api/server-server/definitions/transaction.yaml b/api/server-server/definitions/transaction.yaml index e4c1f559e..930ddec1a 100644 --- a/api/server-server/definitions/transaction.yaml +++ b/api/server-server/definitions/transaction.yaml @@ -20,7 +20,7 @@ properties: origin: type: string description: |- - The ``server_name`` of the hoemserver sending this transaction. + The ``server_name`` of the homeserver sending this transaction. example: "example.org" origin_server_ts: type: integer diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index ca0a11835..011b27363 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -37,7 +37,6 @@ properties: type: type: string description: Event type - required: true example: "m.room.message" state_key: type: string diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index 08498c357..96b2a8251 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -65,7 +65,7 @@ paths: description: |- Retreives a sliding-window history of previous PDUs that occurred in the given room. Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it - are retrived, up to the total number given by the ``limit``. + are retrieved, up to the total number given by the ``limit``. operationId: backfillRoom parameters: - in: path @@ -84,7 +84,7 @@ paths: name: limit type: integer description: The maximum number of events to retrieve. - required: true # TODO: Verify + required: true x-example: 10 responses: 200: From 88beaf4ad8f5a27bbdd5a3c30d0fd002ab431954 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 09:13:46 -0600 Subject: [PATCH 567/801] Completely remove /pull It's not been in use for years - we can safely let it disappear --- api/server-server/events.yaml | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index 96b2a8251..d540085d2 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -91,29 +91,3 @@ paths: description: A transaction containing the PDUs that preceded the given event(s). schema: $ref: "definitions/transaction.yaml" - # TODO: It's possible that this endpoint doesn't exist anymore - verify - "/pull": - get: - summary: Stream events later than a given point in history - description: |- - Retrieves all of the transactions later than any version given by the ``v`` arguments. - operationId: pull - parameters: - - in: query - name: v - type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it - description: The event ID to backfill from. - required: true - x-example: "$abc123:matrix.org" - - in: query - name: origin - type: string - description: The origin # TODO: What is this actually? - required: true # TODO: Verify - x-example: "matrix.org" - responses: - 200: - # TODO: This could do with a better description - description: A transaction containing multiple PDUs - schema: - $ref: "definitions/transaction.yaml" \ No newline at end of file From a4e5a461f9b5886b5183f28072916c0a0cbba3c1 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 09:14:31 -0600 Subject: [PATCH 568/801] Improve handing of lists appearing in items --- scripts/templating/matrix_templates/units.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index fc2b91817..c99b7c387 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -140,9 +140,6 @@ def inherit_parents(obj): """ logger.debug("inherit_parents %r" % obj) - if isinstance(obj, list): - return [inherit_parents(obj[i]) for i in range(0, len(obj))] - parents = obj.get("allOf", []) if not parents: return obj @@ -298,6 +295,8 @@ def process_data_type(prop, required=False, enforce_title=True): elif prop_type == "array": items = prop["items"] + # Items can be a list of schemas or a schema itself + # http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4 if isinstance(items, list): prop_title = "[" for i in items: @@ -385,9 +384,6 @@ def get_example_for_schema(schema): """Returns a python object representing a suitable example for this object""" schema = inherit_parents(schema) - if isinstance(schema, list): - return [get_example_for_schema(v) for v in schema] - if 'example' in schema: example = schema['example'] return example @@ -407,10 +403,13 @@ def get_example_for_schema(schema): if proptype == 'array': if 'items' not in schema: raise Exception('"array" property has neither items nor example') - result = get_example_for_schema(schema['items']) + items = schema['items'] + if isinstance(items, list): + return [get_example_for_schema(i) for i in items] + result = get_example_for_schema(items) if isinstance(result, list): - return result - return [result] + return [result] + return result if proptype == 'integer': return 0 From 042772aaf58141c9b5a433134c88b0817e8af648 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 10:13:23 -0600 Subject: [PATCH 569/801] Make nested titles better --- scripts/templating/matrix_templates/units.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index c99b7c387..e6493f2ea 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -298,12 +298,12 @@ def process_data_type(prop, required=False, enforce_title=True): # Items can be a list of schemas or a schema itself # http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.4 if isinstance(items, list): - prop_title = "[" + nested_titles = [] for i in items: nested = process_data_type(i) tables.extend(nested['tables']) - prop_title = "%s%s, " % (prop_title, nested['title']) - prop_title = prop_title[:-2] + "]" + nested_titles.extend([nested['title']]) + prop_title = "[%s]" % (", ".join(nested_titles), ) else: nested = process_data_type(prop["items"]) prop_title = "[%s]" % nested["title"] From 5ade15534d128519a6af77777e76aa79e466fa56 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 10:17:39 -0600 Subject: [PATCH 570/801] Remove extra branch in example generation --- scripts/templating/matrix_templates/units.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index e6493f2ea..15c987fd4 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -406,10 +406,7 @@ def get_example_for_schema(schema): items = schema['items'] if isinstance(items, list): return [get_example_for_schema(i) for i in items] - result = get_example_for_schema(items) - if isinstance(result, list): - return [result] - return result + return get_example_for_schema(items) if proptype == 'integer': return 0 From 9fa838d3e8d51103ac990ed4808274441149e00f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 10:17:57 -0600 Subject: [PATCH 571/801] Improve type naming --- scripts/templating/matrix_templates/units.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 15c987fd4..a4f682bb2 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -302,7 +302,7 @@ def process_data_type(prop, required=False, enforce_title=True): for i in items: nested = process_data_type(i) tables.extend(nested['tables']) - nested_titles.extend([nested['title']]) + nested_titles.append(nested['title']) prop_title = "[%s]" % (", ".join(nested_titles), ) else: nested = process_data_type(prop["items"]) @@ -523,10 +523,8 @@ class MatrixUnits(Units): items = param.get("items") if items: if isinstance(items, list): - val_type = "[" - for i in items: - val_type += "%s, " % items.get("type") - val_type = val_type[:-2] + "]" + types = ", ".join(i.get("type") for i in items) + val_type = "[%s]" % (types,) else: val_type = "[%s]" % items.get("type") From acf9632afcd0fb3861c203a1fb346ffaaffa98d8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 10:25:24 -0600 Subject: [PATCH 572/801] Enlist the examples --- scripts/templating/matrix_templates/units.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index a4f682bb2..5b39a2b3c 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -406,7 +406,7 @@ def get_example_for_schema(schema): items = schema['items'] if isinstance(items, list): return [get_example_for_schema(i) for i in items] - return get_example_for_schema(items) + return [get_example_for_schema(items)] if proptype == 'integer': return 0 From f09c4fd286e344512ae1890650c5d7bcb0bb022c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 21:35:12 -0600 Subject: [PATCH 573/801] Convert joins to swagger --- api/server-server/joins.yaml | 275 ++++++++++++++++++++++++++++ specification/server_server_api.rst | 11 +- 2 files changed, 276 insertions(+), 10 deletions(-) create mode 100644 api/server-server/joins.yaml diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml new file mode 100644 index 000000000..d4a7ed9e1 --- /dev/null +++ b/api/server-server/joins.yaml @@ -0,0 +1,275 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Join Room API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/make_join/{roomId}/{userId}": + get: + summary: Get information required to make a join event for a room + description: |- + Asks the receiving server to return information that the sending + server will need to prepare a join event to get into the room. + This is part of the `Joining Rooms`_ handshake. + operationId: makeJoin + parameters: + - in: path + name: roomId + type: string + description: The room ID that is about to be joined + required: true + x-example: "!abc123:matrix.org" + - in: path + name: userId + type: string + description: The user ID the join event will be for + required: true + x-example: "@someone:example.org" + responses: + 200: + description: |- + An unsigned event that the server may now use as a template + for the rest of the `Joining Rooms`_ handshake. + schema: + allOf: + - $ref: "definitions/unsigned_pdu.yaml" + - type: object + properties: + # Note: we override a bunch of parameters to change their descriptions + sender: + type: string + description: The user ID of the joining member + example: "@someone:example.org" + origin: + type: string + description: The name of the resident homeserver + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: A timestamp added by the resident homeserver + example: 1234567890 + type: + type: string + description: The value ``m.room.member`` + required: true + example: "m.room.member" + state_key: + type: string + description: The user ID of the joining member + example: "@someone:example.org" + content: + type: object + title: Membership Event Content + description: The content of the event + example: {"membership": "join"} + properties: + membership: + type: string + description: The value ``join`` + example: "join" + required: ['membership'] + depth: + type: integer + description: This field must be present but is ignored; it may be 0 + example: 12 + auth_events: + type: array + description: |- + An event reference list containing the authorization events that would + allow the member to join the room + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: Not used + required: + # Every other field is already flagged as required by the $ref + - state_key + examples: + application/json: { + "$ref": "examples/unsigned_pdu.json", + "type": "m.room.member", + "content": { + "membership": "join" + } + } + "/send_join/{roomId}/{eventId}": + put: + summary: Submit a signed join event to a resident server + description: |- + Submits a signed join event to the resident server for it + to accept it into the room's graph. + operationId: sendJoin + parameters: + - in: path + name: roomId + type: string + description: The room ID that is about to be joined + required: true + x-example: "!abc123:matrix.org" + - in: path + name: eventId + type: string + description: The event ID for the join event + required: true + x-example: "$abc123:example.org" + - in: body + name: body + type: object + required: true + schema: + allOf: + - $ref: "definitions/pdu.yaml" + - type: object + properties: + # Note: we override a bunch of parameters to change their descriptions + sender: + type: string + description: The user ID of the joining member + example: "@someone:example.org" + origin: + type: string + description: The name of the joining homeserver + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: A timestamp added by the joining homeserver + example: 1234567890 + type: + type: string + description: The value ``m.room.member`` + example: "m.room.member" + state_key: + type: string + description: The user ID of the joining member + example: "@someone:example.org" + content: + type: object + title: Membership Event Content + description: The content of the event + example: {"membership": "join"} + properties: + membership: + type: string + description: The value ``join`` + example: "join" + required: ['membership'] + depth: + type: integer + description: This field must be present but is ignored; it may be 0 + example: 12 + auth_events: + type: array + description: |- + An event reference list containing the authorization events that would + allow the member to join the room + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: Not used + required: + # Every other field is already flagged as required by the $ref + - state_key + example: { + "$ref": "examples/pdu.json", + "type": "m.room.member", + "content": { + "membership": "join" + } + } + responses: + 200: + description: |- + The full state for the room, having accepted the join event + schema: + type: array + minItems: 2 + maxItems: 2 + items: + - type: integer + description: The value ``200`` + example: 200 + - type: object + title: Room State + description: The state for the room + properties: + auth_chain: + type: array + description: The auth chain + items: + type: object + properties: {} + # TODO: Verify schema + state: + type: array + description: The room state + items: + type: object + properties: {} + # TODO: Verify schema + required: ["auth_chain", "state"] + examples: + application/json: [ + 200, + { + # TODO: Use the appropriate refs (see TODOs in schema) + "auth_chain": [], + "state": [] + } + ] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 6f9800454..e8960d11f 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -689,16 +689,7 @@ All these URLs are name-spaced within a prefix of:: {{query_general_ss_http_api}} -To join a room:: - - GET .../make_join/<room_id>/<user_id> - Response: JSON encoding of a join proto-event - - PUT .../send_join/<room_id>/<event_id> - Response: JSON encoding of the state of the room at the time of the event - -Performs the room join handshake. For more information, see "Joining Rooms" -below. +{{joins_ss_http_api}} Joining Rooms ------------- From 004998b98f6ec2e1b15c49e3c27674d92ddf6a28 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 12 Jul 2018 22:10:46 -0600 Subject: [PATCH 574/801] Convert invites to swagger The whole section reads like a description for the endpoint, and has been replaced by the swagger definition now (rather than at a later stage). All the same information should be kept. --- .../definitions/invite_event.yaml | 88 +++++++++++++++++++ api/server-server/invites.yaml | 84 ++++++++++++++++++ specification/server_server_api.rst | 60 +------------ 3 files changed, 173 insertions(+), 59 deletions(-) create mode 100644 api/server-server/definitions/invite_event.yaml create mode 100644 api/server-server/invites.yaml diff --git a/api/server-server/definitions/invite_event.yaml b/api/server-server/definitions/invite_event.yaml new file mode 100644 index 000000000..989c159f7 --- /dev/null +++ b/api/server-server/definitions/invite_event.yaml @@ -0,0 +1,88 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: object +title: Invite Event +description: An invite event +allOf: + - $ref: "pdu.yaml" + - type: object + properties: + # Note: we override a bunch of parameters to change their descriptions + sender: + type: string + # TODO: Verify/clarify this - it doesn't seem right, given this is a 'regular' invite + description: |- + The matrix ID of the user who sent the original ``m.room.third_party_invite`` + example: "@someone:example.org" + origin: + type: string + description: The name of the inviting homeserver + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: A timestamp added by the inviting homeserver + example: 1234567890 + type: + type: string + description: The value ``m.room.member`` + example: "m.room.member" + state_key: + type: string + description: The user ID of the invited member + example: "@joe:elsewhere.com" + content: + type: object + title: Membership Event Content + description: |- + The content of the event, matching what is available in the + `Client-Server API`_ + example: {"membership": "invite"} + properties: + membership: + type: string + description: The value ``invite`` + example: "invite" + required: ['membership'] + auth_events: + type: array + description: |- + An event reference list containing the authorization events that would + allow the member to be invited to the room + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: Not used + required: + # Every other field is already flagged as required by the $ref + - state_key + - unsigned # TODO: apparently this is required? diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml new file mode 100644 index 000000000..ad20241b5 --- /dev/null +++ b/api/server-server/invites.yaml @@ -0,0 +1,84 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Invite User To Room API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/invite/{roomId}/{eventId}": + put: + summary: Invites a user to a room + description: |- + Invites a remote user to a room. Once the event has been + signed by both the inviting homeserver and the invited + homeserver, it can be sent to all of the users in the room. + operationId: sendInvite + parameters: + - in: path + name: roomId + type: string + description: The room ID that the user is being invited to + required: true + x-example: "!abc123:matrix.org" + - in: path + name: eventId + type: string + description: The event ID for the invite event + required: true + x-example: "$abc123:example.org" + - in: body + name: body + type: object + required: true + schema: + $ref: "definitions/invite_event.yaml" + example: { + "$ref": "examples/pdu.json", + "type": "m.room.member", + "content": { + "membership": "invite" + } + } + responses: + 200: + description: |- + The event with the invited server's signature added. All other fields of the events + should remain untouched. + schema: + type: array + minItems: 2 + maxItems: 2 + items: + - type: integer + description: The value ``200`` + example: 200 + - $ref: "definitions/invite_event.yaml" + examples: + application/json: [ + 200, + { + "$ref": "examples/pdu.json", + "type": "m.room.member", + "content": { + "membership": "invite" + } + } + ] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index e8960d11f..f1825f270 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -879,65 +879,7 @@ that requested by the requester in the ``v`` parameter). Inviting to a room ------------------ -When a user wishes to invite another user to a local room and the other user is -on a different server, the inviting server will send a request to the invited -server:: - - PUT .../invite/{roomId}/{eventId} - -The required fields in the JSON body are: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``room_id`` String The room ID of the room. Must be the same - as the room ID specified in the path. -``event_id`` String The ID of the event. Must be the same as - the event ID specified in the path. -``type`` String The value ``m.room.member``. -``auth_events`` List An event-reference list containing the - IDs of the authorization events that - would allow this member to be invited in - the room. -``content`` Object The content of the event. -``depth`` Integer The depth of the event. -``origin`` String The name of the inviting homeserver. -``origin_server_ts`` Integer A timestamp added by the inviting - homeserver. -``prev_events`` List An event-reference list containing the - IDs of the immediate predecessor events. -``sender`` String The Matrix ID of the user who sent the - original ``m.room.third_party_invite``. -``state_key`` String The Matrix ID of the invited user. -``signatures`` Object The signature of the event from the - origin server. -``unsigned`` Object An object containing the properties that - aren't part of the signature's - computation. -======================== ============ ========================================= - -Where the ``content`` key contains the content for the ``m.room.member`` event -specified in the `Client-Server API`_. Note that the ``membership`` property of -the content must be ``invite``. - -Upon receiving this request, the invited homeserver will append its signature to -the event and respond to the request with the following JSON body:: - - [ - 200, - "event": {...} - ] - -Where ``event`` contains the event signed by both homeservers, using the same -JSON keys as the initial request on ``/invite/{roomId}/{eventId}``. Note that, -except for the ``signatures`` object (which now contains an additional signature), -all of the event's keys remain the same as in the event initially provided. - -This response format is due to a typo in Synapse, the first implementation of -Matrix's APIs, and is preserved to maintain compatibility. - -Now that the event has been signed by both the inviting homeserver and the -invited homeserver, it can be sent to all of the users in the room. +{{invites_ss_http_api}} Third-party invites ------------------- From 9c1c541a3829642b3371d8523d0fd3f13c095e8e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:04:22 -0600 Subject: [PATCH 575/801] Remove extra "required" declarations "required" is something that is handled as an array, and these are invalid. The `type` in both cases is covered by a required array elsewhere --- api/server-server/joins.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index d4a7ed9e1..097147248 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -71,7 +71,6 @@ paths: type: type: string description: The value ``m.room.member`` - required: true example: "m.room.member" state_key: type: string From 45ec8269e68c3c0f033f5414ff3e45e763ff7236 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:04:45 -0600 Subject: [PATCH 576/801] Fill out the required fields in all the examples --- api/server-server/examples/unsigned_pdu.json | 7 +++++++ api/server-server/invites.yaml | 8 ++++++-- api/server-server/joins.yaml | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/api/server-server/examples/unsigned_pdu.json b/api/server-server/examples/unsigned_pdu.json index 6ed4b79d6..0b585a639 100644 --- a/api/server-server/examples/unsigned_pdu.json +++ b/api/server-server/examples/unsigned_pdu.json @@ -4,6 +4,13 @@ "origin": "example.com", "event_id": "$a4ecee13e2accdadf56c1025:example.com", "origin_server_ts": 1404838188000, + "depth": 12, + "auth_events": [ + [ + "$af232176:example.org", + {"sha256": "abase64encodedsha256hashshouldbe43byteslong"} + ] + ], "type": "m.room.message", "prev_events": [ [ diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index ad20241b5..d176a5aed 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -53,9 +53,11 @@ paths: example: { "$ref": "examples/pdu.json", "type": "m.room.member", + "state_key": "@someone:example.org", "content": { "membership": "invite" - } + }, + "unsigned": {} } responses: 200: @@ -77,8 +79,10 @@ paths: { "$ref": "examples/pdu.json", "type": "m.room.member", + "state_key": "@someone:example.org", "content": { "membership": "invite" - } + }, + "unsigned": {} } ] diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 097147248..b3aebf145 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -125,6 +125,7 @@ paths: application/json: { "$ref": "examples/unsigned_pdu.json", "type": "m.room.member", + "state_key": "@someone:example.org", "content": { "membership": "join" } @@ -228,6 +229,7 @@ paths: example: { "$ref": "examples/pdu.json", "type": "m.room.member", + "state_key": "@someone:example.org", "content": { "membership": "join" } From 7314405904b507290d74188c783e8f3b6db7c293 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:04:52 -0600 Subject: [PATCH 577/801] Update comment --- api/server-server/definitions/invite_event.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/definitions/invite_event.yaml b/api/server-server/definitions/invite_event.yaml index 989c159f7..d87a1daac 100644 --- a/api/server-server/definitions/invite_event.yaml +++ b/api/server-server/definitions/invite_event.yaml @@ -85,4 +85,4 @@ allOf: required: # Every other field is already flagged as required by the $ref - state_key - - unsigned # TODO: apparently this is required? + - unsigned # TODO: apparently this is required? Verify. From 797aca87bd28c3327a4b855f9dd572cfe02b4373 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 13 Jul 2018 15:05:44 -0600 Subject: [PATCH 578/801] Update the check_examples.py script to resolve references The script previously wasn't chasing down valid references in examples. --- api/check_examples.py | 45 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/api/check_examples.py b/api/check_examples.py index be0676bb4..fb9430b67 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -56,7 +56,8 @@ def check_parameter(filepath, request, parameter): # Setting the 'id' tells jsonschema where the file is so that it # can correctly resolve relative $ref references in the schema schema['id'] = fileurl - resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_yaml}) + example = resolve_references(filepath, example) + resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) jsonschema.validate(example, schema, resolver=resolver) except Exception as e: raise ValueError("Error validating JSON schema for %r" % ( @@ -76,7 +77,8 @@ def check_response(filepath, request, code, response): # Setting the 'id' tells jsonschema where the file is so that it # can correctly resolve relative $ref references in the schema schema['id'] = fileurl - resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_yaml}) + example = resolve_references(filepath, example) + resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) jsonschema.validate(example, schema, resolver=resolver) except Exception as e: raise ValueError("Error validating JSON schema for %r %r" % ( @@ -104,6 +106,27 @@ def check_swagger_file(filepath): check_response(filepath, request, code, response) +def resolve_references(path, schema): + if isinstance(schema, dict): + # do $ref first + if '$ref' in schema: + value = schema['$ref'] + path = os.path.abspath(os.path.join(os.path.dirname(path), value)) + ref = load_file("file://" + path) + result = resolve_references(path, ref) + del schema['$ref'] + else: + result = {} + + for key, value in schema.items(): + result[key] = resolve_references(path, value) + return result + elif isinstance(schema, list): + return [resolve_references(path, value) for value in schema] + else: + return schema + + def load_yaml(path): if not path.startswith("file:///"): raise Exception("Bad ref: %s" % (path,)) @@ -112,6 +135,24 @@ def load_yaml(path): return yaml.load(f) +def load_json(path): + if not path.startswith("file:///"): + raise Exception("Bad ref: %s" % (path,)) + path = path[len("file://"):] + with open(path, "r") as f: + return json.load(f) + + +def load_file(path): + print("Loading reference: %s" % path) + if path.endswith(".json"): + return load_json(path) + else: + # We have to assume it's YAML because some of the YAML examples + # do not have file extensions. + return load_yaml(path) + + if __name__ == '__main__': paths = sys.argv[1:] if not paths: From eaf175056f48ca137dbde4c5d27f771b680b3c78 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 10:59:04 -0600 Subject: [PATCH 579/801] Full stops --- .../definitions/invite_event.yaml | 20 +++---- api/server-server/invites.yaml | 6 +- api/server-server/joins.yaml | 60 +++++++++---------- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/api/server-server/definitions/invite_event.yaml b/api/server-server/definitions/invite_event.yaml index d87a1daac..9cef80611 100644 --- a/api/server-server/definitions/invite_event.yaml +++ b/api/server-server/definitions/invite_event.yaml @@ -23,43 +23,43 @@ allOf: type: string # TODO: Verify/clarify this - it doesn't seem right, given this is a 'regular' invite description: |- - The matrix ID of the user who sent the original ``m.room.third_party_invite`` + The matrix ID of the user who sent the original ``m.room.third_party_invite``. example: "@someone:example.org" origin: type: string - description: The name of the inviting homeserver + description: The name of the inviting homeserver. example: "matrix.org" origin_server_ts: type: integer format: int64 - description: A timestamp added by the inviting homeserver + description: A timestamp added by the inviting homeserver. example: 1234567890 type: type: string - description: The value ``m.room.member`` + description: The value ``m.room.member``. example: "m.room.member" state_key: type: string - description: The user ID of the invited member + description: The user ID of the invited member. example: "@joe:elsewhere.com" content: type: object title: Membership Event Content description: |- The content of the event, matching what is available in the - `Client-Server API`_ + `Client-Server API`_. example: {"membership": "invite"} properties: membership: type: string - description: The value ``invite`` + description: The value ``invite``. example: "invite" required: ['membership'] auth_events: type: array description: |- An event reference list containing the authorization events that would - allow the member to be invited to the room + allow the member to be invited to the room. items: type: array maxItems: 2 @@ -76,12 +76,12 @@ allOf: properties: sha256: type: string - description: The event hash + description: The event hash. example: abase64encodedsha256hashshouldbe43byteslong required: ['sha256'] redacts: type: string - description: Not used + description: Not used. required: # Every other field is already flagged as required by the $ref - state_key diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index d176a5aed..a5d21938e 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -35,13 +35,13 @@ paths: - in: path name: roomId type: string - description: The room ID that the user is being invited to + description: The room ID that the user is being invited to. required: true x-example: "!abc123:matrix.org" - in: path name: eventId type: string - description: The event ID for the invite event + description: The event ID for the invite event. required: true x-example: "$abc123:example.org" - in: body @@ -70,7 +70,7 @@ paths: maxItems: 2 items: - type: integer - description: The value ``200`` + description: The value ``200``. example: 200 - $ref: "definitions/invite_event.yaml" examples: diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index b3aebf145..11a47af67 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -35,13 +35,13 @@ paths: - in: path name: roomId type: string - description: The room ID that is about to be joined + description: The room ID that is about to be joined. required: true x-example: "!abc123:matrix.org" - in: path name: userId type: string - description: The user ID the join event will be for + description: The user ID the join event will be for. required: true x-example: "@someone:example.org" responses: @@ -57,29 +57,29 @@ paths: # Note: we override a bunch of parameters to change their descriptions sender: type: string - description: The user ID of the joining member + description: The user ID of the joining member. example: "@someone:example.org" origin: type: string - description: The name of the resident homeserver + description: The name of the resident homeserver. example: "matrix.org" origin_server_ts: type: integer format: int64 - description: A timestamp added by the resident homeserver + description: A timestamp added by the resident homeserver. example: 1234567890 type: type: string - description: The value ``m.room.member`` + description: The value ``m.room.member``. example: "m.room.member" state_key: type: string - description: The user ID of the joining member + description: The user ID of the joining member. example: "@someone:example.org" content: type: object title: Membership Event Content - description: The content of the event + description: The content of the event. example: {"membership": "join"} properties: membership: @@ -89,13 +89,13 @@ paths: required: ['membership'] depth: type: integer - description: This field must be present but is ignored; it may be 0 + description: This field must be present but is ignored; it may be 0. example: 12 auth_events: type: array description: |- An event reference list containing the authorization events that would - allow the member to join the room + allow the member to join the room. items: type: array maxItems: 2 @@ -112,12 +112,12 @@ paths: properties: sha256: type: string - description: The event hash + description: The event hash. example: abase64encodedsha256hashshouldbe43byteslong required: ['sha256'] redacts: type: string - description: Not used + description: Not used. required: # Every other field is already flagged as required by the $ref - state_key @@ -141,13 +141,13 @@ paths: - in: path name: roomId type: string - description: The room ID that is about to be joined + description: The room ID that is about to be joined. required: true x-example: "!abc123:matrix.org" - in: path name: eventId type: string - description: The event ID for the join event + description: The event ID for the join event. required: true x-example: "$abc123:example.org" - in: body @@ -162,45 +162,45 @@ paths: # Note: we override a bunch of parameters to change their descriptions sender: type: string - description: The user ID of the joining member + description: The user ID of the joining member. example: "@someone:example.org" origin: type: string - description: The name of the joining homeserver + description: The name of the joining homeserver. example: "matrix.org" origin_server_ts: type: integer format: int64 - description: A timestamp added by the joining homeserver + description: A timestamp added by the joining homeserver. example: 1234567890 type: type: string - description: The value ``m.room.member`` + description: The value ``m.room.member``. example: "m.room.member" state_key: type: string - description: The user ID of the joining member + description: The user ID of the joining member. example: "@someone:example.org" content: type: object title: Membership Event Content - description: The content of the event + description: The content of the event. example: {"membership": "join"} properties: membership: type: string - description: The value ``join`` + description: The value ``join``. example: "join" required: ['membership'] depth: type: integer - description: This field must be present but is ignored; it may be 0 + description: This field must be present but is ignored; it may be 0. example: 12 auth_events: type: array description: |- An event reference list containing the authorization events that would - allow the member to join the room + allow the member to join the room. items: type: array maxItems: 2 @@ -217,12 +217,12 @@ paths: properties: sha256: type: string - description: The event hash + description: The event hash. example: abase64encodedsha256hashshouldbe43byteslong required: ['sha256'] redacts: type: string - description: Not used + description: Not used. required: # Every other field is already flagged as required by the $ref - state_key @@ -237,29 +237,29 @@ paths: responses: 200: description: |- - The full state for the room, having accepted the join event + The full state for the room, having accepted the join event. schema: type: array minItems: 2 maxItems: 2 items: - type: integer - description: The value ``200`` + description: The value ``200``. example: 200 - type: object title: Room State - description: The state for the room + description: The state for the room. properties: auth_chain: type: array - description: The auth chain + description: The auth chain. items: type: object properties: {} # TODO: Verify schema state: type: array - description: The room state + description: The room state. items: type: object properties: {} From 0d1b82a6017a1e3c0812a3e06d6bd18026a0e96b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 14:40:32 -0600 Subject: [PATCH 580/801] Add the event_id to unsigned PDUs This went missing in the swagger conversion. The example already has an event_id. --- api/server-server/definitions/unsigned_pdu.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index 011b27363..9e54a8375 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -17,6 +17,10 @@ description: An unsigned persistent data unit (event) example: $ref: "../examples/unsigned_pdu.json" properties: + event_id: + type: string + description: The event ID for the PDU + example: "$a4ecee13e2accdadf56c1025:example.com" room_id: type: string description: Room identifier. @@ -107,6 +111,7 @@ properties: description: Additional data added by the origin server but not covered by the ``signatures``. example: {"key": "value"} required: + - event_id - room_id - sender - origin From 9f399a08fe7b7572844704635902e2759405c554 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 14:41:42 -0600 Subject: [PATCH 581/801] Full stops I'm never going to remember these --- api/server-server/definitions/unsigned_pdu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index 9e54a8375..0aeede514 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -19,7 +19,7 @@ example: properties: event_id: type: string - description: The event ID for the PDU + description: The event ID for the PDU. example: "$a4ecee13e2accdadf56c1025:example.com" room_id: type: string From dcc4b0bfbc63f21ce921b4cfbc89133dedbce435 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 14:47:47 -0600 Subject: [PATCH 582/801] Remove Travis CI configuration We're using Circle CI for testing a bunch of the spec, and so far it has the advantage of being faster. Also, it's not named the same as me. We can also remove the Travis CI specific check in generate-matrix-org-assets because Circle CI doesn't touch this. --- .travis.yml | 16 ---------------- scripts/generate-matrix-org-assets | 7 ++----- 2 files changed, 2 insertions(+), 21 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9e9363aff..000000000 --- a/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -language: go -go: - - 1.8 - -sudo: required - -# we only need a single git commit -git: - depth: 1 - -install: - - sudo apt-get update - - sudo apt-get install python3 python3-dev - -script: - - ./scripts/test-and-build.sh diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index cbebbb649..ed08f81d3 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -8,11 +8,8 @@ cd `dirname $0`/.. mkdir -p assets -if [ "$TRAVIS" != "true" ] -then - # generate specification/proposals.rst - ./scripts/proposals.py -fi +# generate specification/proposals.rst +./scripts/proposals.py # generate the spec docs ./scripts/gendoc.py -d assets/spec From af0629a5204a5a7188126d97783a6316780399a9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 08:36:12 -0600 Subject: [PATCH 583/801] Full stop --- api/server-server/joins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 11a47af67..eaf14e717 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -84,7 +84,7 @@ paths: properties: membership: type: string - description: The value ``join`` + description: The value ``join``. example: "join" required: ['membership'] depth: From 0ddf578b6159e0c8effa5cbbb019efc9290fdff9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 20 Jul 2018 11:26:16 -0600 Subject: [PATCH 584/801] Combine all queries into their own section This removes the Directory and Profile sections, instead opting to document them as Queries. The behaviour of profile queries is based on Synapse's behaviour. A few issues have been opened to improve the behaviour: * https://github.com/matrix-org/matrix-doc/issues/1434 * https://github.com/matrix-org/matrix-doc/issues/1435 * https://github.com/matrix-org/matrix-doc/issues/1436 * https://github.com/matrix-org/matrix-doc/issues/1437 This fixes https://github.com/matrix-org/matrix-doc/issues/1404 --- api/server-server/directory.yaml | 69 ---------- api/server-server/query.yaml | 181 +++++++++++++++++++++++++++ api/server-server/query_general.yaml | 44 ------- specification/server_server_api.rst | 38 ++---- 4 files changed, 190 insertions(+), 142 deletions(-) delete mode 100644 api/server-server/directory.yaml create mode 100644 api/server-server/query.yaml delete mode 100644 api/server-server/query_general.yaml diff --git a/api/server-server/directory.yaml b/api/server-server/directory.yaml deleted file mode 100644 index 94f115b91..000000000 --- a/api/server-server/directory.yaml +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2017 Kamax.io -# Copyright 2018 New Vector Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -swagger: '2.0' -info: - title: "Matrix Federation Query API" - version: "1.0.0" -host: localhost:8448 -schemes: - - https -basePath: /_matrix/federation/v1 -produces: - - application/json -paths: - "/query/directory": - get: - summary: Retrieve the room ID and list of resident homeservers for a room - alias. - description: Retrieve the room ID and list of resident homeservers for a room - alias. - parameters: - - in: query - name: room_alias - type: string - description: Room alias. - required: true - x-example: "#room_alias:example.org" - responses: - 200: - description: The corresponding room ID and list of known resident - homeservers for the room. - schema: - type: object - properties: - room_id: - type: string - description: The room ID mapped to the queried room alias. - x-example: "!roomid1234:example.org" - servers: - type: array - description: An array of server names that are likely to hold - then given room. This list may or may not include the server - answering the query. - items: - type: string - required: - - "room_id" - - "servers" - examples: - application/json: { - "room_id": "!roomid1234:example.org", - "servers": [ - "example.org", - "example.com", - "another.example.com:8449", - ] - } diff --git a/api/server-server/query.yaml b/api/server-server/query.yaml new file mode 100644 index 000000000..23b9a5755 --- /dev/null +++ b/api/server-server/query.yaml @@ -0,0 +1,181 @@ +# Copyright 2017 Kamax.io +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Query API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/query/{queryType}": + get: + summary: Query for information + description: |- + Performs a single query request on the receiving homeserver. The query string + arguments are dependent on which type of query is being made. Known query types + are specified as their own endpoints as an extension to this definition. + operationId: queryInfo + parameters: + - in: path + name: queryType + type: string + description: The type of query to make + required: true + x-example: profile + responses: + 200: + description: |- + The query response. The schema varies depending on the query being made. + "/query/directory": + get: + summary: Query for the room ID and resident homeservers for a room alias + description: |- + Performs a query to get the mapped room ID and list of resident homeservers in + the room for a given room alias. Homeservers should only query room aliases + that belong to the target server (idenfified by the DNS Name in the alias). + The target server may not appear in the resident servers list. + + Servers may wish to cache the response to this query to prevent requesting the + information too often. + operationId: queryRoomDirectory + parameters: + - in: query + name: room_alias + type: string + description: The room alias to query. + required: true + x-example: "#room_alias:example.org" + responses: + 200: + description: |- + The corresponding room ID and list of known resident homeservers for the room. + schema: + type: object + properties: + room_id: + type: string + description: The room ID mapped to the queried room alias. + x-example: "!roomid1234:example.org" + servers: + type: array + description: |- + An array of server names that are likely to hold then given room. This + list may or may not include the server answering the query. + items: + type: string + required: + - "room_id" + - "servers" + examples: + application/json: { + "room_id": "!roomid1234:example.org", + "servers": [ + "example.org", + "example.com", + "another.example.com:8449", + ] + } + 400: + description: |- + The room alias is not hosted on the server. This can happen if the directory + server is named "example.org" and the room alias ends with "matrix.org". + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "Room alias not hosted on this homeserver." + } + 404: + description: The room alias was not found. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_NOT_FOUND", + "error": "Room alias not found." + } + "/query/profile": + get: + summary: Query for profile information about a given user + description: |- + Performs a query to get profile information, such as a display name or avatar, + for a given user. Homeservers should only query profiles for users that belong + to the target server (identified by the DNS Name in the user ID). + + Servers may wish to cache the response to this query to prevent requesting the + information too often. + parameters: + - in: query + name: user_id + type: string + description: The user ID to query. + required: true + x-example: "@someone:example.org" + - in: query + name: field + type: string + description: |- + The field to query. If specified, the server will only return the given field + in the response. If not specified, the server will return the full profile for + the user. + responses: + 200: + description: |- + The profile for the user. If a ``field`` is specified in the request, only the + matching field should be included in the response. If no ``field`` was specified, + the response should include the fields of the user's profile that can be made + public, such as the display name and avatar. + + If the ``field`` is for a field that the server does not recognize, an empty object + should be returned. If the ``field`` is recognized, but the user does not have it + set on their profile, ``null`` should be returned for the value of that field. + + If the user does not exist, an empty object should be returned regardless of the + ``field`` being queried. + schema: + type: object + properties: + displayname: + type: string + description: |- + The display name of the user. If the user does not have a display name set, + this should be the value ``null``. + x-example: "John Doe" + avatar_url: + type: string + description: |- + The avatar URL for the user's avatar. If the user does not have an avatar + set, this should be the value ``null``. + x-example: "mxc://matrix.org/MyC00lAvatar" + examples: + application/json: { + "displayname": "John Doe", + "avatar_url": "mxc://matrix.org/MyC00lAvatar" + } + 400: + description: The user does not belong to the server. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_UNKNOWN", + "error": "User is not hosted on this homeserver." + } diff --git a/api/server-server/query_general.yaml b/api/server-server/query_general.yaml deleted file mode 100644 index 97e3406ea..000000000 --- a/api/server-server/query_general.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2018 New Vector Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -swagger: '2.0' -info: - title: "Matrix Federation Query API" - version: "1.0.0" -host: localhost:8448 -schemes: - - https -basePath: /_matrix/federation/v1 -produces: - - application/json -paths: - "/query/{queryType}": - get: - summary: Query for information - description: |- - Performs a single query request on the receiving homeserver. The query string - arguments are dependent on which type of query is being made. Known query types - are specified as their own endpoints as an extension to this definition. - operationId: queryInfo - parameters: - - in: path - name: queryType - type: string - description: The type of query to make - required: true - x-example: profile - responses: - 200: - description: |- - The query response. The schema varies depending on the query being made. diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..b7d5a82fb 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -686,8 +686,6 @@ All these URLs are name-spaced within a prefix of:: {{events_ss_http_api}} -{{query_general_ss_http_api}} - {{joins_ss_http_api}} @@ -1107,36 +1105,18 @@ Rejecting a presence invite:: - Explain the zero-byte presence inference logic See also: docs/client-server/model/presence -Profiles --------- - -The server API for profiles is based entirely on the following Federation -Queries. There are no additional EDU or PDU types involved, other than the -implicit ``m.presence`` and ``m.room.member`` events (see section below). - -Querying profile information:: - - Query type: profile - - Arguments: - user_id: the ID of the user whose profile to return - field: (optional) string giving a field name - - Returns: JSON object containing the following keys: - displayname: string of free-form text - avatar_url: string containing an HTTP-scheme URL - -If the query contains the optional ``field`` key, it should give the name of a -result field. If such is present, then the result should contain only a field -of that name, with no others present. If not, the result should contain as much -of the user's profile as the homeserver has available and can make public. +Querying for information +------------------------ -Directory ---------- +Queries are a way to retrieve information from a homeserver abotu a resource, +such as a user or room. The endpoints here are often called in conjunction with +a request from a client on the client-server API in order to complete the call. -The server API for directory queries is also based on Federation Queries. +There are several types of queries that can be made. The generic endpoint to +represent all queries is described first, followed by the more specific queries +that can be made. -{{directory_ss_http_api}} +{{query_ss_http_api}} Send-to-device messaging ------------------------ From d914c402e24e69536902703a305dbf4391c57303 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 16:03:35 -0600 Subject: [PATCH 585/801] Improve the profile query to have more sane responses This is a mix of Synapse and Dendrite behaviour, mostly Dendrite. Synapse returns `null` for field values that aren't set, however Dendrite just doesn't return them and instead opts for an empty object. Further, synapse is lacking in error codes in this area. Dendrite does some additional validation on this API which introduces more errors for bad requests, instead of defaulting to empty objects/200 OK responses. Likewise, Dendrite returns a 404 when the user is not found while Synapse returns 200 OK/empty object. --- api/server-server/query.yaml | 38 ++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/api/server-server/query.yaml b/api/server-server/query.yaml index 23b9a5755..4599d1305 100644 --- a/api/server-server/query.yaml +++ b/api/server-server/query.yaml @@ -131,7 +131,8 @@ paths: x-example: "@someone:example.org" - in: query name: field - type: string + type: enum + enum: ['displayname', 'avatar_url'] description: |- The field to query. If specified, the server will only return the given field in the response. If not specified, the server will return the full profile for @@ -144,26 +145,22 @@ paths: the response should include the fields of the user's profile that can be made public, such as the display name and avatar. - If the ``field`` is for a field that the server does not recognize, an empty object - should be returned. If the ``field`` is recognized, but the user does not have it - set on their profile, ``null`` should be returned for the value of that field. - - If the user does not exist, an empty object should be returned regardless of the - ``field`` being queried. + If the user does not have a particular field set on their profile, the server + should exclude it from the response body or give it the value ``null``. schema: type: object properties: displayname: type: string description: |- - The display name of the user. If the user does not have a display name set, - this should be the value ``null``. + The display name of the user. May be omitted if the user does not have a + display name set. x-example: "John Doe" avatar_url: type: string description: |- - The avatar URL for the user's avatar. If the user does not have an avatar - set, this should be the value ``null``. + The avatar URL for the user's avatar. May be omitted if the user does not + have an avatar set. x-example: "mxc://matrix.org/MyC00lAvatar" examples: application/json: { @@ -171,11 +168,26 @@ paths: "avatar_url": "mxc://matrix.org/MyC00lAvatar" } 400: - description: The user does not belong to the server. + description: |- + The request was missing parameters or had invalid values for the parameters. This + can happen for: + + * The user not being hosted on the homeserver, + * Lack of a ``user_id`` in the request, or + * The ``field`` requested not being an allowed value. schema: $ref: "../client-server/definitions/errors/error.yaml" examples: application/json: { - "errcode": "M_UNKNOWN", + "errcode": "M_INVALID_ARGUMENT_VALUE", "error": "User is not hosted on this homeserver." } + 404: + description: The user does not exist or does not have a profile. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_NOT_FOUND", + "error": "User does not exist." + } From 8e97b0ca8174190f8bca6170cd39f92d09598d87 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 10:51:28 -0600 Subject: [PATCH 586/801] Improve the server key exchange portion of the s2s specification Most of the text has been shuffled into the swagger definitions to bring it closer to where it matters. This also attempts to clarify what is out in the wild. Most importantly, the first version of the key exchange is outright removed from the specification. Other research points/questions are: * What is a "Key ID"? * https://github.com/matrix-org/synapse/blob/1241156c82644d5609f45659607a356af5d8fe08/synapse/rest/key/v2/local_key_resource.py#L81-L83 * https://github.com/matrix-org/synapse/blob/1241156c82644d5609f45659607a356af5d8fe08/synapse/rest/key/v2/local_key_resource.py#L88-L91 * Returning a cached response if the server throws a 400, 500, or otherwise not-offline status code * https://github.com/matrix-org/synapse/blob/1241156c82644d5609f45659607a356af5d8fe08/synapse/rest/key/v2/remote_key_resource.py#L227-L229 * `minimum_valid_until_ts` default * This branch of the ladder: https://github.com/matrix-org/synapse/blob/1241156c82644d5609f45659607a356af5d8fe08/synapse/rest/key/v2/remote_key_resource.py#L192 * Returning empty arrays when querying offline/no servers * Queried by hand against matrix.org as a notary server with a fake domain name to query * Returning all keys even when querying for specific keys * Queried by hand using matrix.org as a notary server against a server publishing multiple keys. The examples and descriptions were also improved as part of this commit. --- api/server-server/definitions/keys.yaml | 46 ++++--- .../definitions/keys_query_response.yaml | 4 +- api/server-server/examples/server_key.json | 12 +- .../examples/server_key_notary_signed.json | 11 ++ api/server-server/keys_query.yaml | 69 +++++++--- api/server-server/keys_server.yaml | 30 ++++- specification/server_server_api.rst | 122 ++++-------------- 7 files changed, 144 insertions(+), 150 deletions(-) create mode 100644 api/server-server/examples/server_key_notary_signed.json diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index b08f24650..011ad6fdb 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -20,50 +20,60 @@ properties: server_name: type: string description: DNS name of the homeserver. - required: true # TODO: Verify + required: true example: "example.org" verify_keys: type: object - description: Public keys of the homeserver for verifying digital signatures. - required: true # TODO: Verify + description: |- + Public keys of the homeserver for verifying digital signatures. + + The object's key is the algorithm and version combined (``ed25519`` being the + algorithm and ``abc123`` being the version in the example below). Together, + this forms the Key ID. + required: true additionalProperties: type: object title: Verify Key example: { - "ed25519:auto2": { - "key": "Base+64+Encoded+Signature+Verification+Key" + "ed25519:abc123": { + "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" } } properties: key: type: string - description: The key + description: The `Unpadded Base64`_ encoded key. required: true - example: "Base+64+Encoded+Signature+Verification+Key" + example: "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" old_verify_keys: type: object - description: The public keys that the server used to use and when it stopped using them. + description: |- + The public keys that the server used to use and when it stopped using them. + + The object's key is the algorithm and version combined (``ed25519`` being the + algorithm and ``0ldK3y`` being the version in the example below). Together, + this forms the Key ID. additionalProperties: type: object title: Old Verify Key example: { - "ed25519:auto1": { + "ed25519:0ldK3y": { "expired_ts": 922834800000, - "key": "Base+64+Encoded+Signature+Verification+Key" + "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" } } properties: expired_ts: type: integer format: int64 - description: The expiration time. + description: POSIX timestamp for when this key expired. required: true example: 922834800000 key: type: string - description: The key. + description: The `Unpadded Base64`_ encoded key. required: true - example: "Base+64+Encoded+Signature+Verification+Key" + example: "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" signatures: type: object description: Digital signatures for this object signed using the ``verify_keys``. @@ -72,7 +82,7 @@ properties: title: Signed Server example: { "example.org": { - "ad25519:auto2": "Base+64+Encoded+Signature+Verification+Key" + "ad25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" } } additionalProperties: @@ -87,10 +97,12 @@ properties: properties: sha256: type: string - description: The encoded fingerprint. - example: Base+64+Encoded+SHA-256-Fingerprint + description: The `Unpadded Base64`_ encoded fingerprint + example: "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw==" valid_until_ts: type: integer format: int64 - description: POSIX timestamp when the list of valid keys should be refreshed. + description: |- + POSIX timestamp when the list of valid keys should be refreshed. Keys used beyond this + timestamp are no longer valid. example: 1052262000000 diff --git a/api/server-server/definitions/keys_query_response.yaml b/api/server-server/definitions/keys_query_response.yaml index bf2d238f8..52ad506ca 100644 --- a/api/server-server/definitions/keys_query_response.yaml +++ b/api/server-server/definitions/keys_query_response.yaml @@ -15,13 +15,13 @@ type: object description: Server keys example: { "server_keys": [{ - $ref: "../examples/server_key.json" + $ref: "../examples/server_key_notary_signed.json" }] } properties: server_keys: type: array title: Server Keys - description: The server keys. + description: The queried server's keys, signed by the notary server. items: $ref: "keys.yaml" diff --git a/api/server-server/examples/server_key.json b/api/server-server/examples/server_key.json index a3934bd36..8a82d76e7 100644 --- a/api/server-server/examples/server_key.json +++ b/api/server-server/examples/server_key.json @@ -1,23 +1,23 @@ { "server_name": "example.org", "verify_keys": { - "ed25519:auto2": { - "key": "Base+64+Encoded+Signature+Verification+Key" + "ed25519:abc123": { + "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" } }, "old_verify_keys": { - "ed25519:auto1": { + "ed25519:0ldk3y": { "expired_ts": 922834800000, - "key": "Base+64+Encoded+Old+Verify+Key" + "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" } }, "signatures": { "example.org": { - "ed25519:auto2": "Base+64+Encoded+Signature" + "ed25519:auto2": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" } }, "tls_fingerprints": [{ - "sha256": "Base+64+Encoded+SHA-256-Fingerprint" + "sha256": "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw==" }], "valid_until_ts": 1052262000000 } \ No newline at end of file diff --git a/api/server-server/examples/server_key_notary_signed.json b/api/server-server/examples/server_key_notary_signed.json new file mode 100644 index 000000000..f83bcc52d --- /dev/null +++ b/api/server-server/examples/server_key_notary_signed.json @@ -0,0 +1,11 @@ +{ + "$ref": "server_key.json", + "signatures": { + "example.org": { + "ed25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" + }, + "notary.server.com": { + "ed25519:010203": "VGhpcyBpcyBhbm90aGVyIHNpZ25hdHVyZQ==" + } + } +} \ No newline at end of file diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index f41cb35b2..a1ea80fbe 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -25,49 +25,60 @@ produces: paths: "/query/{serverName}/{keyId}": get: - summary: Retrieve a server key. - description: Retrieve a server key. - operationId: perspectivesKeyQuery + summary: Query for another server's keys + description: |- + Query for another server's keys. The receiving (notary) server must + sign the keys returned by the queried server. + operationId: getQueryKeys parameters: - in: path name: serverName type: string - description: Server name. + description: The server's DNS name to query required: true x-example: matrix.org - in: path name: keyId type: string - description: Key ID. - required: true - x-example: TODO # No examples in spec so far + description: |- + The key ID to look up. If omitted or empty, all the server's keys + are to be queried for. + required: false + x-example: "ed25519:abc123" - in: query name: minimum_valid_until_ts type: integer format: int64 - description: Minimum Valid Until Milliseconds. - required: true # TODO: Verify + description: |- + A millisecond POSIX timestamp indicating when the returned certificates + will need to be valid until to be useful to the requesting server. + + If not supplied, the current time as determined by the notary server is used. + required: false x-example: 1234567890 responses: 200: - description: The keys for the server + description: |- + The keys for the server, or an empty array if the server could not be reached + and no cached keys were available. schema: $ref: "definitions/keys_query_response.yaml" "/query": post: - summary: Retrieve a server key - description: Retrieve a server key. - operationId: bulkPerspectivesKeyQuery + summary: Query for several server's keys + description: |- + Query for keys from multiple servers in a batch format. The receiving (notary) + server must sign the keys returned by the queried servers. + operationId: postQueryKeys parameters: - in: body name: body schema: type: object - # TODO: Improve example example: { "server_keys": { - "{server_name}": { - "{key_id}": { + "example.org": { + "ed25519:abc123": { "minimum_valid_until_ts": 1234567890 } } @@ -76,7 +87,16 @@ paths: properties: server_keys: type: object - description: The query criteria. + description: |- + The query criteria. The outer ``string`` key on the object is the + server name (eg: ``matrix.org``). The inner ``string`` key is the + Key ID to query for the particular server. If no key IDs are given + to be queried, the notary server should query for all keys. If no + servers are given, the notary server must return an empty ``server_keys`` + array in the response. + + The notary server may return multiple keys regardless of the Key IDs + given. additionalProperties: type: object name: ServerName @@ -84,16 +104,25 @@ paths: additionalProperties: type: object title: Query Criteria - description: The server keys to query. + description: The server key IDs to query. properties: minimum_valid_until_ts: type: integer format: int64 - description: Minimum Valid Until MS. + description: |- + A millisecond POSIX timestamp indicating when the returned + certificates will need to be valid until to be useful to the + requesting server. + + If not supplied, the current time as determined by the notary + server is used. example: 1234567890 required: ['server_keys'] responses: 200: - description: The keys for the server. + description: |- + The keys for the queried servers, signed by the notary server. Servers which + are offline and have no cached keys will not be included in the result. This + may result in an empty array. schema: $ref: "definitions/keys_query_response.yaml" diff --git a/api/server-server/keys_server.yaml b/api/server-server/keys_server.yaml index 46beeebba..07a2c5302 100644 --- a/api/server-server/keys_server.yaml +++ b/api/server-server/keys_server.yaml @@ -25,18 +25,38 @@ produces: paths: "/server/{keyId}": get: - summary: Get the server's key - description: Get the server's key. + summary: Get the homeserver's public key(s) + description: |- + Gets the homeserver's published TLS fingerprints and signing keys. + The homeserver may have any number of active keys and may have a + number of old keys. Homeservers SHOULD return a single JSON object + listing all of its keys, regardless of the ``keyId`` path argument. + This is to reduce the number of round trips needed to discover the + relevant keys for a homeserver. + + Intermediate notary servers should cache a response for half of its + lifetime to avoid serving a stale response. Originating servers should + avoid returning responses that expire in less than an hour to avoid + repeated reqests for a certificate that is about to expire. Requesting + servers should limit how frequently they query for certificates to + avoid flooding a server with requests. + + If the server fails to respond to this request, intermediate notary + servers should continue to return the last response they received + from the server so that the signatures of old events can still be + checked. operationId: getServerKey parameters: - in: path name: keyId type: string - description: Key ID + description: |- + The key ID to look up. If omitted or empty, all server keys are + to be returned. required: false - x-example: TODO # No examples in the spec so far + x-example: "ed25519:abc123" responses: 200: - description: The server's keys. + description: The homeserver's keys schema: $ref: "definitions/keys.yaml" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..4cf92e9b4 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -106,15 +106,17 @@ Server implementation Retrieving Server Keys ~~~~~~~~~~~~~~~~~~~~~~ -Version 2 -+++++++++ +.. NOTE:: + There was once a "version 1" of the key exchange. It has been removed from the + specification due to lack of significance. It may be reviewed `here + <https://github.com/matrix-org/matrix-doc/blob/51faf8ed2e4a63d4cfd6d23183698ed169956cc0/specification/server_server_api.rst#232version-1>`_. -Each homeserver publishes its public keys under ``/_matrix/key/v2/server/``. -Homeservers query for keys by either getting ``/_matrix/key/v2/server/`` +Each homeserver publishes its public keys under ``/_matrix/key/v2/server/{keyId}`. +Homeservers query for keys by either getting ``/_matrix/key/v2/server/{keyId}`` directly or by querying an intermediate notary server using a -``/_matrix/key/v2/query`` API. Intermediate notary servers query the -``/_matrix/key/v2/server/`` API on behalf of another server and sign the -response with their own key. A server may query multiple notary servers to +``/_matrix/key/v2/query/{serverName}/{keyId}`` API. Intermediate notary servers +query the ``/_matrix/key/v2/server/{keyId}`` API on behalf of another server and +sign the response with their own key. A server may query multiple notary servers to ensure that they all report the same public keys. This approach is borrowed from the `Perspectives Project`_, but modified to @@ -126,113 +128,33 @@ server by querying other servers. .. _Perspectives Project: https://web.archive.org/web/20170702024706/https://perspectives-project.org/ Publishing Keys -^^^^^^^^^^^^^^^ ++++++++++++++++ Homeservers publish the allowed TLS fingerprints and signing keys in a JSON object at ``/_matrix/key/v2/server/{key_id}``. The response contains a list of ``verify_keys`` that are valid for signing federation requests made by the -server and for signing events. It contains a list of ``old_verify_keys`` which +homeserver and for signing events. It contains a list of ``old_verify_keys`` which are only valid for signing events. Finally the response contains a list of TLS -certificate fingerprints to validate any connection made to the server. - -A server may have multiple keys active at a given time. A server may have any -number of old keys. It is recommended that servers return a single JSON -response listing all of its keys whenever any ``key_id`` is requested to reduce -the number of round trips needed to discover the relevant keys for a server. -However a server may return different responses for a different ``key_id``. - -The ``tls_certificates`` field contains a list of hashes of the X.509 TLS -certificates currently used by the server. The list must include SHA-256 hashes -for every certificate currently in use by the server. These fingerprints are -valid until the millisecond POSIX timestamp in ``valid_until_ts``. - -The ``verify_keys`` can be used to sign requests and events made by the server -until the millisecond POSIX timestamp in ``valid_until_ts``. If a homeserver -receives an event with a ``origin_server_ts`` after the ``valid_until_ts`` then -it should request that ``key_id`` for the originating server to check whether -the key has expired. - -The ``old_verify_keys`` can be used to sign events with an ``origin_server_ts`` -before the ``expired_ts``. The ``expired_ts`` is a millisecond POSIX timestamp -of when the originating server stopped using that key. - -Intermediate notary servers should cache a response for half of its remaining -lifetime to avoid serving a stale response. Originating servers should avoid -returning responses that expire in less than an hour to avoid repeated requests -for a certificate that is about to expire. Requesting servers should limit how -frequently they query for certificates to avoid flooding a server with -requests. - -If a server goes offline intermediate notary servers should continue to return -the last response they received from that server so that the signatures of old -events sent by that server can still be checked. +certificate fingerprints to validate any connection made to the homeserver. {{keys_server_ss_http_api}} Querying Keys Through Another Server -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Servers may offer a query API ``/_matrix/key/v2/query/`` for getting the keys -for another server. This API can be used to GET a list of JSON objects for a -given server or to POST a bulk query for a number of keys from a number of -servers. Either way the response is a list of JSON objects containing the -JSON published by the server under ``/_matrix/key/v2/server/`` signed by -both the originating server and by this server. - -The ``minimum_valid_until_ts`` is a millisecond POSIX timestamp indicating -when the returned certificate will need to be valid until to be useful to the -requesting server. This can be set using the maximum ``origin_server_ts`` of -a batch of events that a requesting server is trying to validate. This allows -an intermediate notary server to give a prompt cached response even if the -originating server is offline. - -This API can return keys for servers that are offline by using cached responses -taken from when the server was online. Keys can be queried from multiple -servers to mitigate against DNS spoofing. - -{{keys_query_ss_http_api}} - -Version 1 -+++++++++ -.. WARNING:: - Version 1 of key distribution is obsolete. +++++++++++++++++++++++++++++++++++++ +Servers may query another server's keys through a notary server. The notary +server may be another homeserver. The notary server will retrieve keys from +the queried servers through use of the ``/_matrix/key/v2/server/{keyId}`` +API. The notary server will additionally sign the response from the queried +server before returning the results. -Homeservers publish their TLS certificates and signing keys in a JSON object -at ``/_matrix/key/v1``. - -==================== =================== ====================================== - Key Type Description -==================== =================== ====================================== -``server_name`` String DNS name of the homeserver. -``verify_keys`` Object Public keys of the homeserver for - verifying digital signatures. -``signatures`` Object Digital signatures for this object - signed using the ``verify_keys``. -``tls_certificate`` String The X.509 TLS certificate used by this - this server encoded as `Unpadded Base64`_. -==================== =================== ====================================== - -.. code:: json +Notary servers can return keys for servers that are offline or having issues +serving their own keys by using cached responses. Keys can be queried from +multiple servers to mitigate against DNS spoofing. - { - "server_name": "example.org", - "signatures": { - "example.org": { - "ed25519:auto": "Base+64+Encoded+Signature" - } - }, - "tls_certificate": "Base+64+Encoded+DER+Encoded+X509+TLS+Certificate", - "verify_keys": { - "ed25519:auto": "Base+64+Encoded+Signature+Verification+Key" - } - } +{{keys_query_ss_http_api}} -When fetching the keys for a server the client should check that the TLS -certificate in the JSON matches the TLS server certificate for the connection -and should check that the JSON signatures are correct for the supplied -``verify_keys``. Transactions ------------ From c2f1c6e78d4d92aa77e9df131dfc9234a5a3e614 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 18 Jul 2018 16:21:48 -0600 Subject: [PATCH 587/801] Improve the joining rooms handshake documentation There isn't a whole lot to this section that needed work. The section overall lost the table schema in favour of having the endpoints close by. The directory query is improved in https://github.com/matrix-org/matrix-doc/pull/1443 --- api/server-server/joins.yaml | 29 +++++--- specification/server_server_api.rst | 100 ++++++---------------------- 2 files changed, 39 insertions(+), 90 deletions(-) diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index eaf14e717..472d63bf4 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -29,7 +29,6 @@ paths: description: |- Asks the receiving server to return information that the sending server will need to prepare a join event to get into the room. - This is part of the `Joining Rooms`_ handshake. operationId: makeJoin parameters: - in: path @@ -95,7 +94,9 @@ paths: type: array description: |- An event reference list containing the authorization events that would - allow the member to join the room. + allow the member to join the room. This should normally be the + ``m.room.create``, ``m.room.power_levels``, and ``m.room.join_rules`` + events. items: type: array maxItems: 2 @@ -128,7 +129,12 @@ paths: "state_key": "@someone:example.org", "content": { "membership": "join" - } + }, + "auth_events": [ + ["$room_cre4te_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}], + ["$room_j0in_rul3s_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}], + ["$room_p0wer_l3vels_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}] + ] } "/send_join/{roomId}/{eventId}": put: @@ -250,27 +256,30 @@ paths: title: Room State description: The state for the room. properties: + origin: + type: string + description: The resident server's DNS name. auth_chain: type: array description: The auth chain. items: type: object - properties: {} - # TODO: Verify schema + schema: + $ref: "definitions/pdu.yaml" state: type: array description: The room state. items: type: object - properties: {} - # TODO: Verify schema + schema: + $ref: "definitions/pdu.yaml" required: ["auth_chain", "state"] examples: application/json: [ 200, { - # TODO: Use the appropriate refs (see TODOs in schema) - "auth_chain": [], - "state": [] + "origin": "matrix.org", + "auth_chain": [{"$ref": "examples/pdu.json"}], + "state": [{"$ref": "examples/pdu.json"}] } ] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..d819b0723 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -688,9 +688,6 @@ All these URLs are name-spaced within a prefix of:: {{query_general_ss_http_api}} - -{{joins_ss_http_api}} - Joining Rooms ------------- @@ -742,94 +739,34 @@ homeservers, though most in practice will use just two. <---------- join response The first part of the handshake usually involves using the directory server to -request the room ID and join candidates. This is covered in more detail on the -directory server documentation, below. In the case of a new user joining a -room as a result of a received invite, the joining user's homeserver could -optimise this step away by picking the origin server of that invite message as -the join candidate. However, the joining server should be aware that the origin -server of the invite might since have left the room, so should be prepared to -fall back on the regular join flow if this optimisation fails. +request the room ID and join candidates through the |/query/directory|_ +API endpoint. In the case of a new user joining a room as a result of a received +invite, the joining user's homeserver could optimise this step away by picking +the origin server of that invite message as the join candidate. However, the +joining server should be aware that the origin server of the invite might since +have left the room, so should be prepared to fall back on the regular join flow +if this optimisation fails. Once the joining server has the room ID and the join candidates, it then needs to obtain enough information about the room to fill in the required fields of the ``m.room.member`` event. It obtains this by selecting a resident from the -candidate list, and requesting the ``make_join`` endpoint using a ``GET`` -request, specifying the room ID and the user ID of the new member who is -attempting to join. - -The resident server replies to this request with a JSON-encoded object having a -single key called ``event``; within this is an object whose fields contain some -of the information that the joining server will need. Despite its name, this -object is not a full event; notably it does not need to be hashed or signed by -the resident homeserver. The required fields are: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``type`` String The value ``m.room.member``. -``auth_events`` List An event-reference list containing the - authorization events that would allow - this member to join. -``content`` Object The event content. -``depth`` Integer (this field must be present but is - ignored; it may be 0) -``origin`` String The name of the resident homeserver. -``origin_server_ts`` Integer A timestamp added by the resident - homeserver. -``prev_events`` List An event-reference list containing the - immediate predecessor events. -``room_id`` String The room ID of the room. -``sender`` String The user ID of the joining member. -``state_key`` String The user ID of the joining member. -======================== ============ ========================================= - -The ``content`` field itself must be an object, containing: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``membership`` String The value ``join``. -======================== ============ ========================================= - -The joining server now has sufficient information to construct the real join -event from these protoevent fields. It copies the values of most of them, -adding (or replacing) the following fields: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``event_id`` String A new event ID specified by the joining - homeserver. -``origin`` String The name of the joining homeserver. -``origin_server_ts`` Integer A timestamp added by the joining - homeserver. -======================== ============ ========================================= +candidate list, and using the ``GET /make_join`` endpoint. The resident server +will then reply with enough information for the joining server to fill in the +event. -This will be a true event, so the joining server should apply the event-signing -algorithm to it, resulting in the addition of the ``hashes`` and ``signatures`` -fields. +The joining server is expected to add or replace the ``origin``, ``origin_server_ts``, +and ``event_id`` on the templated event received by the resident server. This +event is then signed by the joining server. To complete the join handshake, the joining server must now submit this new -event to an resident homeserver, by using the ``send_join`` endpoint. This is -invoked using the room ID and the event ID of the new member event. +event to an resident homeserver, by using the ``PUT /send_join`` endpoint. The resident homeserver then accepts this event into the room's event graph, and responds to the joining server with the full set of state for the -newly-joined room. This is returned as a two-element list, whose first element -is the integer 200, and whose second element is an object which contains the -following keys: +newly-joined room. The resident server must also send the event to other servers +participating in the room. -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``auth_chain`` List A list of events giving all of the events - in the auth chains for the join event and - the events in ``state``. -``state`` List A complete list of the prevailing state - events at the instant just before - accepting the new ``m.room.member`` - event. -======================== ============ ========================================= +{{joins_ss_http_api}} .. TODO-spec - (paul) I don't really understand why the full auth_chain events are given @@ -1306,6 +1243,9 @@ that are too long. [[TODO(markjh) We might want to allow the server to omit the output of well known hash functions like SHA-256 when none of the keys have been redacted]] +.. |/query/directory| replace:: ``/query/directory`` +.. _/query/directory: #get-matrix-federation-v1-query-directory + .. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage .. _`Identity Service API`: ../identity_service/unstable.html .. _`Client-Server API`: ../client_server/unstable.html#m-room-member From f873bae0cc0339cd9b275d755b1534772f8757a1 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 24 Jul 2018 16:46:10 -0600 Subject: [PATCH 588/801] Improve documentation for how non-third party invites work The details are fairly straightforward. An `event` has been added to the response body because that's what Synapse returns, despite the spec saying otherwise until now: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/federation/federation_server.py#L339 --- .../definitions/invite_event.yaml | 3 +- api/server-server/definitions/pdu.yaml | 2 +- api/server-server/invites.yaml | 63 ++++++++++++++----- specification/server_server_api.rst | 5 ++ 4 files changed, 55 insertions(+), 18 deletions(-) diff --git a/api/server-server/definitions/invite_event.yaml b/api/server-server/definitions/invite_event.yaml index 9cef80611..d196339a6 100644 --- a/api/server-server/definitions/invite_event.yaml +++ b/api/server-server/definitions/invite_event.yaml @@ -47,7 +47,7 @@ allOf: title: Membership Event Content description: |- The content of the event, matching what is available in the - `Client-Server API`_. + `Client-Server API`_. Must include a ``membership`` of ``invite``. example: {"membership": "invite"} properties: membership: @@ -85,4 +85,3 @@ allOf: required: # Every other field is already flagged as required by the $ref - state_key - - unsigned # TODO: apparently this is required? Verify. diff --git a/api/server-server/definitions/pdu.yaml b/api/server-server/definitions/pdu.yaml index a5da57c04..bb14ede27 100644 --- a/api/server-server/definitions/pdu.yaml +++ b/api/server-server/definitions/pdu.yaml @@ -36,7 +36,7 @@ allOf: signatures: type: object description: |- - Signatures of the redacted PDU, following the algorithm specified in `Signing Events`_. + Signatures for the PDU, following the algorithm specified in `Signing Events`_. example: { "example.com": { "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index a5d21938e..4a0a610e0 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -25,11 +25,11 @@ produces: paths: "/invite/{roomId}/{eventId}": put: - summary: Invites a user to a room + summary: Invites a remote user to a room description: |- - Invites a remote user to a room. Once the event has been - signed by both the inviting homeserver and the invited - homeserver, it can be sent to all of the users in the room. + Invites a remote user to a room. Once the event has been signed by both the inviting + homeserver and the invited homeserver, it can be sent to all of the servers in the + room by the inviting homeserver. operationId: sendInvite parameters: - in: path @@ -41,7 +41,7 @@ paths: - in: path name: eventId type: string - description: The event ID for the invite event. + description: The event ID for the invite event, generated by the inviting server. required: true x-example: "$abc123:example.org" - in: body @@ -53,11 +53,15 @@ paths: example: { "$ref": "examples/pdu.json", "type": "m.room.member", - "state_key": "@someone:example.org", + "state_key": "@joe:elsewhere.com", "content": { "membership": "invite" }, - "unsigned": {} + "signatures": { + "example.com": { + "ed25519:key_version": "SomeSignatureHere" + }, + } } responses: 200: @@ -72,17 +76,46 @@ paths: - type: integer description: The value ``200``. example: 200 - - $ref: "definitions/invite_event.yaml" + - type: object + description: An object containing the signed invite event. + title: Event Container + properties: + event: + $ref: "definitions/invite_event.yaml" + required: ['event'] examples: application/json: [ 200, { - "$ref": "examples/pdu.json", - "type": "m.room.member", - "state_key": "@someone:example.org", - "content": { - "membership": "invite" - }, - "unsigned": {} + "event": { + "$ref": "examples/pdu.json", + "type": "m.room.member", + "state_key": "@someone:example.org", + "content": { + "membership": "invite" + }, + "signatures": { + "example.com": { + "ed25519:key_version": "SomeSignatureHere" + }, + "elsewhere.com": { + "ed25519:k3y_versi0n": "SomeOtherSignatureHere" + } + } + } } ] + 403: + description: |- + The invite is not allowed. This could be for a number of reasons, including: + + * The sender is not allowed to send invites to the target user/homeserver. + * The homeserver does not permit anyone to invite its users. + * The homeserver refuses to participate in the room. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_FORBIDDEN", + "error": "User cannot invite the target user." + } diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..9d48f1139 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -879,6 +879,11 @@ that requested by the requester in the ``v`` parameter). Inviting to a room ------------------ +When a user on a given homeserver invites another user on the same homeserver, +the homeserver may sign the membership event itself and skip the process defined +here. However, when a user invites another user on a different homeserver, a request +to that homeserver to have the event signed and verified must be made. + {{invites_ss_http_api}} Third-party invites From fcaa299f8111137ce932ea971ad801b37bce1dc6 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 25 Jul 2018 11:58:13 -0600 Subject: [PATCH 589/801] Include information on how invite_room_state works This is completely optional, and the events included are up to the sender. Sources: * Structure: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/message.py#L896-L904 * What events are recommended: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/config/api.py#L30-L40 --- api/server-server/invites.yaml | 88 +++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index 4a0a610e0..d1838bf56 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -49,11 +49,77 @@ paths: type: object required: true schema: - $ref: "definitions/invite_event.yaml" + allOf: + - $ref: "definitions/invite_event.yaml" + - type: object + properties: + unsigned: + type: object + title: Unsigned Event Content + description: |- + Information included alongside the event that is not signed. May include more + than what is listed here. + properties: + invite_room_state: + type: array + description: |- + An optional list of simplified events to help the receiver of the invite + identify the room. The recommended events to include are the join rules, + canonical alias, avatar, and name of the room. + items: + type: object + title: Invite Room State Event + properties: + type: + type: string + description: The type of event. + example: "m.room.join_rules" + state_key: + type: string + description: The state key for the event. May be an empty string. + example: "" + content: + type: object + description: The content for the event. + sender: + type: string + description: The sender of the event. + example: "@someone:matrix.org" + required: ['type', 'state_key', 'content', 'sender'] + example: [ + { + "type": "m.room.join_rules", + "sender": "@someone:matrix.org", + "state_key": "", + "content": { + "join_rule": "public" + } + } + ] example: { "$ref": "examples/pdu.json", "type": "m.room.member", "state_key": "@joe:elsewhere.com", + "unsigned": { + "invite_room_state": [ + { + "type": "m.room.join_rules", + "sender": "@someone:matrix.org", + "state_key": "", + "content": { + "join_rule": "public" + } + }, + { + "type": "m.room.name", + "sender": "@someone:matrix.org", + "state_key": "", + "content": { + "name": "Cool New Room" + } + } + ] + }, "content": { "membership": "invite" }, @@ -91,6 +157,26 @@ paths: "$ref": "examples/pdu.json", "type": "m.room.member", "state_key": "@someone:example.org", + "unsigned": { + "invite_room_state": [ + { + "type": "m.room.join_rules", + "sender": "@someone:matrix.org", + "state_key": "", + "content": { + "join_rule": "public" + } + }, + { + "type": "m.room.name", + "sender": "@someone:matrix.org", + "state_key": "", + "content": { + "name": "Cool New Room" + } + } + ] + }, "content": { "membership": "invite" }, From 4f24d2101f5d84f5c69ad9665b94a3569facc831 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 09:51:08 -0600 Subject: [PATCH 590/801] Only get issues that are proposals when finding proposals Otherwise we end up with not-proposals showing up in the list. --- scripts/proposals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index eec6d6527..867d35d5d 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -28,7 +28,7 @@ def getpage(url, page): def getbylabel(label): pagecount = 1 json = list() - urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=all&labels=' + label + '&page=' + urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=all&labels=proposal,' + label + '&page=' print(urlbase) json.extend(getpage(urlbase, 1)) for page in range(2, int(pagecount) + 1): From 9fdd8a6f964c70689bd7451d746e96164ce8ab5f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 14:59:43 -0600 Subject: [PATCH 591/801] Document how leaving rooms/rejecting invites over federation works Fixes https://github.com/matrix-org/matrix-doc/issues/1401 This is very similar to the joining rooms handshake, and much of it is a near copy/paste of the make_join and send_join API. The major difference is the send_leave API doesn't return anything. References: * Handling of make_leave: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/federation.py#L1285-L1310 * send_leave route: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/federation/transport/client.py#L267 * make_leave route: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/federation/transport/server.py#L396 * send_leave returning nothing: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/federation.py#L1346 --- api/server-server/leaving.yaml | 266 ++++++++++++++++++++++++++++ specification/server_server_api.rst | 20 +++ 2 files changed, 286 insertions(+) create mode 100644 api/server-server/leaving.yaml diff --git a/api/server-server/leaving.yaml b/api/server-server/leaving.yaml new file mode 100644 index 000000000..11b0e01d1 --- /dev/null +++ b/api/server-server/leaving.yaml @@ -0,0 +1,266 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Leave Room API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/make_leave/{roomId}/{userId}": + get: + summary: Get information required to make a join event for a room + description: |- + Asks the receiving server to return information that the sending + server will need to prepare a leave event to get out of the room. + operationId: makeLeave + parameters: + - in: path + name: roomId + type: string + description: The room ID that is about to be left. + required: true + x-example: "!abc123:matrix.org" + - in: path + name: userId + type: string + description: The user ID the leave event will be for. + required: true + x-example: "@someone:example.org" + responses: + 200: + description: |- + An unsigned event that the sending server may use as a template + for when it calls ``/send_leave``. + schema: + allOf: + - $ref: "definitions/unsigned_pdu.yaml" + - type: object + properties: + # Note: we override a bunch of parameters to change their descriptions + sender: + type: string + description: The user ID of the leaving member. + example: "@someone:example.org" + origin: + type: string + description: The name of the resident homeserver. + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: A timestamp added by the resident homeserver. + example: 1234567890 + type: + type: string + description: The value ``m.room.member``. + example: "m.room.member" + state_key: + type: string + description: The user ID of the leaving member. + example: "@someone:example.org" + content: + type: object + title: Membership Event Content + description: The content of the event. + example: {"membership": "leave"} + properties: + membership: + type: string + description: The value ``leave``. + example: "leave" + required: ['membership'] + auth_events: + type: array + description: |- + An event reference list containing the authorization events that would + allow the member to leave the room. This should normally be the + ``m.room.create``, ``m.room.power_levels``, and ``m.room.join_rules`` + events. + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash. + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: Not used. + required: + # Every other field is already flagged as required by the $ref + - state_key + examples: + application/json: { + "$ref": "examples/unsigned_pdu.json", + "type": "m.room.member", + "state_key": "@someone:example.org", + "content": { + "membership": "leave" + }, + "auth_events": [ + ["$room_cre4te_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}], + ["$room_j0in_rul3s_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}], + ["$room_p0wer_l3vels_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}] + ] + } + 403: + description: |- + The request is not authorized. This could mean that the user is not in the room. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_FORBIDDEN", + "error": "User is not in the room." + } + "/send_leave/{roomId}/{eventId}": + put: + summary: Submit a signed leave event to a resident server + description: |- + Submits a signed leave event to the resident server for it + to accept it into the room's graph. + operationId: sendLeave + parameters: + - in: path + name: roomId + type: string + description: The room ID that is about to be left. + required: true + x-example: "!abc123:matrix.org" + - in: path + name: eventId + type: string + description: The event ID for the leave event. + required: true + x-example: "$abc123:example.org" + - in: body + name: body + type: object + required: true + schema: + allOf: + - $ref: "definitions/pdu.yaml" + - type: object + properties: + # Note: we override a bunch of parameters to change their descriptions + sender: + type: string + description: The user ID of the leaving member. + example: "@someone:example.org" + origin: + type: string + description: The name of the leaving homeserver. + example: "matrix.org" + origin_server_ts: + type: integer + format: int64 + description: A timestamp added by the leaving homeserver. + example: 1234567890 + type: + type: string + description: The value ``m.room.member``. + example: "m.room.member" + state_key: + type: string + description: The user ID of the leaving member. + example: "@someone:example.org" + content: + type: object + title: Membership Event Content + description: The content of the event. + example: {"membership": "leave"} + properties: + membership: + type: string + description: The value ``leave``. + example: "leave" + required: ['membership'] + depth: + type: integer + description: This field must be present but is ignored; it may be 0. + example: 12 + auth_events: + type: array + description: |- + An event reference list containing the authorization events that would + allow the member to leave the room. + items: + type: array + maxItems: 2 + minItems: 2 + items: + - type: string + title: Event ID + example: "$abc123:matrix.org" + - type: object + title: Event Hash + example: { + "sha256": "abase64encodedsha256hashshouldbe43byteslong" + } + properties: + sha256: + type: string + description: The event hash. + example: abase64encodedsha256hashshouldbe43byteslong + required: ['sha256'] + redacts: + type: string + description: Not used. + required: + # Every other field is already flagged as required by the $ref + - state_key + example: { + "$ref": "examples/pdu.json", + "type": "m.room.member", + "state_key": "@someone:example.org", + "content": { + "membership": "leave" + } + } + responses: + 200: + description: |- + An empty response to indicate the event was accepted into the graph by + the receiving homeserver. + schema: + type: array + minItems: 2 + maxItems: 2 + items: + - type: integer + description: The value ``200``. + example: 200 + - type: object + title: Empty Object + description: An empty object. + examples: + application/json: [200, {}] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..32b6486fc 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -881,6 +881,26 @@ Inviting to a room {{invites_ss_http_api}} +Leaving Rooms (Rejecting Invites) +--------------------------------- + +Normally homeservers can send appropriate ``m.room.member`` events to have users +leave the room, or to reject local invites. Remote invites from other homeservers +do not involve the server in the graph and therefore need another approach to +reject the invite. Joining the room and promptly leaving is not recommended as +clients and servers will interpret that as accepting the invite, then leaving the +room rather than rejecting the invite. + +Similar to the `Joining Rooms`_ handshake, the server which wishes to leave the +room starts with sending a ``/make_leave`` request to a resident server. In the +case of rejecting invites, the resident server may be the server which sent the +invite. After receiving a template event from ``/make_leave``, the leaving server +signs the event and replaces the ``event_id`` with it's own. This is then sent to +the resident server via ``/send_leave``. The resident server will then send the +event to other servers in the room. + +{{leaving_ss_http_api}} + Third-party invites ------------------- From 2f71703427f87ea2d612025b50b37709202b639e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:42:21 -0600 Subject: [PATCH 592/801] Deprecate key ID querying --- api/server-server/keys_query.yaml | 5 +++-- api/server-server/keys_server.yaml | 11 +++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index a1ea80fbe..c2800bc6a 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -41,8 +41,9 @@ paths: name: keyId type: string description: |- - The key ID to look up. If omitted or empty, all the server's keys - are to be queried for. + **Deprecated**. Servers should not use this parameter and instead + opt to return all keys, not just the requested one. The key ID to + look up. required: false x-example: "ed25519:abc123" - in: query diff --git a/api/server-server/keys_server.yaml b/api/server-server/keys_server.yaml index 07a2c5302..8734f2edd 100644 --- a/api/server-server/keys_server.yaml +++ b/api/server-server/keys_server.yaml @@ -29,10 +29,7 @@ paths: description: |- Gets the homeserver's published TLS fingerprints and signing keys. The homeserver may have any number of active keys and may have a - number of old keys. Homeservers SHOULD return a single JSON object - listing all of its keys, regardless of the ``keyId`` path argument. - This is to reduce the number of round trips needed to discover the - relevant keys for a homeserver. + number of old keys. Intermediate notary servers should cache a response for half of its lifetime to avoid serving a stale response. Originating servers should @@ -51,10 +48,12 @@ paths: name: keyId type: string description: |- - The key ID to look up. If omitted or empty, all server keys are - to be returned. + **Deprecated**. Servers should not use this parameter and instead + opt to return all keys, not just the requested one. The key ID to + look up. required: false x-example: "ed25519:abc123" + deprecated: true responses: 200: description: The homeserver's keys From 9dbb627d7b91ec795bf3d2ce5e555af65b6c180a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:42:40 -0600 Subject: [PATCH 593/801] Undo accidental changes to the operation ID --- api/server-server/keys_query.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index c2800bc6a..f6e2cb196 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -29,7 +29,7 @@ paths: description: |- Query for another server's keys. The receiving (notary) server must sign the keys returned by the queried server. - operationId: getQueryKeys + operationId: perspectivesKeyQuery parameters: - in: path name: serverName @@ -70,7 +70,7 @@ paths: description: |- Query for keys from multiple servers in a batch format. The receiving (notary) server must sign the keys returned by the queried servers. - operationId: postQueryKeys + operationId: bulkPerspectivesKeyQuery parameters: - in: body name: body From cad1db2a14aa7592b37a8225fe5bd307691d9700 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:43:16 -0600 Subject: [PATCH 594/801] Unpadded means unpadded --- api/server-server/definitions/keys.yaml | 16 ++++++++-------- .../examples/server_key_notary_signed.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index 011ad6fdb..2f1542367 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -36,7 +36,7 @@ properties: title: Verify Key example: { "ed25519:abc123": { - "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" + "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA" } } properties: @@ -44,7 +44,7 @@ properties: type: string description: The `Unpadded Base64`_ encoded key. required: true - example: "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" + example: "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA" old_verify_keys: type: object description: |- @@ -59,7 +59,7 @@ properties: example: { "ed25519:0ldK3y": { "expired_ts": 922834800000, - "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" + "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg" } } properties: @@ -73,7 +73,7 @@ properties: type: string description: The `Unpadded Base64`_ encoded key. required: true - example: "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" + example: "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg" signatures: type: object description: Digital signatures for this object signed using the ``verify_keys``. @@ -82,7 +82,7 @@ properties: title: Signed Server example: { "example.org": { - "ad25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" + "ad25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU" } } additionalProperties: @@ -90,15 +90,15 @@ properties: name: Encoded Signature Verification Key tls_fingerprints: type: array - description: Hashes of X.509 TLS certificates used by this server encoded as `Unpadded Base64`_. + description: Hashes of X.509 TLS certificates used by this server. items: type: object title: TLS Fingerprint properties: sha256: type: string - description: The `Unpadded Base64`_ encoded fingerprint - example: "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw==" + description: The `Unpadded Base64`_ encoded fingerprint. + example: "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw" valid_until_ts: type: integer format: int64 diff --git a/api/server-server/examples/server_key_notary_signed.json b/api/server-server/examples/server_key_notary_signed.json index f83bcc52d..d3a461ba6 100644 --- a/api/server-server/examples/server_key_notary_signed.json +++ b/api/server-server/examples/server_key_notary_signed.json @@ -2,10 +2,10 @@ "$ref": "server_key.json", "signatures": { "example.org": { - "ed25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" + "ed25519:abc123": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU" }, "notary.server.com": { - "ed25519:010203": "VGhpcyBpcyBhbm90aGVyIHNpZ25hdHVyZQ==" + "ed25519:010203": "VGhpcyBpcyBhbm90aGVyIHNpZ25hdHVyZQ" } } } \ No newline at end of file From bdccfca72679a22bc67b5ad522ed7e324067f5e3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:43:43 -0600 Subject: [PATCH 595/801] Timestamps should be in milliseconds --- api/server-server/definitions/keys.yaml | 2 +- api/server-server/keys_query.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index 2f1542367..679082686 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -66,7 +66,7 @@ properties: expired_ts: type: integer format: int64 - description: POSIX timestamp for when this key expired. + description: POSIX timestamp in milliseconds for when this key expired. required: true example: 922834800000 key: diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index f6e2cb196..8fbe00dc9 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -51,8 +51,8 @@ paths: type: integer format: int64 description: |- - A millisecond POSIX timestamp indicating when the returned certificates - will need to be valid until to be useful to the requesting server. + A millisecond POSIX timestamp in milliseconds indicating when the returned + certificates will need to be valid until to be useful to the requesting server. If not supplied, the current time as determined by the notary server is used. required: false @@ -111,9 +111,9 @@ paths: type: integer format: int64 description: |- - A millisecond POSIX timestamp indicating when the returned - certificates will need to be valid until to be useful to the - requesting server. + A millisecond POSIX timestamp in milliseconds indicating when + the returned certificates will need to be valid until to be + useful to the requesting server. If not supplied, the current time as determined by the notary server is used. From 8f1a4ae0ea8cfb5192911f862c55c029aac175de Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:43:51 -0600 Subject: [PATCH 596/801] Formatting --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 4cf92e9b4..3bdc5b2b0 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -111,7 +111,7 @@ Retrieving Server Keys specification due to lack of significance. It may be reviewed `here <https://github.com/matrix-org/matrix-doc/blob/51faf8ed2e4a63d4cfd6d23183698ed169956cc0/specification/server_server_api.rst#232version-1>`_. -Each homeserver publishes its public keys under ``/_matrix/key/v2/server/{keyId}`. +Each homeserver publishes its public keys under ``/_matrix/key/v2/server/{keyId}``. Homeservers query for keys by either getting ``/_matrix/key/v2/server/{keyId}`` directly or by querying an intermediate notary server using a ``/_matrix/key/v2/query/{serverName}/{keyId}`` API. Intermediate notary servers From e27f4a69a05a893ca5e5aec6df4269d6f93fcdac Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:46:13 -0600 Subject: [PATCH 597/801] Key versions must be [0-9a-zA-Z_] --- api/server-server/definitions/keys.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index 679082686..5fba4d18e 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -29,7 +29,8 @@ properties: The object's key is the algorithm and version combined (``ed25519`` being the algorithm and ``abc123`` being the version in the example below). Together, - this forms the Key ID. + this forms the Key ID. The version must have characters matching the regular + expression ``[a-zA-Z0-9_]``. required: true additionalProperties: type: object @@ -52,7 +53,8 @@ properties: The object's key is the algorithm and version combined (``ed25519`` being the algorithm and ``0ldK3y`` being the version in the example below). Together, - this forms the Key ID. + this forms the Key ID. The version must have characters matching the regular + expression ``[a-zA-Z0-9_]``. additionalProperties: type: object title: Old Verify Key From cafd1a9ab3ebcac646a411f3fb0bc11725d61d04 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 26 Jul 2018 16:46:33 -0600 Subject: [PATCH 598/801] Use more modern timestamps --- api/server-server/definitions/keys.yaml | 4 ++-- api/server-server/examples/server_key.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server-server/definitions/keys.yaml b/api/server-server/definitions/keys.yaml index 5fba4d18e..738e9e469 100644 --- a/api/server-server/definitions/keys.yaml +++ b/api/server-server/definitions/keys.yaml @@ -60,7 +60,7 @@ properties: title: Old Verify Key example: { "ed25519:0ldK3y": { - "expired_ts": 922834800000, + "expired_ts": 1532645052628, "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg" } } @@ -70,7 +70,7 @@ properties: format: int64 description: POSIX timestamp in milliseconds for when this key expired. required: true - example: 922834800000 + example: 1532645052628 key: type: string description: The `Unpadded Base64`_ encoded key. diff --git a/api/server-server/examples/server_key.json b/api/server-server/examples/server_key.json index 8a82d76e7..a7e4621b4 100644 --- a/api/server-server/examples/server_key.json +++ b/api/server-server/examples/server_key.json @@ -7,7 +7,7 @@ }, "old_verify_keys": { "ed25519:0ldk3y": { - "expired_ts": 922834800000, + "expired_ts": 1532645052628, "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" } }, @@ -19,5 +19,5 @@ "tls_fingerprints": [{ "sha256": "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw==" }], - "valid_until_ts": 1052262000000 + "valid_until_ts": 1652262000000 } \ No newline at end of file From e4fd088fcc7a9357c4551c544a0e84b4d0f3731e Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Fri, 27 Jul 2018 12:05:30 +0100 Subject: [PATCH 599/801] Fix room tags spec --- api/client-server/tags.yaml | 6 +++-- specification/modules/tags.rst | 46 ++++++++++++++++------------------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/api/client-server/tags.yaml b/api/client-server/tags.yaml index 9310b25f2..42db5d9de 100644 --- a/api/client-server/tags.yaml +++ b/api/client-server/tags.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -64,8 +65,9 @@ paths: examples: application/json: { "tags": { - "work": {"order": "1"}, - "pinned": {} + "m.favourite": {} + "u.Work": {"order": "1"}, + "u.Customers": {} } } tags: diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index 25e48ab37..c085391e9 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -1,4 +1,5 @@ .. Copyright 2016 OpenMarket Ltd +.. Copyright 2018 New Vector Ltd .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. @@ -17,22 +18,19 @@ Room Tagging .. _module:tagging: -Users can add tags to rooms. Tags are short strings used to label rooms, e.g. -"work", "family". A room may have multiple tags. Tags are only visible to the -user that set them but are shared across all their devices. +Users can add tags to rooms. Tags are namespaced strings used to label rooms. +A room may have multiple tags. Tags are only visible to the user that set them +but are shared across all their devices. Events ------ The tags on a room are received as single ``m.tag`` event in the -``account_data`` section of a room in a ``/sync``. +``account_data`` section of a room. The content of the ``m.tag`` event is a +``tags`` key whose value is an object mapping the name of each tag to another +object. -The ``m.tag`` can also be received in a ``/events`` response or in the -``account_data`` section of a room in ``/initialSync``. ``m.tag`` -events appearing in ``/events`` will have a ``room_id`` with the room -the tags are for. - -Each tag has an associated JSON object with information about the tag, e.g how +The JSON object associated with each tag gives information about the tag, e.g how to order the rooms with a given tag. Ordering information is given under the ``order`` key as a number between 0 and @@ -43,26 +41,26 @@ after the rooms with that tag that have an ``order`` key. The name of a tag MUST not exceed 255 bytes. -The name of a tag should be human readable. When displaying tags for a room a -client should display this human readable name. When adding a tag for a room -a client may offer a list to choose from that includes all the tags that the -user has previously set on any of their rooms. +Tags namespaces are defined in the following way, depending on how the client are expected to interpret them: + +* The namespace ``m.*`` is reserved for tags defined in the Matrix specification +* The namespace ``u.*`` is reserved for user-defined tags. The portion of the string after the ``u.`` + is defined to be the display name of this tag. No other semantics should be inferred from tags in + this namespace. +* A client or app willing to use special tags for advanced functionnality should namespace them similarly to state keys: ``tld.name.*`` +* Any tag in the ``tld.name.*`` form but not matching the namespace of the current client should be ignored +* Any tag not matching the above rules should be interpreted as a user tag from the ``u.*`` namespace, as if + the name had already had ``u.`` stripped from the start (ie. the name of the tag is used as the + display name directly). Two special names are listed in the specification: +The following tags are defined in the ``m.*`` namespace: -* ``m.favourite`` -* ``m.lowpriority`` +* ``m.favourite``: The user's favourite rooms. These should be shown with higher precedence than other rooms. +* ``m.lowpriority``: These should be shown with lower precedence than others. {{m_tag_event}} -Tags namespaces are defined in the following way, depending on how the client are expected to interpret them: - -* The namespace ``m.*`` is reserved for tags defined in the current specification -* The namespace ``u.*`` is reserved for user-defined tags, and the client should not try to interpret as anything other than an utf8 string -* A client or app willing to use special tags for advanced functionnality should namespace them similarly to state keys: ``tld.name.*`` -* Any tag in the ``tld.name.*`` form but not matching the namespace of the current client should be ignored -* Any tag not matching the previous rules should be interpreted as an user tag from the ``u.*`` namespace - Client Behaviour ---------------- From f90ed4b77d19363667e11f8dd4555a49e3fe3700 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Fri, 27 Jul 2018 12:08:04 +0100 Subject: [PATCH 600/801] Make non-namespaced tags verboten --- specification/modules/tags.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index c085391e9..bf985edef 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -51,7 +51,8 @@ Tags namespaces are defined in the following way, depending on how the client ar * Any tag in the ``tld.name.*`` form but not matching the namespace of the current client should be ignored * Any tag not matching the above rules should be interpreted as a user tag from the ``u.*`` namespace, as if the name had already had ``u.`` stripped from the start (ie. the name of the tag is used as the - display name directly). + display name directly). These non-namespaced tags are supported for historical reasons. New tags should use + one of the defined namespaces above. Two special names are listed in the specification: The following tags are defined in the ``m.*`` namespace: From 5ddf5374db3dc80fcb093946ff5c6c5465b5e75f Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Fri, 27 Jul 2018 12:24:29 +0100 Subject: [PATCH 601/801] Missing comma --- api/client-server/tags.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/tags.yaml b/api/client-server/tags.yaml index 42db5d9de..b7bafab60 100644 --- a/api/client-server/tags.yaml +++ b/api/client-server/tags.yaml @@ -65,7 +65,7 @@ paths: examples: application/json: { "tags": { - "m.favourite": {} + "m.favourite": {}, "u.Work": {"order": "1"}, "u.Customers": {} } From 2dc51d416dddad4932a78c9b0e1128fe68b985de Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Fri, 27 Jul 2018 12:27:30 +0100 Subject: [PATCH 602/801] Ignore stuff in `m.` you don't understand --- specification/modules/tags.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index bf985edef..8c74c55fe 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -43,7 +43,8 @@ The name of a tag MUST not exceed 255 bytes. Tags namespaces are defined in the following way, depending on how the client are expected to interpret them: -* The namespace ``m.*`` is reserved for tags defined in the Matrix specification +* The namespace ``m.*`` is reserved for tags defined in the Matrix specification. Clients must ignore + any tags in this namespace they don't understand. * The namespace ``u.*`` is reserved for user-defined tags. The portion of the string after the ``u.`` is defined to be the display name of this tag. No other semantics should be inferred from tags in this namespace. From 73b0a03b9bb72d965afa235f8766101398a2057a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 27 Jul 2018 08:39:15 -0600 Subject: [PATCH 603/801] Remove more padding --- api/server-server/examples/server_key.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server-server/examples/server_key.json b/api/server-server/examples/server_key.json index a7e4621b4..bebd8445e 100644 --- a/api/server-server/examples/server_key.json +++ b/api/server-server/examples/server_key.json @@ -2,22 +2,22 @@ "server_name": "example.org", "verify_keys": { "ed25519:abc123": { - "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA==" + "key": "VGhpcyBzaG91bGQgYmUgYSByZWFsIGVkMjU1MTkgcGF5bG9hZA" } }, "old_verify_keys": { "ed25519:0ldk3y": { "expired_ts": 1532645052628, - "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg==" + "key": "VGhpcyBzaG91bGQgYmUgeW91ciBvbGQga2V5J3MgZWQyNTUxOSBwYXlsb2FkLg" } }, "signatures": { "example.org": { - "ed25519:auto2": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU=" + "ed25519:auto2": "VGhpcyBzaG91bGQgYWN0dWFsbHkgYmUgYSBzaWduYXR1cmU" } }, "tls_fingerprints": [{ - "sha256": "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw==" + "sha256": "VGhpcyBpcyBoYXNoIHdoaWNoIHNob3VsZCBiZSBieXRlcw" }], "valid_until_ts": 1652262000000 } \ No newline at end of file From 31687608dc90c6a77f4e39531576d59edd505d00 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 12:16:10 +0900 Subject: [PATCH 604/801] Factor out common code --- api/check_examples.py | 53 ++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 34 deletions(-) diff --git a/api/check_examples.py b/api/check_examples.py index fb9430b67..81a9298e3 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -43,22 +43,25 @@ except ImportError as e: raise +def check_schema(filepath, example, schema): + # Setting the 'id' tells jsonschema where the file is so that it + # can correctly resolve relative $ref references in the schema + schema['id'] = "file://" + os.path.abspath(filepath) + example = resolve_references(filepath, example) + resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) + jsonschema.validate(example, schema, resolver=resolver) + + def check_parameter(filepath, request, parameter): schema = parameter.get("schema") example = schema.get('example') - fileurl = "file://" + os.path.abspath(filepath) if example and schema: try: print ("Checking request schema for: %r %r" % ( filepath, request )) - # Setting the 'id' tells jsonschema where the file is so that it - # can correctly resolve relative $ref references in the schema - schema['id'] = fileurl - example = resolve_references(filepath, example) - resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) - jsonschema.validate(example, schema, resolver=resolver) + check_schema(filepath, example, schema) except Exception as e: raise ValueError("Error validating JSON schema for %r" % ( request @@ -68,18 +71,12 @@ def check_parameter(filepath, request, parameter): def check_response(filepath, request, code, response): example = response.get('examples', {}).get('application/json') schema = response.get('schema') - fileurl = "file://" + os.path.abspath(filepath) if example and schema: try: print ("Checking response schema for: %r %r %r" % ( filepath, request, code )) - # Setting the 'id' tells jsonschema where the file is so that it - # can correctly resolve relative $ref references in the schema - schema['id'] = fileurl - example = resolve_references(filepath, example) - resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) - jsonschema.validate(example, schema, resolver=resolver) + check_schema(filepath, example, schema) except Exception as e: raise ValueError("Error validating JSON schema for %r %r" % ( request, code @@ -127,30 +124,18 @@ def resolve_references(path, schema): return schema -def load_yaml(path): - if not path.startswith("file:///"): - raise Exception("Bad ref: %s" % (path,)) - path = path[len("file://"):] - with open(path, "r") as f: - return yaml.load(f) - - -def load_json(path): +def load_file(path): + print("Loading reference: %s" % path) if not path.startswith("file:///"): raise Exception("Bad ref: %s" % (path,)) path = path[len("file://"):] with open(path, "r") as f: - return json.load(f) - - -def load_file(path): - print("Loading reference: %s" % path) - if path.endswith(".json"): - return load_json(path) - else: - # We have to assume it's YAML because some of the YAML examples - # do not have file extensions. - return load_yaml(path) + if path.endswith(".json"): + return json.load(f) + else: + # We have to assume it's YAML because some of the YAML examples + # do not have file extensions. + return yaml.load(f) if __name__ == '__main__': From 2c9f00d37aef000fc0a483d9d4bccac973124adb Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 12:23:41 +0900 Subject: [PATCH 605/801] Follow PEP 8 --- api/check_examples.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/check_examples.py b/api/check_examples.py index 81a9298e3..3e791bae3 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -58,7 +58,7 @@ def check_parameter(filepath, request, parameter): if example and schema: try: - print ("Checking request schema for: %r %r" % ( + print("Checking request schema for: %r %r" % ( filepath, request )) check_schema(filepath, example, schema) From d17ec7f1846a96844c750dac3935ccd32b323b74 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 12:25:11 +0900 Subject: [PATCH 606/801] Check that path starts with file://, not file:/// Because file:/// is not a thing on Windows. --- api/check_examples.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/check_examples.py b/api/check_examples.py index 3e791bae3..eb861fca6 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -126,7 +126,7 @@ def resolve_references(path, schema): def load_file(path): print("Loading reference: %s" % path) - if not path.startswith("file:///"): + if not path.startswith("file://"): raise Exception("Bad ref: %s" % (path,)) path = path[len("file://"):] with open(path, "r") as f: From c6bfac41c535a9608a67181f43864bafd3ae6d16 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 12:30:25 +0900 Subject: [PATCH 607/801] Bypass jsonschema references resolver jsonschema's resolver doesn't work with local files on Windows. resolve_references only works with the local files (on Windows as well) but that's exactly what's needed for the case (as long as we don't have remote references, that is). Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/check_examples.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/api/check_examples.py b/api/check_examples.py index eb861fca6..cb85cb507 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -44,16 +44,14 @@ except ImportError as e: def check_schema(filepath, example, schema): - # Setting the 'id' tells jsonschema where the file is so that it - # can correctly resolve relative $ref references in the schema - schema['id'] = "file://" + os.path.abspath(filepath) example = resolve_references(filepath, example) + schema = resolve_references(filepath, schema) resolver = jsonschema.RefResolver(filepath, schema, handlers={"file": load_file}) jsonschema.validate(example, schema, resolver=resolver) def check_parameter(filepath, request, parameter): - schema = parameter.get("schema") + schema = parameter.get("schema", {}) example = schema.get('example') if example and schema: From 346db48588612620f179e0b9560ac4d1d8a24729 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 14:04:07 +0900 Subject: [PATCH 608/801] Revert giving get() a default As per the PR review. Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/check_examples.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/check_examples.py b/api/check_examples.py index cb85cb507..0fb275b17 100755 --- a/api/check_examples.py +++ b/api/check_examples.py @@ -51,7 +51,7 @@ def check_schema(filepath, example, schema): def check_parameter(filepath, request, parameter): - schema = parameter.get("schema", {}) + schema = parameter.get("schema") example = schema.get('example') if example and schema: From 0ff882fb3b3467daf74aca2fb55c4a4f12614272 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Fri, 13 Jul 2018 11:41:51 +0100 Subject: [PATCH 609/801] Field definitions for protocol metadata --- api/application-service/definitions/protocol_metadata.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/application-service/definitions/protocol_metadata.yaml b/api/application-service/definitions/protocol_metadata.yaml index 722640602..2b2c8f4e7 100644 --- a/api/application-service/definitions/protocol_metadata.yaml +++ b/api/application-service/definitions/protocol_metadata.yaml @@ -13,6 +13,8 @@ # limitations under the License. type: object description: Dictionary of supported third party protocols. +additionalProperties: + $ref: protocol.yaml example: { "irc": { "user_fields": ["network", "nickname"], From 273acb277caa7020dbcea76e2707c45eca8670cd Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Fri, 13 Jul 2018 12:07:15 +0100 Subject: [PATCH 610/801] Change fields to use new extended query array syntax --- api/application-service/application_service.yaml | 4 ++-- api/client-server/third_party_lookup.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index b459e29ff..138c75bd5 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -270,7 +270,7 @@ paths: required: true x-example: irc - in: query - name: field1, field2... + name: fields... type: string description: |- One or more custom fields that are passed to the application @@ -321,7 +321,7 @@ paths: required: true x-example: irc - in: query - name: field1, field2... + name: field... type: string description: |- One or more custom fields that are passed to the application diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 55d4c70a2..226eec214 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -122,7 +122,7 @@ paths: required: true x-example: irc - in: query - name: field1, field2... + name: fields... type: string description: |- One or more custom fields that are passed to the AS to help identify the user. From 3e4962f21152e31bce6a3ff44bb0c65b11c89616 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Fri, 13 Jul 2018 12:25:48 +0100 Subject: [PATCH 611/801] Document standardized extensions to OpenAPI v2 --- api/openapi_extensions.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 api/openapi_extensions.rst diff --git a/api/openapi_extensions.rst b/api/openapi_extensions.rst new file mode 100644 index 000000000..75c486878 --- /dev/null +++ b/api/openapi_extensions.rst @@ -0,0 +1,23 @@ +OpenAPI Extensions +================== + +For some functionality that is not directly provided by the OpenAPI v2 +specification, some extensions have been added that are to be consistent +across the specification. The defined extensions are listed below. Extensions +should not break parsers, however if extra functionality is required, aware +parsers should be able to take advantage of the added syntax. + +Extensible Query Parameters +--------------------------- + +If a unknown amount of query parameters can be added to a request, the +``name`` should be in form of ``something...``, with the trailing ellipses +representing the possibility of more fields. + +Example: + +.. code-block:: + + - in: query + name: fields... + type: string \ No newline at end of file From 53137a3c5318c1a8e50a988e7c511302cf923590 Mon Sep 17 00:00:00 2001 From: Andrew Morgan <andrewm@matrix.org> Date: Mon, 23 Jul 2018 14:38:52 +0100 Subject: [PATCH 612/801] c/p bug, fix operationIds, move rst docs to md --- .../application_service.yaml | 2 +- api/application-service/definitions/user.yaml | 2 +- api/client-server/third_party_lookup.yaml | 9 +++++---- ...pi_extensions.rst => openapi_extensions.md} | 18 ++++++++---------- 4 files changed, 15 insertions(+), 16 deletions(-) rename api/{openapi_extensions.rst => openapi_extensions.md} (65%) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 138c75bd5..6f2eed16a 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -214,7 +214,7 @@ paths: This API is called by the homeserver when it wants to present clients with specific information about the various third party networks that an application service supports. - operationId: queryMetadata + operationId: getProtocolMetadata parameters: - in: path name: protocol diff --git a/api/application-service/definitions/user.yaml b/api/application-service/definitions/user.yaml index 5f8d0460f..a7b2287ef 100644 --- a/api/application-service/definitions/user.yaml +++ b/api/application-service/definitions/user.yaml @@ -27,5 +27,5 @@ properties: type: object example: "user": "jim" -title: Location +title: User type: object \ No newline at end of file diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 226eec214..ee14a1371 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -34,7 +34,7 @@ paths: Fetches the overall metadata about protocols supported by the homeserver. Includes both the available protocols and all fields required for queries against each protocol. - operationId: queryMetadata + operationId: getProtocols responses: 200: description: The protocols supported by the homeserver. @@ -45,7 +45,7 @@ paths: summary: Retrieve metadata about a specific protocol that the homeserver supports. description: |- Fetches the metadata from the homeserver about a particular third party protocol. - operationId: queryMetadata + operationId: getProtocolMetadata parameters: - in: path name: protocol @@ -122,8 +122,9 @@ paths: required: true x-example: irc - in: query - name: fields... - type: string + name: fields + explode: true + type: object description: |- One or more custom fields that are passed to the AS to help identify the user. responses: diff --git a/api/openapi_extensions.rst b/api/openapi_extensions.md similarity index 65% rename from api/openapi_extensions.rst rename to api/openapi_extensions.md index 75c486878..4a01c477a 100644 --- a/api/openapi_extensions.rst +++ b/api/openapi_extensions.md @@ -1,5 +1,4 @@ -OpenAPI Extensions -================== +# OpenAPI Extensions For some functionality that is not directly provided by the OpenAPI v2 specification, some extensions have been added that are to be consistent @@ -7,17 +6,16 @@ across the specification. The defined extensions are listed below. Extensions should not break parsers, however if extra functionality is required, aware parsers should be able to take advantage of the added syntax. -Extensible Query Parameters ---------------------------- +## Extensible Query Parameters -If a unknown amount of query parameters can be added to a request, the -``name`` should be in form of ``something...``, with the trailing ellipses -representing the possibility of more fields. +If a unknown amount of query parameters can be added to a request, the `name` +must be `fields...`, with the trailing ellipses representing the possibility +of more fields. Example: -.. code-block:: - +``` - in: query name: fields... - type: string \ No newline at end of file + type: string +``` \ No newline at end of file From d785ac78a355c85f68c82e3ff5e558378d2d1bc0 Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Mon, 30 Jul 2018 11:01:27 +0100 Subject: [PATCH 613/801] Remove explode and replace with TODO, require auth on CS --- api/client-server/third_party_lookup.yaml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index ee14a1371..293a105be 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -35,6 +35,8 @@ paths: homeserver. Includes both the available protocols and all fields required for queries against each protocol. operationId: getProtocols + security: + - accessToken: [] responses: 200: description: The protocols supported by the homeserver. @@ -46,6 +48,8 @@ paths: description: |- Fetches the metadata from the homeserver about a particular third party protocol. operationId: getProtocolMetadata + security: + - accessToken: [] parameters: - in: path name: protocol @@ -80,6 +84,8 @@ paths: identifier. It should attempt to canonicalise the identifier as much as reasonably possible given the network type. operationId: queryLocationByProtocol + security: + - accessToken: [] parameters: - in: path name: protocol @@ -113,6 +119,8 @@ paths: Retrieve a Matrix User ID linked to a user on the third party service, given a set of user parameters. operationId: queryUserByProtocol + security: + - accessToken: [] parameters: - in: path name: protocol @@ -121,10 +129,10 @@ paths: The name of the protocol. required: true x-example: irc + # TODO: Change to 'explode' after OpenAPI/Swagger v3 update - in: query - name: fields - explode: true - type: object + name: field1, field2... + type: string description: |- One or more custom fields that are passed to the AS to help identify the user. responses: @@ -147,6 +155,8 @@ paths: Retreive an array of third party network locations from a Matrix room alias. operationId: queryLocationByAlias + security: + - accessToken: [] parameters: - in: query name: alias @@ -173,6 +183,8 @@ paths: description: |- Retreive an array of third party users from a Matrix User ID. operationId: queryUserByID + security: + - accessToken: [] parameters: - in: query name: userid @@ -192,4 +204,4 @@ paths: "errcode": "M_NOT_FOUND" } schema: - $ref: definitions/errors/error.yaml \ No newline at end of file + $ref: definitions/errors/error.yaml From a2e2ced03b1754ca71d69def19eb03e2deeb9766 Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Mon, 30 Jul 2018 11:09:13 +0100 Subject: [PATCH 614/801] Add reverse-lookup examples. --- api/client-server/third_party_lookup.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 293a105be..55b34a815 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -163,6 +163,7 @@ paths: type: string description: The Matrix room alias to look up. required: true + x-example: "#matrix:matrix.org" responses: 200: description: |- @@ -191,6 +192,7 @@ paths: type: string description: The Matrix User ID to look up. required: true + x-example: "@bob:matrix.org" responses: 200: description: |- From 5f8967c0742faa108f994771e2ecc0b0b42854da Mon Sep 17 00:00:00 2001 From: user <andrew@amorgan.xyz> Date: Mon, 30 Jul 2018 19:19:35 +0100 Subject: [PATCH 615/801] Move TODO. field1, field2... -> fields... --- api/application-service/application_service.yaml | 4 ++-- api/client-server/third_party_lookup.yaml | 3 +-- api/openapi_extensions.md | 4 +++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 6f2eed16a..42c0c0cfe 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -321,7 +321,7 @@ paths: required: true x-example: irc - in: query - name: field... + name: fields... type: string description: |- One or more custom fields that are passed to the application @@ -446,4 +446,4 @@ paths: "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" } schema: - $ref: ../client-server/definitions/errors/error.yaml \ No newline at end of file + $ref: ../client-server/definitions/errors/error.yaml diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index 55b34a815..cba9ce22a 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -129,9 +129,8 @@ paths: The name of the protocol. required: true x-example: irc - # TODO: Change to 'explode' after OpenAPI/Swagger v3 update - in: query - name: field1, field2... + name: fields... type: string description: |- One or more custom fields that are passed to the AS to help identify the user. diff --git a/api/openapi_extensions.md b/api/openapi_extensions.md index 4a01c477a..9f4745fdc 100644 --- a/api/openapi_extensions.md +++ b/api/openapi_extensions.md @@ -8,6 +8,8 @@ parsers should be able to take advantage of the added syntax. ## Extensible Query Parameters +<!-- TODO: Remove and change instances to 'explode' after OpenAPI/Swagger v3 update --> + If a unknown amount of query parameters can be added to a request, the `name` must be `fields...`, with the trailing ellipses representing the possibility of more fields. @@ -18,4 +20,4 @@ Example: - in: query name: fields... type: string -``` \ No newline at end of file +``` From 7679b4f1d168e4f5ab7c2e94d34923079782f234 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 30 Jul 2018 16:58:13 -0600 Subject: [PATCH 616/801] Improve documentation on how Transactions work The response is based upon various sections of the Synapse code in how it generates a response. There are no new fields added to the transaction. Originally, `previous_ids` and `pdu_failures` were to be documented however neither of these are used in the real world. --- .../definitions/transaction.yaml | 8 ++- api/server-server/transactions.yaml | 58 +++++++++++++++++-- specification/server_server_api.rst | 38 +----------- 3 files changed, 58 insertions(+), 46 deletions(-) diff --git a/api/server-server/definitions/transaction.yaml b/api/server-server/definitions/transaction.yaml index 930ddec1a..7df8b6464 100644 --- a/api/server-server/definitions/transaction.yaml +++ b/api/server-server/definitions/transaction.yaml @@ -25,11 +25,13 @@ properties: origin_server_ts: type: integer format: int64 - description: Timestamp in milliseconds on originating homeserver when this transaction started. - example: 1234567890 + description: |- + POSIX timestamp in milliseconds on originating homeserver when this + transaction started. + example: 1532991320875 pdus: type: array description: List of persistent updates to rooms. items: $ref: "pdu.yaml" -required: ['origin', 'origin_server_ts', 'pdus'] \ No newline at end of file +required: ['origin', 'origin_server_ts', 'pdus'] diff --git a/api/server-server/transactions.yaml b/api/server-server/transactions.yaml index 13ba6826b..2a9180a19 100644 --- a/api/server-server/transactions.yaml +++ b/api/server-server/transactions.yaml @@ -30,16 +30,18 @@ paths: Push messages representing live activity to another server. The destination name will be set to that of the receiving server itself. Each embedded PDU in the transaction body will be processed. + + The sending server must wait and retry for a 200 OK response before sending a + transaction with a different ``txnId`` to the receiving server. operationId: sendTransaction parameters: - in: path name: txnId type: string - # TODO: "Overrides any ID given in the JSON body" - What does this mean? description: |- - The transaction ID. Overrides any ID given in the JSON body. + The transaction ID. required: true - x-example: TODO # No examples in the spec so far + x-example: S0meTransacti0nId - in: body name: body type: object @@ -51,7 +53,9 @@ paths: properties: edus: type: array - description: List of ephemeral messages. May be omitted if there are no ephemeral messages to be sent. + description: |- + List of ephemeral messages. May be omitted if there are no ephemeral + messages to be sent. items: $ref: "definitions/edu.yaml" example: { @@ -60,5 +64,47 @@ paths: } responses: 200: - # TODO: Spec this (and figure out what it is) - description: TODO + description: |- + The result of processing the transaction. The server is to use this response even in + the event of one or more PDUs failing to be processed. + schema: + type: array + minItems: 2 + maxItems: 2 + items: + - type: integer + description: The value ``200``. + example: 200 + - type: object + title: PDU Processing Results + description: The results for the processing of each PDU in the transaction. + properties: + pdus: + type: object + description: |- + The PDUs from the original transaction. The string key represents the ID of the + PDU (event) that was processed. + additionalProperties: + type: object + title: PDU Processing Result + description: Information about how the PDU was handled. + properties: + error: + type: string + description: |- + A human readable description about what went wrong in processing this PDU. + If no error is present, the PDU can be considered successfully handled. + example: "You are not allowed to send a message to this room." + required: ['pdus'] + examples: + application/json: [ + 200, + { + "pdus": { + "$successful_event:domain.com": {}, + "$failed_event:example.org": { + "error": "You are not allowed to send a message to this room." + } + } + } + ] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..a190d9d2f 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -242,41 +242,7 @@ of Transaction messages, which are encoded as JSON objects, passed over an HTTP PUT request. A Transaction is meaningful only to the pair of homeservers that exchanged it; they are not globally-meaningful. -Each transaction has: - - An opaque transaction ID, unique among transactions from the same origin. - - A timestamp (UNIX epoch time in milliseconds) generated by its origin - server. - - An origin and destination server name. - - A list of PDUs and EDUs - the actual message payload that the Transaction - carries. - -Transaction Fields -~~~~~~~~~~~~~~~~~~ - -==================== =================== ====================================== - Key Type Description -==================== =================== ====================================== -``origin`` String **Required**. ``server_name`` of homeserver sending - this transaction. -``origin_server_ts`` Integer **Required**. Timestamp in milliseconds on - originating homeserver when this - transaction started. -``pdus`` List of Objects **Required**. List of persistent updates to rooms. -``edus`` List of Objects List of ephemeral messages. May be omitted - if there are no ephemeral messages to - be sent. -==================== =================== ====================================== - -Example: - -.. code:: json - - { - "origin_server_ts": 1404835423000, - "origin": "matrix.org", - "pdus": [...], - "edus": [...] - } +{{transactions_ss_http_api}} PDUs ---- @@ -682,8 +648,6 @@ All these URLs are name-spaced within a prefix of:: /_matrix/federation/v1/... -{{transactions_ss_http_api}} - {{events_ss_http_api}} {{query_general_ss_http_api}} From d7919b6989847297c0c29b00529d2b67bd9d64b0 Mon Sep 17 00:00:00 2001 From: Ben Parsons <ben@bpulse.co.uk> Date: Tue, 31 Jul 2018 15:08:42 +0100 Subject: [PATCH 617/801] also scrape PRs when the full URL is pasted --- scripts/proposals.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/proposals.py b/scripts/proposals.py index a8f58caec..d8c1aa242 100755 --- a/scripts/proposals.py +++ b/scripts/proposals.py @@ -138,10 +138,15 @@ for label in labels: pr_list_formatted = set() pr_list = pr_list.group(1) for p in pr_list.split(","): - if not re.match(r"#\d", p.strip()): + if re.match(r"#\d", p.strip()): + prs.add(p.strip()) + pr_list_formatted.add("`PR" + str(p.strip()) + "`_") + elif re.match(r"https://github.com/matrix-org/matrix-doc/pulls/\d", p.strip()): + pr = "#" + p.strip().replace('https://github.com/matrix-org/matrix-doc/pulls/', '') + prs.add(pr) + pr_list_formatted.add("`PR" + str(pr) + "`_") + else: raise RuntimeWarning - prs.add(p.strip()) - pr_list_formatted.add("`PR" + str(p.strip()) + "`_") text_file.write(" - " + ', '.join(pr_list_formatted)) text_file.write("\n") else: From ea307b5bdbae811e8b94e0603c2c0ac5fde9ba0f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 31 Jul 2018 13:55:53 -0600 Subject: [PATCH 618/801] Support rendering schema definitions in the spec --- .../templating/matrix_templates/sections.py | 14 +++++++ .../templates/schema-definition.tmpl | 21 ++++++++++ scripts/templating/matrix_templates/units.py | 38 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 scripts/templating/matrix_templates/templates/schema-definition.tmpl diff --git a/scripts/templating/matrix_templates/sections.py b/scripts/templating/matrix_templates/sections.py index 64e32aa44..1a93c7237 100644 --- a/scripts/templating/matrix_templates/sections.py +++ b/scripts/templating/matrix_templates/sections.py @@ -189,3 +189,17 @@ class MatrixSections(Sections): template = self.env.get_template("apis.tmpl") apis = self.units.get("apis") return template.render(apis=apis) + + def render_swagger_definition(self): + rendered = {} + template = self.env.get_template("schema-definition.tmpl") + subtitle_title_char = self.units.get("spec_targets")[ + "relative_title_styles" + ]["subtitle"] + definitions = self.units.get("swagger_definitions") + for group, swagger_def in definitions.items(): + rendered["definition_" + group] = template.render( + definition=swagger_def['definition'], + examples=swagger_def['examples'], + title_kind=subtitle_title_char) + return rendered \ No newline at end of file diff --git a/scripts/templating/matrix_templates/templates/schema-definition.tmpl b/scripts/templating/matrix_templates/templates/schema-definition.tmpl new file mode 100644 index 000000000..42a7ae476 --- /dev/null +++ b/scripts/templating/matrix_templates/templates/schema-definition.tmpl @@ -0,0 +1,21 @@ +{% import 'tables.tmpl' as tables -%} + +``{{definition.title}}`` Schema +{{(11 + definition.title | length) * title_kind}} + +{% if 'description' in definition %} +{{definition.description}} +{% endif %} + +{% for table in definition.tables -%} +{{"``"+table.title+"``" if table.title else "" }} +{{ tables.paramtable(table.rows) }} +{% endfor %} + +Example{% if examples | length > 1 %}s{% endif %}: + +{% for example in examples %} +.. code:: json + + {{example | jsonify(4, 4)}} +{% endfor %} diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 5b39a2b3c..d6579e6ce 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -43,6 +43,13 @@ HTTP_APIS = { os.path.join(matrix_doc_dir, "api/push-gateway"): "push", os.path.join(matrix_doc_dir, "api/server-server"): "ss", } +SWAGGER_DEFINITIONS = { + os.path.join(matrix_doc_dir, "api/application-service/definitions"): "as", + os.path.join(matrix_doc_dir, "api/client-server/definitions"): "cs", + #os.path.join(matrix_doc_dir, "api/identity/definitions"): "is", + #os.path.join(matrix_doc_dir, "api/push-gateway/definitions"): "push", + os.path.join(matrix_doc_dir, "api/server-server/definitions"): "ss", +} EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema") CORE_EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema/core-event-schema") @@ -654,6 +661,37 @@ class MatrixUnits(Units): apis[group_name] = api return apis + + def load_swagger_definitions(self): + defs = {} + for path, prefix in SWAGGER_DEFINITIONS.items(): + for filename in os.listdir(path): + if not filename.endswith(".yaml"): + continue + filepath = os.path.join(path, filename) + logger.info("Reading swagger definition: %s" % filepath) + with open(filepath, "r") as f: + # strip .yaml + group_name = filename[:-5].replace("-", "_") + group_name = "%s_%s" % (prefix, group_name) + definition = yaml.load(f.read(), OrderedLoader) + definition = resolve_references(filepath, definition) + if 'type' not in definition: + continue + try: + example = get_example_for_schema(definition) + except: + pass # do nothing - we don't care + if 'title' not in definition: + definition['title'] = "NO_TITLE" + definition['tables'] = get_tables_for_schema(definition) + defs[group_name] = { + "definition": definition, + "examples": [example] if example is not None else [], + } + return defs + + def load_common_event_fields(self): """Parse the core event schema files From 5027a9a59a4ca257f6b71f78f6f0fe3811940400 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 31 Jul 2018 13:58:23 -0600 Subject: [PATCH 619/801] Improve documentation around EDUs and PDUs Clarify fields, improve examples, and make the tables in the spec be generated rather than duplicated. --- api/server-server/definitions/edu.yaml | 6 +- .../definitions/unsigned_pdu.yaml | 33 +++++- api/server-server/examples/edu.json | 4 +- api/server-server/examples/unsigned_pdu.json | 3 + specification/server_server_api.rst | 101 +----------------- 5 files changed, 44 insertions(+), 103 deletions(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index c89573feb..bc1f0cce0 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -16,7 +16,7 @@ type: object title: Ephemeral Data Unit -description: An ephemeral data unit +description: An ephemeral data unit. example: $ref: "../examples/edu.json" properties: @@ -24,17 +24,15 @@ properties: type: string description: The type of ephemeral message. example: "m.presence" - required: true origin: type: string description: The server name sending the ephemeral message. example: "matrix.org" - required: true destination: type: string description: The server name receiving the ephemeral message. example: "elsewhere.com" - required: true content: type: object description: The content of the ephemeral message. +required: ['edu_type', 'origin', 'destination', 'content'] \ No newline at end of file diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index 0aeede514..dad015376 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -108,8 +108,39 @@ properties: example: "$def456:matrix.org" unsigned: type: object - description: Additional data added by the origin server but not covered by the ``signatures``. + title: Example Unsigned Data + description: |- + Additional data added by the origin server but not covered by the ``signatures``. More + keys than those defined here may be used. example: {"key": "value"} + properties: + age: + type: integer + description: The number of milliseconds that have passed since this message was sent. + example: 4612 + age_ts: + type: integer + format: int64 + description: The POSIX timestamp this message was sent at in milliseconds. + replaces_state: + type: string + description: The event ID of the state event this event replaces. + example: "$state_event:domain.com" + prev_sender: + type: string + description: The sender of the replaced state event. + example: "@someone:domain.com" + prev_content: + type: string + description: The content of the replaced state event. + example: { + "membership": "join", + "displayname": "Bob" + } + redacted_because: + type: string + description: A reason for why the event was redacted. + example: "Inappropriate content" required: - event_id - room_id diff --git a/api/server-server/examples/edu.json b/api/server-server/examples/edu.json index 95a7b55d9..9ff40dc38 100644 --- a/api/server-server/examples/edu.json +++ b/api/server-server/examples/edu.json @@ -1,7 +1,7 @@ { "edu_type": "m.presence", - "origin": "blue", - "destination": "orange", + "origin": "matrix.org", + "destination": "elsewhere.com", "content": { "key": "value" } diff --git a/api/server-server/examples/unsigned_pdu.json b/api/server-server/examples/unsigned_pdu.json index 0b585a639..f4d2e749f 100644 --- a/api/server-server/examples/unsigned_pdu.json +++ b/api/server-server/examples/unsigned_pdu.json @@ -20,5 +20,8 @@ ], "content": { "key": "value" + }, + "unsigned": { + "age": 4612 } } \ No newline at end of file diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..3ac15fa70 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -284,78 +284,6 @@ PDUs Each PDU contains a single Room Event which the origin server wants to send to the destination. - -PDU Fields -~~~~~~~~~~ - -.. TODO-spec - - Figure out how to embed swagger definitions in here (or improve the section) - -==================== ================== ======================================= - Key Type Description -==================== ================== ======================================= -``room_id`` String **Required**. Room identifier. -``sender`` String **Required**. The ID of the user sending - the event. -``origin`` String **Required**. ``server_name`` of the - homeserver that created this event. -``event_id`` String **Required**. Unique identifier for the - event being sent. -``origin_server_ts`` Integer **Required**. Timestamp in milliseconds - on origin homeserver when this event - was created. -``type`` String **Required**. Event type. -``state_key`` String If this key is present, the event is a - state event, and it will replace - previous events with the same ``type`` - and ``state_key`` in the room state. -``content`` Object **Required**. The content of the event. -``prev_events`` List of (String, **Required**. Event IDs and hashes of - {String: String}) the most recent events in the room that - pairs the homeserver was aware of when it - made this event. -``depth`` Integer **Required**. The maximum depth of the - ``prev_events``, plus one. -``auth_events`` List of (String, **Required**. Event IDs and hashes for - {String: String}) the "auth events" of this event. - pairs -``hashes`` {String: String} **Required**. Hashes of the PDU, - following the algorithm specified in - `Signing Events`_. -``signatures`` {String: **Required**. Signatures of the redacted - {String: String}} PDU, following the algorithm specified - in `Signing Events`_. -``redacts`` String For redaction events, the ID of the - event being redacted. -``unsigned`` Object Additional data added by the origin - server but not covered by the - ``signatures``. -==================== ================== ======================================= - -Example: - -.. code:: json - - { - "room_id": "!UcYsUzyxTGDxLBEvLy:example.org", - "sender": "@alice:example.com", - "origin": "example.com", - "event_id": "$a4ecee13e2accdadf56c1025:example.com", - "origin_server_ts": 1404838188000, - "type": "m.room.message", - "prev_events": [ - ["$af232176:example.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}] - ], - "hashes": {"sha256": "thishashcoversallfieldsincasethisisredacted"}, - "signatures": { - "example.com": { - "ed25519:key_version:": "these86bytesofbase64signaturecoveressentialfieldsincludinghashessocancheckredactedpdus" - } - }, - "content": {...} - } - The ``prev_events`` field of a PDU identifies the "parents" of the event, and thus establishes a partial ordering on events within the room by linking them into a Directed Acyclic Graph (DAG). The sending server should populate this @@ -386,6 +314,8 @@ following subset of the room state: - The current ``m.room.join_rules`` event, if any. - The sender's current ``m.room.member`` event, if any. +{{definition_ss_pdu}} + Authorization of PDUs ~~~~~~~~~~~~~~~~~~~~~ @@ -555,32 +485,11 @@ The rules are as follows: EDUs ---- -.. WARNING:: - This section may be misleading or inaccurate. - EDUs, by comparison to PDUs, do not have an ID, a room ID, or a list of -"previous" IDs. The only mandatory fields for these are the type, origin and -destination homeserver names, and the actual nested content. - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``edu_type`` String The type of the ephemeral message. -``origin`` String The server name sending the ephemeral - message. -``destination`` String The server name receiving the ephemeral - message. -``content`` Object Content of the ephemeral message. -======================== ============ ========================================= - -.. code:: json +"previous" IDs. They are intended to be non-persistent data such as user +presence, typing notifications, etc. - { - "edu_type": "m.presence", - "origin": "blue", - "destination": "orange", - "content": {...} - } +{{definition_ss_edu}} Room State Resolution --------------------- From d0e8df8f3f23df0f2c2c9d60fd9db7029668a7fd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 31 Jul 2018 14:02:04 -0600 Subject: [PATCH 620/801] prev_content is an object --- api/server-server/definitions/unsigned_pdu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index dad015376..ab6e5b1c1 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -131,7 +131,7 @@ properties: description: The sender of the replaced state event. example: "@someone:domain.com" prev_content: - type: string + type: object description: The content of the replaced state event. example: { "membership": "join", From 5aef545128b08b12c44a73fa92b903caf162db48 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 1 Aug 2018 13:31:23 -0600 Subject: [PATCH 621/801] Improve documentation for backfilling rooms There's not a whole lot to improve here - most of the changes are about reorganization and minor clarifications. --- api/server-server/backfill.yaml | 77 +++++++++++++++++++++++++++++ api/server-server/events.yaml | 32 ------------ specification/server_server_api.rst | 27 +++------- 3 files changed, 83 insertions(+), 53 deletions(-) create mode 100644 api/server-server/backfill.yaml diff --git a/api/server-server/backfill.yaml b/api/server-server/backfill.yaml new file mode 100644 index 000000000..f83057ae0 --- /dev/null +++ b/api/server-server/backfill.yaml @@ -0,0 +1,77 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Events API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/backfill/{roomId}": + get: + summary: Retrieves the events which precede the given event + description: |- + Retreives a sliding-window history of previous PDUs that occurred in the given room. + Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it + are retrieved, up to the total number given by the ``limit``. + operationId: backfillRoom + parameters: + - in: path + name: roomId + type: string + description: The room ID to backfill. + required: true + x-example: "!SomeRoom:matrix.org" + - in: query + name: v + type: array + items: + type: string + description: The event IDs to backfill from. + required: true + x-example: ["$abc123:matrix.org"] + - in: query + name: limit + type: integer + description: The maximum number of PDUs to retrieve, including the given events. + required: true + x-example: 2 + responses: + 200: + description: |- + A transaction containing the PDUs that preceded the given event(s), including the given + event(s), up to the given limit. + schema: + $ref: "definitions/transaction.yaml" + # Override the example to show the response of the request a bit better + examples: + application/json: { + "$ref": "examples/transaction.json", + "pdus": [ + { + "$ref": "pdu.json", + "room_id": "!SomeRoom:matrix.org", + "event_id": "$abc123:matrix.org" + }, + { + "$ref": "pdu.json", + "room_id": "!SomeRoom:matrix.org" + }, + ] + } diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index d540085d2..3b48f15c1 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -59,35 +59,3 @@ paths: description: A transaction containing a single PDU which is the event requested. schema: $ref: "definitions/transaction.yaml" - "/backfill/{roomId}": - get: - summary: Retrieves the events which precede the given event - description: |- - Retreives a sliding-window history of previous PDUs that occurred in the given room. - Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it - are retrieved, up to the total number given by the ``limit``. - operationId: backfillRoom - parameters: - - in: path - name: roomId - type: string - description: The room ID to backfill. - required: true - x-example: "!abc123:matrix.org" - - in: query - name: v - type: string # TODO: The description says this is plural - figure out how to specify multiple, and spec it - description: The event ID to backfill from. - required: true - x-example: "$abc123:matrix.org" - - in: query - name: limit - type: integer - description: The maximum number of events to retrieve. - required: true - x-example: 10 - responses: - 200: - description: A transaction containing the PDUs that preceded the given event(s). - schema: - $ref: "definitions/transaction.yaml" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f1825f270..090885bcf 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -850,32 +850,17 @@ To cover this case, the federation API provides a server-to-server analog of the ``/messages`` client API, allowing one homeserver to fetch history from another. This is the ``/backfill`` API. -To request more history, the requesting homeserver picks another homeserver -that it thinks may have more (most likely this should be a homeserver for some -of the existing users in the room at the earliest point in history it has -currently), and makes a ``/backfill`` request. The parameters of this request -give an event ID that the requesting homeserver wishes to obtain, and a number -specifying how many more events of history before that one to return at most. - -The response to this request is an object with the following keys: - -======================== ============ ========================================= - Key Type Description -======================== ============ ========================================= -``pdus`` List A list of events. -``origin`` String The name of the resident homeserver. -``origin_server_ts`` Integer A timestamp added by the resident - homeserver. -======================== ============ ========================================= - -The list of events given in ``pdus`` is returned in reverse chronological -order; having the most recent event first (i.e. the event whose event ID is -that requested by the requester in the ``v`` parameter). +To request more history, the requesting homeserver picks another homeserver +that it thinks may have more (most likely this should be a homeserver for +some of the existing users in the room at the earliest point in history it +has currently), and makes a ``/backfill`` request. .. TODO-spec Specify (or remark that it is unspecified) how the server handles divergent history. DFS? BFS? Anything weirder? +{{backfill_ss_http_api}} + Inviting to a room ------------------ From 4b1955f395b025edcdcd7ff321927a48f2e082d0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 12:06:43 -0600 Subject: [PATCH 622/801] Clarify what the auth_events on a PDU are --- api/server-server/definitions/unsigned_pdu.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index ab6e5b1c1..f042dffb5 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -82,7 +82,9 @@ properties: example: 12 auth_events: type: array - description: Event IDs and hashes for the "auth events" of this event. + description: |- + An event reference list containing the authorization events that would + allow this event to be in the room. items: type: array maxItems: 2 From 9d474bb8195b3a61b1cad0330aa3f1adec7756e7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 12:44:54 -0600 Subject: [PATCH 623/801] Document event retrieval endpoints in more detail This also adds a previously-undocumented endpoint: /state_ids Backfill is technically not part of this section, however it is being left untouched to make the merge with #1469 easier (which moves it out of the file). Reference material: * Some calls to synapse on these endpoints with a relatively simple private room. --- api/server-server/events.yaml | 76 +++++++++++++++++++++++++++-- specification/server_server_api.rst | 12 ++++- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index d540085d2..f0c3250cc 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -27,7 +27,7 @@ paths: get: summary: Get all the state of a given room description: |- - Retrieves a snapshot of the entire current state of the given room. + Retrieves a snapshot of a room's state at a given event. operationId: getRoomState parameters: - in: path @@ -36,11 +36,81 @@ paths: description: The room ID to get state for. required: true x-example: "!abc123:matrix.org" + - in: query + name: event_id + type: string + description: An event ID in the room to retrieve the state at. + required: true + x-example: "$helloworld:matrix.org" responses: 200: - description: The room state for the room (kept under ``pdus``). + description: |- + The fully resolved state for the room, including the authorization + chain for the events. schema: - $ref: "definitions/transaction.yaml" + type: object + properties: + auth_chain: + type: list + description: |- + The full set of authorization events that make up the state + of the room, and their authorization events, recursively. + items: + $ref: "definitions/pdu.yaml" + example: [{"$ref": "examples/pdu.json"}] + pdus: + type: list + description: |- + The fully resolved state of the room at the given event. + items: + $ref: "definitions/pdu.yaml" + example: [{"$ref": "examples/pdu.json"}] + required: ['auth_chain', 'pdus'] + "/state_ids/{roomId}": + get: + summary: Get all the state event IDs of a given room + description: |- + Retrieves a snapshot of a room's state at a given event, in the form of + event IDs. This performs the same function as calling ``/state/{roomId}``, + however this returns just the event IDs rather than the full events. + operationId: getRoomStateIds + parameters: + - in: path + name: roomId + type: string + description: The room ID to get state for. + required: true + x-example: "!abc123:matrix.org" + - in: query + name: event_id + type: string + description: An event ID in the room to retrieve the state at. + required: true + x-example: "$helloworld:matrix.org" + responses: + 200: + description: |- + The fully resolved state for the room, including the authorization + chain for the events. + schema: + type: object + properties: + auth_chain_ids: + type: list + description: |- + The full set of authorization events that make up the state + of the room, and their authorization events, recursively. + items: + type: string + example: ["$an_event:domain.com"] + pdu_ids: + type: list + description: |- + The fully resolved state of the room at the given event. + items: + type: string + example: ["$an_event:domain.com"] + required: ['auth_chain_ids', 'pdu_ids'] "/event/{eventId}": get: summary: Get a single event diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 3bdc5b2b0..4a00db98a 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -606,8 +606,6 @@ All these URLs are name-spaced within a prefix of:: {{transactions_ss_http_api}} -{{events_ss_http_api}} - {{query_general_ss_http_api}} @@ -798,6 +796,16 @@ that requested by the requester in the ``v`` parameter). Specify (or remark that it is unspecified) how the server handles divergent history. DFS? BFS? Anything weirder? +Retriving events +---------------- + +In some circumstances, a homeserver may be missing a particular event or information +about the room which cannot be easily determined from backfilling. These APIs provide +homeservers with the option of getting events and the state of the room at a given +point in the timeline. + +{{events_ss_http_api}} + Inviting to a room ------------------ From 8b7bc603670c2e81c73505b0987690b6b87fa269 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 16:42:03 -0600 Subject: [PATCH 624/801] list -> array --- api/server-server/events.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index f0c3250cc..11c88e8d9 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -51,7 +51,7 @@ paths: type: object properties: auth_chain: - type: list + type: array description: |- The full set of authorization events that make up the state of the room, and their authorization events, recursively. @@ -59,7 +59,7 @@ paths: $ref: "definitions/pdu.yaml" example: [{"$ref": "examples/pdu.json"}] pdus: - type: list + type: array description: |- The fully resolved state of the room at the given event. items: @@ -96,7 +96,7 @@ paths: type: object properties: auth_chain_ids: - type: list + type: array description: |- The full set of authorization events that make up the state of the room, and their authorization events, recursively. @@ -104,7 +104,7 @@ paths: type: string example: ["$an_event:domain.com"] pdu_ids: - type: list + type: array description: |- The fully resolved state of the room at the given event. items: From 5596243add762c0ee2ede0a5ca592f4437ee3ce2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 16:43:24 -0600 Subject: [PATCH 625/801] origin is required --- api/server-server/joins.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 472d63bf4..759361b71 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -273,7 +273,7 @@ paths: type: object schema: $ref: "definitions/pdu.yaml" - required: ["auth_chain", "state"] + required: ["auth_chain", "state", "origin"] examples: application/json: [ 200, From a9258ed1951d55e19f4ede02b7708e692a1bb1f0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 16:43:29 -0600 Subject: [PATCH 626/801] an -> a --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index d819b0723..8c3d85ea2 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -759,7 +759,7 @@ and ``event_id`` on the templated event received by the resident server. This event is then signed by the joining server. To complete the join handshake, the joining server must now submit this new -event to an resident homeserver, by using the ``PUT /send_join`` endpoint. +event to a resident homeserver, by using the ``PUT /send_join`` endpoint. The resident homeserver then accepts this event into the room's event graph, and responds to the joining server with the full set of state for the From 05bb7e105015fc0a07ba7e0b2506f49502fd6ec4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 18:45:59 -0600 Subject: [PATCH 627/801] Spelling and word choice --- api/server-server/query.yaml | 6 +++--- specification/server_server_api.rst | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server-server/query.yaml b/api/server-server/query.yaml index 4599d1305..2f4b8d1e6 100644 --- a/api/server-server/query.yaml +++ b/api/server-server/query.yaml @@ -52,7 +52,7 @@ paths: that belong to the target server (idenfified by the DNS Name in the alias). The target server may not appear in the resident servers list. - Servers may wish to cache the response to this query to prevent requesting the + Servers may wish to cache the response to this query to avoid requesting the information too often. operationId: queryRoomDirectory parameters: @@ -76,7 +76,7 @@ paths: servers: type: array description: |- - An array of server names that are likely to hold then given room. This + An array of server names that are likely to hold the given room. This list may or may not include the server answering the query. items: type: string @@ -120,7 +120,7 @@ paths: for a given user. Homeservers should only query profiles for users that belong to the target server (identified by the DNS Name in the user ID). - Servers may wish to cache the response to this query to prevent requesting the + Servers may wish to cache the response to this query to avoid requesting the information too often. parameters: - in: query diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index bfc98fb80..36591356d 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -968,7 +968,7 @@ Rejecting a presence invite:: Querying for information ------------------------ -Queries are a way to retrieve information from a homeserver abotu a resource, +Queries are a way to retrieve information from a homeserver about a resource, such as a user or room. The endpoints here are often called in conjunction with a request from a client on the client-server API in order to complete the call. From 0b313dbdd9d1a2f098db4240a98429b9ec01c686 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 18:47:17 -0600 Subject: [PATCH 628/801] Don't explain what a 400 Bad Request is --- api/server-server/query.yaml | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/api/server-server/query.yaml b/api/server-server/query.yaml index 2f4b8d1e6..f569549e3 100644 --- a/api/server-server/query.yaml +++ b/api/server-server/query.yaml @@ -49,8 +49,7 @@ paths: description: |- Performs a query to get the mapped room ID and list of resident homeservers in the room for a given room alias. Homeservers should only query room aliases - that belong to the target server (idenfified by the DNS Name in the alias). - The target server may not appear in the resident servers list. + that belong to the target server (identified by the DNS Name in the alias). Servers may wish to cache the response to this query to avoid requesting the information too often. @@ -92,17 +91,6 @@ paths: "another.example.com:8449", ] } - 400: - description: |- - The room alias is not hosted on the server. This can happen if the directory - server is named "example.org" and the room alias ends with "matrix.org". - schema: - $ref: "../client-server/definitions/errors/error.yaml" - examples: - application/json: { - "errcode": "M_UNKNOWN", - "error": "Room alias not hosted on this homeserver." - } 404: description: The room alias was not found. schema: @@ -167,21 +155,6 @@ paths: "displayname": "John Doe", "avatar_url": "mxc://matrix.org/MyC00lAvatar" } - 400: - description: |- - The request was missing parameters or had invalid values for the parameters. This - can happen for: - - * The user not being hosted on the homeserver, - * Lack of a ``user_id`` in the request, or - * The ``field`` requested not being an allowed value. - schema: - $ref: "../client-server/definitions/errors/error.yaml" - examples: - application/json: { - "errcode": "M_INVALID_ARGUMENT_VALUE", - "error": "User is not hosted on this homeserver." - } 404: description: The user does not exist or does not have a profile. schema: From e766606f24820f75820b1ae45c7b1a729d64ddfb Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 18:54:12 -0600 Subject: [PATCH 629/801] join -> leave --- api/server-server/leaving.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/leaving.yaml b/api/server-server/leaving.yaml index 11b0e01d1..e287bf586 100644 --- a/api/server-server/leaving.yaml +++ b/api/server-server/leaving.yaml @@ -25,7 +25,7 @@ produces: paths: "/make_leave/{roomId}/{userId}": get: - summary: Get information required to make a join event for a room + summary: Get information required to make a leave event for a room description: |- Asks the receiving server to return information that the sending server will need to prepare a leave event to get out of the room. From cda88f3b3debfcacb4ea2ec37ed8309d3090dd8e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 23:18:08 -0600 Subject: [PATCH 630/801] Document /get_missing_events Fixes https://github.com/matrix-org/matrix-doc/issues/1385 --- api/server-server/backfill.yaml | 66 ++++++++++++++++++++++++++++- specification/server_server_api.rst | 8 +++- 2 files changed, 71 insertions(+), 3 deletions(-) diff --git a/api/server-server/backfill.yaml b/api/server-server/backfill.yaml index f83057ae0..072b28d15 100644 --- a/api/server-server/backfill.yaml +++ b/api/server-server/backfill.yaml @@ -27,7 +27,7 @@ paths: get: summary: Retrieves the events which precede the given event description: |- - Retreives a sliding-window history of previous PDUs that occurred in the given room. + Retrieves a sliding-window history of previous PDUs that occurred in the given room. Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it are retrieved, up to the total number given by the ``limit``. operationId: backfillRoom @@ -75,3 +75,67 @@ paths: }, ] } + "/get_missing_events/{roomId}": + post: + summary: Retrieves events that the sender is missing + description: |- + Retrieves the previous events that the sender is missing for a given set of + events. + operationId: getMissingPreviousEvents + parameters: + - in: path + name: roomId + type: string + description: The room ID to search in. + required: true + x-example: "!SomeRoom:matrix.org" + - in: body + name: body + schema: + type: object + properties: + limit: + type: integer + description: The maximum number of events to retrieve. Defaults to 10. + example: 10 + min_depth: + type: integer + description: The minimum depth of events to retrieve. Defaults to 0. + example: 0 + earliest_events: + type: array + description: |- + The events the sender is missing. The response will only contain events + that didn't happen before these events. + items: + type: string + example: ["$missing_event:domain.com"] + latest_events: + type: array + description: |- + The events that the sender has, but does not have previous events for. + items: + type: string + example: ["$event_that_has_the_missing_event_as_a_previous_event:domain.com"] + required: ['earliest_events', 'latest_events'] + responses: + 200: + description: |- + The events that happened after the ``earliest_events`` which are also previous + to the ``latest_events`` and have the minimum depth specified. Does not include + any of the events in the request. + schema: + type: object + properties: + events: + type: array + description: The missing events. + items: + $ref: definitions/pdu.yaml + required: ['events'] + examples: + application/json: { + "events": [ + {"$ref": "examples/pdu.json"} + ] + } diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 090885bcf..d7a22e721 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -836,8 +836,8 @@ following keys: here. What purpose does it serve expanding them out in full, when surely they'll appear in the state anyway? -Backfilling ------------ +Backfilling and retrieving missing events +----------------------------------------- Once a homeserver has joined a room, it receives all the events emitted by other homeservers in that room, and is thus aware of the entire history of the @@ -855,6 +855,10 @@ that it thinks may have more (most likely this should be a homeserver for some of the existing users in the room at the earliest point in history it has currently), and makes a ``/backfill`` request. +Similar to backfilling a room's history, a server may not have all the events +in the graph. That server may use the ``/get_missing_events`` API to acquire +the events it is missing. + .. TODO-spec Specify (or remark that it is unspecified) how the server handles divergent history. DFS? BFS? Anything weirder? From 73958ecbffbf1ea996961e92d78e354ceb914200 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 2 Aug 2018 16:41:24 -0600 Subject: [PATCH 631/801] Document /event_auth and /query_auth /event_auth is a fairly easy endpoint to determine the use case of. /query_auth is a little harder to investigate and has a fairly interesting purpose: it appears to be used for the sending server to admit defeat and shop around for the right auth chain, correcting it's own perspective as it goes. /query_auth is based off the following research points in synapse: * https://github.com/matrix-org/synapse/blob/43ecfe0b1028fea5e4dda197f5631aed67182ee6/synapse/handlers/federation.py#L1947-L1990 * https://github.com/matrix-org/synapse/blob/43ecfe0b1028fea5e4dda197f5631aed67182ee6/synapse/handlers/federation.py#L2049-L2187 * https://github.com/matrix-org/synapse/blob/43ecfe0b1028fea5e4dda197f5631aed67182ee6/synapse/handlers/federation.py#L1716-L1761 * https://github.com/matrix-org/synapse/blob/43ecfe0b1028fea5e4dda197f5631aed67182ee6/synapse/federation/federation_server.py#L393-L446 * https://github.com/matrix-org/synapse/blob/master/synapse/federation/transport/server.py#L482-L487 --- api/server-server/event_auth.yaml | 172 ++++++++++++++++++++++++++++ specification/server_server_api.rst | 9 ++ 2 files changed, 181 insertions(+) create mode 100644 api/server-server/event_auth.yaml diff --git a/api/server-server/event_auth.yaml b/api/server-server/event_auth.yaml new file mode 100644 index 000000000..77d6fb1e9 --- /dev/null +++ b/api/server-server/event_auth.yaml @@ -0,0 +1,172 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Event Authorization API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/event_auth/{roomId}/{eventId}": + get: + summary: Get the auth chain for a given event + description: |- + Retrieves the complete auth chain for a given event. + operationId: getEventAuth + parameters: + - in: path + name: roomId + type: string + description: The room ID to get the auth chain for. + required: true + x-example: "!abc123:matrix.org" + - in: path + name: eventId + type: string + description: The event ID to get the auth chain of. + required: true + x-example: "$helloworld:domain.com" + responses: + 200: + description: The auth chain for the event. + schema: + type: object + properties: + auth_chain: + type: array + description: |- + The full set of authorization events that make up the state of + the room, and their authorization events, recursively. + items: + $ref: "definitions/pdu.yaml" + example: [{"$ref": "examples/pdu.json"}] + required: ['auth_chain'] + "/query_auth/{roomId}/{eventId}": + post: + summary: Compare auth chains with the receiving server + description: |- + Compares the auth chain provided with what the receiving server has for the + room ID and event ID combination. + + The auth difference can be calculated in two parts, where the "remote auth" + is the auth chain provided by the sending server and the "local auth" is the + auth chain the receiving server has. With those lists, the algorithm works + bottom-up after sorting each chain by depth then by event ID. The differences + are then discovered and returned as the response to this API call. + operationId: compareEventAuth + parameters: + - in: path + name: roomId + type: string + description: The room ID to compare the auth chain in. + required: true + x-example: "!abc123:matrix.org" + - in: path + name: eventId + type: string + description: The event ID to compare the auth chain of. + required: true + x-example: "$helloworld:domain.com" + - in: body + name: body + schema: + type: object + properties: + auth_chain: + type: array + description: The auth chain (the "remote auth"). + items: + $ref: "definitions/pdu.yaml" + example: [{"$ref": "examples/pdu.json"}] + missing: + type: array + description: |- + A list of event IDs that the sender thinks the receiver is missing. + items: + type: string + example: [] + rejects: + type: object + description: |- + The set of events that the sending server has rejected from the provided + auth chain. + + The ``string`` key is the event ID that was rejected. + additionalProperties: + type: object + title: Rejection Reason + properties: + reason: + type: enum + enum: ['auth_error', 'replaced', 'not_ancestor'] + description: |- + The reason for the event being rejected. + required: ['reason'] + example: { + "$some_event:domain.com": { + "reason": "auth_error" + } + } + required: ['auth_chain'] + responses: + 200: + description: The auth chain differences, as determined by the receiver. + schema: + type: object + properties: + auth_chain: + type: array + description: |- + The auth chain the receiver has, and used to determine the auth + chain differences (the "local auth"). + items: + $ref: "definitions/pdu.yaml" + example: [{"$ref": "examples/pdu.json"}] + missing: + type: array + description: |- + The list of event IDs that the receiver believes it is missing, + after comparing the "remote auth" and "local auth" chains. + items: + type: string + example: ["$a_missing_event:domain.com"] + rejects: + type: object + description: |- + The set of events that the receiving server has rejected from the + auth chain, not including events that the sending server is missing + as determined from the difference algorithm. + + The ``string`` key is the event ID that was rejected. + additionalProperties: + type: object + title: Rejection Reason + properties: + reason: + type: enum + enum: ['auth_error', 'replaced', 'not_ancestor'] + description: |- + The reason for the event being rejected. + required: ['reason'] + example: { + "$some_event:domain.com": { + "reason": "auth_error" + } + } + required: ['auth_chain', 'missing', 'rejects'] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 01172c6ec..bded4a49e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -440,6 +440,15 @@ The rules are as follows: I think there is some magic about 3pid invites too. +Retrieving event authorization information +++++++++++++++++++++++++++++++++++++++++++ + +The homeserver may be missing event authorization information, or wish to check +with other servers to ensure it is receiving the correct auth chain. These APIs +give the homeserver an avenue for getting the information it needs. + +{{event_auth_ss_http_api}} + EDUs ---- From 2ac80d38d7b38653bb0e97dfbe6f272fb902a03b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 11:23:44 -0600 Subject: [PATCH 632/801] Document the /publicRooms endpoint for federation This intentionally doesn't document the third party network aspect of the endpoint. This is scheduled for a later area for dealing with third party network/IDs and is reported as https://github.com/matrix-org/matrix-doc/issues/1476 The client-server response has been broken out to a shared file: both the client-server and server-server /publicRoom endpoints return the same thing, with slightly different inputs. The inputs (and behaviour) are based upon the docstring here: https://github.com/matrix-org/synapse/blob/43ecfe0b1028fea5e4dda197f5631aed67182ee6/synapse/federation/transport/server.py#L583-L612 --- .../definitions/public_rooms_response.yaml | 105 ++++++++++++++++++ api/client-server/list_public_rooms.yaml | 93 +--------------- api/server-server/public_rooms.yaml | 52 +++++++++ specification/server_server_api.rst | 10 ++ 4 files changed, 168 insertions(+), 92 deletions(-) create mode 100644 api/client-server/definitions/public_rooms_response.yaml create mode 100644 api/server-server/public_rooms.yaml diff --git a/api/client-server/definitions/public_rooms_response.yaml b/api/client-server/definitions/public_rooms_response.yaml new file mode 100644 index 000000000..fc6ccb44c --- /dev/null +++ b/api/client-server/definitions/public_rooms_response.yaml @@ -0,0 +1,105 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +description: A list of the rooms on the server. +required: ["chunk"] +properties: + chunk: + title: "PublicRoomsChunks" + type: array + description: |- + A paginated chunk of public rooms. + items: + type: object + title: "PublicRoomsChunk" + required: + - room_id + - num_joined_members + - world_readable + - guest_can_join + properties: + aliases: + type: array + description: |- + Aliases of the room. May be empty. + items: + type: string + canonical_alias: + type: string + description: |- + The canonical alias of the room, if any. + name: + type: string + description: |- + The name of the room, if any. + num_joined_members: + type: number + description: |- + The number of members joined to the room. + room_id: + type: string + description: |- + The ID of the room. + topic: + type: string + description: |- + The topic of the room, if any. + world_readable: + type: boolean + description: |- + Whether the room may be viewed by guest users without joining. + guest_can_join: + type: boolean + description: |- + Whether guest users may join the room and participate in it. + If they can, they will be subject to ordinary power level + rules like any other user. + avatar_url: + type: string + description: The URL for the room's avatar, if one is set. + next_batch: + type: string + description: |- + A pagination token for the response. The absence of this token + means there are no more results to fetch and the client should + stop paginating. + prev_batch: + type: string + description: |- + A pagination token that allows fetching previous results. The + absence of this token means there are no results before this + batch, i.e. this is the first batch. + total_room_count_estimate: + type: number + description: |- + An estimate on the total number of public rooms, if the + server has an estimate. +example: { + "chunk": [ + { + "aliases": ["#murrays:cheese.bar"], + "avatar_url": "mxc://bleeker.street/CHEDDARandBRIE", + "guest_can_join": false, + "name": "CHEESE", + "num_joined_members": 37, + "room_id": "!ol19s:bleecker.street", + "topic": "Tasty tasty cheese", + "world_readable": true + } + ], + "next_batch": "p190q", + "prev_batch": "p1902", + "total_room_count_estimate": 115 +} \ No newline at end of file diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 45034488a..72a120609 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -144,98 +144,7 @@ paths: 200: description: A list of the rooms on the server. schema: - type: object - description: A list of the rooms on the server. - required: ["chunk"] - properties: - chunk: - title: "PublicRoomsChunks" - type: array - description: |- - A paginated chunk of public rooms. - items: - type: object - title: "PublicRoomsChunk" - required: - - room_id - - num_joined_members - - world_readable - - guest_can_join - properties: - aliases: - type: array - description: |- - Aliases of the room. May be empty. - items: - type: string - canonical_alias: - type: string - description: |- - The canonical alias of the room, if any. - name: - type: string - description: |- - The name of the room, if any. - num_joined_members: - type: number - description: |- - The number of members joined to the room. - room_id: - type: string - description: |- - The ID of the room. - topic: - type: string - description: |- - The topic of the room, if any. - world_readable: - type: boolean - description: |- - Whether the room may be viewed by guest users without joining. - guest_can_join: - type: boolean - description: |- - Whether guest users may join the room and participate in it. - If they can, they will be subject to ordinary power level - rules like any other user. - avatar_url: - type: string - description: The URL for the room's avatar, if one is set. - next_batch: - type: string - description: |- - A pagination token for the response. The absence of this token - means there are no more results to fetch and the client should - stop paginating. - prev_batch: - type: string - description: |- - A pagination token that allows fetching previous results. The - absence of this token means there are no results before this - batch, i.e. this is the first batch. - total_room_count_estimate: - type: number - description: |- - An estimate on the total number of public rooms, if the - server has an estimate. - examples: - application/json: { - "chunk": [ - { - "aliases": ["#murrays:cheese.bar"], - "avatar_url": "mxc://bleeker.street/CHEDDARandBRIE", - "guest_can_join": false, - "name": "CHEESE", - "num_joined_members": 37, - "room_id": "!ol19s:bleecker.street", - "topic": "Tasty tasty cheese", - "world_readable": true - } - ], - "next_batch": "p190q", - "prev_batch": "p1902", - "total_room_count_estimate": 115 - } + $ref: "definitions/public_rooms_response.yaml" tags: - Room discovery post: diff --git a/api/server-server/public_rooms.yaml b/api/server-server/public_rooms.yaml new file mode 100644 index 000000000..6cd07449b --- /dev/null +++ b/api/server-server/public_rooms.yaml @@ -0,0 +1,52 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation Public Rooms API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/publicRooms": + get: + summary: Get all the public rooms for a homeserver + description: |- + Gets all the public rooms for the homeserver. This should not return + rooms that are listed on another homeserver's directory, just those + listed on the receiving homeserver's directory. + operationId: getPublicRooms + parameters: + - in: query + name: limit + type: integer + description: |- + The maximum number of rooms to return. Defaults to 0 (no limit). + x-example: 10 + - in: query + name: since + type: string + description: |- + A pagination token from a previous call to this endpoint to fetch more + rooms. + x-example: "GetMoreRoomsTokenHere" + responses: + 200: + description: The public room list for the homeserver. + schema: + $ref: "../client-server/definitions/public_rooms_response.yaml" diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 01172c6ec..e058ca684 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -893,6 +893,16 @@ A homeserver may provide a TLS client certificate and the receiving homeserver may check that the client certificate matches the certificate of the origin homeserver. +Public Room Directory +--------------------- + +To compliment the `Client-Server API`_'s room directory, homeservers need a +way to query the public rooms for another server. This can be done by making +a request to the ``/publicRooms`` endpoint for the server the room directory +should be retrieved for. + +{{public_rooms_ss_http_api}} + Presence -------- From 96f551026695ac0e9a5aa16a960cf80e6fbd72ae Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 12:03:23 -0600 Subject: [PATCH 633/801] Ensure the example is always set to something --- scripts/templating/matrix_templates/units.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index d6579e6ce..045826f28 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -681,6 +681,7 @@ class MatrixUnits(Units): try: example = get_example_for_schema(definition) except: + example = None pass # do nothing - we don't care if 'title' not in definition: definition['title'] = "NO_TITLE" From 5fbaa1deb564fa39728e1e9628f92a976a7d6188 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 13:10:24 -0600 Subject: [PATCH 634/801] Federation: Document the Host header; Clarify how literal IP addresses are handled Fixes https://github.com/matrix-org/matrix-doc/issues/1161 The IP address clarification is to add an explicit mention of how to handle the case. The prior documentation assumed that all servers would be resolvable with DNS, and does technically have a fallback to use the fallback port, however making it clear feels like a good idea. --- specification/server_server_api.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 01172c6ec..b2ff9c6ef 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -98,6 +98,15 @@ default fallback port number of 8448. Homeservers may use SRV records to load balance requests between multiple TLS endpoints or to failover to another endpoint if an endpoint fails. +If the DNS name is a literal IP address, the port specified or the fallback +port should be used. + +When making requests to servers, use the DNS name of the target server in the +``Host`` header, regardless of the host given in the SRV record. For example, +if making a request to ``example.org``, and the SRV record resolves to ``matrix. +example.org``, the ``Host`` header in the request should be ``example.org``. The +port number for target server should not appear in the ``Host`` header. + Server implementation ~~~~~~~~~~~~~~~~~~~~~~ From 6ac25d167c192d3be5a081170c2d67703cf02bdf Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 13:57:13 -0600 Subject: [PATCH 635/801] get_missing_events consumes JSON --- api/server-server/backfill.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/server-server/backfill.yaml b/api/server-server/backfill.yaml index 072b28d15..d4dad2ec4 100644 --- a/api/server-server/backfill.yaml +++ b/api/server-server/backfill.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: From 13a2b54bf934c30b84b7caf7c1c3d003dbe9a7b2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 13:57:43 -0600 Subject: [PATCH 636/801] query_auth consumes JSON --- api/server-server/event_auth.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/server-server/event_auth.yaml b/api/server-server/event_auth.yaml index 77d6fb1e9..f55afddc8 100644 --- a/api/server-server/event_auth.yaml +++ b/api/server-server/event_auth.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: From 8dd63388e0a9646bf8904ce14f40bd7635a2092a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 13:58:27 -0600 Subject: [PATCH 637/801] invites consume JSON --- api/server-server/invites.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index d1838bf56..98d53d498 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: From 2e6d6e27908a31e54e4bb411dbf58ba01e52495b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 14:01:33 -0600 Subject: [PATCH 638/801] Specify which swagger APIs consume JSON --- api/server-server/joins.yaml | 2 ++ api/server-server/keys_query.yaml | 2 ++ api/server-server/leaving.yaml | 2 ++ api/server-server/third_party_invite.yaml | 2 ++ api/server-server/transactions.yaml | 2 ++ 5 files changed, 10 insertions(+) diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 759361b71..141429450 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: diff --git a/api/server-server/keys_query.yaml b/api/server-server/keys_query.yaml index 8fbe00dc9..e616915bd 100644 --- a/api/server-server/keys_query.yaml +++ b/api/server-server/keys_query.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/key/v2 +consumes: + - application/json produces: - application/json paths: diff --git a/api/server-server/leaving.yaml b/api/server-server/leaving.yaml index e287bf586..28bcf42cf 100644 --- a/api/server-server/leaving.yaml +++ b/api/server-server/leaving.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: diff --git a/api/server-server/third_party_invite.yaml b/api/server-server/third_party_invite.yaml index 42bdae23e..754a3282e 100644 --- a/api/server-server/third_party_invite.yaml +++ b/api/server-server/third_party_invite.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: diff --git a/api/server-server/transactions.yaml b/api/server-server/transactions.yaml index 2a9180a19..4f4c6b28e 100644 --- a/api/server-server/transactions.yaml +++ b/api/server-server/transactions.yaml @@ -20,6 +20,8 @@ host: localhost:8448 schemes: - https basePath: /_matrix/federation/v1 +consumes: + - application/json produces: - application/json paths: From ef9d766dc3551fd23b0410dab9d274a599ab0803 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 14:51:46 -0600 Subject: [PATCH 639/801] Remove irrelevant TODO We fixed the EDU, so we don't need this comment. --- api/server-server/definitions/edu.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index bc1f0cce0..725af6956 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -12,8 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# TODO: Address any concerns about this being inaccurate (flagged as such in the EDUs section) - type: object title: Ephemeral Data Unit description: An ephemeral data unit. From db6d466fa1db004afc9ea7909224bc794d2e4b51 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 19:49:46 -0600 Subject: [PATCH 640/801] Go one level deep when finding definitions This is useful for when we start defining event schemas. This also has a sanity check for ensuring the directory exists, allowing the IS and push API paths to be uncommented. --- scripts/templating/matrix_templates/units.py | 66 ++++++++++++-------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 045826f28..88f7b86c2 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -46,8 +46,8 @@ HTTP_APIS = { SWAGGER_DEFINITIONS = { os.path.join(matrix_doc_dir, "api/application-service/definitions"): "as", os.path.join(matrix_doc_dir, "api/client-server/definitions"): "cs", - #os.path.join(matrix_doc_dir, "api/identity/definitions"): "is", - #os.path.join(matrix_doc_dir, "api/push-gateway/definitions"): "push", + os.path.join(matrix_doc_dir, "api/identity/definitions"): "is", + os.path.join(matrix_doc_dir, "api/push-gateway/definitions"): "push", os.path.join(matrix_doc_dir, "api/server-server/definitions"): "ss", } EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") @@ -665,33 +665,45 @@ class MatrixUnits(Units): def load_swagger_definitions(self): defs = {} for path, prefix in SWAGGER_DEFINITIONS.items(): - for filename in os.listdir(path): - if not filename.endswith(".yaml"): - continue - filepath = os.path.join(path, filename) - logger.info("Reading swagger definition: %s" % filepath) - with open(filepath, "r") as f: - # strip .yaml - group_name = filename[:-5].replace("-", "_") - group_name = "%s_%s" % (prefix, group_name) - definition = yaml.load(f.read(), OrderedLoader) - definition = resolve_references(filepath, definition) - if 'type' not in definition: - continue - try: - example = get_example_for_schema(definition) - except: - example = None - pass # do nothing - we don't care - if 'title' not in definition: - definition['title'] = "NO_TITLE" - definition['tables'] = get_tables_for_schema(definition) - defs[group_name] = { - "definition": definition, - "examples": [example] if example is not None else [], - } + self._load_swagger_definitions_in_dir(defs, path, prefix) return defs + def _load_swagger_definitions_in_dir(self, defs, path, prefix, recurse=True): + if not os.path.exists(path): + return defs + for filename in os.listdir(path): + filepath = os.path.join(path, filename) + if os.path.isdir(filepath) and recurse: + safe_name = re.sub(r"[^a-zA-Z0-9_]", "_", filename) + dir_prefix = "_".join([prefix, safe_name]) + # We don't recurse because we have to stop at some point + self._load_swagger_definitions_in_dir( + defs, filepath, dir_prefix, recurse=False) + if not filename.endswith(".yaml"): + continue + filepath = os.path.join(path, filename) + logger.info("Reading swagger definition: %s" % filepath) + with open(filepath, "r") as f: + # strip .yaml + group_name = re.sub(r"[^a-zA-Z0-9_]", "_", filename[:-5]) + group_name = "%s_%s" % (prefix, group_name) + definition = yaml.load(f.read(), OrderedLoader) + definition = resolve_references(filepath, definition) + if 'type' not in definition: + continue + try: + example = get_example_for_schema(definition) + except: + example = None + pass # do nothing - we don't care + if 'title' not in definition: + definition['title'] = "NO_TITLE" + definition['tables'] = get_tables_for_schema(definition) + defs[group_name] = { + "definition": definition, + "examples": [example] if example is not None else [], + } + return defs def load_common_event_fields(self): """Parse the core event schema files From 7a46bdae02b841dfd3f400b4382064a1c178a5b9 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Sun, 5 Aug 2018 14:43:05 +0100 Subject: [PATCH 641/801] Spacing --- specification/server_server_api.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 653d75ed1..38b253286 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -139,6 +139,7 @@ certificate fingerprints to validate any connection made to the homeserver. {{keys_server_ss_http_api}} + Querying Keys Through Another Server ++++++++++++++++++++++++++++++++++++ From c826edf23b4ae77e29189a54e9ab3109fa5f3ab3 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Sun, 5 Aug 2018 14:46:42 +0100 Subject: [PATCH 642/801] Remove dns_name from S2S Api --- specification/server_server_api.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 38b253286..30cf45aba 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -84,7 +84,6 @@ and an optional TLS port. .. code:: server_name = hostname [ ":" tls_port] - dns_name = <host, see [RFC 3986], Section 3.2.2> tls_port = *DIGIT .. ** From dcb39f8890af57e62ed37f9e894af4b5af5d9bc3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 5 Aug 2018 10:55:55 -0600 Subject: [PATCH 643/801] Fix wording from bad merge --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 30cf45aba..cf3333a10 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -629,7 +629,7 @@ if this optimisation fails. Once the joining server has the room ID and the join candidates, it then needs to obtain enough information about the room to fill in the required fields of -the ``m.room.member`` event. It obtains this by selecting a resident from t +the ``m.room.member`` event. It obtains this by selecting a resident from the candidate list, and using the ``GET /make_join`` endpoint. The resident server will then reply with enough information for the joining server to fill in the event. From 803ef536ba64178b6468084c24aa9cddc7835017 Mon Sep 17 00:00:00 2001 From: David Baker <dave@matrix.org> Date: Mon, 6 Aug 2018 15:58:30 +0100 Subject: [PATCH 644/801] Fix grammar in room tag spec Have removed the second clause about how the client interprets them: I was trying to think how to rephrase it but I think in reality it's probably just redundant. --- specification/modules/tags.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/tags.rst b/specification/modules/tags.rst index 8c74c55fe..f965c2e82 100644 --- a/specification/modules/tags.rst +++ b/specification/modules/tags.rst @@ -41,7 +41,7 @@ after the rooms with that tag that have an ``order`` key. The name of a tag MUST not exceed 255 bytes. -Tags namespaces are defined in the following way, depending on how the client are expected to interpret them: +The tag namespace is defined as follows: * The namespace ``m.*`` is reserved for tags defined in the Matrix specification. Clients must ignore any tags in this namespace they don't understand. From e7cebf670eb5e8beb45d3f8289687b7de3b1abca Mon Sep 17 00:00:00 2001 From: Florian Jacob <projects+git@florianjacob.de> Date: Mon, 6 Aug 2018 22:56:28 +0200 Subject: [PATCH 645/801] Fix minor spelling mistake from #1472 Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de> --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index cf3333a10..bd370149c 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -693,7 +693,7 @@ that requested by the requester in the ``v`` parameter). Specify (or remark that it is unspecified) how the server handles divergent history. DFS? BFS? Anything weirder? -Retriving events +Retrieving events ---------------- In some circumstances, a homeserver may be missing a particular event or information From 7ada91787a9a6be86632566911d29d7145fbda5c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 14:20:46 -0600 Subject: [PATCH 646/801] age_ts isn't real --- api/server-server/definitions/unsigned_pdu.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index f042dffb5..ab2812244 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -120,10 +120,6 @@ properties: type: integer description: The number of milliseconds that have passed since this message was sent. example: 4612 - age_ts: - type: integer - format: int64 - description: The POSIX timestamp this message was sent at in milliseconds. replaces_state: type: string description: The event ID of the state event this event replaces. From cfdbee5fc27a4da2c0d1cb96ffd94e31bc561e91 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 14:21:01 -0600 Subject: [PATCH 647/801] EDU origin and destinations aren't required --- api/server-server/definitions/edu.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index 725af6956..142f4b932 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -33,4 +33,4 @@ properties: content: type: object description: The content of the ephemeral message. -required: ['edu_type', 'origin', 'destination', 'content'] \ No newline at end of file +required: ['edu_type', 'content'] \ No newline at end of file From 0858e7bd23b102ad2d937c542df81fc8ed8de831 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 16:58:14 -0600 Subject: [PATCH 648/801] Mention how the content repository works over federation We might want to consider promoting the media repo to it's own API, and maybe consider calling it the Media Repo rather than Content Repo. Source of information: experience. --- specification/server_server_api.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 84a766397..af314c1e4 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1020,6 +1020,20 @@ the following EDU:: for the user +Content Repository +------------------ + +Attachments to events (images, files, etc) are uploaded to a homeserver via the +Content Repository described in the `Client-Server API`_. When a server wishes +to serve content originating from a remote server, it needs to ask the remote +server for the media. + +Servers should use the server described in the Matrix Content URI, which has the +format ``mxc://{ServerName}/{MediaID}``. Servers should use the download endpoint +described in the `Client-Server API`_, being sure to use the ``allow_remote`` +parameter (set to ``false``). + + Signing Events -------------- From cdcd72c0e3e8212828e0f6ddbf28b84b6cabdd00 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 17:02:24 -0600 Subject: [PATCH 649/801] Fix stray hash on client-server API link This shouldn't be here, and nothing appears to need it. Removing it now because it has been noticed. --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index af314c1e4..4f11f917c 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -1182,7 +1182,7 @@ that are too long. .. _`Invitation storage`: ../identity_service/unstable.html#invitation-storage .. _`Identity Service API`: ../identity_service/unstable.html -.. _`Client-Server API`: ../client_server/unstable.html#m-room-member +.. _`Client-Server API`: ../client_server/unstable.html .. _`Inviting to a room`: #inviting-to-a-room .. _`Canonical JSON`: ../appendices.html#canonical-json .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 From 8ffac01efec2295e584e22bdb72753ef59d34fbd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 20:57:00 -0600 Subject: [PATCH 650/801] Document OpenID in the client-server API Part of https://github.com/matrix-org/matrix-doc/issues/857 Reference: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/rest/client/v2_alpha/openid.py#L31-L58 --- api/client-server/openid.yaml | 103 +++++++++++++++++++++++++++++++ specification/modules/openid.rst | 24 +++++++ specification/targets.yaml | 1 + 3 files changed, 128 insertions(+) create mode 100644 api/client-server/openid.yaml create mode 100644 specification/modules/openid.rst diff --git a/api/client-server/openid.yaml b/api/client-server/openid.yaml new file mode 100644 index 000000000..4b89232ea --- /dev/null +++ b/api/client-server/openid.yaml @@ -0,0 +1,103 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server OpenID API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + $ref: definitions/security.yaml +paths: + "/user/{userId}/openid/request_token": + post: + summary: Get an OpenID token object to verify the requester's identity. + description: |- + Gets an OpenID token object that the requester may supply to another + service to verify their identity in Matrix. The generated token is only + valid for exchanging for user information from the federation API for + OpenID. + + The access token generated is only valid for the OpenID API. It cannot + be used to request another OpenID access token or call ``/sync``, for + example. + operationId: requestOpenIdToken + security: + - accessToken: [] + parameters: + - in: path + type: string + name: userId + description: |- + The user to request and OpenID token for. Should be the user who + is authenticated for the request. + required: true + x-example: "@alice:example.com" + - in: body + name: body + description: An empty object. Reserved for future expansion. + required: true + schema: + type: object + example: {} + responses: + 200: + description: |- + OpenID token information. This response is nearly compatible with the + response documented in the `OpenID 1.0 Specification <http://openid.net/specs/openid-connect-core-1_0.html#TokenResponse>`_ + with the only difference being the lack of an ``id_token``. Instead, + the Matrix homeserver's name is provided. + examples: + application/json: { + "access_token": "SomeT0kenHere", + "token_type": "Bearer", + "matrix_server_name": "example.com", + "expires_in": 3600, + } + schema: + type: object + properties: + access_token: + type: string + description: |- + An access token the consumer may use to verify the identity of + the person who generated the token. This is given to the federation + API ``GET /openid/userinfo``. + token_type: + type: string + description: The string ``Bearer``. + matrix_server_name: + type: string + description: |- + The homeserver domain the consumer should use when attempting to + verify the user's identity. + expires_in: + type: int + description: |- + The number of seconds before this token expires and a new one must + be generated. + required: ['access_token', 'token_type', 'matrix_server_name', 'expires_in'] + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/errors/rate_limited.yaml" + tags: + - OpenID diff --git a/specification/modules/openid.rst b/specification/modules/openid.rst new file mode 100644 index 000000000..63406719c --- /dev/null +++ b/specification/modules/openid.rst @@ -0,0 +1,24 @@ +.. Copyright 2018 New Vector Ltd. +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +OpenID +====== + +.. _module:openid: + +This module allows users to verify their identity with a third party service. The +third party service does need to be matrix-aware in that it will need to know to +resolve matrix homeservers to exchange the user's token for identity information. + +{{openid_cs_http_api}} diff --git a/specification/targets.yaml b/specification/targets.yaml index 53957e0af..5480bbc5a 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -66,6 +66,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/stickers.rst - modules/report_content.rst - modules/third_party_networks.rst + - modules/openid.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From dcae88c29011e8e1a4349137b42a6b63181b5385 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 7 Aug 2018 22:13:21 -0600 Subject: [PATCH 651/801] Document OpenID in the server-server API Part of https://github.com/matrix-org/matrix-doc/issues/857 Reference: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/federation/transport/server.py#L543-L557 --- api/server-server/openid.yaml | 63 +++++++++++++++++++++++++++++ specification/server_server_api.rst | 12 ++++++ 2 files changed, 75 insertions(+) create mode 100644 api/server-server/openid.yaml diff --git a/api/server-server/openid.yaml b/api/server-server/openid.yaml new file mode 100644 index 000000000..0eac48c84 --- /dev/null +++ b/api/server-server/openid.yaml @@ -0,0 +1,63 @@ +# Copyright 2017 Kamax.io +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +swagger: '2.0' +info: + title: "Matrix Federation OpenID API" + version: "1.0.0" +host: localhost:8448 +schemes: + - https +basePath: /_matrix/federation/v1 +produces: + - application/json +paths: + "/openid/userinfo": + get: + summary: Exchange an OpenID token for user information + description: |- + Exchanges an OpenID access token for information about the user + who generated the token. Currently this only exposes the Matrix + User ID of the owner. + operationId: exchangeOpenIdToken + parameters: + - in: path + name: access_token + type: string + description: |- + The OpenID access token to get information about the owner for. + required: true + x-example: SomeT0kenHere + responses: + 200: + description: |- + Information about the user who generated the OpenID access token. + schema: + type: object + properties: + sub: + type: string + description: The Matrix User ID who generated the token. + example: "@alice:example.com" + required: ['sub'] + 401: + description: The token was not recognized or has expired. + schema: + $ref: "../client-server/definitions/errors/error.yaml" + examples: + application/json: { + "errcode": "M_UNKNOWN_TOKEN", + "error": "Access token unknown or expired" + } diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 84a766397..e6fc89366 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -995,6 +995,18 @@ that can be made. {{query_ss_http_api}} +OpenID +------ + +Third party services can exchange an access token previously generated by the +`Client-Server API` for information about a user. This can help verify that a +user is who they say they are without granting full access to the user's account. + +Access tokens generated by the OpenID API are only good for the OpenID API and +nothing else. + +{{openid_ss_http_api}} + Send-to-device messaging ------------------------ From 57eeddd849e505e19f046f0bff52a57d916330b7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 8 Aug 2018 07:43:22 -0600 Subject: [PATCH 652/801] Remove unused origin and destination on EDUs --- api/server-server/definitions/edu.yaml | 8 -------- api/server-server/examples/edu.json | 2 -- 2 files changed, 10 deletions(-) diff --git a/api/server-server/definitions/edu.yaml b/api/server-server/definitions/edu.yaml index 142f4b932..0e4edcc65 100644 --- a/api/server-server/definitions/edu.yaml +++ b/api/server-server/definitions/edu.yaml @@ -22,14 +22,6 @@ properties: type: string description: The type of ephemeral message. example: "m.presence" - origin: - type: string - description: The server name sending the ephemeral message. - example: "matrix.org" - destination: - type: string - description: The server name receiving the ephemeral message. - example: "elsewhere.com" content: type: object description: The content of the ephemeral message. diff --git a/api/server-server/examples/edu.json b/api/server-server/examples/edu.json index 9ff40dc38..f5a58e219 100644 --- a/api/server-server/examples/edu.json +++ b/api/server-server/examples/edu.json @@ -1,7 +1,5 @@ { "edu_type": "m.presence", - "origin": "matrix.org", - "destination": "elsewhere.com", "content": { "key": "value" } From 05a2427c7304292e48d9501574b7bdf006ce3153 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 19:51:05 -0600 Subject: [PATCH 653/801] Document how presence EDUs work between servers It's worth noting that Synapse does not make use of the `poll` or `unpoll` fields, and therefore the wording has been updated to permit servers to reject users. In the case of synapse, it would automatically reject everyone in the list by nature of ignoring it. --- .../event-schemas/m.presence.accept.yaml | 45 +++++++++ .../event-schemas/m.presence.deny.yaml | 54 +++++++++++ .../event-schemas/m.presence.invite.yaml | 44 +++++++++ .../definitions/event-schemas/m.presence.yaml | 97 +++++++++++++++++++ scripts/templating/matrix_templates/units.py | 1 + specification/server_server_api.rst | 67 ++++--------- 6 files changed, 258 insertions(+), 50 deletions(-) create mode 100644 api/server-server/definitions/event-schemas/m.presence.accept.yaml create mode 100644 api/server-server/definitions/event-schemas/m.presence.deny.yaml create mode 100644 api/server-server/definitions/event-schemas/m.presence.invite.yaml create mode 100644 api/server-server/definitions/event-schemas/m.presence.yaml diff --git a/api/server-server/definitions/event-schemas/m.presence.accept.yaml b/api/server-server/definitions/event-schemas/m.presence.accept.yaml new file mode 100644 index 000000000..3b80ac44d --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.presence.accept.yaml @@ -0,0 +1,45 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Presence Invite Accept EDU +description: |- + An EDU representing approval for the observing user to subscribe to the + presence of the the observed user. +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.presence_accept`` + example: "m.presence_accept" + content: + type: object + description: The invite information. + title: Invite Information + properties: + observed_user: + type: string + description: |- + The user ID that has approved the ``observer_user`` to + subscribe to their presence. + example: "@alice:elsewhere.com" + observer_user: + type: string + description: |- + The user ID that requested to subscribe to the presence of + the ``observed_user``. + example: "@john:matrix.org" + required: ['observer_user', 'observed_user'] diff --git a/api/server-server/definitions/event-schemas/m.presence.deny.yaml b/api/server-server/definitions/event-schemas/m.presence.deny.yaml new file mode 100644 index 000000000..1383866c0 --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.presence.deny.yaml @@ -0,0 +1,54 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Presence Invite Deny EDU +description: |- + An EDU representing a declination or revocation for the observing user + to subscribe to the presence of the observed user. +example: { + "origin": "domain.com", + "destination": "elsewhere.org", + "edu_type": "m.presence_deny", + "content": { + "observed_user": "@alice:elsewhere.org", + "observer_user": "@john:domain.com" + } +} +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.presence_deny`` + example: "m.presence_deny" + content: + type: object + description: The invite information. + title: Invite Information + properties: + observed_user: + type: string + description: |- + The user ID that has declined or revoked the ``observer_user`` from + subscribing to their presence. + example: "@alice:elsewhere.com" + observer_user: + type: string + description: |- + The user ID that requested to subscribe to the presence of + the ``observed_user``. + example: "@john:matrix.org" + required: ['observer_user', 'observed_user'] diff --git a/api/server-server/definitions/event-schemas/m.presence.invite.yaml b/api/server-server/definitions/event-schemas/m.presence.invite.yaml new file mode 100644 index 000000000..eeb00ae32 --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.presence.invite.yaml @@ -0,0 +1,44 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Presence Invite EDU +description: |- + An EDU representing a request to subscribe to a user's presence. +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.presence_invite`` + example: "m.presence_invite" + content: + type: object + description: The invite information. + title: Invite Information + properties: + observed_user: + type: string + description: |- + The user ID the ``observer_user`` would like to subscribe + to the presence of. + example: "@alice:elsewhere.com" + observer_user: + type: string + description: |- + The user ID that is wishing to subscribe to the presence of + the ``observed_user``. + example: "@john:matrix.org" + required: ['observer_user', 'observed_user'] diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml new file mode 100644 index 000000000..bebf8211b --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -0,0 +1,97 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Presence EDU +description: |- + An EDU representing presence updates for users of the sending homeserver. + Can also be used to request additional presence updates for users of the + receiving homeserver. +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.presence`` + example: "m.presence" + content: + type: object + description: The presence updates and requests. + title: Presence Update + properties: + push: + type: array + description: |- + A list of presence updates that the receiving server is likely + to be interested in, or is subscribed to. + items: + type: object + title: User Presence Update + properties: + user_id: + type: string + description: The user ID this presence EDU is for. + example: "@john:matrix.org" + presence: + type: enum + enum: ['offline', 'unavailable', 'online'] + description: The presence of the user. + example: "online" + status_msg: + type: string + description: An optional description to accompany the presence. + example: "Making cupcakes" + last_active_ago: + type: integer + format: int64 + description: |- + The number of milliseconds that have ellapsed since the user + last did something. + example: 5000 + currently_active: + type: boolean + description: |- + Whether or not the user is currently using a device of theirs. + Defaults to false. + example: true + required: ['user_id', 'presence', 'last_active_ago'] + poll: + type: array + description: |- + New user IDs that the sending server would like to subscribe to the + presence of. The sending server should not include users it has already + requested to be subscribed to. + + The receiving server should ensure the sending server has reasonable + interest in subscribing to the provided users. The receiver may ignore + a request to subscribe to a user the sender does not have reasonable + interest in. Reasonable interest may be residing in a room with the user, + being subscribed to a presence list, or some other requirement. + + If non-empty, the receiving server should immediately send the presence + updates to the sender for the users requested. + items: + type: string + example: ["@alice:elsewhere.org"] + unpoll: + type: array + description: |- + New user IDs the sending server is no longer interested in receiving + presence updates for. The sending server should not include users it + has previously requested to be unsubscribed from. + items: + type: string + example: ["@bob:elsewhere.org"] + required: ['push'] diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 88f7b86c2..bb8210976 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -49,6 +49,7 @@ SWAGGER_DEFINITIONS = { os.path.join(matrix_doc_dir, "api/identity/definitions"): "is", os.path.join(matrix_doc_dir, "api/push-gateway/definitions"): "push", os.path.join(matrix_doc_dir, "api/server-server/definitions"): "ss", + os.path.join(matrix_doc_dir, "api/server-server/definitions/presence"): "ss_presence", } EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema") diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index a3d3f83aa..d5177a047 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -838,57 +838,16 @@ Presence The server API for presence is based entirely on exchange of the following EDUs. There are no PDUs or Federation Queries involved. -Performing a presence update and poll subscription request:: +Servers should only send presence updates for users that the receiving server +would be interested in. This can include the receiving server sharing a room +with a given user, or a user on the receiving server has added one of the +sending server's users to their presence list. - EDU type: m.presence - - Content keys: - push: (optional): list of push operations. - Each should be an object with the following keys: - user_id: string containing a User ID - presence: "offline"|"unavailable"|"online"|"free_for_chat" - status_msg: (optional) string of free-form text - last_active_ago: milliseconds since the last activity by the user - - poll: (optional): list of strings giving User IDs - - unpoll: (optional): list of strings giving User IDs - -The presence of this combined message is two-fold: it informs the recipient -server of the current status of one or more users on the sending server (by the -``push`` key), and it maintains the list of users on the recipient server that -the sending server is interested in receiving updates for, by adding (by the -``poll`` key) or removing them (by the ``unpoll`` key). The ``poll`` and -``unpoll`` lists apply *changes* to the implied list of users; any existing IDs -that the server sent as ``poll`` operations in a previous message are not -removed until explicitly requested by a later ``unpoll``. - -On receipt of a message containing a non-empty ``poll`` list, the receiving -server should immediately send the sending server a presence update EDU of its -own, containing in a ``push`` list the current state of every user that was in -the original EDU's ``poll`` list. - -Sending a presence invite:: - - EDU type: m.presence_invite - - Content keys: - observed_user: string giving the User ID of the user whose presence is - requested (i.e. the recipient of the invite) - observer_user: string giving the User ID of the user who is requesting to - observe the presence (i.e. the sender of the invite) - -Accepting a presence invite:: - - EDU type: m.presence_accept - - Content keys - as for m.presence_invite - -Rejecting a presence invite:: - - EDU type: m.presence_deny - - Content keys - as for m.presence_invite +Servers may also request additional users by including them in the ``poll`` +array on an ``m.presence`` update. The receiving server may ignore users +requested in this array. The receiving server should maintain a list of +subscribed users for the sending server, which is appended to by the ``poll`` +array and deleted from by the ``unpoll`` array. .. TODO-doc - Explain the timing-based round-trip reduction mechanism for presence @@ -896,6 +855,14 @@ Rejecting a presence invite:: - Explain the zero-byte presence inference logic See also: docs/client-server/model/presence +{{definition_ss_event_schemas_m_presence}} + +{{definition_ss_event_schemas_m_presence_invite}} + +{{definition_ss_event_schemas_m_presence_accept}} + +{{definition_ss_event_schemas_m_presence_accept}} + Querying for information ------------------------ From e03bfbc47b5079a7bd54bbce1a4996524b6fc617 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 22:52:33 -0600 Subject: [PATCH 654/801] Document how read receipts work over federation Federation format: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/receipts.py#L153-L166 Population of the fields that the above uses to construct the EDU: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/receipts.py#L48-L56 --- .../definitions/event-schemas/m.receipt.yaml | 82 +++++++++++++++++++ specification/server_server_api.rst | 12 +++ 2 files changed, 94 insertions(+) create mode 100644 api/server-server/definitions/event-schemas/m.receipt.yaml diff --git a/api/server-server/definitions/event-schemas/m.receipt.yaml b/api/server-server/definitions/event-schemas/m.receipt.yaml new file mode 100644 index 000000000..b8638427e --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.receipt.yaml @@ -0,0 +1,82 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Receipt EDU +description: |- + An EDU representing receipt updates for users of the sending homeserver. + When receiving receipts, the server should only update entries that are + listed in the EDU. Receipts previously received that do not appear in the + EDU should not be removed or otherwise manipulated. +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.receipt`` + example: "m.receipt" + content: + type: object + description: |- + Receipts for a particular room. The string key is the room ID for + which the receipts under it belong. + additionalProperties: + type: object + title: Room Receipts + properties: + # We strongly define the receipt type to help spec future ones later + # on. At that point, m.read can become optional (maybe). + "m.read": + type: object + description: Read receipts for users in the room. + title: User Read Receipt + properties: + event_ids: + type: array + description: |- + The event ID that the user has read up to. Must be exactly + one element in length. + minItems: 1 + maxItems: 1 + items: + type: string + example: ['$read_this_event:matrix.org'] + data: + type: object + description: Metadata for the read receipt. + title: Read Receipt Metadata + properties: + ts: + type: integer + format: int64 + description: |- + A POSIX timestamp in milliseconds for when the user read + the event specified in the read receipt. + example: 1533358089009 + required: ['ts'] + required: ['event_ids', 'data'] + required: ['m.read'] + example: { + "!some_room:domain.com": { + "m.read": { + "@john:matrix.org": { + "event_ids": ["$read_this_event:matrix.org"], + "data": { + "ts": 1533358089009 + } + } + } + } + } diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index a3d3f83aa..f19f41a61 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -896,6 +896,18 @@ Rejecting a presence invite:: - Explain the zero-byte presence inference logic See also: docs/client-server/model/presence +Receipts +-------- + +Receipts are EDUs used to communicate a marker for a given event. Currently the +only kind of receipt supported is a "read receipt", or where in the timeline a +user has read up to. + +Read receipts for events events that a user sent do not need to be sent. It is +implied that by sending the event the user has read up to the event. + +{{definition_ss_event_schemas_m_receipt}} + Querying for information ------------------------ From 0a7e670715cd31b73bf5bf0c14ebb36f1a76ccb7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 8 Aug 2018 08:28:52 -0600 Subject: [PATCH 655/801] Document how typing notifications work over federation Relevant synapse code: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/typing.py#L221-L230 --- .../definitions/event-schemas/m.typing.yaml | 45 +++++++++++++++++++ specification/server_server_api.rst | 10 +++++ 2 files changed, 55 insertions(+) create mode 100644 api/server-server/definitions/event-schemas/m.typing.yaml diff --git a/api/server-server/definitions/event-schemas/m.typing.yaml b/api/server-server/definitions/event-schemas/m.typing.yaml new file mode 100644 index 000000000..d4fa2f81e --- /dev/null +++ b/api/server-server/definitions/event-schemas/m.typing.yaml @@ -0,0 +1,45 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: object +title: Typing Notification EDU +description: A typing notification EDU for a user in a room. +allOf: + - $ref: ../edu.yaml + - type: object + properties: + edu_type: + type: string + description: The string ``m.typing`` + example: "m.typing" + content: + type: object + description: The typing notification. + title: Typing Notification + properties: + room_id: + type: string + description: |- + The room where the user's typing status has been updated. + example: "!somewhere:matrix.org" + user_id: + type: string + description: |- + The user ID that has had their typing status changed. + example: "@john:matrix.org" + typing: + type: boolean + description: Whether the user is typing in the room or not. + example: true + required: ['room_id', 'user_id', 'typing'] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index a3d3f83aa..4188c36bb 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -833,6 +833,16 @@ should be retrieved for. {{public_rooms_ss_http_api}} +Typing Notifications +-------------------- + +When a server's users send typing notifications, those notifications need to +be sent to other servers in the room so their users are aware of the same +state. Receiving servers should verify that the user is in the room, and is +a user belonging to the sending server. + +{{definition_ss_event_schemas_m_typing}} + Presence -------- The server API for presence is based entirely on exchange of the following From 721be47eb1070d9e11bb999353c49a4a307f1d6d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 8 Aug 2018 08:39:59 -0600 Subject: [PATCH 656/801] Describe how get_missing_events actually works The original text wasn't far off, except for being wrong about what the fields actually do. This commit also adds a bit of clarity for how the server is expected to behave. --- api/server-server/backfill.yaml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/api/server-server/backfill.yaml b/api/server-server/backfill.yaml index d4dad2ec4..f9f105e2e 100644 --- a/api/server-server/backfill.yaml +++ b/api/server-server/backfill.yaml @@ -81,8 +81,9 @@ paths: post: summary: Retrieves events that the sender is missing description: |- - Retrieves the previous events that the sender is missing for a given set of - events. + Retrieves previous events that the sender is missing. This is done by doing a breadth-first + walk of the ``prev_events`` for the ``latest_events``, ignoring any events in ``earliest_events`` + and stopping at the ``limit``. operationId: getMissingPreviousEvents parameters: - in: path @@ -107,15 +108,14 @@ paths: earliest_events: type: array description: |- - The events the sender is missing. The response will only contain events - that didn't happen before these events. + The latest events that the sender already has. These are skipped when retrieving + the previous events of ``latest_events``. items: type: string example: ["$missing_event:domain.com"] latest_events: type: array - description: |- - The events that the sender has, but does not have previous events for. + description: The events to retrieve the previous events for. items: type: string example: ["$event_that_has_the_missing_event_as_a_previous_event:domain.com"] @@ -123,9 +123,8 @@ paths: responses: 200: description: |- - The events that happened after the ``earliest_events`` which are also previous - to the ``latest_events`` and have the minimum depth specified. Does not include - any of the events in the request. + The previous events for ``latest_events``, excluding any ``earliest_events``, up to the + provided ``limit``. schema: type: object properties: From 32178bb07e60117be9377071a407ca4f1f5d6d31 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 9 Aug 2018 08:33:00 -0600 Subject: [PATCH 657/801] Tidy up the specification * Minor word choice changes * Remove the now-empty "Protocol URLs" section --- specification/server_server_api.rst | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 25c9189ec..a6d601e6e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -23,14 +23,13 @@ Federation API Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to -each other in real-time, to -historic messages from each other, and to +each other in real-time, to retrieve historic messages from each other, and to query profile and presence information about users on each other's servers. -The APIs are implemented using HTTPS GETs and PUTs between each of the -servers. These HTTPS requests are strongly authenticated using public key -signatures at the TLS transport layer and using public key signatures in -HTTP Authorization headers at the HTTP layer. +The APIs are implemented using HTTPS requests between each of the servers. +These HTTPS requests are strongly authenticated using public key signatures +at the TLS transport layer and using public key signatures in HTTP +Authorization headers at the HTTP layer. There are three main kinds of communication that occur between homeservers: @@ -485,15 +484,9 @@ A *conflict* occurs between states where those states have different ``event_ids`` for the same ``(state_type, state_key)``. The events thus affected are said to be *conflicting* events. -Protocol URLs -------------- -.. WARNING:: - This section may be misleading or inaccurate. -All these URLs are name-spaced within a prefix of:: - /_matrix/federation/v1/... Joining Rooms ------------- From 83ea90f7baa838b838489a433bf53f0ca8e11cc5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 11:52:22 -0600 Subject: [PATCH 658/801] Move the Authentication section higher in the spec It forms the foundation for all the requests under it, so it should appear before the endpoints that need it. --- specification/server_server_api.rst | 183 ++++++++++++++-------------- 1 file changed, 91 insertions(+), 92 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index a6d601e6e..b045db728 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -162,6 +162,97 @@ multiple servers to mitigate against DNS spoofing. {{keys_query_ss_http_api}} +Authentication +-------------- + +Request Authentication +~~~~~~~~~~~~~~~~~~~~~~ + +Every HTTP request made by a homeserver is authenticated using public key +digital signatures. The request method, target and body are signed by wrapping +them in a JSON object and signing it using the JSON signing algorithm. The +resulting signatures are added as an Authorization header with an auth scheme +of ``X-Matrix``. Note that the target field should include the full path +starting with ``/_matrix/...``, including the ``?`` and any query parameters if +present, but should not include the leading ``https:``, nor the destination +server's hostname. + +Step 1 sign JSON: + +.. code:: + + { + "method": "GET", + "uri": "/target", + "origin": "origin.hs.example.com", + "destination": "destination.hs.example.com", + "content": <request body>, + "signatures": { + "origin.hs.example.com": { + "ed25519:key1": "ABCDEF..." + } + } + } + +Step 2 add Authorization header: + +.. code:: + + GET /target HTTP/1.1 + Authorization: X-Matrix origin=origin.example.com,key="ed25519:key1",sig="ABCDEF..." + Content-Type: application/json + + <JSON-encoded request body> + + +Example python code: + +.. code:: python + + def authorization_headers(origin_name, origin_signing_key, + destination_name, request_method, request_target, + content=None): + request_json = { + "method": request_method, + "uri": request_target, + "origin": origin_name, + "destination": destination_name, + } + + if content_json is not None: + request["content"] = content + + signed_json = sign_json(request_json, origin_name, origin_signing_key) + + authorization_headers = [] + + for key, sig in signed_json["signatures"][origin_name].items(): + authorization_headers.append(bytes( + "X-Matrix origin=%s,key=\"%s\",sig=\"%s\"" % ( + origin_name, key, sig, + ) + )) + + return ("Authorization", authorization_headers) + +Response Authentication +~~~~~~~~~~~~~~~~~~~~~~~ + +Responses are authenticated by the TLS server certificate. A homeserver should +not send a request until it has authenticated the connected server to avoid +leaking messages to eavesdroppers. + +Client TLS Certificates +~~~~~~~~~~~~~~~~~~~~~~~ + +Requests are authenticated at the HTTP layer rather than at the TLS layer +because HTTP services like Matrix are often deployed behind load balancers that +handle the TLS and these load balancers make it difficult to check TLS client +certificates. + +A homeserver may provide a TLS client certificate and the receiving homeserver +may check that the client certificate matches the certificate of the origin +homeserver. Transactions ------------ @@ -712,98 +803,6 @@ delivered when the invite was stored, this verification will prove that the ``m.room.member`` invite event comes from the user owning the invited third-party identifier. -Authentication --------------- - -Request Authentication -~~~~~~~~~~~~~~~~~~~~~~ - -Every HTTP request made by a homeserver is authenticated using public key -digital signatures. The request method, target and body are signed by wrapping -them in a JSON object and signing it using the JSON signing algorithm. The -resulting signatures are added as an Authorization header with an auth scheme -of ``X-Matrix``. Note that the target field should include the full path -starting with ``/_matrix/...``, including the ``?`` and any query parameters if -present, but should not include the leading ``https:``, nor the destination -server's hostname. - -Step 1 sign JSON: - -.. code:: - - { - "method": "GET", - "uri": "/target", - "origin": "origin.hs.example.com", - "destination": "destination.hs.example.com", - "content": <request body>, - "signatures": { - "origin.hs.example.com": { - "ed25519:key1": "ABCDEF..." - } - } - } - -Step 2 add Authorization header: - -.. code:: - - GET /target HTTP/1.1 - Authorization: X-Matrix origin=origin.example.com,key="ed25519:key1",sig="ABCDEF..." - Content-Type: application/json - - <JSON-encoded request body> - - -Example python code: - -.. code:: python - - def authorization_headers(origin_name, origin_signing_key, - destination_name, request_method, request_target, - content=None): - request_json = { - "method": request_method, - "uri": request_target, - "origin": origin_name, - "destination": destination_name, - } - - if content_json is not None: - request["content"] = content - - signed_json = sign_json(request_json, origin_name, origin_signing_key) - - authorization_headers = [] - - for key, sig in signed_json["signatures"][origin_name].items(): - authorization_headers.append(bytes( - "X-Matrix origin=%s,key=\"%s\",sig=\"%s\"" % ( - origin_name, key, sig, - ) - )) - - return ("Authorization", authorization_headers) - -Response Authentication -~~~~~~~~~~~~~~~~~~~~~~~ - -Responses are authenticated by the TLS server certificate. A homeserver should -not send a request until it has authenticated the connected server to avoid -leaking messages to eavesdroppers. - -Client TLS Certificates -~~~~~~~~~~~~~~~~~~~~~~~ - -Requests are authenticated at the HTTP layer rather than at the TLS layer -because HTTP services like Matrix are often deployed behind load balancers that -handle the TLS and these load balancers make it difficult to check TLS client -certificates. - -A homeserver may provide a TLS client certificate and the receiving homeserver -may check that the client certificate matches the certificate of the origin -homeserver. - Public Room Directory --------------------- From 50fc1c4d16aa41b9c877c1d24fbd93c40c033648 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 9 Aug 2018 08:35:24 -0600 Subject: [PATCH 659/801] Move backfill/get events so that joins, leaves, and invites are together --- specification/server_server_api.rst | 76 ++++++++++++++--------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index b045db728..472aca125 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -576,7 +576,44 @@ A *conflict* occurs between states where those states have different affected are said to be *conflicting* events. +Backfilling and retrieving missing events +----------------------------------------- + +Once a homeserver has joined a room, it receives all the events emitted by +other homeservers in that room, and is thus aware of the entire history of the +room from that moment onwards. Since users in that room are able to request the +history by the ``/messages`` client API endpoint, it's possible that they might +step backwards far enough into history before the homeserver itself was a +member of that room. + +To cover this case, the federation API provides a server-to-server analog of +the ``/messages`` client API, allowing one homeserver to fetch history from +another. This is the ``/backfill`` API. + +To request more history, the requesting homeserver picks another homeserver +that it thinks may have more (most likely this should be a homeserver for +some of the existing users in the room at the earliest point in history it +has currently), and makes a ``/backfill`` request. + +Similar to backfilling a room's history, a server may not have all the events +in the graph. That server may use the ``/get_missing_events`` API to acquire +the events it is missing. + +.. TODO-spec + Specify (or remark that it is unspecified) how the server handles divergent + history. DFS? BFS? Anything weirder? +{{backfill_ss_http_api}} + +Retrieving events +---------------- + +In some circumstances, a homeserver may be missing a particular event or information +about the room which cannot be easily determined from backfilling. These APIs provide +homeservers with the option of getting events and the state of the room at a given +point in the timeline. + +{{events_ss_http_api}} Joining Rooms @@ -664,45 +701,6 @@ participating in the room. here. What purpose does it serve expanding them out in full, when surely they'll appear in the state anyway? -Backfilling and retrieving missing events ------------------------------------------ - -Once a homeserver has joined a room, it receives all the events emitted by -other homeservers in that room, and is thus aware of the entire history of the -room from that moment onwards. Since users in that room are able to request the -history by the ``/messages`` client API endpoint, it's possible that they might -step backwards far enough into history before the homeserver itself was a -member of that room. - -To cover this case, the federation API provides a server-to-server analog of -the ``/messages`` client API, allowing one homeserver to fetch history from -another. This is the ``/backfill`` API. - -To request more history, the requesting homeserver picks another homeserver -that it thinks may have more (most likely this should be a homeserver for -some of the existing users in the room at the earliest point in history it -has currently), and makes a ``/backfill`` request. - -Similar to backfilling a room's history, a server may not have all the events -in the graph. That server may use the ``/get_missing_events`` API to acquire -the events it is missing. - -.. TODO-spec - Specify (or remark that it is unspecified) how the server handles divergent - history. DFS? BFS? Anything weirder? - -{{backfill_ss_http_api}} - -Retrieving events ----------------- - -In some circumstances, a homeserver may be missing a particular event or information -about the room which cannot be easily determined from backfilling. These APIs provide -homeservers with the option of getting events and the state of the room at a given -point in the timeline. - -{{events_ss_http_api}} - Inviting to a room ------------------ From 25c77ab2d0a9dd6a67454e27107ee4bdcbfe86b2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 3 Aug 2018 13:43:07 -0600 Subject: [PATCH 660/801] Define authorization requirements on federation swagger APIs --- api/server-server/backfill.yaml | 6 ++++++ api/server-server/definitions/security.yaml | 19 +++++++++++++++++++ api/server-server/event_auth.yaml | 6 ++++++ api/server-server/events.yaml | 8 ++++++++ api/server-server/invites.yaml | 4 ++++ api/server-server/joins.yaml | 6 ++++++ api/server-server/leaving.yaml | 6 ++++++ api/server-server/public_rooms.yaml | 4 ++++ api/server-server/query.yaml | 9 +++++++++ api/server-server/third_party_invite.yaml | 4 ++++ api/server-server/transactions.yaml | 4 ++++ 11 files changed, 76 insertions(+) create mode 100644 api/server-server/definitions/security.yaml diff --git a/api/server-server/backfill.yaml b/api/server-server/backfill.yaml index f9f105e2e..6b3cfaef0 100644 --- a/api/server-server/backfill.yaml +++ b/api/server-server/backfill.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/backfill/{roomId}": get: @@ -33,6 +35,8 @@ paths: Starting from the PDU ID(s) given in the ``v`` argument, the PDUs that preceded it are retrieved, up to the total number given by the ``limit``. operationId: backfillRoom + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -85,6 +89,8 @@ paths: walk of the ``prev_events`` for the ``latest_events``, ignoring any events in ``earliest_events`` and stopping at the ``limit``. operationId: getMissingPreviousEvents + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/definitions/security.yaml b/api/server-server/definitions/security.yaml new file mode 100644 index 000000000..6c9cc8085 --- /dev/null +++ b/api/server-server/definitions/security.yaml @@ -0,0 +1,19 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +signedRequest: + type: apiKey + description: |- + The ``Authorization`` header defined in the `Authentication`_ section. + name: Authorization + in: header diff --git a/api/server-server/event_auth.yaml b/api/server-server/event_auth.yaml index f55afddc8..8857131fa 100644 --- a/api/server-server/event_auth.yaml +++ b/api/server-server/event_auth.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/event_auth/{roomId}/{eventId}": get: @@ -31,6 +33,8 @@ paths: description: |- Retrieves the complete auth chain for a given event. operationId: getEventAuth + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -72,6 +76,8 @@ paths: bottom-up after sorting each chain by depth then by event ID. The differences are then discovered and returned as the response to this API call. operationId: compareEventAuth + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/events.yaml b/api/server-server/events.yaml index e87a06859..cf3988a20 100644 --- a/api/server-server/events.yaml +++ b/api/server-server/events.yaml @@ -22,6 +22,8 @@ schemes: basePath: /_matrix/federation/v1 produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/state/{roomId}": get: @@ -29,6 +31,8 @@ paths: description: |- Retrieves a snapshot of a room's state at a given event. operationId: getRoomState + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -74,6 +78,8 @@ paths: event IDs. This performs the same function as calling ``/state/{roomId}``, however this returns just the event IDs rather than the full events. operationId: getRoomStateIds + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -117,6 +123,8 @@ paths: description: |- Retrieves a single event. operationId: getEvent + security: + - signedRequest: [] parameters: - in: path name: eventId diff --git a/api/server-server/invites.yaml b/api/server-server/invites.yaml index 98d53d498..6d905e178 100644 --- a/api/server-server/invites.yaml +++ b/api/server-server/invites.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/invite/{roomId}/{eventId}": put: @@ -33,6 +35,8 @@ paths: homeserver and the invited homeserver, it can be sent to all of the servers in the room by the inviting homeserver. operationId: sendInvite + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 141429450..e76a0aa60 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/make_join/{roomId}/{userId}": get: @@ -32,6 +34,8 @@ paths: Asks the receiving server to return information that the sending server will need to prepare a join event to get into the room. operationId: makeJoin + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -145,6 +149,8 @@ paths: Submits a signed join event to the resident server for it to accept it into the room's graph. operationId: sendJoin + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/leaving.yaml b/api/server-server/leaving.yaml index 28bcf42cf..be08acba6 100644 --- a/api/server-server/leaving.yaml +++ b/api/server-server/leaving.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/make_leave/{roomId}/{userId}": get: @@ -32,6 +34,8 @@ paths: Asks the receiving server to return information that the sending server will need to prepare a leave event to get out of the room. operationId: makeLeave + security: + - signedRequest: [] parameters: - in: path name: roomId @@ -151,6 +155,8 @@ paths: Submits a signed leave event to the resident server for it to accept it into the room's graph. operationId: sendLeave + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/public_rooms.yaml b/api/server-server/public_rooms.yaml index 6cd07449b..d162568f8 100644 --- a/api/server-server/public_rooms.yaml +++ b/api/server-server/public_rooms.yaml @@ -22,6 +22,8 @@ schemes: basePath: /_matrix/federation/v1 produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/publicRooms": get: @@ -31,6 +33,8 @@ paths: rooms that are listed on another homeserver's directory, just those listed on the receiving homeserver's directory. operationId: getPublicRooms + security: + - signedRequest: [] parameters: - in: query name: limit diff --git a/api/server-server/query.yaml b/api/server-server/query.yaml index f569549e3..dc14724c5 100644 --- a/api/server-server/query.yaml +++ b/api/server-server/query.yaml @@ -23,6 +23,8 @@ schemes: basePath: /_matrix/federation/v1 produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/query/{queryType}": get: @@ -32,6 +34,8 @@ paths: arguments are dependent on which type of query is being made. Known query types are specified as their own endpoints as an extension to this definition. operationId: queryInfo + security: + - signedRequest: [] parameters: - in: path name: queryType @@ -54,6 +58,8 @@ paths: Servers may wish to cache the response to this query to avoid requesting the information too often. operationId: queryRoomDirectory + security: + - signedRequest: [] parameters: - in: query name: room_alias @@ -110,6 +116,9 @@ paths: Servers may wish to cache the response to this query to avoid requesting the information too often. + operationId: queryProfile + security: + - signedRequest: [] parameters: - in: query name: user_id diff --git a/api/server-server/third_party_invite.yaml b/api/server-server/third_party_invite.yaml index 754a3282e..5c12247cf 100644 --- a/api/server-server/third_party_invite.yaml +++ b/api/server-server/third_party_invite.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/exchange_third_party_invite/{roomId}": put: @@ -34,6 +36,8 @@ paths: an invite as per the `Inviting to a room`_ section before returning a response to this request. operationId: exchangeThirdPartyInvite + security: + - signedRequest: [] parameters: - in: path name: roomId diff --git a/api/server-server/transactions.yaml b/api/server-server/transactions.yaml index 4f4c6b28e..8d810ad59 100644 --- a/api/server-server/transactions.yaml +++ b/api/server-server/transactions.yaml @@ -24,6 +24,8 @@ consumes: - application/json produces: - application/json +securityDefinitions: + $ref: definitions/security.yaml paths: "/send/{txnId}": put: @@ -36,6 +38,8 @@ paths: The sending server must wait and retry for a 200 OK response before sending a transaction with a different ``txnId`` to the receiving server. operationId: sendTransaction + security: + - signedRequest: [] parameters: - in: path name: txnId From 292d3345099a80d6de88035d6859400b1c10be47 Mon Sep 17 00:00:00 2001 From: Hubert Chathi <hubert@uhoreg.ca> Date: Fri, 10 Aug 2018 16:19:17 -0400 Subject: [PATCH 661/801] document new login identifier object (#1390) --- .../definitions/user_identifier.yaml | 24 ++++ api/client-server/login.yaml | 15 ++- .../client_server/newsfragments/1390.feature | 1 + specification/client_server_api.rst | 114 ++++++++++++++++-- 4 files changed, 143 insertions(+), 11 deletions(-) create mode 100644 api/client-server/definitions/user_identifier.yaml create mode 100644 changelogs/client_server/newsfragments/1390.feature diff --git a/api/client-server/definitions/user_identifier.yaml b/api/client-server/definitions/user_identifier.yaml new file mode 100644 index 000000000..ce65053d7 --- /dev/null +++ b/api/client-server/definitions/user_identifier.yaml @@ -0,0 +1,24 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +title: User identifier +description: |- + Identification information for a user +type: object +properties: + type: + type: string + description: The type of identification. See `Identifier types`_ for supported values and additional property descriptions. +required: + - type +additionalProperties: true diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index 289b17e78..43aae5dfd 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -85,7 +86,10 @@ paths: type: object example: { "type": "m.login.password", - "user": "cheeky_monkey", + "identifier": { + "type": "m.id.user", + "user": "cheeky_monkey" + }, "password": "ilovebananas", "initial_device_display_name": "Jungle Phone" } @@ -94,15 +98,18 @@ paths: type: string enum: ["m.login.password", "m.login.token"] description: The login type being used. + identifier: + description: Identification information for the user. + "$ref": "definitions/user_identifier.yaml" user: type: string - description: The fully qualified user ID or just local part of the user ID, to log in. + description: The fully qualified user ID or just local part of the user ID, to log in. Deprecated in favour of ``identifier``. medium: type: string - description: When logging in using a third party identifier, the medium of the identifier. Must be 'email'. + description: When logging in using a third party identifier, the medium of the identifier. Must be 'email'. Deprecated in favour of ``identifier``. address: type: string - description: Third party identifier for the user. + description: Third party identifier for the user. Deprecated in favour of ``identifier``. password: type: string description: |- diff --git a/changelogs/client_server/newsfragments/1390.feature b/changelogs/client_server/newsfragments/1390.feature new file mode 100644 index 000000000..48a53b0a8 --- /dev/null +++ b/changelogs/client_server/newsfragments/1390.feature @@ -0,0 +1 @@ +Add new user identifier object for logging in \ No newline at end of file diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 1bb989ff6..58f68f25e 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -461,7 +461,7 @@ Password-based :Type: ``m.login.password`` :Description: - The client submits a username and secret password, both sent in plain-text. + The client submits an identifier and secret password, both sent in plain-text. To use this authentication type, clients should submit an auth dict as follows: @@ -469,7 +469,26 @@ To use this authentication type, clients should submit an auth dict as follows: { "type": "m.login.password", - "user": "<user_id or user localpart>", + "identifier": { + ... + }, + "password": "<password>", + "session": "<session ID>" + } + +where the ``identifier`` property is a user identifier object, as described in +`Identifier types`_. + +For example, to authenticate using the user's Matrix ID, clients whould submit: + +.. code:: json + + { + "type": "m.login.password", + "identifier": { + "type": "m.id.user", + "user": "<user_id or user localpart>" + }, "password": "<password>", "session": "<session ID>" } @@ -482,8 +501,11 @@ follows: { "type": "m.login.password", - "medium": "<The medium of the third party identifier. Must be 'email'>", - "address": "<The third party address of the user>", + "identifier": { + "type": "m.id.thirdparty", + "medium": "<The medium of the third party identifier.>", + "address": "<The third party address of the user>" + }, "password": "<password>", "session": "<session ID>" } @@ -714,6 +736,78 @@ handle unknown login types: } +Identifier types +++++++++++++++++ + +Some authentication mechanisms use a user identifier object to identify a +user. The user identifier object has a ``type`` field to indicate the type of +identifier being used, and depending on the type, has other fields giving the +information required to identify the user as described below. + +This specification defines the following identifier types: + - ``m.id.user`` + - ``m.id.thirdparty`` + - ``m.id.phone`` + +Matrix User ID +<<<<<<<<<<<<<< +:Type: + ``m.id.user`` +:Description: + The user is identified by their Matrix ID. + +A client can identify a user using their Matrix ID. This can either be the +fully qualified Matrix user ID, or just the localpart of the user ID. + +.. code:: json + + "identifier": { + "type": "m.id.user", + "user": "<user_id or user localpart>" + } + +Third-party ID +<<<<<<<<<<<<<< +:Type: + ``m.id.thirdparty`` +:Description: + The user is identified by a third-party identifer in canonicalised form. + +A client can identify a user using a 3pid associated with the user's account on +the homeserver, where the 3pid was previously associated using the +|/account/3pid|_ API. See the `3PID Types`_ Appendix for a list of Third-party +ID media. + +.. code:: json + + "identifier": { + "type": "m.id.thirdparty", + "medium": "<The medium of the third party identifier>", + "address": "<The canonicalised third party address of the user>" + } + +Phone number +<<<<<<<<<<<< +:Type: + ``m.id.phone`` +:Description: + The user is identified by a phone number. + +A client can identify a user using a phone number associated with the user's +account, where the phone number was previously associated using the +|/account/3pid|_ API. The phone number can be passed in as entered by the +user; the homeserver will be responsible for canonicalising it. If the client +wishes to canonicalise the phone number, then it can use the +``m.id.thirdparty`` identifier type with a ``medium`` of ``msisdn`` instead. + +.. code:: json + + "identifier": { + "type": "m.id.phone", + "country": "<The country that the phone number is from>", + "phone": "<The phone number>" + } + Login ~~~~~ @@ -729,7 +823,10 @@ request as follows: { "type": "m.login.password", - "user": "<user_id or user localpart>", + "identifier": { + "type": "m.id.user", + "user": "<user_id or user localpart>" + }, "password": "<password>" } @@ -741,8 +838,10 @@ explicitly, as follows: { "type": "m.login.password", - "medium": "<The medium of the third party identifier. Must be 'email'>", - "address": "<The third party address of the user>", + "identifier": { + "medium": "<The medium of the third party identifier>", + "address": "<The canonicalised third party address of the user>" + }, "password": "<password>" } @@ -1477,3 +1576,4 @@ have to wait in milliseconds before they can try again. .. _/user/<user_id>/account_data/<type>: #put-matrix-client-%CLIENT_MAJOR_VERSION%-user-userid-account-data-type .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 +.. _`3PID Types`: ../appendices.html#pid-types From cd4fed509c625451aa0f0e3bb33b8d41b53c1bd3 Mon Sep 17 00:00:00 2001 From: Hubert Chathi <hubert@uhoreg.ca> Date: Fri, 10 Aug 2018 16:21:06 -0400 Subject: [PATCH 662/801] convert IS endpoints to Swagger (#1427) --- api/identity/associations.yaml | 179 ++++++++++++++++++++++ api/identity/email_associations.yaml | 197 +++++++++++++++++++++++++ api/identity/invitation_signing.yaml | 90 +++++++++++ api/identity/store_invite.yaml | 114 ++++++++++++++ specification/identity_service_api.rst | 141 +----------------- 5 files changed, 587 insertions(+), 134 deletions(-) create mode 100644 api/identity/associations.yaml create mode 100644 api/identity/email_associations.yaml create mode 100644 api/identity/invitation_signing.yaml create mode 100644 api/identity/store_invite.yaml diff --git a/api/identity/associations.yaml b/api/identity/associations.yaml new file mode 100644 index 000000000..784bb5d63 --- /dev/null +++ b/api/identity/associations.yaml @@ -0,0 +1,179 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Identity Service Establishing Associations API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https + - http +basePath: /_matrix/identity/api/v1 +produces: + - application/json +paths: + "/3pid/getValidated3pid": + get: + summary: Check whether ownership of a 3pid was validated. + description: A client can check whether ownership of a 3pid was validated + operationId: getValidated3pid + parameters: + - in: query + type: string + name: sid + description: The Session ID generated by the ``requestToken`` call. + required: true + x-example: 1234 + - in: query + type: string + name: client_secret + description: The client secret passed to the ``requestToken`` call. + required: true + x-example: monkeys_are_GREAT + responses: + 200: + description: Validation information for the session. + examples: + application/json: { + "medium": "email", + "validated_at": 1457622739026, + "address": "louise@bobs.burgers" + } + schema: + type: object + properties: + medium: + type: string + description: The medium type of the 3pid. + address: + type: string + description: The address of the 3pid being looked up. + validated_at: + type: integer + description: Timestamp indicating the time that the 3pid was validated. + 400: + description: |- + The session has not been validated. + + If the session has not been validated, then ``errcode`` will be + ``M_SESSION_NOT_VALIDATED``. If the session has timed out, then + ``errcode`` will be ``M_SESSION_EXPIRED``. + examples: + application/json: { + "errcode": "M_SESSION_NOT_VALIDATED", + "error": "This validation session has not yet been completed" + } + 404: + description: The Session ID or client secret were not found + examples: + application/json: { + "errcode": "M_NO_VALID_SESSION", + "error": "No valid session was found matching that sid and client secret" + } + "/bind": + post: + summary: Publish an association between a session and a Matrix user ID. + description: |- + Publish an association between a session and a Matrix user ID. + + Future calls to ``/lookup`` for any of the session\'s 3pids will return + this association. + + Note: for backwards compatibility with older versions of this + specification, the parameters may also be specified as + ``application/x-form-www-urlencoded`` data. However, this usage is + deprecated. + operationId: bind + parameters: + - in: body + name: body + schema: + type: object + example: { + "sid": "1234", + "client_secret": "monkeys_are_GREAT", + "mxid": "@ears:matrix.org" + } + properties: + sid: + type: string + description: The Session ID generated by the ``requestToken`` call. + client_secret: + type: string + description: The client secret passed to the ``requestToken`` call. + mxid: + type: string + description: The Matrix user ID to associate with the 3pids. + required: ["sid", "client_secret", "mxid"] + responses: + 200: + description: The association was published. + examples: + application/json: { + "address": "louise@bobs.burgers", + "medium": "email", + "mxid": "@ears:matrix.org", + "not_before": 1428825849161, + "not_after": 4582425849161, + "ts": 1428825849161, + + "signatures": { + "matrix.org": { + "ed25519:0": "ENiU2YORYUJgE6WBMitU0mppbQjidDLanAusj8XS2nVRHPu+0t42OKA/r6zV6i2MzUbNQ3c3MiLScJuSsOiVDQ" + } + } + } + schema: + type: object + properties: + address: + type: string + description: The 3pid address of the user being looked up. + medium: + type: string + description: The medium type of the 3pid. + mxid: + type: string + description: The Matrix user ID associated with the 3pid. + not_before: + type: integer + description: A unix timestamp before which the association is not known to be valid. + not_after: + type: integer + description: A unix timestamp after which the association is not known to be valid. + ts: + type: integer + description: The unix timestamp at which the association was verified. + signatures: + type: object + description: The signatures of the verifying identity services which show that the association should be trusted, if you trust the verifying identity services. + 400: + description: |- + The association was not published. + + If the session has not been validated, then ``errcode`` will be + ``M_SESSION_NOT_VALIDATED``. If the session has timed out, then + ``errcode`` will be ``M_SESSION_EXPIRED``. + examples: + application/json: { + "errcode": "M_SESSION_NOT_VALIDATED", + "error": "This validation session has not yet been completed" + } + 404: + description: The Session ID or client secret were not found + examples: + application/json: { + "errcode": "M_NO_VALID_SESSION", + "error": "No valid session was found matching that sid and client secret" + } diff --git a/api/identity/email_associations.yaml b/api/identity/email_associations.yaml new file mode 100644 index 000000000..8431c9e83 --- /dev/null +++ b/api/identity/email_associations.yaml @@ -0,0 +1,197 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Identity Service Email Associations API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https + - http +basePath: /_matrix/identity/api/v1 +produces: + - application/json +paths: + "/validate/email/requestToken": + post: + summary: Request a token for validating an email address. + description: |- + Create a session for validating an email address. + + The identity service will send an email containing a token. If that + token is presented to the identity service in the future, it indicates + that that user was able to read the email for that email address, and + so we validate ownership of the email address. + + Note that Home Servers offer APIs that proxy this API, adding + additional behaviour on top, for example, + ``/register/email/requestToken`` is designed specifically for use when + registering an account and therefore will inform the user if the email + address given is already registered on the server. + + Note: for backwards compatibility with older versions of this + specification, the parameters may also be specified as + ``application/x-form-www-urlencoded`` data. However, this usage is + deprecated. + operationId: emailRequestToken + parameters: + - in: body + name: body + schema: + type: object + example: { + "client_secret": "monkeys_are_GREAT", + "email": "foo@example.com", + "send_attempt": 1 + } + properties: + client_secret: + type: string + description: A unique string used to identify the validation attempt + email: + type: string + description: The email address to validate. + send_attempt: + type: integer + description: |- + Optional. If specified, the server will only send an email if + the ``send_attempt`` is a number greater than the most recent + one which it has seen (or if it has never seen one), scoped + to that ``email`` + ``client_secret`` pair. This is to avoid + repeatedly sending the same email in the case of request + retries between the POSTing user and the identity + service. The client should increment this value if they + desire a new email (e.g. a reminder) to be sent. + next_link: + type: string + description: |- + Optional. When the validation is completed, the identity + service will redirect the user to this URL. + required: ["client_secret", "email"] + responses: + 200: + description: + Session created. + examples: + application/json: { + "sid": "1234" + } + schema: + type: object + properties: + sid: + type: string + description: The session ID. + 400: + description: | + An error ocurred. Some possible errors are: + + - ``M_INVALID_EMAIL``: The email address provided was invalid. + - ``M_EMAIL_SEND_ERROR``: The validation email could not be sent. + "/validate/email/submitToken": + post: + summary: Validate ownership of an email address. + description: |- + Validate ownership of an email address. + + If the three parameters are consistent with a set generated by a + ``requestToken`` call, ownership of the email address is considered to + have been validated. This does not publish any information publicly, or + associate the email address with any Matrix user ID. Specifically, + calls to ``/lookup`` will not show a binding. + + Note: for backwards compatibility with older versions of this + specification, the parameters may also be specified as + ``application/x-form-www-urlencoded`` data. However, this usage is + deprecated. + operationId: emailSubmitTokenPost + parameters: + - in: body + name: body + schema: + type: object + example: { + "sid": "1234", + "client_secret": "monkeys_are_GREAT", + "token": "atoken" + } + properties: + sid: + type: string + description: The session ID, generated by the ``requestToken`` call. + client_secret: + type: string + description: The client secret that was supplied to the ``requestToken`` call. + token: + type: string + description: The token generated by the ``requestToken`` call and emailed to the user. + required: ["sid", "client_secret", "token"] + responses: + 200: + description: + The success of the validation. + examples: + application/json: { + "success": true + } + schema: + type: object + properties: + success: + type: boolean + description: Whether the validation was successful or not. + get: + summary: Validate ownership of an email address. + description: |- + Validate ownership of an email address. + + If the three parameters are consistent with a set generated by a + ``requestToken`` call, ownership of the email address is considered to + have been validated. This does not publish any information publicly, or + associate the email address with any Matrix user ID. Specifically, + calls to ``/lookup`` will not show a binding. + + Note that, in contrast with the POST version, this endpoint will be + used by end-users, and so the response should be human-readable. + operationId: emailSubmitTokenGet + parameters: + - in: query + type: string + name: sid + required: true + description: The session ID, generated by the ``requestToken`` call. + x-example: 1234 + - in: query + type: string + name: client_secret + required: true + description: The client secret that was supplied to the ``requestToken`` call. + x-example: monkeys_are_GREAT + - in: query + type: string + name: token + required: true + description: The token generated by the ``requestToken`` call and emailed to the user. + x-example: atoken + responses: + "200": + description: Email address is validated. + "3xx": + description: |- + Email address is validated, and the ``next_link`` parameter was + provided to the ``requestToken`` call. The user must be redirected + to the URL provided by the ``next_link`` parameter. + "4xx": + description: + Validation failed. diff --git a/api/identity/invitation_signing.yaml b/api/identity/invitation_signing.yaml new file mode 100644 index 000000000..982dbff78 --- /dev/null +++ b/api/identity/invitation_signing.yaml @@ -0,0 +1,90 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Identity Service Ephemeral Invitation Signing API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https + - http +basePath: /_matrix/identity/api/v1 +produces: + - application/json +paths: + "/sign-ed25519": + post: + summary: Sign invitation details + description: |- + Sign invitation details. + + The identity server will look up ``token`` which was stored in a call + to ``store-invite``, and fetch the sender of the invite. + operationId: blindlySignStuff + parameters: + - in: body + name: body + schema: + type: object + example: { + "mxid": "@foo:bar.com", + "token": "sometoken", + "private_key": "base64encodedkey" + } + properties: + mxid: + type: string + description: The Matrix user ID of the user accepting the invitation. + token: + type: string + description: Token from the call to ``store-invite`` + private_key: + type: string + description: The private key, encoded as `Unpadded base64`_. + required: ["mxid", "token", "private_key"] + responses: + 200: + description: The signedjson of the mxid, sender, and token. + schema: + type: object + properties: + mxid: + type: string + description: The Matrix user ID of the user accepting the invitation. + sender: + type: string + description: The Matrix user ID of the user who sent the invitation. + signatures: + type: object + description: The signature of the mxid, sender, and token. + token: + type: string + description: The token for the invitation. + examples: + application/json: { + "mxid": "@foo:bar.com", + "sender": "@baz:bar.com", + "signatures": { + "my.id.server": { + "ed25519:0": "def987" + } + }, + "token": "abc123" + } + 404: + description: Token was not found. + example: { + "errcode": "M_UNRECOGNIZED", + "error": "Didn't recognize token" + } diff --git a/api/identity/store_invite.yaml b/api/identity/store_invite.yaml new file mode 100644 index 000000000..6b847b5b0 --- /dev/null +++ b/api/identity/store_invite.yaml @@ -0,0 +1,114 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Identity Service Store Invitations API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https + - http +basePath: /_matrix/identity/api/v1 +produces: + - application/json +paths: + "/store-invite": + post: + summary: Store pending invitations to a user\'s 3pid. + description: |- + Store pending invitations to a user\'s 3pid. + + In addition to the request parameters specified below, an arbitrary + number of other parameters may also be specified. These may be used in + the invite message generation described below. + + The service will generate a random token and an ephemeral key used for + accepting the invite. + + The service also generates a ``display_name`` for the inviter, which is + a redacted version of ``address`` which does not leak the full contents + of the ``address``. + + The service records persistently all of the above information. + + It also generates an email containing all of this data, sent to the + ``address`` parameter, notifying them of the invitation. + + Also, the generated ephemeral public key will be listed as valid on + requests to ``/_matrix/identity/api/v1/pubkey/ephemeral/isvalid``. + operationId: storeInvite + parameters: + - in: body + name: body + schema: + type: object + example: { + "medium": "email", + "address": "foo@bar.baz", + "room_id": "!something:example.tld", + "sender": "@bob:example.com" + } + properties: + medium: + type: string + description: The literal string ``email``. + address: + type: string + description: The email address of the invited user. + room_id: + type: string + description: The Matrix room ID to which the user is invited + sender: + type: string + description: The Matrix user ID of the inviting user + required: ["medium", "address", "room_id", "sender"] + responses: + 200: + description: The invitation was stored. + schema: + type: object + properties: + token: + type: string + description: The generated token. + public_keys: + type: array + description: A list of [server\'s long-term public key, generated ephemeral public key]. + items: + type: string + display_name: + type: string + description: The generated (redacted) display_name. + example: + application/json: { + "token": "sometoken", + "public_keys": [ + "serverpublickey", + "ephemeralpublickey" + ], + "display_name": "f...@b..." + } + 400: + description: | + An error has occured. + + If the 3pid is already bound to a Matrix user ID, the error code + will be ``M_THREEPID_IN_USE``. If the medium is unsupported, the + error code will be ``M_UNRECOGNIZED``. + examples: + application/json: { + "errcode": "M_THREEPID_IN_USE", + "error": "Binding already known", + "mxid": mxid + } diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index 89fcc3e6a..cb0795939 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -114,100 +114,15 @@ session, within a 24 hour period since its most recent modification. Any attempts to perform these actions after the expiry will be rejected, and a new session should be created and used instead. -Creating a session +Email associations ~~~~~~~~~~~~~~~~~~ -A client makes a call to:: +{{email_associations_is_http_api}} - POST https://my.id.server:8090/_matrix/identity/api/v1/validate/email/requestToken +General +~~~~~~~ - client_secret=monkeys_are_GREAT& - email=foo@bar.com& - send_attempt=1 - -It may also optionally specify next_link. If next_link is specified, when the -validation is completed, the identity service will redirect the user to that -URL. - -This will create a new "session" on the identity service, identified by an -``sid``. - -The identity service will send an email containing a token. If that token is -presented to the identity service in the future, it indicates that that user was -able to read the email for that email address, and so we validate ownership of -the email address. - -We return the ``sid`` generated for this session to the caller, in a JSON object -containing the ``sid`` key. - -If a send_attempt is specified, the server will only send an email if the -send_attempt is a number greater than the most recent one which it has seen (or -if it has never seen one), scoped to that email address + client_secret pair. -This is to avoid repeatedly sending the same email in the case of request -retries between the POSTing user and the identity service. The client should -increment this value if they desire a new email (e.g. a reminder) to be sent. - -Note that Home Servers offer APIs that proxy this API, adding additional -behaviour on top, for example, ``/register/email/requestToken`` is designed -specifically for use when registering an account and therefore will inform -the user if the email address given is already registered on the server. - -Validating ownership of an email -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A user may make either a ``GET`` or a ``POST`` request to -``/_matrix/identity/api/v1/validate/email/submitToken`` with the following -parameters (either as query parameters or URL-encoded POST parameters): -- ``sid`` the sid for the session, generated by the ``requestToken`` call. -- ``client_secret`` the client secret which was supplied to the ``requestToken`` call. -- ``token`` the token generated by the ``requestToken`` call, and emailed to the user. - -If these three values are consistent with a set generated by a ``requestToken`` -call, ownership of the email address is considered to have been validated. This -does not publish any information publicly, or associate the email address with -any Matrix user ID. Specifically, calls to ``/lookup`` will not show a binding. - -Otherwise, an error will be returned. - -Checking non-published 3pid ownership -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A client can check whether ownership of a 3pid was validated by making an -HTTP GET request to ``/_matrix/identity/api/v1/3pid/getValidated3pid``, passing -the ``sid`` and ``client_secret`` as query parameters from the ``requestToken`` -call. - -It will return something of either the form:: - - {"medium": "email", "validated_at": 1457622739026, "address": "foo@bar.com"} - -or:: - - {"errcode": "M_SESSION_NOT_VALIDATED", "error": "This validation session has not yet been completed"} - -If the ``sid`` and ``client_secret`` were not recognised, or were not correct, -an error will be returned. - -Publishing a validated association -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -An association between a session and a Matrix user ID can be published by making -a URL-encoded HTTP POST request to ``/_matrix/identity/api/v1/3pid/bind`` with -the following parameters:: - - sid=sid& - client_secret=monkeys_are_GREAT& - mxid=@foo:bar.com - -If the session is still valid, this will publish an association between the -3pids validated on that session and the passed Matrix user ID. Future calls -to ``/lookup`` for any of the session's 3pids will return this association. - -If the 3pid has not yet been validated, the HTTP request will be rejected, and -the association will not be established. - -If the ``sid`` and ``client_secret`` were not recognised, or were not correct, -an error will be returned. +{{associations_is_http_api}} Invitation Storage ------------------ @@ -216,32 +131,6 @@ An identity service can store pending invitations to a user's 3pid, which will be retrieved and can be either notified on or look up when the 3pid is associated with a Matrix user ID. -If one makes a ``POST`` request to ``/_matrix/identity/api/v1/store-invite`` with the following URL-encoded POST parameters: - -- ``medium`` (string, required): The literal string ``email``. -- ``address`` (string, required): The email address of the invited user. -- ``room_id`` (string, required): The Matrix room ID to which the user is invited. -- ``sender`` (string, required): The matrix user ID of the inviting user. - -An arbitrary number of other parameters may also be specified. These may be used in the email generation described below. - -The service will look up whether the 3pid is bound to a Matrix user ID. If it is, the request will be rejected with a 400 status code. - -If the medium is something other than the literal string ``email``, the request will be rejected with a 400 status code. - -Otherwise, the service will then generate a random string called ``token``, and an ephemeral public key. - -The service also generates a ``display_name`` for the inviter, which is a redacted version of ``address`` which does not leak the full contents of the ``address``. - -The service records persistently all of the above information. - -It also generates an email containing all of this data, sent to the ``address`` parameter, notifying them of the invitation. - -The response body is then populated as the JSON-encoded dictionary containing the following fields: -- ``token`` (string): The generated token. -- ``public_keys`` ([string]): A list of [server's long-term public key, generated ephemeral public key]. -- ``display_name`` (string): The generated (redacted) display_name. - At a later point, if the owner of that particular 3pid binds it with a Matrix user ID, the identity server will attempt to make an HTTP POST to the Matrix user's homeserver which looks roughly as below:: POST https://bar.com:8448/_matrix/federation/v1/3pid/onbind @@ -273,7 +162,7 @@ At a later point, if the owner of that particular 3pid binds it with a Matrix us Where the signature is produced using a long-term private key. -Also, the generated ephemeral public key will be listed as valid on requests to ``/_matrix/identity/api/v1/pubkey/ephemeral/isvalid``. +{{store_invite_is_http_api}} Ephemeral invitation signing ---------------------------- @@ -281,23 +170,7 @@ Ephemeral invitation signing To aid clients who may not be able to perform crypto themselves, the identity service offers some crypto functionality to help in accepting invitations. This is less secure than the client doing it itself, but may be useful where this isn't possible. -The identity service will happily sign invitation details with a request-specified ed25519 private key for you, if you want it to. It takes URL-encoded POST parameters: -- mxid (string, required) -- token (string, required) -- private_key (string, required): The private key, encoded as `Unpadded base64`_. - -It will look up ``token`` which was stored in a call to ``store-invite``, and fetch the sender of the invite. It will then respond with JSON which looks something like:: - - { - "mxid": "@foo:bar.com", - "sender": "@baz:bar.com", - "signatures" { - "my.id.server": { - "ed25519:0": "def987" - } - }, - "token": "abc123" - } +{{invitation_signing_is_http_api}} .. _`Unpadded Base64`: ../appendices.html#unpadded-base64 .. _`3PID Types`: ../appendices.html#pid-types From 88d97b06ae5cd7816f4297e67e4701e4c2e8af82 Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sat, 28 Jul 2018 22:54:59 +0900 Subject: [PATCH 663/801] Support oneOf --- scripts/templating/matrix_templates/units.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 88f7b86c2..5930b0d03 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -286,7 +286,9 @@ def get_json_schema_object_fields(obj, enforce_title=False): def process_data_type(prop, required=False, enforce_title=True): prop = inherit_parents(prop) - prop_type = prop['type'] + prop_type = prop.get('oneOf', prop.get('type', [])) + assert prop_type + tables = [] enum_desc = None is_object = False @@ -317,6 +319,15 @@ def process_data_type(prop, required=False, enforce_title=True): tables = nested["tables"] enum_desc = nested["enum_desc"] + elif isinstance(prop_type, list): + prop_title = [] + for t in prop_type: + if isinstance(t, dict): + nested = process_data_type(t) + tables.extend(nested['tables']) + prop_title.append(nested['title']) + else: + prop_title.append(t) else: prop_title = prop_type From 9be78f3aa7f6b7577aef6891c5d47760203107da Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 29 Jul 2018 14:58:37 +0900 Subject: [PATCH 664/801] Better support enums when they come among oneOf types --- scripts/templating/matrix_templates/units.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 5930b0d03..90a87cd47 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -326,6 +326,10 @@ def process_data_type(prop, required=False, enforce_title=True): nested = process_data_type(t) tables.extend(nested['tables']) prop_title.append(nested['title']) + # Assuming there's at most one enum among type options + enum_desc = nested['enum_desc'] + if enum_desc: + enum_desc = "%s if the type is enum" % enum_desc else: prop_title.append(t) else: From b41eb26124de0f5c6b54fba4a9cb3939fb10adfe Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sun, 12 Aug 2018 16:52:07 +0900 Subject: [PATCH 665/801] Document OpenAPI extension Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/openapi_extensions.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/api/openapi_extensions.md b/api/openapi_extensions.md index 9f4745fdc..339452ba0 100644 --- a/api/openapi_extensions.md +++ b/api/openapi_extensions.md @@ -21,3 +21,25 @@ Example: name: fields... type: string ``` + +## Using oneOf to provide type alternatives + +<!-- TODO: Remove this section after upgrading to OpenAPI v3 --> + +`oneOf` (available in JSON Schema and Swagger/OpenAPI v3 but not in v2) +is used in cases when a simpler type specification as a list of types +doesn't work, as in the following example: +``` + properties: + old: # compliant with old Swagger + type: + - string + - object # Cannot specify a schema here + new: # uses oneOf extension + oneOf: + - type: string + - type: object + title: CustomSchemaForTheWin + properties: + ... +``` From 6ad71f785e833f4e140647bd3a76f3af748b38fc Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 14 Aug 2018 12:48:59 -0600 Subject: [PATCH 666/801] Improve documentation for pushers and push gateways This fixes a number of formatting issues alongside a few documentation problems: * The push gateway can actually expect less parameters than previously advertised. This is for user privacy. * Introduction of the `m.email` pusher for email-capable homeservers. * Fields not being flagged as required on some endpoints. * Document the `event_id_only` format Note: this does not attempt to document push rules, just pushers. Fixes https://github.com/matrix-org/matrix-doc/issues/1374 Fixes https://github.com/matrix-org/matrix-doc/issues/1087 --- api/client-server/pusher.yaml | 106 ++++++++++++++++++---------- api/push-gateway/push_notifier.yaml | 90 +++++++++++------------ specification/modules/push.rst | 3 + 3 files changed, 116 insertions(+), 83 deletions(-) diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 938014c60..0e9cf6414 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -31,30 +32,30 @@ paths: get: summary: Gets the current pushers for the authenticated user description: |- - Gets all currently active pushers for the authenticated user + Gets all currently active pushers for the authenticated user. operationId: getPushers security: - accessToken: [] responses: 200: - description: The pushers for this user + description: The pushers for this user. examples: application/json: { - "pushers": [ - { - "pushkey": "Xp/MzCt8/9DcSNE9cuiaoT5Ac55job3TdLSSmtmYl4A=", - "kind": "http", - "app_id": "face.mcapp.appy.prod", - "app_display_name": "Appy McAppface", - "device_display_name": "Alice's Phone", - "profile_tag": "xyz", - "lang": "en-US", - "data": { - "url": "https://example.com/_matrix/push/v1/notify" - } + "pushers": [ + { + "pushkey": "Xp/MzCt8/9DcSNE9cuiaoT5Ac55job3TdLSSmtmYl4A=", + "kind": "http", + "app_id": "face.mcapp.appy.prod", + "app_display_name": "Appy McAppface", + "device_display_name": "Alice's Phone", + "profile_tag": "xyz", + "lang": "en-US", + "data": { + "url": "https://example.com/_matrix/push/v1/notify" } - ] - } + } + ] + } schema: type: object properties: @@ -70,7 +71,7 @@ paths: pushkey: type: string description: |- - This is a unique identifier for this pusher. See `/set` for + This is a unique identifier for this pusher. See ``/set`` for more detail. Max length, 512 bytes. kind: @@ -115,6 +116,19 @@ paths: description: |- Required if ``kind`` is ``http``. The URL to use to send notifications to. + format: + type: string + description: |- + The format to use when sending notifications to the Push + Gateway. + required: + - pushkey + - app_id + - kind + - app_display_name + - device_display_name + - lang + - data tags: - Push notifications "/pushers/set": @@ -130,23 +144,24 @@ paths: parameters: - in: body name: pusher - description: The pusher information + description: The pusher information. required: true schema: type: object example: { - "lang": "en", - "kind": "http", - "app_display_name": "Mat Rix", - "device_display_name": "iPhone 9", - "profile_tag": "xxyyzz", - "app_id": "com.example.app.ios", - "pushkey": "APA91bHPRgkF3JUikC4ENAHEeMrd41Zxv3hVZjC9KtT8OvPVGJ-hQMRKRrZuJAEcl7B338qju59zJMjw2DELjzEvxwYv7hH5Ynpc1ODQ0aT4U4OFEeco8ohsN5PjL1iC2dNtk2BAokeMCg2ZXKqpc8FXKmhX94kIxQ", - "data": { - "url": "https://push-gateway.location.here" - }, - "append": false - } + "lang": "en", + "kind": "http", + "app_display_name": "Mat Rix", + "device_display_name": "iPhone 9", + "profile_tag": "xxyyzz", + "app_id": "com.example.app.ios", + "pushkey": "APA91bHPRgkF3JUikC4ENAHEeMrd41Zxv3hVZjC9KtT8OvPVGJ-hQMRKRrZuJAEcl7B338qju59zJMjw2DELjzEvxwYv7hH5Ynpc1ODQ0aT4U4OFEeco8ohsN5PjL1iC2dNtk2BAokeMCg2ZXKqpc8FXKmhX94kIxQ", + "data": { + "url": "https://push-gateway.location.here/_matrix/push/v1/notify", + "format": "event_id_only" + }, + "append": false + } properties: pushkey: type: string @@ -157,11 +172,15 @@ paths: for APNS or the Registration ID for GCM. If your notification client has no such concept, use any unique identifier. Max length, 512 bytes. + + If the ``kind`` is ``"email"``, this is the email address to + send notifications to. kind: type: string description: |- The kind of pusher to configure. ``"http"`` makes a pusher that - sends HTTP pokes. ``null`` deletes the pusher. + sends HTTP pokes. ``"email"`` makes a pusher that emails the + user with unread notifications. ``null`` deletes the pusher. app_id: type: string description: |- @@ -169,6 +188,8 @@ paths: It is recommended that this end with the platform, such that different platform versions get different app identifiers. Max length, 64 chars. + + If the ``kind`` is ``"email"``, this is ``"m.email"``. app_display_name: type: string description: |- @@ -188,7 +209,7 @@ paths: type: string description: |- The preferred language for receiving notifications (e.g. 'en' - or 'en-US') + or 'en-US'). data: type: object description: |- @@ -202,6 +223,15 @@ paths: description: |- Required if ``kind`` is ``http``. The URL to use to send notifications to. + format: + type: string + description: |- + The format to send notifications in to Push Gateways. If + unset or unrecognized, the homeserver should populate as + many fields as it can in the push notification. If set to + ``"event_id_only"``, the homeserver should only send the + absolute minimum amount of information possible to the push + gateway by not including optional fields. append: type: boolean description: |- @@ -216,17 +246,17 @@ paths: 200: description: The pusher was set. examples: - application/json: { - } + application/json: {} schema: - type: object # empty json object + type: object + description: An empty object. 400: description: One or more of the pusher values were invalid. examples: application/json: { - "error": "Missing parameters: lang, data", - "errcode": "M_MISSING_PARAM" - } + "error": "Missing parameters: lang, data", + "errcode": "M_MISSING_PARAM" + } schema: "$ref": "definitions/errors/error.yaml" 429: diff --git a/api/push-gateway/push_notifier.yaml b/api/push-gateway/push_notifier.yaml index 9b6e78d35..9f57b00af 100644 --- a/api/push-gateway/push_notifier.yaml +++ b/api/push-gateway/push_notifier.yaml @@ -1,4 +1,5 @@ # Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,7 +20,7 @@ host: localhost:8008 schemes: - https - http -basePath: /_matrix/push/%CLIENT_MAJOR_VERSION% +basePath: /_matrix/push/v1 consumes: - application/json produces: @@ -38,14 +39,14 @@ paths: Notifications about a particular event will normally cause the user to be alerted in some way. It is therefore necessary to perform duplicate - suppression for such notifications using the `event_id` field to avoid + suppression for such notifications using the ``event_id`` field to avoid retries of this HTTP API causing duplicate alerts. The operation of updating counts of unread notifications should be idempotent and therefore do not require duplicate suppression. - Notifications are sent to the URL configured when the pusher is - created. This means that the HTTP path may be different depending on the - push gateway. + Notifications are sent to the URL configured when the pusher is created. + This means that the HTTP path may be different depending on the push + gateway. operationId: notify parameters: - in: body @@ -55,36 +56,36 @@ paths: schema: type: object example: { - "notification": { - "id": "$3957tyerfgewrf384", - "room_id": "!slw48wfj34rtnrf:example.com", - "type": "m.room.message", - "sender": "@exampleuser:matrix.org", - "sender_display_name": "Major Tom", - "room_name": "Mission Control", - "room_alias": "#exampleroom:matrix.org", - "prio": "high", - "content": { - "msgtype": "m.text", - "body": "I'm floating in a most peculiar way." - }, - "counts": { - "unread" : 2, - "missed_calls": 1 - }, - "devices": [ - { - "app_id": "org.matrix.matrixConsole.ios", - "pushkey": "V2h5IG9uIGVhcnRoIGRpZCB5b3UgZGVjb2RlIHRoaXM/", - "pushkey_ts": 12345678, - "data" : {}, - "tweaks": { - "sound": "bing" - } + "notification": { + "id": "$3957tyerfgewrf384", + "room_id": "!slw48wfj34rtnrf:example.com", + "type": "m.room.message", + "sender": "@exampleuser:matrix.org", + "sender_display_name": "Major Tom", + "room_name": "Mission Control", + "room_alias": "#exampleroom:matrix.org", + "prio": "high", + "content": { + "msgtype": "m.text", + "body": "I'm floating in a most peculiar way." + }, + "counts": { + "unread" : 2, + "missed_calls": 1 + }, + "devices": [ + { + "app_id": "org.matrix.matrixConsole.ios", + "pushkey": "V2h5IG9uIGVhcnRoIGRpZCB5b3UgZGVjb2RlIHRoaXM/", + "pushkey_ts": 12345678, + "data" : {}, + "tweaks": { + "sound": "bing" } - ] - } + } + ] } + } required: ["notification"] properties: notification: @@ -111,14 +112,10 @@ paths: type: string description: |- The type of the event as in the event's ``type`` field. - Required if the notification relates to a specific - Matrix event. sender: type: string description: |- The sender of the event as in the corresponding event field. - Required if the notification relates to a specific - Matrix event. sender_display_name: type: string description: |- @@ -149,14 +146,15 @@ paths: title: EventContent description: |- The ``content`` field from the event, if present. If the - event had no content field, this field is omitted. + event had no content field or the pusher wishes to not include + it, this field is omitted. counts: type: object title: Counts description: |- This is a dictionary of the current number of unacknowledged communications for the recipient user. Counts whose value is - zero are omitted. + zero should be omitted. properties: unread: type: integer @@ -180,10 +178,10 @@ paths: app_id: type: string description: |- - The app_id given when the pusher was created. + The ``app_id`` given when the pusher was created. pushkey: type: string - description: The pushkey given when the pusher was created. + description: The ``pushkey`` given when the pusher was created. pushkey_ts: type: integer description: |- @@ -202,13 +200,14 @@ paths: description: |- A dictionary of customisations made to the way this notification is to be presented. These are added by push rules. + required: ['app_id', 'pushkey'] responses: 200: description: A list of rejected push keys. examples: application/json: { - "rejected": [ "V2h5IG9uIGVhcnRoIGRpZCB5b3UgZGVjb2RlIHRoaXM/" ] - } + "rejected": [ "V2h5IG9uIGVhcnRoIGRpZCB5b3UgZGVjb2RlIHRoaXM/" ] + } schema: type: object # empty json object properties: @@ -222,7 +221,8 @@ paths: pushkeys and remove the associated pushers. It may not necessarily be the notification in the request that failed: it could be that a previous notification to the same pushkey - failed. + failed. May be empty. items: type: string - description: A pushkey + description: A pushkey that has been rejected. + required: ['rejected'] diff --git a/specification/modules/push.rst b/specification/modules/push.rst index 9bb65b965..e6a7acf5b 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -65,6 +65,9 @@ APNS or Google's GCM. This happens as follows: notifications. 5. The Push Provider sends the notification to the device. +Homeservers may optionally support email notifications or other push kinds +of push, identified by the ``kind`` field of the pusher configuration. + Definitions for terms used in this section are below: Push Provider From de961fb7d6c37bf9404e07a91c7e60db64465425 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 11:59:58 -0600 Subject: [PATCH 667/801] Improve wording on push gateways --- api/client-server/pusher.yaml | 11 +++++------ api/push-gateway/push_notifier.yaml | 6 +++--- specification/modules/push.rst | 5 ++--- specification/push_gateway.rst | 5 +++++ 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 0e9cf6414..34050d3f6 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -226,12 +226,11 @@ paths: format: type: string description: |- - The format to send notifications in to Push Gateways. If - unset or unrecognized, the homeserver should populate as - many fields as it can in the push notification. If set to - ``"event_id_only"``, the homeserver should only send the - absolute minimum amount of information possible to the push - gateway by not including optional fields. + The format to send notifications in to Push Gateways if the + ``kind`` is ``http``. The details about what fields the + homeserver should send to the push gateway are defined in the + `Push Gateway Specification`_. Currently the only format + available is 'event_id_only'. append: type: boolean description: |- diff --git a/api/push-gateway/push_notifier.yaml b/api/push-gateway/push_notifier.yaml index 9f57b00af..4a6cb8f75 100644 --- a/api/push-gateway/push_notifier.yaml +++ b/api/push-gateway/push_notifier.yaml @@ -145,9 +145,9 @@ paths: type: object title: EventContent description: |- - The ``content`` field from the event, if present. If the - event had no content field or the pusher wishes to not include - it, this field is omitted. + The ``content`` field from the event, if present. The pusher + may omit this if the event had no content or for any other + reason. counts: type: object title: Counts diff --git a/specification/modules/push.rst b/specification/modules/push.rst index e6a7acf5b..e9ee8c90d 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -65,9 +65,6 @@ APNS or Google's GCM. This happens as follows: notifications. 5. The Push Provider sends the notification to the device. -Homeservers may optionally support email notifications or other push kinds -of push, identified by the ``kind`` field of the pusher configuration. - Definitions for terms used in this section are below: Push Provider @@ -625,3 +622,5 @@ shouldn't be sent in the push itself where possible. Instead, Push Gateways should send a "sync" command to instruct the client to get new events from the homeserver directly. + +.. _`Push Gateway Specification`: ../push_gateway/unstable.html diff --git a/specification/push_gateway.rst b/specification/push_gateway.rst index 29a41bf7c..e4a9d6ea8 100644 --- a/specification/push_gateway.rst +++ b/specification/push_gateway.rst @@ -67,4 +67,9 @@ This describes the format used by "HTTP" pushers to send notifications of events to Push Gateways. If the endpoint returns an HTTP error code, the homeserver SHOULD retry for a reasonable amount of time using exponential backoff. +When pushing notifications for events, the hoemserver is expected to include all of +the event-related fields in the ``/notify`` request. When the homeserver is performing +a push where the ``format`` is ``"event_id_only"``, only the ``event_id``, ``room_id``, +``counts``, and ``devices`` are required to be populated. + {{push_notifier_push_http_api}} From fde48e7ee85369809955494bd9aa4c8df6c159c6 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 15:12:36 -0600 Subject: [PATCH 668/801] Specify how room versioning works This is the spec PR for https://github.com/matrix-org/matrix-doc/issues/1425 Room version upgrades are not part of MSC1425. Documented aspects: * room_version on the create event * creating a room with a specific version (useful for testing) * make_join behaviour * error code documentation * grammar of room versions Based upon https://docs.google.com/document/d/1urKgReoHqxX8R_XtySB17dPi-DZcKhqTEL2_s895Wz0/edit --- api/client-server/create_room.yaml | 12 +++++-- api/server-server/joins.yaml | 33 +++++++++++++++++++ event-schemas/schema/m.room.create | 3 ++ .../appendices/identifier_grammar.rst | 31 +++++++++++++++++ specification/client_server_api.rst | 7 ++++ 5 files changed, 84 insertions(+), 2 deletions(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 66b5578a5..1795d547a 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -137,13 +137,21 @@ paths: type: string description: The invitee's third party identifier. required: ["id_server", "medium", "address"] + room_version: + type: string + description: |- + The room version to set for the room. If not provided, the homeserver is + to use its configured default. If provided, the homeserver will return a + 400 error with the errcode ``M_UNSUPPORTED_ROOM_VERSION`` if it does not + support the room version. + example: "1" creation_content: title: CreationContent type: object description: |- Extra keys to be added to the content of the ``m.room.create``. - The server will clobber the following keys: ``creator``. Future - versions of the specification may allow the server to clobber + The server will clobber the following keys: ``creator``, ``room_version``. + Future versions of the specification may allow the server to clobber other keys. initial_state: type: array diff --git a/api/server-server/joins.yaml b/api/server-server/joins.yaml index 141429450..f054f1e0e 100644 --- a/api/server-server/joins.yaml +++ b/api/server-server/joins.yaml @@ -45,6 +45,15 @@ paths: description: The user ID the join event will be for. required: true x-example: "@someone:example.org" + - in: query + type: array + items: + type: string + name: ver + description: |- + The room versions the sending server has support for. Defaults + to ``[1]``. + x-example: ["1", "2"] responses: 200: description: |- @@ -138,6 +147,30 @@ paths: ["$room_p0wer_l3vels_3vent:matrix.org", {"sha256": "abase64encodedsha256hashshouldbe43byteslong"}] ] } + 400: + description: |- + The request is invalid or the room the server is attempting + to join has a version that is not listed in the ``ver`` + parameters. + + The error should be passed through to clients so that they + may give better feedback to users. + schema: + allOf: + - $ref: "../client-server/definitions/errors/error.yaml" + - type: object + properties: + room_version: + type: string + description: |- + The version of the room. Required if the ``errcode`` + is ``M_INCOMPATIBLE_ROOM_VERSION``. + examples: + application/json: { + "errcode": "M_INCOMPATIBLE_ROOM_VERSION", + "error": "Your homeserver does not support the features required to join this room", + "room_version": "3" + } "/send_join/{roomId}/{eventId}": put: summary: Submit a signed join event to a resident server diff --git a/event-schemas/schema/m.room.create b/event-schemas/schema/m.room.create index a07ab90fc..d12b9ccd7 100644 --- a/event-schemas/schema/m.room.create +++ b/event-schemas/schema/m.room.create @@ -11,6 +11,9 @@ properties: m.federate: description: Whether users on other servers can join this room. Defaults to ``true`` if key does not exist. type: boolean + room_version: + description: The version of the room. Defaults to ``"1"`` if the key does not exist. + type: string required: - creator type: object diff --git a/specification/appendices/identifier_grammar.rst b/specification/appendices/identifier_grammar.rst index 7156c7d57..fc89f031b 100644 --- a/specification/appendices/identifier_grammar.rst +++ b/specification/appendices/identifier_grammar.rst @@ -41,6 +41,37 @@ Examples of valid server names are: * ``[1234:5678::abcd]:5678`` (IPv6 literal with explicit port) +Room Versions +~~~~~~~~~~~~~ + +Room versions are used to change properties of rooms that may not be compatible +with other servers. For example, changing the rules for event authorization would +cause older servers to potentially end up in a split-brain situation due to them +not understanding the new rules. + +A room version is defined as a string of characters which MUST NOT exceed 32 +codepoints in length. Room versions MUST NOT be empty and SHOULD contain only +the characters ``a-z``, ``0-9``, ``.``, and ``-``. + +Room versions are not intended to be parsed and should be treated as opaque +identifiers. Room versions consisting only of the characters ``0-9`` and ``.`` +are reserved for future versions of the Matrix protocol. + +The complete grammar for a legal room version is:: + + room_version = 1*room_version_char + room_version_char = DIGIT + / %x61-7A ; a-z + / "-" / "." + +Examples of valid room versions are: + +* ``1`` (would be reserved by the Matrix protocol) +* ``1.2`` (would be reserved by the Matrix protocol) +* ``1.2-beta`` +* ``com.example.version`` + + Common Identifier Format ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 58f68f25e..bd9b8dca6 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -148,6 +148,13 @@ Some requests have unique error codes: :``M_SERVER_NOT_TRUSTED``: The client's request used a third party server, eg. ID server, that this server does not trust. +:``M_UNSUPPORTED_ROOM_VERSION``: + The client's request to create a room used a room version that the server does not support. + +:``M_INCOMPATIBLE_ROOM_VERSION``: + The client attempted to join a room that has a version the server does not support. Inspect the + ``room_version`` property of the error response for the room's version. + .. _sect:txn_ids: The client-server API typically uses ``HTTP PUT`` to submit requests with a From 7751750396c2496d3f3e2bfbaf2dc6efe8df9c9a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:23:33 -0600 Subject: [PATCH 669/801] changelog --- changelogs/client_server/newsfragments/1516.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1516.feature diff --git a/changelogs/client_server/newsfragments/1516.feature b/changelogs/client_server/newsfragments/1516.feature new file mode 100644 index 000000000..8e9b26df3 --- /dev/null +++ b/changelogs/client_server/newsfragments/1516.feature @@ -0,0 +1 @@ +Add support for Room Versions. From ae02e8834d99099d6f5933e52840e042836e3867 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:25:04 -0600 Subject: [PATCH 670/801] changelog --- changelogs/client_server/newsfragments/1506.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1506.feature diff --git a/changelogs/client_server/newsfragments/1506.feature b/changelogs/client_server/newsfragments/1506.feature new file mode 100644 index 000000000..62ad12603 --- /dev/null +++ b/changelogs/client_server/newsfragments/1506.feature @@ -0,0 +1 @@ +Document and improve client interaction with pushers. From 25d01aa4312b64131edd3097d687df3902093eff Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:33:09 -0600 Subject: [PATCH 671/801] Dedicate a section on how to use access tokens Fixes https://github.com/matrix-org/matrix-doc/issues/1042. --- specification/client_server_api.rst | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 58f68f25e..27cd9a0f2 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -191,10 +191,6 @@ previously obtained credentials in the form of an ``access_token`` query parameter or through an Authorization Header of ``Bearer $access_token``. An access token is typically obtained via the `Login`_ or `Registration`_ processes. -When credentials are required but missing or invalid, the HTTP call will -return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or -``M_UNKNOWN_TOKEN`` respectively. - .. NOTE:: This specification does not mandate a particular format for the access @@ -202,6 +198,19 @@ return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or to choose an appropriate format. Server implementors may like to investigate `macaroons <macaroon_>`_. +Using access tokens +~~~~~~~~~~~~~~~~~~~ + +Access tokens may be provided in two ways, both of which the homeserver MUST +support: + +1. Via a query string parameter, ``access_token=TheTokenHere``. +#. Via a request header, ``Authorization: Bearer TheTokenHere``. + +When credentials are required but missing or invalid, the HTTP call will +return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or +``M_UNKNOWN_TOKEN`` respectively. + Relationship between access tokens and devices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From b159f218576aec308745283b3ffdcb4a4561bdd5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:34:23 -0600 Subject: [PATCH 672/801] changelog --- changelogs/client_server/newsfragments/1517.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1517.clarification diff --git a/changelogs/client_server/newsfragments/1517.clarification b/changelogs/client_server/newsfragments/1517.clarification new file mode 100644 index 000000000..b16928c1e --- /dev/null +++ b/changelogs/client_server/newsfragments/1517.clarification @@ -0,0 +1 @@ +Clarify how access tokens are meant to be supplied to the homeserver. \ No newline at end of file From ca87876f1ba2a16f88a60ae9880d1db54ddf496b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:37:52 -0600 Subject: [PATCH 673/801] Clarify that the Authorization header is preferred --- specification/client_server_api.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index 27cd9a0f2..e64572ab0 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -207,6 +207,11 @@ support: 1. Via a query string parameter, ``access_token=TheTokenHere``. #. Via a request header, ``Authorization: Bearer TheTokenHere``. +Clients are encouraged to use the ``Authorization`` header where possible +to prevent the access token being leaked in access/HTTP logs. The query +string should only be used in cases where the ``Authorization`` header is +unaccessible for the client. + When credentials are required but missing or invalid, the HTTP call will return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or ``M_UNKNOWN_TOKEN`` respectively. From d6c54b0278bbf284c1232878fec41f24d9c9b468 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 16:39:01 -0600 Subject: [PATCH 674/801] unaccessible isn't a word --- specification/client_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/client_server_api.rst b/specification/client_server_api.rst index e64572ab0..7cd14f7f5 100644 --- a/specification/client_server_api.rst +++ b/specification/client_server_api.rst @@ -210,7 +210,7 @@ support: Clients are encouraged to use the ``Authorization`` header where possible to prevent the access token being leaked in access/HTTP logs. The query string should only be used in cases where the ``Authorization`` header is -unaccessible for the client. +inaccessible for the client. When credentials are required but missing or invalid, the HTTP call will return with a status of 401 and the error code, ``M_MISSING_TOKEN`` or From 45c68e323a17f3e6b25b1c21038a5a6d600b3e03 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 17:25:30 -0600 Subject: [PATCH 675/801] Add general clarity to the /createRoom endpoint This commit does a number of things: * Minor formatting/alignment changes * Document the room_alias response key. This could be deprecated now, or forfeited, if needed. * Remove the guest_can_join parameter - it is not actually supported * Document the previously undocumented power_level_content_override parameter * Clarify that the room_id is required on the response * More clearly spell out which events are created as part of the request * Clarify how the room alias becomes the canonical alias * Clarify how the `visibility` may be used to determine a default preset to apply * Document the `m.federate` creation content parameter, adding an option for the homeserver to define a default value References: * Preset being inferred by the visibility: https://github.com/matrix-org/synapse/blob/cd32c19a604549b4518d748c07149d140bc9e063/synapse/handlers/room.py#L172-L177 * Power level content overrides: * https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L198 * https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L335-L359 * Aliases becoming canonical: https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L366-L370 * `m.federate` landing in the create event: https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L311-L315 Fixes https://github.com/matrix-org/matrix-doc/issues/1243 Fixes https://github.com/matrix-org/matrix-doc/issues/1471 Inspired by https://github.com/matrix-org/matrix-doc/issues/1213 --- api/client-server/create_room.yaml | 67 ++++++++++++++----- event-schemas/power_level_content_schema.yaml | 56 ++++++++++++++++ event-schemas/schema/m.room.power_levels | 44 +----------- 3 files changed, 107 insertions(+), 60 deletions(-) create mode 100644 event-schemas/power_level_content_schema.yaml diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 66b5578a5..be99c4ab1 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -39,16 +39,20 @@ paths: apply the events implied by the request in the following order: 0. A default ``m.room.power_levels`` event, giving the room creator - (and not other members) permission to send state events. + (and not other members) permission to send state events. Overridden + by the ``power_level_content_override`` parameter. - 1. Events set by the ``preset``. + 1. Events set by the ``preset``. Currently these are the ``m.room.join_rules``, + ``m.room.history_visibility``, and ``m.room.guest_access`` state events. 2. Events listed in ``initial_state``, in the order that they are listed. - 3. Events implied by ``name`` and ``topic``. + 3. Events implied by ``name`` and ``topic`` (``m.room.name`` and ``m.room.topic`` + state events). - 4. Invite events implied by ``invite`` and ``invite_3pid``. + 4. Invite events implied by ``invite`` and ``invite_3pid`` (``m.room.member`` with + ``membership: invite`` and ``m.room.third_party_invite``). The available presets do the following with respect to room state: @@ -60,6 +64,9 @@ paths: ``public_chat`` ``public`` ``shared`` ``forbidden`` ======================== ============== ====================== ================ ========= + The server will create a ``m.room.create`` event in the room with the + requesting user as the creator, alongside other keys provided in the + ``creation_content``. operationId: createRoom security: - accessToken: [] @@ -70,14 +77,14 @@ paths: schema: type: object example: { - "preset": "public_chat", - "room_alias_name": "thepub", - "name": "The Grand Duke Pub", - "topic": "All about happy hour", - "creation_content": { - "m.federate": false - } + "preset": "public_chat", + "room_alias_name": "thepub", + "name": "The Grand Duke Pub", + "topic": "All about happy hour", + "creation_content": { + "m.federate": false } + } properties: visibility: type: string @@ -89,6 +96,11 @@ paths: ``private`` visibility if this key is not included. NB: This should not be confused with ``join_rules`` which also uses the word ``public``. + + If no ``preset`` is specificed, the server may use the visbility + to determine which preset to use. A visbility of ``public`` + equates to a preset of ``public_chat`` and ``private`` visibility + equates to a preset of ``private_chat``. room_alias_name: type: string description: |- @@ -98,6 +110,9 @@ paths: created the room. For example, if this was set to "foo" and sent to the homeserver "example.com" the complete room alias would be ``#foo:example.com``. + + The complete room alias will become the canonical alias for + the room. name: type: string description: |- @@ -145,6 +160,14 @@ paths: The server will clobber the following keys: ``creator``. Future versions of the specification may allow the server to clobber other keys. + properties: + "m.federate": + type: boolean + description: |- + Whether users on other servers can join this room. Defaults + to ``true`` or what the server specifies. Setting this to + ``false`` may prevent users from being invited as part of + this room creation request if they reside on other servers. initial_state: type: array description: |- @@ -181,10 +204,14 @@ paths: This flag makes the server set the ``is_direct`` flag on the ``m.room.member`` events sent to the users in ``invite`` and ``invite_3pid``. See `Direct Messaging`_ for more information. - guest_can_join: - type: boolean + power_level_content_override: + title: Power Level Event Content description: |- - Allows guests to join the room. See `Guest Access`_ for more information. + The power level content to override in the default power level + event. This object is applied on top of the generated power + level event prior to it being sent to the room. Defaults + to overriding nothing. + $ref: "definitions/event-schemas/power_level_content_schema.yaml" responses: 200: description: Information about the newly created room. @@ -196,10 +223,17 @@ paths: type: string description: |- The created room's ID. + room_alias: + type: string + description: |- + The complete room alias for the room, if a room alias was created + for the room. + required: ['room_id'] examples: application/json: { - "room_id": "!sefiuhWgwghwWgh:example.com" - } + "room_id": "!sefiuhWgwghwWgh:example.com", + "room_alias": "#thepub:example.com" + } 400: description: |- @@ -218,6 +252,5 @@ paths: ``M_INVALID_ROOM_STATE``). schema: "$ref": "definitions/errors/error.yaml" - tags: - Room creation diff --git a/event-schemas/power_level_content_schema.yaml b/event-schemas/power_level_content_schema.yaml new file mode 100644 index 000000000..5859d56ee --- /dev/null +++ b/event-schemas/power_level_content_schema.yaml @@ -0,0 +1,56 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +properties: + ban: + description: The level required to ban a user. Defaults to 50 if unspecified. + type: number + events: + additionalProperties: + type: number + description: The level required to send specific event types. This is a mapping from event type to power level required. + title: Event power levels + type: object + events_default: + description: |- + The default level required to send message events. Can be + overridden by the ``events`` key. Defaults to 0 if unspecified. + type: number + invite: + description: The level required to invite a user. Defaults to 50 if unspecified. + type: number + kick: + description: The level required to kick a user. Defaults to 50 if unspecified. + type: number + redact: + description: The level required to redact an event. Defaults to 50 if unspecified. + type: number + state_default: + description: |- + The default level required to send state events. Can be overridden + by the ``events`` key. Defaults to 50 if unspecified, but 0 if + there is no ``m.room.power_levels`` event at all. + type: number + users: + additionalProperties: + type: number + description: The power levels for specific users. This is a mapping from ``user_id`` to power level for that user. + title: User power levels + type: object + users_default: + description: |- + The default power level for every user in the room, unless their + ``user_id`` is mentioned in the ``users`` key. Defaults to 0 if + unspecified. + type: number +type: object \ No newline at end of file diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels index 13a44c709..174ada820 100644 --- a/event-schemas/schema/m.room.power_levels +++ b/event-schemas/schema/m.room.power_levels @@ -43,49 +43,7 @@ description: |- properties: content: - properties: - ban: - description: The level required to ban a user. Defaults to 50 if unspecified. - type: number - events: - additionalProperties: - type: number - description: The level required to send specific event types. This is a mapping from event type to power level required. - title: Event power levels - type: object - events_default: - description: |- - The default level required to send message events. Can be - overridden by the ``events`` key. Defaults to 0 if unspecified. - type: number - invite: - description: The level required to invite a user. Defaults to 50 if unspecified. - type: number - kick: - description: The level required to kick a user. Defaults to 50 if unspecified. - type: number - redact: - description: The level required to redact an event. Defaults to 50 if unspecified. - type: number - state_default: - description: |- - The default level required to send state events. Can be overridden - by the ``events`` key. Defaults to 50 if unspecified, but 0 if - there is no ``m.room.power_levels`` event at all. - type: number - users: - additionalProperties: - type: number - description: The power levels for specific users. This is a mapping from ``user_id`` to power level for that user. - title: User power levels - type: object - users_default: - description: |- - The default power level for every user in the room, unless their - ``user_id`` is mentioned in the ``users`` key. Defaults to 0 if - unspecified. - type: number - type: object + $ref: "../power_level_content_schema.yaml" state_key: description: A zero-length string. pattern: '^$' From ef7570e62d59d2feecc2da28504dc9b32f298f94 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 15 Aug 2018 17:29:06 -0600 Subject: [PATCH 676/801] Changelog --- changelogs/client_server/newsfragments/1518.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1518.clarification diff --git a/changelogs/client_server/newsfragments/1518.clarification b/changelogs/client_server/newsfragments/1518.clarification new file mode 100644 index 000000000..3e2adea34 --- /dev/null +++ b/changelogs/client_server/newsfragments/1518.clarification @@ -0,0 +1 @@ +Document additional parameters on the ``/createRoom`` API. \ No newline at end of file From 2eab07ade4ffe0a619e315436ceb947124ec6566 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 16 Aug 2018 11:45:20 -0600 Subject: [PATCH 677/801] Fix header in server-server API --- specification/server_server_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 5f791a70e..b5676b780 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -606,7 +606,7 @@ the events it is missing. {{backfill_ss_http_api}} Retrieving events ----------------- +----------------- In some circumstances, a homeserver may be missing a particular event or information about the room which cannot be easily determined from backfilling. These APIs provide From c891e4a957d4e004517c3fbe5978da4764b7555b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 16 Aug 2018 12:39:47 -0600 Subject: [PATCH 678/801] Require the push gateway URL to be of a specific path --- api/client-server/pusher.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 34050d3f6..3bedf866e 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -222,7 +222,9 @@ paths: type: string description: |- Required if ``kind`` is ``http``. The URL to use to send - notifications to. + notifications to. MUST be an HTTPS URL with a path pointing + to ``/_matrix/push/v1/notify``. + example: "https://push-gateway.location.here/_matrix/push/v1/notify" format: type: string description: |- From 5b30d33b89541d5398901fe73eeac73dc1a29cc2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 02:51:41 -0600 Subject: [PATCH 679/801] Simpler language --- api/client-server/pusher.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/pusher.yaml b/api/client-server/pusher.yaml index 3bedf866e..d232baf9f 100644 --- a/api/client-server/pusher.yaml +++ b/api/client-server/pusher.yaml @@ -222,8 +222,8 @@ paths: type: string description: |- Required if ``kind`` is ``http``. The URL to use to send - notifications to. MUST be an HTTPS URL with a path pointing - to ``/_matrix/push/v1/notify``. + notifications to. MUST be an HTTPS URL with a path of + ``/_matrix/push/v1/notify``. example: "https://push-gateway.location.here/_matrix/push/v1/notify" format: type: string From e7aed3da269387a28ed43b79c9d3eef66436845c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:16:39 -0600 Subject: [PATCH 680/801] Remove poll/unpoll from presence --- .../definitions/event-schemas/m.presence.yaml | 31 +------------------ specification/server_server_api.rst | 8 +---- 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index bebf8211b..6d83b967a 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -16,8 +16,6 @@ type: object title: Presence EDU description: |- An EDU representing presence updates for users of the sending homeserver. - Can also be used to request additional presence updates for users of the - receiving homeserver. allOf: - $ref: ../edu.yaml - type: object @@ -35,7 +33,7 @@ allOf: type: array description: |- A list of presence updates that the receiving server is likely - to be interested in, or is subscribed to. + to be interested in. items: type: object title: User Presence Update @@ -67,31 +65,4 @@ allOf: Defaults to false. example: true required: ['user_id', 'presence', 'last_active_ago'] - poll: - type: array - description: |- - New user IDs that the sending server would like to subscribe to the - presence of. The sending server should not include users it has already - requested to be subscribed to. - - The receiving server should ensure the sending server has reasonable - interest in subscribing to the provided users. The receiver may ignore - a request to subscribe to a user the sender does not have reasonable - interest in. Reasonable interest may be residing in a room with the user, - being subscribed to a presence list, or some other requirement. - - If non-empty, the receiving server should immediately send the presence - updates to the sender for the users requested. - items: - type: string - example: ["@alice:elsewhere.org"] - unpoll: - type: array - description: |- - New user IDs the sending server is no longer interested in receiving - presence updates for. The sending server should not include users it - has previously requested to be unsubscribed from. - items: - type: string - example: ["@bob:elsewhere.org"] required: ['push'] diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index d5177a047..6cc04d95e 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -841,13 +841,7 @@ EDUs. There are no PDUs or Federation Queries involved. Servers should only send presence updates for users that the receiving server would be interested in. This can include the receiving server sharing a room with a given user, or a user on the receiving server has added one of the -sending server's users to their presence list. - -Servers may also request additional users by including them in the ``poll`` -array on an ``m.presence`` update. The receiving server may ignore users -requested in this array. The receiving server should maintain a list of -subscribed users for the sending server, which is appended to by the ``poll`` -array and deleted from by the ``unpoll`` array. +sending server's users to their presence list. .. TODO-doc - Explain the timing-based round-trip reduction mechanism for presence From ff1afaa8f7a4a5828d46a60d27ece5de985e8de3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:18:45 -0600 Subject: [PATCH 681/801] Add a note about how presence lists work --- specification/server_server_api.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index 6cc04d95e..236d90f5d 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -843,6 +843,12 @@ would be interested in. This can include the receiving server sharing a room with a given user, or a user on the receiving server has added one of the sending server's users to their presence list. +Clients may define lists of users that they are interested in via "Presence +Lists" through the `Client-Server API`_. When users are added to a presence +list, a ``m.presence_invite`` EDU is sent to them. The user may then accept +or deny their involvement in the list by sending either an ``m.presence_accept`` +or ``m.presence_deny`` EDU back. + .. TODO-doc - Explain the timing-based round-trip reduction mechanism for presence messages @@ -855,7 +861,7 @@ sending server's users to their presence list. {{definition_ss_event_schemas_m_presence_accept}} -{{definition_ss_event_schemas_m_presence_accept}} +{{definition_ss_event_schemas_m_presence_deny}} Querying for information ------------------------ From 549a25cad9b73df38d84b33e1837bf161f78b18b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:33:40 -0600 Subject: [PATCH 682/801] Add a mention about how currently_active works Reference: https://github.com/matrix-org/synapse/blob/d69decd5c78c72abef50b597a689e2bc55a39702/synapse/handlers/presence.py#L66-L68 --- api/server-server/definitions/event-schemas/m.presence.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index 6d83b967a..011db2ca1 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -62,6 +62,8 @@ allOf: type: boolean description: |- Whether or not the user is currently using a device of theirs. + For example, if the user's ``last_active_ago`` was within the + last few minutes, they may be considered ``currently_active``. Defaults to false. example: true required: ['user_id', 'presence', 'last_active_ago'] From 766402a7025112569ddfe1efdc257513ff7d7ddf Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:34:08 -0600 Subject: [PATCH 683/801] Use strict types for the presence EDUs --- .../definitions/event-schemas/m.presence.accept.yaml | 3 ++- .../definitions/event-schemas/m.presence.deny.yaml | 3 ++- .../definitions/event-schemas/m.presence.invite.yaml | 3 ++- api/server-server/definitions/event-schemas/m.presence.yaml | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/api/server-server/definitions/event-schemas/m.presence.accept.yaml b/api/server-server/definitions/event-schemas/m.presence.accept.yaml index 3b80ac44d..72f932d2b 100644 --- a/api/server-server/definitions/event-schemas/m.presence.accept.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.accept.yaml @@ -22,7 +22,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.presence_accept'] description: The string ``m.presence_accept`` example: "m.presence_accept" content: diff --git a/api/server-server/definitions/event-schemas/m.presence.deny.yaml b/api/server-server/definitions/event-schemas/m.presence.deny.yaml index 1383866c0..3264a5af2 100644 --- a/api/server-server/definitions/event-schemas/m.presence.deny.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.deny.yaml @@ -31,7 +31,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.presence_deny'] description: The string ``m.presence_deny`` example: "m.presence_deny" content: diff --git a/api/server-server/definitions/event-schemas/m.presence.invite.yaml b/api/server-server/definitions/event-schemas/m.presence.invite.yaml index eeb00ae32..8ae848721 100644 --- a/api/server-server/definitions/event-schemas/m.presence.invite.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.invite.yaml @@ -21,7 +21,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.presence_invite'] description: The string ``m.presence_invite`` example: "m.presence_invite" content: diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index 011db2ca1..f9e0499b1 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -21,7 +21,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.presence'] description: The string ``m.presence`` example: "m.presence" content: From 96896fe5d6515a98f196556845f4e25fe48615d7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:34:50 -0600 Subject: [PATCH 684/801] Add a strict type the m.typing EDU --- api/server-server/definitions/event-schemas/m.typing.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/server-server/definitions/event-schemas/m.typing.yaml b/api/server-server/definitions/event-schemas/m.typing.yaml index d4fa2f81e..101d8d79e 100644 --- a/api/server-server/definitions/event-schemas/m.typing.yaml +++ b/api/server-server/definitions/event-schemas/m.typing.yaml @@ -20,7 +20,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.typing'] description: The string ``m.typing`` example: "m.typing" content: From 44d1f8dbe5bf5826357d1d86d01c4897d3c83acd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:46:11 -0600 Subject: [PATCH 685/801] s/timeline/event graph --- specification/server_server_api.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index f19f41a61..150e69e0d 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -900,8 +900,8 @@ Receipts -------- Receipts are EDUs used to communicate a marker for a given event. Currently the -only kind of receipt supported is a "read receipt", or where in the timeline a -user has read up to. +only kind of receipt supported is a "read receipt", or where in the event graph +the user has read up to. Read receipts for events events that a user sent do not need to be sent. It is implied that by sending the event the user has read up to the event. From c492fe43b5d42f7f9d14228973e12b8a744ce3b8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 09:46:31 -0600 Subject: [PATCH 686/801] Add strict typing to the m.receipt EDU; Fix description of event_ids --- api/server-server/definitions/event-schemas/m.receipt.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/server-server/definitions/event-schemas/m.receipt.yaml b/api/server-server/definitions/event-schemas/m.receipt.yaml index b8638427e..210988f98 100644 --- a/api/server-server/definitions/event-schemas/m.receipt.yaml +++ b/api/server-server/definitions/event-schemas/m.receipt.yaml @@ -24,7 +24,8 @@ allOf: - type: object properties: edu_type: - type: string + type: enum + enum: ['m.receipt'] description: The string ``m.receipt`` example: "m.receipt" content: @@ -46,8 +47,7 @@ allOf: event_ids: type: array description: |- - The event ID that the user has read up to. Must be exactly - one element in length. + The extremity event IDs that the user has read up to. minItems: 1 maxItems: 1 items: From f5dc0eaed23e6e9dea0ea61f6a2ebefff5ade34a Mon Sep 17 00:00:00 2001 From: Hubert Chathi <hubert@uhoreg.ca> Date: Fri, 17 Aug 2018 12:00:13 -0400 Subject: [PATCH 687/801] document msisdn-related endpoints in IS (#1507) * add msisdn endpoints in Identity Server spec * add in CS endpoints that use the IS msisdn endpoints --- api/client-server/administrative_contact.yaml | 20 +- api/client-server/registration.yaml | 95 +++++++- api/identity/phone_associations.yaml | 203 ++++++++++++++++++ .../client_server/newsfragments/1507.new | 1 + specification/identity_service_api.rst | 5 + 5 files changed, 316 insertions(+), 8 deletions(-) create mode 100644 api/identity/phone_associations.yaml create mode 100644 changelogs/client_server/newsfragments/1507.new diff --git a/api/client-server/administrative_contact.yaml b/api/client-server/administrative_contact.yaml index 8f0319d5a..1cf66fe1f 100644 --- a/api/client-server/administrative_contact.yaml +++ b/api/client-server/administrative_contact.yaml @@ -66,7 +66,7 @@ paths: medium: type: string description: The medium of the third party identifier. - enum: ["email"] + enum: ["email", "msisdn"] address: type: string description: The third party identifier address. @@ -143,7 +143,21 @@ paths: validation tokens when adding an email address to an account. This API's parameters and response is identical to that of the HS API |/register/email/requestToken|_ endpoint. - operationId: requestTokenTo3PID + operationId: requestTokenTo3PIDEmail responses: 200: - description: An email was sent to the given address + description: An email was sent to the given address. + "/account/3pid/msisdn/requestToken": + post: + summary: Requests a validation token be sent to the given email address for the purpose of adding a phone number to an account. + description: |- + Proxies the identity server API ``validate/msisdn/requestToken``, but + first checks that the given phone number is **not** already associated + with an account on this Home Server. This API should be used to request + validation tokens when adding a phone number to an account. This API's + parameters and response is identical to that of the HS API + |/register/msisdn/requestToken|_ endpoint. + operationId: requestTokenTo3PIDMSISDN + responses: + 200: + description: An SMS message was sent to the given phone number. diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 6ae4ddd37..56da9addb 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -196,11 +196,9 @@ paths: description: |- Proxies the identity server API ``validate/email/requestToken``, but first checks that the given email address is not already associated - with an account on this Home Server. Note that, for consistency, - this API takes JSON objects, though the Identity Server API takes - ``x-www-form-urlencoded`` parameters. See the Identity Server API for + with an account on this Home Server. See the Identity Server API for further information. - operationId: requestTokenToRegister + operationId: requestTokenToRegisterEmail parameters: - in: body name: body @@ -252,6 +250,71 @@ paths: } schema: "$ref": "definitions/errors/error.yaml" + "/register/msisdn/requestToken": + post: + summary: Requests a validation token be sent to the given phone number for the purpose of registering an account + description: |- + Proxies the identity server API ``validate/msisdn/requestToken``, but + first checks that the given phone number is not already associated + with an account on this Home Server. See the Identity Server API for + further information. + operationId: requestTokenToRegisterMSISDN + parameters: + - in: body + name: body + schema: + type: object + properties: + id_server: + type: string + description: The ID server to send the onward request to as a hostname with an appended colon and port number if the port is not the default. + example: "id.matrix.org" + client_secret: + type: string + description: Client-generated secret string used to protect this session. + example: "this_is_my_secret_string" + country: + type: string + description: |- + The two-letter uppercase ISO country code that the number in + ``phone_number`` should be parsed as if it were dialled from. + phone_number: + type: string + description: The phone number. + example: "example@example.com" + send_attempt: + type: number + description: Used to distinguish protocol level retries from requests to re-send the SMS message. + example: 1 + required: ["client_secret", "country", "phone_number", "send_attempt"] + responses: + 200: + description: |- + An SMS message has been sent to the specified phone number. + Note that this may be an SMS message containing the validation token or it may be informing + the user of an error. + examples: + application/json: {} + schema: + type: object + 400: + description: |- + Part of the request was invalid. This may include one of the following error codes: + + * ``M_THREEPID_IN_USE`` : The phone number is already registered to an account on this server. + However, if the home server has the ability to send SMS message, it is recommended that the server + instead send an SMS message to the user with instructions on how to reset their password. + This prevents malicious parties from being able to determine if a given phone number + has an account on the Home Server in question. + * ``M_SERVER_NOT_TRUSTED`` : The ``id_server`` parameter refers to an ID server + that is not trusted by this Home Server. + examples: + application/json: { + "errcode": "M_THREEPID_IN_USE", + "error": "The specified address is already in use" + } + schema: + "$ref": "definitions/errors/error.yaml" "/account/password": post: summary: "Changes a user's password." @@ -319,10 +382,32 @@ paths: .. |/register/email/requestToken| replace:: ``/register/email/requestToken`` .. _/register/email/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken - operationId: requestTokenToResetPassword + operationId: requestTokenToResetPasswordEmail responses: 200: description: An email was sent to the given address + "/account/password/msisdn/requestToken": + post: + summary: Requests a validation token be sent to the given phone number for the purpose of resetting a user's password. + description: |- + Proxies the identity server API ``validate/msisdn/requestToken``, but + first checks that the given phone number **is** associated with an account + on this Home Server. This API should be used to request + validation tokens when authenticating for the + `account/password` endpoint. This API's parameters and response are + identical to that of the HS API |/register/msisdn/requestToken|_ except that + `M_THREEPID_NOT_FOUND` may be returned if no account matching the + given email address could be found. The server may instead send an + SMS message to the given address prompting the user to create an account. + `M_THREEPID_IN_USE` may not be returned. + + .. |/register/msisdn/requestToken| replace:: ``/register/msisdn/requestToken`` + + .. _/register/msisdn/requestToken: #post-matrix-client-%CLIENT_MAJOR_VERSION%-register-email-requesttoken + operationId: requestTokenToResetPasswordMSISDN + responses: + 200: + description: An SMS message was sent to the given phone number. "/account/deactivate": post: summary: "Deactivate a user's account." diff --git a/api/identity/phone_associations.yaml b/api/identity/phone_associations.yaml new file mode 100644 index 000000000..c2cc6cfe7 --- /dev/null +++ b/api/identity/phone_associations.yaml @@ -0,0 +1,203 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Identity Service Phone Number Associations API" + version: "1.0.0" +host: localhost:8090 +schemes: + - https + - http +basePath: /_matrix/identity/api/v1 +produces: + - application/json +paths: + "/validate/msisdn/requestToken": + post: + summary: Request a token for validating a phone number. + description: |- + Create a session for validating a phone number. + + The identity service will send an SMS message containing a token. If + that token is presented to the identity service in the future, it + indicates that that user was able to read the SMS for that phone + number, and so we validate ownership of the phone number. + + Note that Home Servers offer APIs that proxy this API, adding + additional behaviour on top, for example, + ``/register/msisdn/requestToken`` is designed specifically for use when + registering an account and therefore will inform the user if the phone + number given is already registered on the server. + + Note: for backwards compatibility with older versions of this + specification, the parameters may also be specified as + ``application/x-form-www-urlencoded`` data. However, this usage is + deprecated. + operationId: msisdnRequestToken + parameters: + - in: body + name: body + schema: + type: object + example: { + "client_secret": "monkeys_are_GREAT", + "country": "GB", + "phone_number": "07700900001", + "send_attempt": 1 + } + properties: + client_secret: + type: string + description: A unique string used to identify the validation attempt. + country: + type: string + description: |- + The two-letter uppercase ISO country code that the number in + ``phone_number`` should be parsed as if it were dialled from. + phone_number: + type: string + description: The phone number to validate. + send_attempt: + type: integer + description: |- + Optional. If specified, the server will only send an SMS if + the ``send_attempt`` is a number greater than the most recent + one which it has seen (or if it has never seen one), scoped + to that ``country`` + ``phone_number`` + ``client_secret`` + triple. This is to avoid repeatedly sending the same SMS in + the case of request retries between the POSTing user and the + identity service. The client should increment this value if + they desire a new SMS (e.g. a reminder) to be sent. + next_link: + type: string + description: |- + Optional. When the validation is completed, the identity + service will redirect the user to this URL. + required: ["client_secret", "country", "phone_number"] + responses: + 200: + description: + Session created. + examples: + application/json: { + "sid": "1234" + } + schema: + type: object + properties: + sid: + type: string + description: The session ID. + 400: + description: | + An error ocurred. Some possible errors are: + + - ``M_INVALID_ADDRESS``: The phone number provided was invalid. + - ``M_SEND_ERROR``: The validation SMS could not be sent. + "/validate/msisdn/submitToken": + post: + summary: Validate ownership of a phone number. + description: |- + Validate ownership of a phone number. + + If the three parameters are consistent with a set generated by a + ``requestToken`` call, ownership of the phone number is considered to + have been validated. This does not publish any information publicly, or + associate the phone number address with any Matrix user + ID. Specifically, calls to ``/lookup`` will not show a binding. + + Note: for backwards compatibility with older versions of this + specification, the parameters may also be specified as + ``application/x-form-www-urlencoded`` data. However, this usage is + deprecated. + operationId: msisdnSubmitTokenPost + parameters: + - in: body + name: body + schema: + type: object + example: { + "sid": "1234", + "client_secret": "monkeys_are_GREAT", + "token": "atoken" + } + properties: + sid: + type: string + description: The session ID, generated by the ``requestToken`` call. + client_secret: + type: string + description: The client secret that was supplied to the ``requestToken`` call. + token: + type: string + description: The token generated by the ``requestToken`` call and sent to the user. + required: ["sid", "client_secret", "token"] + responses: + 200: + description: + The success of the validation. + examples: + application/json: { + "success": true + } + schema: + type: object + properties: + success: + type: boolean + description: Whether the validation was successful or not. + get: + summary: Validate ownership of a phone number. + description: |- + Validate ownership of a phone number. + + If the three parameters are consistent with a set generated by a + ``requestToken`` call, ownership of the phone number address is + considered to have been validated. This does not publish any + information publicly, or associate the phone number with any Matrix + user ID. Specifically, calls to ``/lookup`` will not show a binding. + + Note that, in contrast with the POST version, this endpoint will be + used by end-users, and so the response should be human-readable. + operationId: msisdnSubmitTokenGet + parameters: + - in: query + type: string + name: sid + required: true + description: The session ID, generated by the ``requestToken`` call. + x-example: 1234 + - in: query + type: string + name: client_secret + required: true + description: The client secret that was supplied to the ``requestToken`` call. + x-example: monkeys_are_GREAT + - in: query + type: string + name: token + required: true + description: The token generated by the ``requestToken`` call and sent to the user. + x-example: atoken + responses: + "200": + description: Phone number is validated. + "3xx": + description: |- + Phone number address is validated, and the ``next_link`` parameter + was provided to the ``requestToken`` call. The user must be + redirected to the URL provided by the ``next_link`` parameter. + "4xx": + description: + Validation failed. diff --git a/changelogs/client_server/newsfragments/1507.new b/changelogs/client_server/newsfragments/1507.new new file mode 100644 index 000000000..6cc468702 --- /dev/null +++ b/changelogs/client_server/newsfragments/1507.new @@ -0,0 +1 @@ +``POST /account/3pid/msisdn/requestToken``, ``POST /register/msisdn/requestToken``, and ``POST /account/password/msisdn/requestToken`` \ No newline at end of file diff --git a/specification/identity_service_api.rst b/specification/identity_service_api.rst index cb0795939..3b037caf0 100644 --- a/specification/identity_service_api.rst +++ b/specification/identity_service_api.rst @@ -119,6 +119,11 @@ Email associations {{email_associations_is_http_api}} +Phone number associations +~~~~~~~~~~~~~~~~~~~~~~~~~ + +{{phone_associations_is_http_api}} + General ~~~~~~~ From c2ed79bd1a37bf85b377c25722f3002dec8d075b Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Fri, 17 Aug 2018 17:07:03 +0100 Subject: [PATCH 688/801] Sentence case for headings --- meta/documentation_style.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/documentation_style.rst b/meta/documentation_style.rst index e60c7847e..c6bb62bf4 100644 --- a/meta/documentation_style.rst +++ b/meta/documentation_style.rst @@ -32,6 +32,12 @@ complete specification to be merged correctly. These characters are: If you find yourself using ``^`` or beyond, you should rethink your document layout if possible. +Correct capitalisation for long section names +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Headings should start with a capital letter, and use lower-case otherwise. + + TODOs ----- From 750d4f9fdaaafac8b52c05828f2675d03c10df51 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 10:53:47 -0600 Subject: [PATCH 689/801] Rename the presence EDU files to be accurate to their types; Misc cleanup of titles --- api/server-server/definitions/event-schemas/m.presence.yaml | 2 +- .../{m.presence.accept.yaml => m.presence_accept.yaml} | 2 +- .../{m.presence.deny.yaml => m.presence_deny.yaml} | 2 +- .../{m.presence.invite.yaml => m.presence_invite.yaml} | 2 +- api/server-server/definitions/event-schemas/m.receipt.yaml | 2 +- api/server-server/definitions/event-schemas/m.typing.yaml | 2 +- .../matrix_templates/templates/schema-definition.tmpl | 2 +- scripts/templating/matrix_templates/units.py | 1 - 8 files changed, 7 insertions(+), 8 deletions(-) rename api/server-server/definitions/event-schemas/{m.presence.accept.yaml => m.presence_accept.yaml} (97%) rename api/server-server/definitions/event-schemas/{m.presence.deny.yaml => m.presence_deny.yaml} (98%) rename api/server-server/definitions/event-schemas/{m.presence.invite.yaml => m.presence_invite.yaml} (97%) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index f9e0499b1..8d4ef6e8d 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Presence EDU +title: ``m.presence`` EDU description: |- An EDU representing presence updates for users of the sending homeserver. allOf: diff --git a/api/server-server/definitions/event-schemas/m.presence.accept.yaml b/api/server-server/definitions/event-schemas/m.presence_accept.yaml similarity index 97% rename from api/server-server/definitions/event-schemas/m.presence.accept.yaml rename to api/server-server/definitions/event-schemas/m.presence_accept.yaml index 72f932d2b..4c39989b6 100644 --- a/api/server-server/definitions/event-schemas/m.presence.accept.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_accept.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Presence Invite Accept EDU +title: ``m.presence_accept`` EDU description: |- An EDU representing approval for the observing user to subscribe to the presence of the the observed user. diff --git a/api/server-server/definitions/event-schemas/m.presence.deny.yaml b/api/server-server/definitions/event-schemas/m.presence_deny.yaml similarity index 98% rename from api/server-server/definitions/event-schemas/m.presence.deny.yaml rename to api/server-server/definitions/event-schemas/m.presence_deny.yaml index 3264a5af2..1b9bff7dc 100644 --- a/api/server-server/definitions/event-schemas/m.presence.deny.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_deny.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Presence Invite Deny EDU +title: ``m.presence_deny`` EDU description: |- An EDU representing a declination or revocation for the observing user to subscribe to the presence of the observed user. diff --git a/api/server-server/definitions/event-schemas/m.presence.invite.yaml b/api/server-server/definitions/event-schemas/m.presence_invite.yaml similarity index 97% rename from api/server-server/definitions/event-schemas/m.presence.invite.yaml rename to api/server-server/definitions/event-schemas/m.presence_invite.yaml index 8ae848721..4cdc58eba 100644 --- a/api/server-server/definitions/event-schemas/m.presence.invite.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_invite.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Presence Invite EDU +title: ``m.presence_invite`` EDU description: |- An EDU representing a request to subscribe to a user's presence. allOf: diff --git a/api/server-server/definitions/event-schemas/m.receipt.yaml b/api/server-server/definitions/event-schemas/m.receipt.yaml index 210988f98..58f47e3a0 100644 --- a/api/server-server/definitions/event-schemas/m.receipt.yaml +++ b/api/server-server/definitions/event-schemas/m.receipt.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Receipt EDU +title: ``m.receipt`` EDU description: |- An EDU representing receipt updates for users of the sending homeserver. When receiving receipts, the server should only update entries that are diff --git a/api/server-server/definitions/event-schemas/m.typing.yaml b/api/server-server/definitions/event-schemas/m.typing.yaml index 101d8d79e..34b395297 100644 --- a/api/server-server/definitions/event-schemas/m.typing.yaml +++ b/api/server-server/definitions/event-schemas/m.typing.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: Typing Notification EDU +title: ``m.typing`` EDU description: A typing notification EDU for a user in a room. allOf: - $ref: ../edu.yaml diff --git a/scripts/templating/matrix_templates/templates/schema-definition.tmpl b/scripts/templating/matrix_templates/templates/schema-definition.tmpl index 42a7ae476..e2be12e8a 100644 --- a/scripts/templating/matrix_templates/templates/schema-definition.tmpl +++ b/scripts/templating/matrix_templates/templates/schema-definition.tmpl @@ -1,6 +1,6 @@ {% import 'tables.tmpl' as tables -%} -``{{definition.title}}`` Schema +``{{definition.title}}`` schema {{(11 + definition.title | length) * title_kind}} {% if 'description' in definition %} diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index c1481430d..90a87cd47 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -49,7 +49,6 @@ SWAGGER_DEFINITIONS = { os.path.join(matrix_doc_dir, "api/identity/definitions"): "is", os.path.join(matrix_doc_dir, "api/push-gateway/definitions"): "push", os.path.join(matrix_doc_dir, "api/server-server/definitions"): "ss", - os.path.join(matrix_doc_dir, "api/server-server/definitions/presence"): "ss_presence", } EVENT_EXAMPLES = os.path.join(matrix_doc_dir, "event-schemas/examples") EVENT_SCHEMA = os.path.join(matrix_doc_dir, "event-schemas/schema") From a4015d5c273ba308475d40bb5311d279fa6cdac9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 10:58:20 -0600 Subject: [PATCH 690/801] Spelling --- api/server-server/definitions/event-schemas/m.presence.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index 8d4ef6e8d..b9c5f754f 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -56,7 +56,7 @@ allOf: type: integer format: int64 description: |- - The number of milliseconds that have ellapsed since the user + The number of milliseconds that have elapsed since the user last did something. example: 5000 currently_active: From 5b5b4cfbed2941e342dc06678d39bf00ec50d0f7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 13:38:38 -0600 Subject: [PATCH 691/801] Explicitly say how appservices should detect state events Fixes https://github.com/matrix-org/matrix-doc/issues/1014 --- api/application-service/application_service.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 42c0c0cfe..64064cbdf 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -32,6 +32,10 @@ paths: description: |- This API is called by the homeserver when it wants to push an event (or batch of events) to the application service. + + The application service should take care to ensure that it handles + state events by the presence of a ``state_key``, not by the event + type. operationId: sendTransaction parameters: - in: path @@ -44,7 +48,7 @@ paths: x-example: "35" - in: body name: body - description: A list of events + description: A list of events. schema: type: object example: { From fd101b6ac967e692e24183942f5651e4bf451a76 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 13:39:17 -0600 Subject: [PATCH 692/801] Misc language changes --- specification/application_service_api.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..3666df33f 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -1,4 +1,5 @@ .. Copyright 2016 OpenMarket Ltd +.. Copyright 2018 New Vector Ltd .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. @@ -39,7 +40,7 @@ This version of the specification is generated from Application Services -------------------- Application services are passive and can only observe events from a given -homeserver. They can inject events into rooms they are participating in. +homeserver (HS). They can inject events into rooms they are participating in. They cannot prevent events from being sent, nor can they modify the content of the event being sent. In order to observe events from a homeserver, the homeserver needs to be configured to pass certain types of traffic to the @@ -217,7 +218,8 @@ need to be able to adjust the ``origin_server_ts`` value to do this. Inputs: - Application service token (``as_token``) - - Desired timestamp + - Desired timestamp in milliseconds since the unix epoch + Notes: - This will only apply when sending events. From 7caad61b86adc8ba44b9711a3f6aa91e46ec392e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 13:40:05 -0600 Subject: [PATCH 693/801] Clearly state how the users namespace relates to interest in events Fixes https://github.com/matrix-org/matrix-doc/issues/1307 --- specification/application_service_api.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 3666df33f..5fe0aedeb 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -69,7 +69,13 @@ Registration Application services register "namespaces" of user IDs, room aliases and room IDs. These namespaces are represented as regular expressions. An application service is said to be "interested" in a given event if one of the IDs in the event match -the regular expression provided by the application service. An application +the regular expression provided by the application service, such as the room having +an alias or ID in the relevant namespaces. Similarly, the application service is +said to be interested in a given event if one of the application service's namespaced +users is the target of the event, or is a joined member of the room where the event +occurred. + +An application service can also state whether they should be the only ones who can manage a specified namespace. This is referred to as an "exclusive" namespace. An exclusive namespace prevents humans and other application From 857bcc0fe7613fa8d4623ba4ee0ee509eb528953 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 13:49:24 -0600 Subject: [PATCH 694/801] Encourage appservices to use the Authorization header This also throws in a mention about how to handle a request with a lack of user_id. The request samples now encourage the use of the header over the query string, and have had their sample values added for some readability. Fixes https://github.com/matrix-org/matrix-doc/issues/1296 Fixes https://github.com/matrix-org/matrix-doc/issues/1424 --- specification/application_service_api.rst | 36 +++++++++++++---------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..7119bd5a6 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -192,22 +192,28 @@ they wish to be acting on behalf of. For real users, this would require additional permissions granting the AS permission to masquerade as a matrix user. Inputs: - - Application service token (``access_token``) + - Application service token (``as_token``) - User ID in the AS namespace to act as. Notes: - - This will apply on all aspects of the CS API, except for Account Management. + - This will apply on all aspects of the Client-Server API, except for Account Management. - The ``as_token`` is inserted into ``access_token`` which is usually where the - client token is. This is done on purpose to allow application services to - reuse client SDKs. + client token is, such as via the query string or ``Authorization`` header. This + is done on purpose to allow application services to reuse client SDKs. + - The ``access_token`` should be supplied through the ``Authorization`` header where + possible to prevent the token appearing in HTTP request logs by accident. -:: +The application service may specify the virtual user to act as through use of a +``user_id`` query string parameter on the request. The user specified in the query +string must be covered by one of the application service's ``user`` namespaces. If +the parameter is missing, the homeserver is to assume the application service intends +to act as the user implied by the ``sender_localpart`` property of the registration. + +An example request would be:: - /path?access_token=$token&user_id=$userid + GET /_matrix/client/%CLIENT_MAJOR_VERSION%/account/whoami?user_id=@_irc_user:example.org + Authorization: Bearer YourApplicationServiceTokenHere - Query Parameters: - access_token: The application service token - user_id: The desired user ID to act as. Timestamp massaging +++++++++++++++++++ @@ -223,11 +229,10 @@ Notes: :: - /path?access_token=$token&ts=$timestamp + PUT /_matrix/client/r0/rooms/!somewhere:domain.com/send/m.room.message/txnId?ts=1534535223283 + Authorization: Bearer YourApplicationServiceTokenHere - Query Parameters added to the send event APIs only: - access_token: The application service token - ts: The desired timestamp + Content: The event to send, as per the Client-Server API. Server admin style permissions ++++++++++++++++++++++++++++++ @@ -250,12 +255,13 @@ including the AS token on a ``/register`` request, along with a login type of :: - /register?access_token=$as_token + POST /_matrix/client/%CLIENT_MAJOR_VERSION%/register + Authorization: Bearer YourApplicationServiceTokenHere Content: { type: "m.login.application_service", - username: "<desired user localpart in AS namespace>" + username: "_irc_example" } Application services which attempt to create users or aliases *outside* of From 205b326e4a393eb5f32d72f3154f7ea33096d8ba Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:03:30 -0600 Subject: [PATCH 695/801] Add a note that application services cannot /sync normally Fixes https://github.com/matrix-org/matrix-doc/issues/1144 --- specification/application_service_api.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..1f1c8b5bf 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -264,6 +264,14 @@ normal users who attempt to create users or aliases *inside* an application service-defined namespace will receive the same ``M_EXCLUSIVE`` error code, but only if the application service has defined the namespace as ``exclusive``. +Using ``/sync`` and ``/events`` ++++++++++++++++++++++++++++++++ + +Application services wishing to use ``/sync`` or ``/events`` from the Client-Server +API MUST do so with a virtual user (provide a ``user_id`` via the query string). It +is expectected that the application service use the transactions pushed to it to +handle events rather than syncing with the user implied by ``sender_localpart``. + ID conventions ~~~~~~~~~~~~~~ .. TODO-spec From 954498bf7877af3d67b9d08096e0cddfbe3360b5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:13:56 -0600 Subject: [PATCH 696/801] Recommend that application services use an underscore for namespacing Fixes https://github.com/matrix-org/matrix-doc/issues/689 --- specification/application_service_api.rst | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..778d2e816 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -83,7 +83,7 @@ regular expressions and look like: users: - exclusive: true - regex: @irc.freenode.net_.* + regex: @_irc.freenode.net_.* The registration is represented by a series of key-value pairs, which this @@ -105,12 +105,17 @@ traffic to the AS is: aliases: [] # Namespaces of room aliases which should be delegated to the AS rooms: [] # Namespaces of room ids which should be delegated to the AS +Exclusive user and alias namespaces should begin with an underscore after the +sigil to avoid collisions with other users on the homeserver. Application +services should additionally attempt to identify the service they represent +in the reserved namespace. For example, ``@_irc_.*`` would be a good namespace +to register for an application service which deals with IRC. + .. WARNING:: If the homeserver in question has multiple application services, each ``as_token`` and ``id`` MUST be unique per application service as these are used to identify the application service. The homeserver MUST enforce this. - Homeserver -> Application Service API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 069a2f74811d489e763fc152cbe386f733dec83b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:22:06 -0600 Subject: [PATCH 697/801] Split the query user and room APIs out to their own files --- .../application_service.yaml | 115 ------------------ api/application-service/query_room.yaml | 86 +++++++++++++ api/application-service/query_user.yaml | 83 +++++++++++++ specification/application_service_api.rst | 4 + 4 files changed, 173 insertions(+), 115 deletions(-) create mode 100644 api/application-service/query_room.yaml create mode 100644 api/application-service/query_user.yaml diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 42c0c0cfe..e5e22c9b7 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -92,121 +92,6 @@ paths: } schema: type: object - "/rooms/{roomAlias}": - get: - summary: Query if a room alias should exist on the application service. - description: |- - This endpoint is invoked by the homeserver on an application service to query - the existence of a given room alias. The homeserver will only query room - aliases inside the application service's ``aliases`` namespace. The - homeserver will send this request when it receives a request to join a - room alias within the application service's namespace. - operationId: queryRoomByAlias - parameters: - - in: path - name: roomAlias - type: string - description: The room alias being queried. - required: true - x-example: "#magicforest:example.com" - responses: - 200: - description: |- - The application service indicates that this room alias exists. The - application service MUST have created a room and associated it with - the queried room alias using the client-server API. Additional - information about the room such as its name and topic can be set - before responding. - examples: - application/json: { - } - schema: - type: object - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: |- - The application service indicates that this room alias does not exist. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - "/users/{userId}": - get: - summary: Query if a user should exist on the application service. - description: |- - This endpoint is invoked by the homeserver on an application service to query - the existence of a given user ID. The homeserver will only query user IDs - inside the application service's ``users`` namespace. The homeserver will - send this request when it receives an event for an unknown user ID in - the application service's namespace. - operationId: queryUserById - parameters: - - in: path - name: userId - type: string - description: The user ID being queried. - required: true - x-example: "@alice:example.com" - responses: - 200: - description: |- - The application service indicates that this user exists. The application - service MUST create the user using the client-server API. - examples: - application/json: { - } - schema: - type: object - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: |- - The application service indicates that this user does not exist. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. diff --git a/api/application-service/query_room.yaml b/api/application-service/query_room.yaml new file mode 100644 index 000000000..e898f1035 --- /dev/null +++ b/api/application-service/query_room.yaml @@ -0,0 +1,86 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Application Service API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: "/" +consumes: + - application/json +produces: + - application/json +paths: + "/rooms/{roomAlias}": + get: + summary: Query if a room alias should exist on the application service. + description: |- + This endpoint is invoked by the homeserver on an application service to query + the existence of a given room alias. The homeserver will only query room + aliases inside the application service's ``aliases`` namespace. The + homeserver will send this request when it receives a request to join a + room alias within the application service's namespace. + operationId: queryRoomByAlias + parameters: + - in: path + name: roomAlias + type: string + description: The room alias being queried. + required: true + x-example: "#magicforest:example.com" + responses: + 200: + description: |- + The application service indicates that this room alias exists. The + application service MUST have created a room and associated it with + the queried room alias using the client-server API. Additional + information about the room such as its name and topic can be set + before responding. + examples: + application/json: { + } + schema: + type: object + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: |- + The application service indicates that this room alias does not exist. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml diff --git a/api/application-service/query_user.yaml b/api/application-service/query_user.yaml new file mode 100644 index 000000000..4f699ad6a --- /dev/null +++ b/api/application-service/query_user.yaml @@ -0,0 +1,83 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Application Service API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: "/" +consumes: + - application/json +produces: + - application/json +paths: + "/users/{userId}": + get: + summary: Query if a user should exist on the application service. + description: |- + This endpoint is invoked by the homeserver on an application service to query + the existence of a given user ID. The homeserver will only query user IDs + inside the application service's ``users`` namespace. The homeserver will + send this request when it receives an event for an unknown user ID in + the application service's namespace. + operationId: queryUserById + parameters: + - in: path + name: userId + type: string + description: The user ID being queried. + required: true + x-example: "@alice:example.com" + responses: + 200: + description: |- + The application service indicates that this user exists. The application + service MUST create the user using the client-server API. + examples: + application/json: { + } + schema: + type: object + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: |- + The application service indicates that this user does not exist. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index b4950eac0..cde22a89a 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -172,6 +172,10 @@ application services MUST implement these APIs. These APIs are defined below. {{application_service_as_http_api}} +{{query_user_as_http_api}} + +{{query_room_as_http_api}} + .. _create the user: `sect:asapi-permissions`_ From 95b2b7c2bcf5249c190e3ee4b56fe9c34b8041f0 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:30:42 -0600 Subject: [PATCH 698/801] Move query APIs to the right heading Fixes https://github.com/matrix-org/matrix-doc/issues/1325 Addresses some of https://github.com/matrix-org/matrix-doc/issues/1532 --- specification/application_service_api.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index cde22a89a..824139f03 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -163,6 +163,10 @@ this request (e.g. to join a room alias). the application service about information about the entity such as room ID to room alias mappings. +{{query_user_as_http_api}} + +{{query_room_as_http_api}} + HTTP APIs +++++++++ @@ -172,10 +176,6 @@ application services MUST implement these APIs. These APIs are defined below. {{application_service_as_http_api}} -{{query_user_as_http_api}} - -{{query_room_as_http_api}} - .. _create the user: `sect:asapi-permissions`_ From 0863c5452e95518f7047d6b9ced3e7e7141885d4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:31:21 -0600 Subject: [PATCH 699/801] Take out the false third party network endpoints Fixes https://github.com/matrix-org/matrix-doc/issues/800 --- specification/application_service_api.rst | 73 +---------------------- 1 file changed, 3 insertions(+), 70 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 824139f03..534f1ac02 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -268,78 +268,11 @@ normal users who attempt to create users or aliases *inside* an application service-defined namespace will receive the same ``M_EXCLUSIVE`` error code, but only if the application service has defined the namespace as ``exclusive``. -ID conventions -~~~~~~~~~~~~~~ -.. TODO-spec - - Giving HSes the freedom to namespace still feels like the Right Thing here. - - Exposing a public API provides the consistency which was the main complaint - against namespacing. - - This may have knock-on effects for the AS registration API. E.g. why don't - we let ASes specify the *URI* regex they want? - -This concerns the well-defined conventions for mapping 3P network IDs to matrix -IDs, which we expect clients to be able to do by themselves. - -User IDs -++++++++ -Matrix users may wish to directly contact a virtual user, e.g. to send an email. -The URI format is a well-structured way to represent a number of different ID -types, including: - -- MSISDNs (``tel``) -- Email addresses (``mailto``) -- IRC nicks (``irc`` - https://tools.ietf.org/html/draft-butcher-irc-url-04) -- XMPP (XEP-0032) -- SIP URIs (RFC 3261) - -As a result, virtual user IDs SHOULD relate to their URI counterpart. This -mapping from URI to user ID can be expressed in a number of ways: - -- Expose a C-S API on the HS which takes URIs and responds with user IDs. -- Munge the URI with the user ID. - -Exposing an API would allow HSes to internally map user IDs however they like, -at the cost of an extra round trip (of which the response can be cached). -Munging the URI would allow clients to apply the mapping locally, but would force -user X on service Y to always map to the same munged user ID. Considering the -exposed API could just be applying this munging, there is more flexibility if -an API is exposed. - -:: - - GET /_matrix/app/%CLIENT_MAJOR_VERSION%/user?uri=$url_encoded_uri - - Returns 200 OK: - { - user_id: <complete user ID on local HS> - } - -Room Aliases -++++++++++++ -We may want to expose some 3P network rooms so Matrix users can join them directly, -e.g. IRC rooms. We don't want to expose every 3P network room though, e.g. -``mailto``, ``tel``. Rooms which are publicly accessible (e.g. IRC rooms) can be -exposed as an alias by the application service. Private rooms -(e.g. sending an email to someone) should not -be exposed in this way, but should instead operate using normal invite/join semantics. -Therefore, the ID conventions discussed below are only valid for public rooms which -expose room aliases. - -Matrix users may wish to join XMPP rooms (e.g. using XEP-0045) or IRC rooms. In both -cases, these rooms can be expressed as URIs. For consistency, these "room" URIs -SHOULD be mapped in the same way as "user" URIs. - -:: - - GET /_matrix/app/%CLIENT_MAJOR_VERSION%/alias?uri=$url_encoded_uri +Event fields +~~~~~~~~~~~~ - Returns 200 OK: - { - alias: <complete room alias on local HS> - } +.. TODO-TravisR: Fix this section to be a general "3rd party networks" section -Event fields -++++++++++++ We recommend that any events that originated from a remote network should include an ``external_url`` field in their content to provide a way for Matrix clients to link into the 'native' client from which the event originated. From 60b8e72a67cb81b868cc74640d35455cd23c8bd1 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 17 Aug 2018 15:44:46 -0600 Subject: [PATCH 700/801] Minor text changes to the query APIs; Keep OpenMarket copyright The bulk of these APIs were copied from OpenMarket's work - we should preserve the copyright header. --- api/application-service/query_room.yaml | 6 +++--- api/application-service/query_user.yaml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/application-service/query_room.yaml b/api/application-service/query_room.yaml index e898f1035..7a5a7e54a 100644 --- a/api/application-service/query_room.yaml +++ b/api/application-service/query_room.yaml @@ -1,3 +1,4 @@ +# Copyright 2016 OpenMarket Ltd # Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +40,7 @@ paths: - in: path name: roomAlias type: string - description: The room alias being queried. + description: The URL encoded room alias being queried. required: true x-example: "#magicforest:example.com" responses: @@ -51,8 +52,7 @@ paths: information about the room such as its name and topic can be set before responding. examples: - application/json: { - } + application/json: {} schema: type: object 401: diff --git a/api/application-service/query_user.yaml b/api/application-service/query_user.yaml index 4f699ad6a..4d1e9f44b 100644 --- a/api/application-service/query_user.yaml +++ b/api/application-service/query_user.yaml @@ -1,3 +1,4 @@ +# Copyright 2016 OpenMarket Ltd # Copyright 2018 New Vector Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,13 +34,13 @@ paths: the existence of a given user ID. The homeserver will only query user IDs inside the application service's ``users`` namespace. The homeserver will send this request when it receives an event for an unknown user ID in - the application service's namespace. + the application service's namespace, such as a room invite. operationId: queryUserById parameters: - in: path name: userId type: string - description: The user ID being queried. + description: The URL encoded user ID being queried. required: true x-example: "@alice:example.com" responses: @@ -48,8 +49,7 @@ paths: The application service indicates that this user exists. The application service MUST create the user using the client-server API. examples: - application/json: { - } + application/json: {} schema: type: object 401: From ab3272045e43679d42e05120ea251db7c7dda62c Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 5 Jun 2018 15:12:25 +0200 Subject: [PATCH 701/801] add missing v1 to m.olm in /keys/upload --- api/client-server/keys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 6e995c2ce..457311cfe 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -194,7 +194,7 @@ paths: "user_id": "@alice:example.com", "device_id": "JLAFKJWSCS", "algorithms": [ - "m.olm.curve25519-aes-sha256", + "m.olm.v1.curve25519-aes-sha256", "m.megolm.v1.aes-sha" ], "keys": { From e210f8b05005f17dfe957d9bae01a2c0dd1e84cf Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Wed, 6 Jun 2018 16:08:00 +0200 Subject: [PATCH 702/801] add e2e messaging algorithms section intro This was written by Richard van der Hoff. --- .../modules/end_to_end_encryption.rst | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 1f778bc2c..081382709 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -228,6 +228,28 @@ A homeserver should rate-limit the number of one-time keys that a given user or remote server can claim. A homeserver should discard the public part of a one time key once it has given that key to another user. +Messaging Algorithms +-------------------- + +Messaging Algorithm Names +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Messaging algorithm names use the extensible naming scheme used throughout this +specification. Algorithm names that start with ``m.`` are reserved for +algorithms defined by this specification. Implementations wanting to experiment +with new algorithms are encouraged to pick algorithm names that start with +their domain to reduce the risk of collisions. + +Algorithm names should be short and meaningful, and should list the primitives +used by the algorithm so that it is easier to see if the algorithm is using a +broken primitive. + +A name of ``m.olm.v1`` is too short: it gives no information about the primitives +in use, and is difficult to extend for different primitives. However a name of +``m.olm.v1.ecdh-curve25519-hdkfsha256.hmacsha256.hkdfsha256-aes256-cbc-hmac64sha256`` +is too long despite giving a more precise description of the algorithm: it adds +to the data transfer overhead and sacrifices clarity for human readers without +adding any useful extra information. Protocol definitions -------------------- From 33802dbbafd0be45ad5abb1e4eb5285fd57a1a04 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Wed, 6 Jun 2018 16:10:36 +0200 Subject: [PATCH 703/801] add olm messaging algorithm subsection This was written by Richard van der Hoff. --- .../modules/end_to_end_encryption.rst | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 081382709..1a58ee31e 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -251,6 +251,76 @@ is too long despite giving a more precise description of the algorithm: it adds to the data transfer overhead and sacrifices clarity for human readers without adding any useful extra information. +``m.olm.v1.curve25519-aes-sha2`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The name ``m.olm.v1.curve25519-aes-sha2`` corresponds to version 1 of the Olm +ratchet, as defined by the `Olm specification`_. This uses: + +* Curve25519 for the initial key agreement. +* HKDF-SHA-256 for ratchet key derivation. +* Curve25519 for the root key ratchet. +* HMAC-SHA-256 for the chain key ratchet. +* HKDF-SHA-256, AES-256 in CBC mode, and 8 byte truncated HMAC-SHA-256 for authenticated encryption. + +Devices that support Olm must include "m.olm.v1.curve25519-aes-sha2" in their +list of supported messaging algorithms, must list a Curve25519 device key, and +must publish Curve25519 one-time keys. + +An event encrypted using Olm has the following format: + +.. code:: json + + { + "type": "m.room.encrypted", + "content": { + "algorithm": "m.olm.v1.curve25519-aes-sha2", + "sender_key": "<sender_curve25519_key>", + "ciphertext": { + "<device_curve25519_key>": { + "type": 0, + "body": "<base_64>" + } } } } + +``ciphertext`` is a mapping from device Curve25519 key to an encrypted payload +for that device. ``body`` is a Base64-encoded Olm message body. ``type`` is an +integer indicating the type of the message body: 0 for the initial pre-key +message, 1 for ordinary messages. + +Olm sessions will generate messages with a type of 0 until they receive a +message. Once a session has decrypted a message it will produce messages with +a type of 1. + +When a client receives a message with a type of 0 it must first check if it +already has a matching session. If it does then it will use that session to +try to decrypt the message. If there is no existing session then the client +must create a new session and use the new session to decrypt the message. A +client must not persist a session or remove one-time keys used by a session +until it has successfully decrypted a message using that session. + +Messages with type 1 can only be decrypted with an existing session. If there +is no matching session, the client should show this as an invalid message. + +The plaintext payload is of the form: + +.. code:: json + + { + "type": "<type of the plaintext event>", + "content": "<content for the plaintext event>", + "room_id": "<the room_id>", + } + +The type and content of the plaintext message event are given in the payload. + +We include the room ID in the payload, because otherwise the homeserver would +be able to change the room a message was sent in. + +.. TODO: claimed_keys + +Clients must confirm that the ``sender_key`` belongs to the user that sent the +message. TODO: how? + Protocol definitions -------------------- @@ -310,6 +380,7 @@ Example response: .. _ed25519: http://ed25519.cr.yp.to/ .. _curve25519: https://cr.yp.to/ecdh.html +.. _`Olm specification`: http://matrix.org/docs/spec/olm.html .. _`Signing JSON`: ../appendices.html#signing-json From 07e3de3c61cbb5b379477de5856829a449e33ff1 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Wed, 6 Jun 2018 16:12:31 +0200 Subject: [PATCH 704/801] add megolm messaging algorithm subsection This was written by Richard van der Hoff. --- specification/modules/end_to_end_encryption.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 1a58ee31e..e2cb54e52 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -321,6 +321,17 @@ be able to change the room a message was sent in. Clients must confirm that the ``sender_key`` belongs to the user that sent the message. TODO: how? +``m.megolm.v1.aes-sha2`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +The name ``m.megolm.v1.aes-sha2`` corresponds to version 1 of the Megolm +ratchet, as defined by the `Megolm specification`_. This uses: + +* HMAC-SHA-256 for the hash ratchet. +* HKDF-SHA-256, AES-256 in CBC mode, and 8 byte truncated HMAC-SHA-256 for authenticated encryption. +* Ed25519 for message authenticity. + + Protocol definitions -------------------- @@ -381,6 +392,7 @@ Example response: .. _ed25519: http://ed25519.cr.yp.to/ .. _curve25519: https://cr.yp.to/ecdh.html .. _`Olm specification`: http://matrix.org/docs/spec/olm.html +.. _`Megolm specification`: http://matrix.org/docs/spec/megolm.html .. _`Signing JSON`: ../appendices.html#signing-json From 2686b990806e59cce7cad07fcc4d03ea7eba13d5 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Wed, 6 Jun 2018 16:23:32 +0200 Subject: [PATCH 705/801] fix json indent --- specification/modules/end_to_end_encryption.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index e2cb54e52..68e030e10 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -274,13 +274,16 @@ An event encrypted using Olm has the following format: { "type": "m.room.encrypted", "content": { - "algorithm": "m.olm.v1.curve25519-aes-sha2", + "algorithm": "m.olm.v1.curve25519-aes-sha2", "sender_key": "<sender_curve25519_key>", "ciphertext": { "<device_curve25519_key>": { "type": 0, "body": "<base_64>" - } } } } + } + } + } + } ``ciphertext`` is a mapping from device Curve25519 key to an encrypted payload for that device. ``body`` is a Base64-encoded Olm message body. ``type`` is an From 8afc82c14b70d23f7133470ed9304b2031e3a55b Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Mon, 11 Jun 2018 11:48:20 +0200 Subject: [PATCH 706/801] fix /keys/claim request example It didn't correspond to the example response. --- api/client-server/keys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 457311cfe..55f8a5a53 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -247,7 +247,7 @@ paths: description: algorithm example: "signed_curve25519" example: - "@alice:example.com": { "JLAFKJWSCS": "curve25519" } + "@alice:example.com": { "JLAFKJWSCS": "signed_curve25519" } required: - one_time_keys responses: From 10c3307427808da03aed24165b17c4911486b3b0 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Mon, 11 Jun 2018 15:18:59 +0200 Subject: [PATCH 707/801] document device_one_time_keys_count in /sync/ response fix #1157 --- api/client-server/sync.yaml | 8 ++++++++ specification/modules/end_to_end_encryption.rst | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 34659dd06..4b44c20e1 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -253,6 +253,14 @@ paths: description: |- Information on end-to-end device updates, as specified in |device_lists_sync|_. + device_one_time_keys_count: + title: One-time keys count + type: object + additionalProperties: + type: integer + description: |- + Information on end-to-end encryption keys, as specified + in |device_lists_sync|_. examples: application/json: { "next_batch": "s72595_4483_1934", diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 68e030e10..b030ab642 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -355,6 +355,9 @@ specified). The client is expected to use |/keys/query|_ or |/keys/changes|_ for the equivalent functionality after an initial sync, as documented in `Tracking the device list for a user`_. +It also adds a ``one_time_keys_count`` property. Note the spelling difference +with the ``one_time_key_counts`` property in the |/keys/upload|_ response. + .. todo: generate this from a swagger definition? .. device_lists: { changed: ["@user:server", ... ]}, @@ -364,6 +367,9 @@ Parameter Type Description ============ =========== ===================================================== device_lists DeviceLists Optional. Information on e2e device updates. Note: only present on an incremental sync. +|device_otk| {string: Optional. For each key algorithm, the number of + integer} unclaimed one-time keys currently held on the server + for this device. ============ =========== ===================================================== ``DeviceLists`` @@ -388,6 +394,10 @@ Example response: "@alice:example.com", ], }, + "device_one_time_keys_count": { + "curve25519": 10, + "signed_curve25519": 20 + } } .. References @@ -400,6 +410,7 @@ Example response: .. _`Signing JSON`: ../appendices.html#signing-json .. |m.olm.v1.curve25519-aes-sha2| replace:: ``m.olm.v1.curve25519-aes-sha2`` +.. |device_otk| replace:: device_one_time_keys_count .. |/keys/upload| replace:: ``/keys/upload`` .. _/keys/upload: #post-matrix-client-%CLIENT_MAJOR_VERSION%-keys-upload From a28f243ed7fe9b4677fc5d970ff4ae494bdc2ba8 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Mon, 11 Jun 2018 15:44:17 +0200 Subject: [PATCH 708/801] document left parameter of device_lists in sync response fix #1171 --- specification/modules/end_to_end_encryption.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index b030ab642..3bcfbd2d1 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -379,6 +379,8 @@ Parameter Type Description ========= ========= ============================================= changed [string] List of users who have updated their device identity keys since the previous sync response. +left [string] List of users with whom we do not share any encrypted rooms + anymore since the previous sync response. ========= ========= ============================================= @@ -393,6 +395,9 @@ Example response: "changed": [ "@alice:example.com", ], + "left": [ + "@bob:example.com", + ], }, "device_one_time_keys_count": { "curve25519": 10, From 8274f91b0b121205584bbf53878720ea9b365cc3 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 17:35:38 +0200 Subject: [PATCH 709/801] document device verification This was written by Richard van der Hoff. --- .../modules/end_to_end_encryption.rst | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 3bcfbd2d1..dbd6cb43b 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -228,6 +228,54 @@ A homeserver should rate-limit the number of one-time keys that a given user or remote server can claim. A homeserver should discard the public part of a one time key once it has given that key to another user. +Device verification +------------------- + +Before Alice sends Bob encrypted data, or trusts data received from him, she +may want to verify that she is actually communicating with him, rather than a +man-in-the-middle. This verification process requires an out-of-band channel: +there is no way to do it within Matrix without trusting the administrators of +the homeservers. + +In Matrix, the basic process for device verification is for Alice to verify +that the public Ed25519 signing key she received via ``/keys/query`` for Bob's +device corresponds to the private key in use by Bob's device. For now, it is +recommended that clients provide mechanisms by which the user can see: + +1. The public part of their device's Ed25519 signing key, encoded using + `unpadded Base64`_. + +2. The list of devices in use for each user in a room, along with the public + Ed25519 signing key for each device, again encoded using unpadded Base64. + +Alice can then meet Bob in person, or contact him via some other trusted +medium, and ask him to read out the Ed25519 key shown on his device. She +compares this with the value shown for his device on her client. + +Device verification may reach one of several conclusions. For example: + +* Alice may "accept" the device. This means that she is satisfied that the + device belongs to Bob. She can then encrypt sensitive material for that + device, and knows that messages received were sent from that device. + +* Alice may "reject" the device. She will do this if she knows or suspects + that Bob does not control that device (or equivalently, does not trust + Bob). She will not send sensitive material to that device, and cannot trust + messages apparently received from it. + +* Alice may choose to skip the device verification process. She is not able + to verify that the device actually belongs to Bob, but has no reason to + suspect otherwise. The encryption protocol continues to protect against + passive eavesdroppers. + +.. NOTE:: + + Once the signing key has been verified, it is then up to the encryption + protocol to verify that a given message was sent from a device holding that + Ed25519 private key, or to encrypt a message so that it may only be + decrypted by such a device. For the Olm protocol, this is documented at + https://matrix.org/git/olm/about/docs/signing.rst. + Messaging Algorithms -------------------- From 76071bae988ff3f3dea5c7b6e7b6210f84ebe3c1 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 17:55:54 +0200 Subject: [PATCH 710/801] explain how to verify sender_key ownership --- specification/modules/end_to_end_encryption.rst | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index dbd6cb43b..078b3f99a 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -360,6 +360,9 @@ The plaintext payload is of the form: "type": "<type of the plaintext event>", "content": "<content for the plaintext event>", "room_id": "<the room_id>", + "keys": { + "ed25519": "<sender_ed25519_key>" + } } The type and content of the plaintext message event are given in the payload. @@ -367,10 +370,12 @@ The type and content of the plaintext message event are given in the payload. We include the room ID in the payload, because otherwise the homeserver would be able to change the room a message was sent in. -.. TODO: claimed_keys - -Clients must confirm that the ``sender_key`` belongs to the user that sent the -message. TODO: how? +Clients must confirm that the ``sender_key`` and the ``ed25519`` field value +under the ``keys`` property match the keys returned by |/keys/query|_ for +the given user, and must also verify the signature of the payload. Without +this check, a client cannot be sure that the sender device owns the private +part of the ed25519 key it claims to have in the Olm payload. +This is crucial when the ed25519 key corresponds to a verified device. ``m.megolm.v1.aes-sha2`` ~~~~~~~~~~~~~~~~~~~~~~~~ From 669605b24a2e09066ffaafc82ecb701737cfe508 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 19:53:05 +0200 Subject: [PATCH 711/801] add Olm missing properties --- specification/modules/end_to_end_encryption.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 078b3f99a..50a14f729 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -360,6 +360,11 @@ The plaintext payload is of the form: "type": "<type of the plaintext event>", "content": "<content for the plaintext event>", "room_id": "<the room_id>", + "sender": "<sender_user_id>", + "recipient": "<recipient_user_id>", + "recipient_keys": { + "ed25519": "<our_ed25519_key>" + }, "keys": { "ed25519": "<sender_ed25519_key>" } @@ -370,6 +375,12 @@ The type and content of the plaintext message event are given in the payload. We include the room ID in the payload, because otherwise the homeserver would be able to change the room a message was sent in. +Other properties are included in order to prevent an attacker from publishing +someone else's curve25519 keys as their own and subsequently claiming to have +sent messages which they didn't. +``sender`` must correspond to the user who sent the event, ``recipient`` to +the local user, and ``recipient_keys`` to the local ed25519 key. + Clients must confirm that the ``sender_key`` and the ``ed25519`` field value under the ``keys`` property match the keys returned by |/keys/query|_ for the given user, and must also verify the signature of the payload. Without From 68b78dc5d8dd11233a8230dd1d34c5f4cd26b17f Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 20:56:37 +0200 Subject: [PATCH 712/801] complete Megolm documentation --- .../modules/end_to_end_encryption.rst | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 50a14f729..5ea84a3f1 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -327,7 +327,7 @@ An event encrypted using Olm has the following format: "ciphertext": { "<device_curve25519_key>": { "type": 0, - "body": "<base_64>" + "body": "<encrypted_payload_base_64>" } } } @@ -398,6 +398,53 @@ ratchet, as defined by the `Megolm specification`_. This uses: * HKDF-SHA-256, AES-256 in CBC mode, and 8 byte truncated HMAC-SHA-256 for authenticated encryption. * Ed25519 for message authenticity. +Devices that support Megolm must support Olm, and include "m.megolm.v1.aes-sha2" in +their list of supported messaging algorithms. + +An event encrypted using Megolm has the following format: + +.. code:: json + + { + "type": "m.room.encrypted", + "content": { + "algorithm": "m.megolm.v1.aes-sha2", + "sender_key": "<sender_curve25519_key>", + "device_id": "<sender_device_id>", + "session_id": "<outbound_group_session_id>", + "ciphertext": "<encypted_payload_base_64>" + } + } + +The encrypted payload can contain any message event. The plaintext is of the form: + +.. code:: json + + { + "type": "<event_type>", + "content": "<event_content>", + "room_id": "<the room_id>" + } + +Clients must guard against replay attacks by keeping track of the ratchet indices +of Megolm sessions. They should reject messages with a ratchet index that they +have already decrypted. Care should be taken in order to avoid false positives, as a +client may decrypt the same event twice as part of its normal processing. + +As with Olm events, clients must confirm that the ``sender_key`` belongs to the user +who sent the message. The same reasoning applies, but the sender ed25519 key has to be +inferred from the ``keys.ed25519`` property of the event which established the Megolm +session. + +In order to enable end-to-end encryption in a room, clients can send a +``m.room.encryption`` state event specifying ``m.megolm.v1.aes-sha2`` as its +``algorithm`` property. + +When creating a Megolm session in a room, clients must share the corresponding session +key using Olm with the intended recipients, so that they can decrypt future messages +encrypted using this session. A ``m.room_key`` event is used to do this. Clients +must also handle ``m.room_key`` events sent by other devices in order to decrypt their +messages. Protocol definitions -------------------- From e5005b2d0f6ee756dab5e80df448ce6de9afcc6a Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 20:58:18 +0200 Subject: [PATCH 713/801] document E2E events This was written by Richard van der Hoff. --- event-schemas/examples/m.room.encrypted | 17 ++++++++++ event-schemas/examples/m.room.encryption | 10 ++++++ event-schemas/examples/m.room_key | 9 +++++ event-schemas/schema/m.room.encrypted | 34 +++++++++++++++++++ event-schemas/schema/m.room.encryption | 24 +++++++++++++ event-schemas/schema/m.room_key | 24 +++++++++++++ .../modules/end_to_end_encryption.rst | 12 +++++++ 7 files changed, 130 insertions(+) create mode 100644 event-schemas/examples/m.room.encrypted create mode 100644 event-schemas/examples/m.room.encryption create mode 100644 event-schemas/examples/m.room_key create mode 100644 event-schemas/schema/m.room.encrypted create mode 100644 event-schemas/schema/m.room.encryption create mode 100644 event-schemas/schema/m.room_key diff --git a/event-schemas/examples/m.room.encrypted b/event-schemas/examples/m.room.encrypted new file mode 100644 index 000000000..a0360963d --- /dev/null +++ b/event-schemas/examples/m.room.encrypted @@ -0,0 +1,17 @@ +{ + "content": { + "algorithm": "m.megolm.v1.aes-sha2", + "ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg2yyOwAtHaZTwyNg37afzg8f3r9IsN9rH4RNFg7MaZencUJe4qvELiDiopUjy5wYVDAtqdBzer5bWRD9ldxp1FLgbQvBcjkkywYjCsmsq6+hArILd9oAQZnGKn/qLsK+5uNX3PaWzDRC9wZPQvWYYPCTov3jCwXKTPsLKIiTrcCXDqMvnn8m+T3zF1/I2zqxg158tnUwWWIw51UO", + "device_id": "RJYKSTBOIE", + "sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA", + "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ" + }, + "event_id": "$WLGTSEFSEF:localhost", + "origin_server_ts": 1476648761524, + "sender": "@example:localhost", + "type": "m.room.encrypted", + "unsigned": { + "age": 158, + "transaction_id": "m1476648745605.19" + } +} diff --git a/event-schemas/examples/m.room.encryption b/event-schemas/examples/m.room.encryption new file mode 100644 index 000000000..25b1271f9 --- /dev/null +++ b/event-schemas/examples/m.room.encryption @@ -0,0 +1,10 @@ +{ + "content": { + "algorithm": "m.megolm.v1.aes-sha2" + }, + "event_id": "$WLGTSEFJJKJ:localhost", + "origin_server_ts": 1476648761524, + "sender": "@example:localhost", + "state_key": "", + "type": "m.room.encryption" +} diff --git a/event-schemas/examples/m.room_key b/event-schemas/examples/m.room_key new file mode 100644 index 000000000..2348e47d8 --- /dev/null +++ b/event-schemas/examples/m.room_key @@ -0,0 +1,9 @@ +{ + "content": { + "algorithm": "m.megolm.v1.aes-sha2", + "room_id": "!UCnwUWwIKhcpaPTHtR:sw1v.org", + "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ", + "session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEYbf8q5V1G7D/0GHj81JbEFsaE8JOHXJCyIqUGU9svVEi52SAGiC4lpID43TAeGfYc64rUsBx5ovhZl8WrdszLxld29I+7H9e8GZt/NVd/ZQEBBfOv3vrgoODT3WpJiWZ7VEIjL6gspKkkRTDcmwYU6Eff+A11iJ2tEC9njtCeNfTrK7XUIPoXkHWmEjPwqdSQi9pqVb1OYRKT7un7WFJzo0WEw8xjo6wyEolSikaBr3/o8FhoIMIA9KvbjR4y1WDg" + }, + "type": "m.room_key" +} diff --git a/event-schemas/schema/m.room.encrypted b/event-schemas/schema/m.room.encrypted new file mode 100644 index 000000000..cf3e4b4a1 --- /dev/null +++ b/event-schemas/schema/m.room.encrypted @@ -0,0 +1,34 @@ +--- +allOf: + # this is a bit of a lie; if the event is sent as a to-device event it won't + # have the room event fields. We really ought to use different event types :/ + - $ref: core-event-schema/room_event.yaml + +description: |- + This event type is used when sending encrypted events. It can be used either + within a room (in which case it will have all of the `Room Event fields`_), or + as a `to-device`_ event. + +properties: + content: + properties: + algorithm: + type: string + description: |- + The encryption algorithm used to encrypt this event. The + value of this field determines which other properties will be + present. + ciphertext: + type: + - object + - string + description: |- + Normally required. The encrypted content of the event. + required: + - algorithm + type: object + type: + enum: + - m.room.encrypted + type: string +type: object diff --git a/event-schemas/schema/m.room.encryption b/event-schemas/schema/m.room.encryption new file mode 100644 index 000000000..14778efa4 --- /dev/null +++ b/event-schemas/schema/m.room.encryption @@ -0,0 +1,24 @@ +--- +allOf: + - $ref: core-event-schema/state_event.yaml +description: Defines how messages sent in this room should be encrypted. +properties: + content: + properties: + algorithm: + type: string + description: |- + The encryption algorithm to be used to encrypt messages sent in this + room. For example, ``m.megolm.v1.aes-sha2``. + required: + - algorithm + type: object + state_key: + description: A zero-length string. + pattern: '^$' + type: string + type: + enum: + - m.room.encryption + type: string +type: object diff --git a/event-schemas/schema/m.room_key b/event-schemas/schema/m.room_key new file mode 100644 index 000000000..f5e4ac296 --- /dev/null +++ b/event-schemas/schema/m.room_key @@ -0,0 +1,24 @@ +--- +allOf: + - $ref: core-event-schema/event.yaml + +description: |- + This event type is used to exchange keys for end-to-end encryption. Typically + it is encrypted as an ``m.room.encrypted`` event. +properties: + content: + properties: + algorithm: + type: string + description: |- + The encryption algorithm the keys in this event are to be used + with. The value of this field determines which other properties will + be present. + required: + - algorithm + type: object + type: + enum: + - m.room_key + type: string +type: object diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 5ea84a3f1..c43f81c4e 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -449,6 +449,18 @@ messages. Protocol definitions -------------------- +Events +~~~~~~ + +{{m_room_encryption_event}} + +{{m_room_encrypted_event}} + +{{m_room_key_event}} + +Key management API +~~~~~~~~~~~~~~~~~~ + {{keys_cs_http_api}} From 3a8d13df602bb97f1c2a580c33eda487c02f0540 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 21:25:41 +0200 Subject: [PATCH 714/801] add missing m.room.encryption properties --- event-schemas/examples/m.room.encryption | 4 +++- event-schemas/schema/m.room.encryption | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/event-schemas/examples/m.room.encryption b/event-schemas/examples/m.room.encryption index 25b1271f9..4c6342bb1 100644 --- a/event-schemas/examples/m.room.encryption +++ b/event-schemas/examples/m.room.encryption @@ -1,6 +1,8 @@ { "content": { - "algorithm": "m.megolm.v1.aes-sha2" + "algorithm": "m.megolm.v1.aes-sha2", + "rotation_period_ms": 604800000, + "rotation_period_msgs": 100 }, "event_id": "$WLGTSEFJJKJ:localhost", "origin_server_ts": 1476648761524, diff --git a/event-schemas/schema/m.room.encryption b/event-schemas/schema/m.room.encryption index 14778efa4..b990a13bf 100644 --- a/event-schemas/schema/m.room.encryption +++ b/event-schemas/schema/m.room.encryption @@ -10,6 +10,16 @@ properties: description: |- The encryption algorithm to be used to encrypt messages sent in this room. For example, ``m.megolm.v1.aes-sha2``. + rotation_period_ms: + type: integer + description: |- + How long the session should be used before changing it. ``604800000`` + (a week) is the recommended default. + rotation_period_msgs: + type: integer + description: |- + How many messages should be sent before changing the session. ``100`` is the + recommended default. required: - algorithm type: object From c60109d235a1bba80f4ee003274484e3cbc8d781 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 31 Jul 2018 18:59:09 +0200 Subject: [PATCH 715/801] complete m.room_key documentation --- event-schemas/examples/m.room_key | 2 +- event-schemas/schema/m.room_key | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/event-schemas/examples/m.room_key b/event-schemas/examples/m.room_key index 2348e47d8..512491996 100644 --- a/event-schemas/examples/m.room_key +++ b/event-schemas/examples/m.room_key @@ -3,7 +3,7 @@ "algorithm": "m.megolm.v1.aes-sha2", "room_id": "!UCnwUWwIKhcpaPTHtR:sw1v.org", "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ", - "session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEYbf8q5V1G7D/0GHj81JbEFsaE8JOHXJCyIqUGU9svVEi52SAGiC4lpID43TAeGfYc64rUsBx5ovhZl8WrdszLxld29I+7H9e8GZt/NVd/ZQEBBfOv3vrgoODT3WpJiWZ7VEIjL6gspKkkRTDcmwYU6Eff+A11iJ2tEC9njtCeNfTrK7XUIPoXkHWmEjPwqdSQi9pqVb1OYRKT7un7WFJzo0WEw8xjo6wyEolSikaBr3/o8FhoIMIA9KvbjR4y1WDg" + "session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEY..." }, "type": "m.room_key" } diff --git a/event-schemas/schema/m.room_key b/event-schemas/schema/m.room_key index f5e4ac296..ef8c51c08 100644 --- a/event-schemas/schema/m.room_key +++ b/event-schemas/schema/m.room_key @@ -4,18 +4,29 @@ allOf: description: |- This event type is used to exchange keys for end-to-end encryption. Typically - it is encrypted as an ``m.room.encrypted`` event. + it is encrypted as an ``m.room.encrypted`` event, then sent as a `to-device`_ event. properties: content: properties: algorithm: type: string + enum: ["m.megolm.v1.aes-sha2"] description: |- - The encryption algorithm the keys in this event are to be used - with. The value of this field determines which other properties will - be present. + The encryption algorithm the key in this event is to be used with. + room_id: + type: string + description: The room where the key is used. + session_id: + type: string + description: The ID of the session that the key is for. + session_key: + type: string + description: The key to be exchanged. required: - algorithm + - room_id + - session_id + - session_key type: object type: enum: From 8732378da2e734dae5616e496eb932e0ffc991bc Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 22:02:53 +0200 Subject: [PATCH 716/801] add required room ids --- event-schemas/examples/m.room.encrypted | 1 + event-schemas/examples/m.room.encryption | 1 + event-schemas/examples/m.room_key | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/event-schemas/examples/m.room.encrypted b/event-schemas/examples/m.room.encrypted index a0360963d..0e7e677a3 100644 --- a/event-schemas/examples/m.room.encrypted +++ b/event-schemas/examples/m.room.encrypted @@ -7,6 +7,7 @@ "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ" }, "event_id": "$WLGTSEFSEF:localhost", + "room_id": "!Cuyf34gef24t:localhost", "origin_server_ts": 1476648761524, "sender": "@example:localhost", "type": "m.room.encrypted", diff --git a/event-schemas/examples/m.room.encryption b/event-schemas/examples/m.room.encryption index 4c6342bb1..08f152396 100644 --- a/event-schemas/examples/m.room.encryption +++ b/event-schemas/examples/m.room.encryption @@ -7,6 +7,7 @@ "event_id": "$WLGTSEFJJKJ:localhost", "origin_server_ts": 1476648761524, "sender": "@example:localhost", + "room_id": "!Cuyf34gef24t:localhost", "state_key": "", "type": "m.room.encryption" } diff --git a/event-schemas/examples/m.room_key b/event-schemas/examples/m.room_key index 512491996..53f83e522 100644 --- a/event-schemas/examples/m.room_key +++ b/event-schemas/examples/m.room_key @@ -1,7 +1,7 @@ { "content": { "algorithm": "m.megolm.v1.aes-sha2", - "room_id": "!UCnwUWwIKhcpaPTHtR:sw1v.org", + "room_id": "!Cuyf34gef24t:localhost", "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ", "session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8LlfJL7qNBEY..." }, From 661176cb3a4c4952edd9c9bf022fabbf82bc4a1d Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Tue, 17 Jul 2018 22:39:45 +0200 Subject: [PATCH 717/801] Olm m.room.encrypted example --- ...room.encrypted => m.room.encrypted#megolm} | 8 ++---- event-schemas/examples/m.room.encrypted#olm | 14 ++++++++++ event-schemas/schema/m.room.encrypted | 28 ++++++++++++++----- 3 files changed, 37 insertions(+), 13 deletions(-) rename event-schemas/examples/{m.room.encrypted => m.room.encrypted#megolm} (57%) create mode 100644 event-schemas/examples/m.room.encrypted#olm diff --git a/event-schemas/examples/m.room.encrypted b/event-schemas/examples/m.room.encrypted#megolm similarity index 57% rename from event-schemas/examples/m.room.encrypted rename to event-schemas/examples/m.room.encrypted#megolm index 0e7e677a3..1f9b75208 100644 --- a/event-schemas/examples/m.room.encrypted +++ b/event-schemas/examples/m.room.encrypted#megolm @@ -1,7 +1,7 @@ { "content": { "algorithm": "m.megolm.v1.aes-sha2", - "ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg2yyOwAtHaZTwyNg37afzg8f3r9IsN9rH4RNFg7MaZencUJe4qvELiDiopUjy5wYVDAtqdBzer5bWRD9ldxp1FLgbQvBcjkkywYjCsmsq6+hArILd9oAQZnGKn/qLsK+5uNX3PaWzDRC9wZPQvWYYPCTov3jCwXKTPsLKIiTrcCXDqMvnn8m+T3zF1/I2zqxg158tnUwWWIw51UO", + "ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg...", "device_id": "RJYKSTBOIE", "sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA", "session_id": "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ" @@ -10,9 +10,5 @@ "room_id": "!Cuyf34gef24t:localhost", "origin_server_ts": 1476648761524, "sender": "@example:localhost", - "type": "m.room.encrypted", - "unsigned": { - "age": 158, - "transaction_id": "m1476648745605.19" - } + "type": "m.room.encrypted" } diff --git a/event-schemas/examples/m.room.encrypted#olm b/event-schemas/examples/m.room.encrypted#olm new file mode 100644 index 000000000..abb23c31e --- /dev/null +++ b/event-schemas/examples/m.room.encrypted#olm @@ -0,0 +1,14 @@ +{ + "type": "m.room.encrypted", + "sender": "@example:localhost", + "content": { + "algorithm": "m.olm.v1.curve25519-aes-sha2", + "sender_key": "Szl29ksW/L8yZGWAX+8dY1XyFi+i5wm+DRhTGkbMiwU", + "ciphertext": { + "7qZcfnBmbEGzxxaWfBjElJuvn7BZx+lSz/SvFrDF/z8": { + "type": 0, + "body": "AwogGJJzMhf/S3GQFXAOrCZ3iKyGU5ZScVtjI0KypTYrW..." + } + } + } +} diff --git a/event-schemas/schema/m.room.encrypted b/event-schemas/schema/m.room.encrypted index cf3e4b4a1..664b10cfb 100644 --- a/event-schemas/schema/m.room.encrypted +++ b/event-schemas/schema/m.room.encrypted @@ -1,8 +1,6 @@ --- allOf: - # this is a bit of a lie; if the event is sent as a to-device event it won't - # have the room event fields. We really ought to use different event types :/ - - $ref: core-event-schema/room_event.yaml + - $ref: core-event-schema/event.yaml description: |- This event type is used when sending encrypted events. It can be used either @@ -14,16 +12,32 @@ properties: properties: algorithm: type: string + enum: + - m.olm.curve25519-aes-sha256 + - m.megolm.v1.aes-sha description: |- The encryption algorithm used to encrypt this event. The value of this field determines which other properties will be present. ciphertext: - type: - - object - - string + oneOf: + - type: string + - type: object + additionalProperties: + type: object + title: CiphertextInfo + properties: + body: + type: string + description: The encrypted payload. + type: + type: integer + description: The Olm message type. description: |- - Normally required. The encrypted content of the event. + The encrypted content of the event. Either the encrypted payload + itself, in the case of a Megolm event, or a map from the recipient + Curve25519 identity key to ciphertext information, in the case of an + Olm event. For more details, see `Messaging Algorithms`_. required: - algorithm type: object From 248786681ec9d446481b2c529f587ace18d4274c Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 19 Jul 2018 19:50:05 +0200 Subject: [PATCH 718/801] fix typo --- specification/modules/end_to_end_encryption.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index c43f81c4e..1bc6a2322 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -159,7 +159,7 @@ It is therefore expected that each client will maintain a list of devices for a number of users (in practice, typically each user with whom we share an encrypted room). Furthermore, it is likely that this list will need to be persisted between invocations of the client application (to preserve device -verification data and to alert Alice if Bob suddently gets a new +verification data and to alert Alice if Bob suddenly gets a new device). Alice's client can maintain a list of Bob's devices via the following From 4e0f107ef7207fde8bd9feafdd3bea88caad89b8 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 19 Jul 2018 19:57:47 +0200 Subject: [PATCH 719/801] document changed field behavior in e2e sync extension --- .../modules/end_to_end_encryption.rst | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 1bc6a2322..194d25677 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -176,9 +176,10 @@ process: flag. #. During its normal processing of responses to |/sync|_, Alice's client - inspects the |device_lists|_ field. If it is tracking the device lists of - any of the listed users, then it marks the device lists for those users - outdated, and initiates another request to |/keys/query|_ for them. + inspects the ``changed`` property of the |device_lists|_ field. If it is + tracking the device lists of any of the listed users, then it marks the + device lists for those users outdated, and initiates another request to + |/keys/query|_ for them. #. Periodically, Alice's client stores the ``next_batch`` field of the result from |/sync|_ in persistent storage. If Alice later restarts her client, it @@ -214,6 +215,18 @@ process: that the first request's results are ignored (possibly by cancelling the request). +.. Note:: + + When Bob and Alice share a room, with Bob tracking Alice's devices, she may leave + the room and then add a new device. Bob will not be notified of this change, + as he doesn't share a room anymore with Alice. When they start sharing a + room again, Bob has an out-of-date list of Alice's devices. In order to address + this issue, Bob's homeserver will add Alice's user ID to the ``changed`` property of + the ``device_lists`` field, thus Bob will update his list of Alice's devices as part + of his normal processing. Note that Bob can also be notified when he stops sharing + any room with Alice by inspecting the ``left`` property of the ``device_lists`` + field, and as a result should remove her from its list of tracked users. + .. |device_lists| replace:: ``device_lists`` .. _`device_lists`: `device_lists_sync`_ @@ -500,12 +513,20 @@ device_lists DeviceLists Optional. Information on e2e device updates. Note: ========= ========= ============================================= Parameter Type Description ========= ========= ============================================= -changed [string] List of users who have updated their device identity keys - since the previous sync response. +changed [string] List of users who have updated their device identity keys, + or who now share an encrypted room with the client since + the previous sync response. left [string] List of users with whom we do not share any encrypted rooms anymore since the previous sync response. ========= ========= ============================================= +.. NOTE:: + + For optimal performance, Alice should be added to ``changed`` in Bob's sync only + when she adds a new device, or when Alice and Bob now share a room but didn't + share any room previously. However, for the sake of simpler logic, a server + may add Alice to ``changed`` when Alice and Bob share a new room, even if they + previously already shared a room. Example response: From eb8ea0e85a9771a0d4fa0d279e6700321763de47 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 26 Jul 2018 10:44:42 +0200 Subject: [PATCH 720/801] remove warning pointing at outdated doc --- specification/modules/end_to_end_encryption.rst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 194d25677..213d09a5b 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -21,12 +21,6 @@ Matrix optionally supports end-to-end encryption, allowing rooms to be created whose conversation contents is not decryptable or interceptable on any of the participating homeservers. -.. WARNING:: - - End to end encryption is being worked on and will be coming soon. This - section is incomplete. You can read more about what's underway at - http://matrix.org/speculator/spec/drafts%2Fe2e/client_server/unstable.html#end-to-end-encryption. - Key Distribution ---------------- Encryption and Authentication in Matrix is based around public-key From 6c44233c42e79e5f0552f6d3288fec98be1fa146 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 26 Jul 2018 11:38:17 +0200 Subject: [PATCH 721/801] require megolm algorithm in m.room.encryption --- event-schemas/schema/m.room.encryption | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/event-schemas/schema/m.room.encryption b/event-schemas/schema/m.room.encryption index b990a13bf..d7c4d4294 100644 --- a/event-schemas/schema/m.room.encryption +++ b/event-schemas/schema/m.room.encryption @@ -7,9 +7,11 @@ properties: properties: algorithm: type: string + enum: + - "m.megolm.v1.aes-sha2" description: |- The encryption algorithm to be used to encrypt messages sent in this - room. For example, ``m.megolm.v1.aes-sha2``. + room. rotation_period_ms: type: integer description: |- From f853856f2173792d1f9307ec77a460ccde708f35 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Sat, 4 Aug 2018 14:59:09 +0200 Subject: [PATCH 722/801] add missing m.room.encrypted event properties --- event-schemas/schema/m.room.encrypted | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/event-schemas/schema/m.room.encrypted b/event-schemas/schema/m.room.encrypted index 664b10cfb..6825be1d2 100644 --- a/event-schemas/schema/m.room.encrypted +++ b/event-schemas/schema/m.room.encrypted @@ -38,8 +38,21 @@ properties: itself, in the case of a Megolm event, or a map from the recipient Curve25519 identity key to ciphertext information, in the case of an Olm event. For more details, see `Messaging Algorithms`_. + sender_key: + type: string + description: The Curve25519 key of the sender. + device_id: + type: string + description: The ID of the sending device. Required with Megolm. + session_id: + type: string + description: |- + The ID of the session used to encrypt the message. Required with + Megolm. required: - algorithm + - sender_key + - ciphertext type: object type: enum: From b2316ba782c098a123c8f51261c56dbb5dee24bf Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 16 Aug 2018 13:00:32 +0200 Subject: [PATCH 723/801] enforce unique namespacing in new algorithms experiments --- specification/modules/end_to_end_encryption.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 213d09a5b..7dfe89938 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -292,8 +292,8 @@ Messaging Algorithm Names Messaging algorithm names use the extensible naming scheme used throughout this specification. Algorithm names that start with ``m.`` are reserved for algorithms defined by this specification. Implementations wanting to experiment -with new algorithms are encouraged to pick algorithm names that start with -their domain to reduce the risk of collisions. +with new algorithms must be uniquely globally namespaced following Java's package +naming conventions. Algorithm names should be short and meaningful, and should list the primitives used by the algorithm so that it is easier to see if the algorithm is using a From 8ba19b51ab36b0fdd62084e8798ddd58c4804e14 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Thu, 16 Aug 2018 13:04:29 +0200 Subject: [PATCH 724/801] complete Olm documentation --- specification/modules/end_to_end_encryption.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index 7dfe89938..b224126d3 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -357,7 +357,7 @@ client must not persist a session or remove one-time keys used by a session until it has successfully decrypted a message using that session. Messages with type 1 can only be decrypted with an existing session. If there -is no matching session, the client should show this as an invalid message. +is no matching session, the client must treat this as an invalid message. The plaintext payload is of the form: From 9430f2c7f9a2b31de29ed08f8a5260706546cfe9 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Fri, 17 Aug 2018 15:12:14 +0200 Subject: [PATCH 725/801] room ID is included in Megolm plaintext, not Olm --- specification/modules/end_to_end_encryption.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/specification/modules/end_to_end_encryption.rst b/specification/modules/end_to_end_encryption.rst index b224126d3..fa461cc28 100644 --- a/specification/modules/end_to_end_encryption.rst +++ b/specification/modules/end_to_end_encryption.rst @@ -366,7 +366,6 @@ The plaintext payload is of the form: { "type": "<type of the plaintext event>", "content": "<content for the plaintext event>", - "room_id": "<the room_id>", "sender": "<sender_user_id>", "recipient": "<recipient_user_id>", "recipient_keys": { @@ -379,9 +378,6 @@ The plaintext payload is of the form: The type and content of the plaintext message event are given in the payload. -We include the room ID in the payload, because otherwise the homeserver would -be able to change the room a message was sent in. - Other properties are included in order to prevent an attacker from publishing someone else's curve25519 keys as their own and subsequently claiming to have sent messages which they didn't. @@ -433,6 +429,9 @@ The encrypted payload can contain any message event. The plaintext is of the for "room_id": "<the room_id>" } +We include the room ID in the payload, because otherwise the homeserver would +be able to change the room a message was sent in. + Clients must guard against replay attacks by keeping track of the ratchet indices of Megolm sessions. They should reject messages with a ratchet index that they have already decrypted. Care should be taken in order to avoid false positives, as a From 98e2e8de71e27b2394762f647d699ac7af1aa17a Mon Sep 17 00:00:00 2001 From: Valentin Deniaud <valentin.deniaud@inpt.fr> Date: Sat, 18 Aug 2018 11:40:48 +0200 Subject: [PATCH 726/801] changelog --- changelogs/client_server/newsfragments/1284.clarification | 1 + changelogs/client_server/newsfragments/1284.feature.rst | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 changelogs/client_server/newsfragments/1284.clarification create mode 100644 changelogs/client_server/newsfragments/1284.feature.rst diff --git a/changelogs/client_server/newsfragments/1284.clarification b/changelogs/client_server/newsfragments/1284.clarification new file mode 100644 index 000000000..7bc92f479 --- /dev/null +++ b/changelogs/client_server/newsfragments/1284.clarification @@ -0,0 +1 @@ +Clarify ``changed`` field behaviour in device tracking process diff --git a/changelogs/client_server/newsfragments/1284.feature.rst b/changelogs/client_server/newsfragments/1284.feature.rst new file mode 100644 index 000000000..c658142e8 --- /dev/null +++ b/changelogs/client_server/newsfragments/1284.feature.rst @@ -0,0 +1,7 @@ +End-to-end encryption for group chats: + + - Olm and Megolm messaging algorithms. + - ``m.room.encrypted``, ``m.room.encryption``, ``m.room_key`` events. + - Device verification process. + - ``device_one_time_keys_count`` sync parameter. + - ``device_lists:left`` sync parameter. From 206f78cb48ba5f247a705e6d5e0bc0737c7d7e5f Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Mon, 20 Aug 2018 09:21:15 +0100 Subject: [PATCH 727/801] Rename 1284.feature.rst to 1284.feature --- .../newsfragments/{1284.feature.rst => 1284.feature} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelogs/client_server/newsfragments/{1284.feature.rst => 1284.feature} (100%) diff --git a/changelogs/client_server/newsfragments/1284.feature.rst b/changelogs/client_server/newsfragments/1284.feature similarity index 100% rename from changelogs/client_server/newsfragments/1284.feature.rst rename to changelogs/client_server/newsfragments/1284.feature From e712466dca3370e6ca40755e3575da46a5cac87f Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 10:44:28 -0600 Subject: [PATCH 728/801] Improve description for currently_active --- .../definitions/event-schemas/m.presence.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index b9c5f754f..7a1dba600 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -62,10 +62,10 @@ allOf: currently_active: type: boolean description: |- - Whether or not the user is currently using a device of theirs. - For example, if the user's ``last_active_ago`` was within the - last few minutes, they may be considered ``currently_active``. - Defaults to false. + True if the user is likely to be interacting with their + client. This may be indicated by the user having a + ``last_active_ago`` within the last few minutes. Defaults + to false. example: true required: ['user_id', 'presence', 'last_active_ago'] required: ['push'] From fca1c0b7f874e079ab2321834e969833ec50d85b Mon Sep 17 00:00:00 2001 From: Will Hunt <half-shot@molrams.com> Date: Mon, 20 Aug 2018 18:06:26 +0100 Subject: [PATCH 729/801] Guests should support /context and /event --- specification/modules/guest_access.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/modules/guest_access.rst b/specification/modules/guest_access.rst index 4e04aa0df..d579da833 100644 --- a/specification/modules/guest_access.rst +++ b/specification/modules/guest_access.rst @@ -50,6 +50,8 @@ The following API endpoints are allowed to be accessed by guest accounts for retrieving events: * `GET /rooms/:room_id/state <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-state>`_ +* `GET /rooms/:room_id/context/:event_id <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-context-eventid>`_ +* `GET /rooms/:room_id/event/:event_id <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-event-eventid>`_ * `GET /rooms/:room_id/state/:event_type/:state_key <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-state-eventtype-statekey>`_ * `GET /rooms/:room_id/messages <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-messages>`_ * `GET /rooms/:room_id/initialSync <#get-matrix-client-%CLIENT_MAJOR_VERSION%-rooms-roomid-initialsync>`_ From 8b65da1cf6fce5f657a2a46b5c6c8bcc24d32ae3 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 11:03:26 -0600 Subject: [PATCH 730/801] Don't try and be fancy about titles --- api/server-server/definitions/event-schemas/m.presence.yaml | 2 +- .../definitions/event-schemas/m.presence_accept.yaml | 2 +- .../definitions/event-schemas/m.presence_deny.yaml | 2 +- .../definitions/event-schemas/m.presence_invite.yaml | 2 +- api/server-server/definitions/event-schemas/m.receipt.yaml | 2 +- api/server-server/definitions/event-schemas/m.typing.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/server-server/definitions/event-schemas/m.presence.yaml b/api/server-server/definitions/event-schemas/m.presence.yaml index 7a1dba600..7f47add4d 100644 --- a/api/server-server/definitions/event-schemas/m.presence.yaml +++ b/api/server-server/definitions/event-schemas/m.presence.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.presence`` EDU +title: m.presence description: |- An EDU representing presence updates for users of the sending homeserver. allOf: diff --git a/api/server-server/definitions/event-schemas/m.presence_accept.yaml b/api/server-server/definitions/event-schemas/m.presence_accept.yaml index 4c39989b6..3ba78b477 100644 --- a/api/server-server/definitions/event-schemas/m.presence_accept.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_accept.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.presence_accept`` EDU +title: m.presence_accept description: |- An EDU representing approval for the observing user to subscribe to the presence of the the observed user. diff --git a/api/server-server/definitions/event-schemas/m.presence_deny.yaml b/api/server-server/definitions/event-schemas/m.presence_deny.yaml index 1b9bff7dc..2eb6feec9 100644 --- a/api/server-server/definitions/event-schemas/m.presence_deny.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_deny.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.presence_deny`` EDU +title: m.presence_deny description: |- An EDU representing a declination or revocation for the observing user to subscribe to the presence of the observed user. diff --git a/api/server-server/definitions/event-schemas/m.presence_invite.yaml b/api/server-server/definitions/event-schemas/m.presence_invite.yaml index 4cdc58eba..a584897b7 100644 --- a/api/server-server/definitions/event-schemas/m.presence_invite.yaml +++ b/api/server-server/definitions/event-schemas/m.presence_invite.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.presence_invite`` EDU +title: m.presence_invite description: |- An EDU representing a request to subscribe to a user's presence. allOf: diff --git a/api/server-server/definitions/event-schemas/m.receipt.yaml b/api/server-server/definitions/event-schemas/m.receipt.yaml index 58f47e3a0..7f13ebee3 100644 --- a/api/server-server/definitions/event-schemas/m.receipt.yaml +++ b/api/server-server/definitions/event-schemas/m.receipt.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.receipt`` EDU +title: m.receipt description: |- An EDU representing receipt updates for users of the sending homeserver. When receiving receipts, the server should only update entries that are diff --git a/api/server-server/definitions/event-schemas/m.typing.yaml b/api/server-server/definitions/event-schemas/m.typing.yaml index 34b395297..ccbecf535 100644 --- a/api/server-server/definitions/event-schemas/m.typing.yaml +++ b/api/server-server/definitions/event-schemas/m.typing.yaml @@ -13,7 +13,7 @@ # limitations under the License. type: object -title: ``m.typing`` EDU +title: m.typing description: A typing notification EDU for a user in a room. allOf: - $ref: ../edu.yaml From 4ab64e11afea8ea92fab88b63c8b2d0baec46ab8 Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Mon, 20 Aug 2018 18:20:20 +0100 Subject: [PATCH 731/801] Add news frag --- changelogs/client_server/newsfragments/1542.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1542.feature diff --git a/changelogs/client_server/newsfragments/1542.feature b/changelogs/client_server/newsfragments/1542.feature new file mode 100644 index 000000000..7e94bdc5a --- /dev/null +++ b/changelogs/client_server/newsfragments/1542.feature @@ -0,0 +1 @@ +Guests can now call /context and /event to fetch events From c8ba2e098c5ec847c6799d37fa0476ff0867dc2c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:09:17 -0600 Subject: [PATCH 732/801] Wording improvements for appservices --- api/application-service/application_service.yaml | 6 +++--- specification/application_service_api.rst | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index 64064cbdf..d8f43ed6b 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -33,9 +33,9 @@ paths: This API is called by the homeserver when it wants to push an event (or batch of events) to the application service. - The application service should take care to ensure that it handles - state events by the presence of a ``state_key``, not by the event - type. + Note that the application service should distinguish state events + from message events via the presence of a ``state_key``, rather than + via the event type. operationId: sendTransaction parameters: - in: path diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 5fe0aedeb..5f5029691 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -224,7 +224,7 @@ need to be able to adjust the ``origin_server_ts`` value to do this. Inputs: - Application service token (``as_token``) - - Desired timestamp in milliseconds since the unix epoch + - Desired timestamp (in milliseconds since the unix epoch) Notes: - This will only apply when sending events. From 7d14309b630e91054dc3dca515c03feababb2a6a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:21:19 -0600 Subject: [PATCH 733/801] Move the power level event schema to where it was --- api/client-server/create_room.yaml | 7 +-- event-schemas/power_level_content_schema.yaml | 56 ------------------- event-schemas/schema/m.room.power_levels | 44 ++++++++++++++- 3 files changed, 46 insertions(+), 61 deletions(-) delete mode 100644 event-schemas/power_level_content_schema.yaml diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index be99c4ab1..ef207f07a 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -208,10 +208,9 @@ paths: title: Power Level Event Content description: |- The power level content to override in the default power level - event. This object is applied on top of the generated power - level event prior to it being sent to the room. Defaults - to overriding nothing. - $ref: "definitions/event-schemas/power_level_content_schema.yaml" + event. This object is applied on top of the generated `m.room.power_levels`_ + event content prior to it being sent to the room. Defaults to + overriding nothing. responses: 200: description: Information about the newly created room. diff --git a/event-schemas/power_level_content_schema.yaml b/event-schemas/power_level_content_schema.yaml deleted file mode 100644 index 5859d56ee..000000000 --- a/event-schemas/power_level_content_schema.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2018 New Vector Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -properties: - ban: - description: The level required to ban a user. Defaults to 50 if unspecified. - type: number - events: - additionalProperties: - type: number - description: The level required to send specific event types. This is a mapping from event type to power level required. - title: Event power levels - type: object - events_default: - description: |- - The default level required to send message events. Can be - overridden by the ``events`` key. Defaults to 0 if unspecified. - type: number - invite: - description: The level required to invite a user. Defaults to 50 if unspecified. - type: number - kick: - description: The level required to kick a user. Defaults to 50 if unspecified. - type: number - redact: - description: The level required to redact an event. Defaults to 50 if unspecified. - type: number - state_default: - description: |- - The default level required to send state events. Can be overridden - by the ``events`` key. Defaults to 50 if unspecified, but 0 if - there is no ``m.room.power_levels`` event at all. - type: number - users: - additionalProperties: - type: number - description: The power levels for specific users. This is a mapping from ``user_id`` to power level for that user. - title: User power levels - type: object - users_default: - description: |- - The default power level for every user in the room, unless their - ``user_id`` is mentioned in the ``users`` key. Defaults to 0 if - unspecified. - type: number -type: object \ No newline at end of file diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels index 174ada820..13a44c709 100644 --- a/event-schemas/schema/m.room.power_levels +++ b/event-schemas/schema/m.room.power_levels @@ -43,7 +43,49 @@ description: |- properties: content: - $ref: "../power_level_content_schema.yaml" + properties: + ban: + description: The level required to ban a user. Defaults to 50 if unspecified. + type: number + events: + additionalProperties: + type: number + description: The level required to send specific event types. This is a mapping from event type to power level required. + title: Event power levels + type: object + events_default: + description: |- + The default level required to send message events. Can be + overridden by the ``events`` key. Defaults to 0 if unspecified. + type: number + invite: + description: The level required to invite a user. Defaults to 50 if unspecified. + type: number + kick: + description: The level required to kick a user. Defaults to 50 if unspecified. + type: number + redact: + description: The level required to redact an event. Defaults to 50 if unspecified. + type: number + state_default: + description: |- + The default level required to send state events. Can be overridden + by the ``events`` key. Defaults to 50 if unspecified, but 0 if + there is no ``m.room.power_levels`` event at all. + type: number + users: + additionalProperties: + type: number + description: The power levels for specific users. This is a mapping from ``user_id`` to power level for that user. + title: User power levels + type: object + users_default: + description: |- + The default power level for every user in the room, unless their + ``user_id`` is mentioned in the ``users`` key. Defaults to 0 if + unspecified. + type: number + type: object state_key: description: A zero-length string. pattern: '^$' From 6c7a93d2f517b99cad4cf5e5dd734b3ce181d96a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:21:43 -0600 Subject: [PATCH 734/801] Move description about which preset to use when none is specified --- api/client-server/create_room.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index ef207f07a..48325cf91 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -96,11 +96,6 @@ paths: ``private`` visibility if this key is not included. NB: This should not be confused with ``join_rules`` which also uses the word ``public``. - - If no ``preset`` is specificed, the server may use the visbility - to determine which preset to use. A visbility of ``public`` - equates to a preset of ``public_chat`` and ``private`` visibility - equates to a preset of ``private_chat``. room_alias_name: type: string description: |- @@ -198,6 +193,11 @@ paths: description: |- Convenience parameter for setting various default state events based on a preset. + + If unspecified, the server should use the ``visibility`` to determine + which preset to use. A visbility of ``public`` equates to a preset of + ``public_chat`` and ``private`` visibility equates to a preset of + ``private_chat``. is_direct: type: boolean description: |- From 1fd7c9946103665d9b87934b437cba45c8894287 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:21:55 -0600 Subject: [PATCH 735/801] Clarify that the creation event can have other keys in it --- api/client-server/create_room.yaml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 48325cf91..576fc4c08 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -151,18 +151,10 @@ paths: title: CreationContent type: object description: |- - Extra keys to be added to the content of the ``m.room.create``. - The server will clobber the following keys: ``creator``. Future - versions of the specification may allow the server to clobber - other keys. - properties: - "m.federate": - type: boolean - description: |- - Whether users on other servers can join this room. Defaults - to ``true`` or what the server specifies. Setting this to - ``false`` may prevent users from being invited as part of - this room creation request if they reside on other servers. + Extra keys, such as ``m.federate``, to be added to the content + of the `m.room.create`_ event. The server will clobber the following + keys: ``creator``. Future versions of the specification may allow + the server to clobber other keys. initial_state: type: array description: |- From 7e6ca5fef8b267dc2c3e22b92172aece36ac5c07 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:23:17 -0600 Subject: [PATCH 736/801] Take out the room_alias response field The argument is that this isn't really needed at this time. --- api/client-server/create_room.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index 576fc4c08..cb0df80ce 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -214,16 +214,10 @@ paths: type: string description: |- The created room's ID. - room_alias: - type: string - description: |- - The complete room alias for the room, if a room alias was created - for the room. required: ['room_id'] examples: application/json: { - "room_id": "!sefiuhWgwghwWgh:example.com", - "room_alias": "#thepub:example.com" + "room_id": "!sefiuhWgwghwWgh:example.com" } 400: description: |- From 8dc6f092efe90b9e5562f0bd1ac7cc196930a2ea Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:27:29 -0600 Subject: [PATCH 737/801] Define the type of the power_level_content_override field --- api/client-server/create_room.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/api/client-server/create_room.yaml b/api/client-server/create_room.yaml index cb0df80ce..f9aec5197 100644 --- a/api/client-server/create_room.yaml +++ b/api/client-server/create_room.yaml @@ -198,6 +198,7 @@ paths: ``invite_3pid``. See `Direct Messaging`_ for more information. power_level_content_override: title: Power Level Event Content + type: object description: |- The power level content to override in the default power level event. This object is applied on top of the generated `m.room.power_levels`_ From 13a1628f59f8279d1a5889830a3514a6fec9c3a9 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:34:52 -0600 Subject: [PATCH 738/801] Improve wording about how masquerading works --- specification/application_service_api.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 7119bd5a6..4a29a1d88 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -185,18 +185,17 @@ homeserver. Identity assertion ++++++++++++++++++ The client-server API infers the user ID from the ``access_token`` provided in -every request. It would be an annoying amount of book-keeping to maintain tokens -for every virtual user. It would be preferable if the application service could -use the CS API with its own ``as_token`` instead, and specify the virtual user -they wish to be acting on behalf of. For real users, this would require -additional permissions granting the AS permission to masquerade as a matrix user. +every request. To avoid the application service from having to keep track of each +user's access token, the application service should identify itself to the Client-Server +API by providing its ``as_token`` instead for the ``access_token`` alongside the +user the application service would like to masquerade as. Inputs: - Application service token (``as_token``) - User ID in the AS namespace to act as. Notes: - - This will apply on all aspects of the Client-Server API, except for Account Management. + - This applies to all aspects of the Client-Server API, except for Account Management. - The ``as_token`` is inserted into ``access_token`` which is usually where the client token is, such as via the query string or ``Authorization`` header. This is done on purpose to allow application services to reuse client SDKs. From a320c58e42664bbd558f0177bce7c4fa9d1c4cef Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 20 Aug 2018 12:36:26 -0600 Subject: [PATCH 739/801] A path parameter is obviously URL encoded --- api/application-service/query_room.yaml | 2 +- api/application-service/query_user.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/application-service/query_room.yaml b/api/application-service/query_room.yaml index 7a5a7e54a..b885cb860 100644 --- a/api/application-service/query_room.yaml +++ b/api/application-service/query_room.yaml @@ -40,7 +40,7 @@ paths: - in: path name: roomAlias type: string - description: The URL encoded room alias being queried. + description: The room alias being queried. required: true x-example: "#magicforest:example.com" responses: diff --git a/api/application-service/query_user.yaml b/api/application-service/query_user.yaml index 4d1e9f44b..0431b5e49 100644 --- a/api/application-service/query_user.yaml +++ b/api/application-service/query_user.yaml @@ -40,7 +40,7 @@ paths: - in: path name: userId type: string - description: The URL encoded user ID being queried. + description: The user ID being queried. required: true x-example: "@alice:example.com" responses: From e500e2502a176fee35315753edf0eb688456ba92 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 21 Aug 2018 09:38:01 -0600 Subject: [PATCH 740/801] Document the maximum value for depth Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1230 --- api/server-server/definitions/unsigned_pdu.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/server-server/definitions/unsigned_pdu.yaml b/api/server-server/definitions/unsigned_pdu.yaml index ab2812244..64991d227 100644 --- a/api/server-server/definitions/unsigned_pdu.yaml +++ b/api/server-server/definitions/unsigned_pdu.yaml @@ -78,7 +78,10 @@ properties: required: ['sha256'] depth: type: integer - description: The maximum depth of the ``prev_events``, plus one. + description: |- + The maximum depth of the ``prev_events``, plus one. Must be less than the + maximum value for an integer (2^63 - 1). If the room's depth is already at + the limit, the depth must be set to the limit. example: 12 auth_events: type: array From 339a2748e806a8a42925afd0384521cafbd57d2d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 21 Aug 2018 09:49:41 -0600 Subject: [PATCH 741/801] Take out groups for now; Move namespace mention Groups aren't landing in the spec yet, so we shouldn't include them yet. --- specification/application_service_api.rst | 31 +++++------------------ 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 9e84339f6..258f80c0d 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -75,8 +75,7 @@ said to be interested in a given event if one of the application service's names users is the target of the event, or is a joined member of the room where the event occurred. -An application -service can also state whether they should be the only ones who +An application service can also state whether they should be the only ones who can manage a specified namespace. This is referred to as an "exclusive" namespace. An exclusive namespace prevents humans and other application services from creating/deleting entities in that namespace. Typically, @@ -91,7 +90,6 @@ regular expressions and look like: users: - exclusive: true regex: "@_irc.freenode.net_.*" - group_id: "+irc:matrix.org" Application services may define the following namespaces (with none being explicitly required): @@ -115,22 +113,11 @@ Each individual namespace MUST declare the following fields: | regex | **Required** A regular expression defining which values this namespace includes. | +------------------+-----------------------------------------------------------------------------------------------------------------------------------+ -An application service's users and regex field MUST begin with an underscore (``_``), in -order to provide a visually clear distinction between AS users and regular -users. An optional ``group_id`` field may be added to the ``users`` namespace: - -+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Name | Description | -+==================+============================================================================================================================================================================================================================================================================+ -| group_id | An existing group that all matching user IDs will be considered a part of. Users who are joined to this group through an application service are not to be listed when querying for the group's members, however the group should be listed when querying a user's groups. | -+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -.. WARNING:: - - Users that are matched by ``group_id`` should not be publicly listed by - Homeservers. The intention is to differentiate users, perhaps with a flair, - rather than having a list of people to spam. - +Exclusive user and alias namespaces should begin with an underscore after the +sigil to avoid collisions with other users on the homeserver. Application +services should additionally attempt to identify the service they represent +in the reserved namespace. For example, ``@_irc_.*`` would be a good namespace +to register for an application service which deals with IRC. The registration is represented by a series of key-value pairs, which this specification will present as YAML. See below for the possible options along @@ -174,12 +161,6 @@ An example registration file for an IRC-bridging application service is below: regex: "#_irc_bridge_.*" rooms: [] -Exclusive user and alias namespaces should begin with an underscore after the -sigil to avoid collisions with other users on the homeserver. Application -services should additionally attempt to identify the service they represent -in the reserved namespace. For example, ``@_irc_.*`` would be a good namespace -to register for an application service which deals with IRC. - .. WARNING:: If the homeserver in question has multiple application services, each ``as_token`` and ``id`` MUST be unique per application service as these are From 389fa87e6e65a39b50748817d55d4c71f2f9e965 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 21 Aug 2018 12:10:40 -0600 Subject: [PATCH 742/801] English --- specification/application_service_api.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 4a29a1d88..502472a01 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -187,8 +187,8 @@ Identity assertion The client-server API infers the user ID from the ``access_token`` provided in every request. To avoid the application service from having to keep track of each user's access token, the application service should identify itself to the Client-Server -API by providing its ``as_token`` instead for the ``access_token`` alongside the -user the application service would like to masquerade as. +API by providing its ``as_token`` for the ``access_token`` alongside the user the +application service would like to masquerade as. Inputs: - Application service token (``as_token``) From 1102fc59b2dd248c5f53cb8fbf08b7577928165d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 21 Aug 2018 12:13:19 -0600 Subject: [PATCH 743/801] Spelling --- specification/application_service_api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 87f15b007..602aaa920 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -286,7 +286,7 @@ Using ``/sync`` and ``/events`` Application services wishing to use ``/sync`` or ``/events`` from the Client-Server API MUST do so with a virtual user (provide a ``user_id`` via the query string). It -is expectected that the application service use the transactions pushed to it to +is expected that the application service use the transactions pushed to it to handle events rather than syncing with the user implied by ``sender_localpart``. Event fields From ef41b5c2bf5acf349493279ce19851de7542d04e Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 22 Aug 2018 12:48:37 -0600 Subject: [PATCH 744/801] Server ACLs Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1383 --- event-schemas/examples/m.room.server_acl | 14 +++++ event-schemas/schema/m.room.server_acl | 69 ++++++++++++++++++++++++ specification/modules/server_acls.rst | 66 +++++++++++++++++++++++ specification/server_server_api.rst | 26 +++++++++ specification/targets.yaml | 1 + 5 files changed, 176 insertions(+) create mode 100644 event-schemas/examples/m.room.server_acl create mode 100644 event-schemas/schema/m.room.server_acl create mode 100644 specification/modules/server_acls.rst diff --git a/event-schemas/examples/m.room.server_acl b/event-schemas/examples/m.room.server_acl new file mode 100644 index 000000000..86da20931 --- /dev/null +++ b/event-schemas/examples/m.room.server_acl @@ -0,0 +1,14 @@ +{ + "age": 242352, + "content": { + "allow_ip_literals": false, + "allow": ["*"], + "deny": ["*.evil.com", "evil.com"] + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.server_acl", + "room_id": "!Cuyf34gef24t:localhost", + "sender": "@example:localhost" +} diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl new file mode 100644 index 000000000..ed64038ca --- /dev/null +++ b/event-schemas/schema/m.room.server_acl @@ -0,0 +1,69 @@ +--- +title: Server ACL +description: |- + An event to indicate which servers are permitted to participate in the + room. Server ACLs may allow or deny groups of hosts. All servers participating + in the room, including those that are denied, are expected to uphold the + server ACL. Servers that do not uphold the ACLs are recommended to be + added to the denied hosts list. + + The ``allow`` and ``deny`` lists are lists of globs supporting ``?`` and ``*`` + as wildcards. When comparing against the server ACLs, the suspect server's port + number must not be considered. Therefore ``evil.com``, ``evil.com:8448``, and + ``evil.com:1234`` would all match rules that apply to ``evil.com``, for example. + + The ACLs are applied to servers when they make requests, and are applied in + the following order: + + 1. If there is no ``m.room.server_acl`` event in the room state, allow. + #. If the server name is an IP address (v4 or v6) literal, and ``allow_ip_literals`` + is present and ``false``, deny. + #. If the server name matches an entry in the ``deny`` list, deny. + #. If the server name matches an entry in the ``allow`` list, allow. + #. Otherwise, deny. + + .. WARNING:: + Failing to provide an ``allow`` rule of some kind will prevent **all** + servers from participating in the room, including the sender. This renders + the room unusable. A common allow rule is ``[ "*" ]`` which would still + permit the use of the ``deny`` list without losing the room. +allOf: + - $ref: core-event-schema/state_event.yaml +type: object +properties: + content: + properties: + allow_ip_literals: + type: boolean + description: |- + True to allow server names that are IP address literals. False to + deny. Defaults to true if missing or otherwise not a boolean. + allow: + type: array + description: |- + The server names to allow in the room, excluding any port information. + Wildcards may be used to cover a wider range of hosts, where ``*`` + matches zero or more characters and ``?`` matches one or more characters. + + **This defaults to an empty list when not provided, effectively disallowing + every server.** + items: + type: string + deny: + type: array + description: |- + The server names to disallow in the room, excluding any port information. + Wildcards may be used to cover a wider range of hosts, where ``*`` + matches zero or more characters and ``?`` matches one or more characters. + + This defaults to an empty list when not provided. + items: + type: string + type: object + state_key: + description: A zero-length string. + pattern: '^$' + type: string + type: + enum: ['m.room.server_acl'] + type: enum diff --git a/specification/modules/server_acls.rst b/specification/modules/server_acls.rst new file mode 100644 index 000000000..72892fce5 --- /dev/null +++ b/specification/modules/server_acls.rst @@ -0,0 +1,66 @@ +.. Copyright 2018 New Vector Ltd +.. +.. Licensed under the Apache License, Version 2.0 (the "License"); +.. you may not use this file except in compliance with the License. +.. You may obtain a copy of the License at +.. +.. http://www.apache.org/licenses/LICENSE-2.0 +.. +.. Unless required by applicable law or agreed to in writing, software +.. distributed under the License is distributed on an "AS IS" BASIS, +.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +.. See the License for the specific language governing permissions and +.. limitations under the License. + +Server Access Control Lists (ACLs) for rooms +============================================ + +.. _module:server-acls: + +In some scenarios room operators may wish to prevent a malicous or untrusted +server from participating in their room. Sending an `m.room.server_acl`_ state +event into a room is an effective way to prevent the server from participating +in the room at the federation level. + +Server ACLs can also be used to make rooms only federate with a limited set of +servers, or retroactively make the room no longer federate with any other server, +similar to setting the ``m.federate`` value on the `m.room.create`_ event. + +{{m_room_server_acl_event}} + +.. Note:: + Port numbers are not supported because it is unclear to parsers whether a + port number should be matched or an IP address literal. + +.. Note:: + CIDR notation is not supported for IP addresses because Matrix does not + encourage the use of IPs for identifying servers. Instead, a blanket + ``allow_ip_literals`` is provided to cover banning them. + +Client behaviour +---------------- +Clients are not expected to perform any additional duties beyond sending the +event. Clients should describe changes to the server ACLs to the user in the +user interface, such as in the timeline. + +Clients may wish to kick affected users from the room prior to denying a server +access to the room to help prevent those servers from participating. + +Server behaviour +---------------- +Servers MUST prevent blacklisted servers from sending events or participating +in the room when an `m.room.server_acl`_ event is present in the room state. +Which APIs are specifically affected are described in the Server-Server API +specification. + +Servers should still send events to denied servers if they are still residents +of the room. + + +Security considerations +----------------------- +Server ACLs are only effective if every server in the room honours them. Servers +that do not honour the ACLs may still permit events sent by denied servers into +the room, leaking them to other servers in the room. To effectively enforce an +ACL in a room, the servers that do not honour the ACLs should be denied in the +room as well. \ No newline at end of file diff --git a/specification/server_server_api.rst b/specification/server_server_api.rst index dbde8b104..439b35f90 100644 --- a/specification/server_server_api.rst +++ b/specification/server_server_api.rst @@ -929,6 +929,32 @@ described in the `Client-Server API`_, being sure to use the ``allow_remote`` parameter (set to ``false``). +Server Access Control Lists (ACLs) +---------------------------------- + +Server ACLs and their purpose are described in the `Server ACLs`_ section of the +Client-Server API. + +When a remote server makes a request, it MUST be verified to be allowed by the +server ACLs. If the server is denied access to a room, the receiving server +MUST reply with a 403 HTTP status code and an ``errcode`` of ``M_FORBIDDEN``. + +The following endpoint prefixes MUST be protected: + +* ``/_matrix/federation/v1/send`` (on a per-PDU basis) +* ``/_matrix/federation/v1/make_join`` +* ``/_matrix/federation/v1/make_leave`` +* ``/_matrix/federation/v1/send_join`` +* ``/_matrix/federation/v1/send_leave`` +* ``/_matrix/federation/v1/invite`` +* ``/_matrix/federation/v1/state`` +* ``/_matrix/federation/v1/state_ids`` +* ``/_matrix/federation/v1/backfill`` +* ``/_matrix/federation/v1/event_auth`` +* ``/_matrix/federation/v1/query_auth`` +* ``/_matrix/federation/v1/get_missing_events`` + + Signing Events -------------- diff --git a/specification/targets.yaml b/specification/targets.yaml index 5480bbc5a..acf4b6ac9 100644 --- a/specification/targets.yaml +++ b/specification/targets.yaml @@ -67,6 +67,7 @@ groups: # reusable blobs of files when prefixed with 'group:' - modules/report_content.rst - modules/third_party_networks.rst - modules/openid.rst + - modules/server_acls.rst title_styles: ["=", "-", "~", "+", "^", "`", "@", ":"] From 7ec3cc4343a30c41176c50bb208d57fc698663a5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 22 Aug 2018 15:21:21 -0600 Subject: [PATCH 745/801] General improvements to the push rules module This commit does a few things: * Add 3 undocumented push rules to the spec for encrypted events and at-room notifications. * Require unrecognized conditions to not match, ensuring that future conditions do not cause clients to accidentally notify users. * Clarify that push rules should be enabled when created. * Document a new condition required for at-room notifications. Fixes https://github.com/matrix-org/matrix-doc/issues/1163 Fixes https://github.com/matrix-org/matrix-doc/issues/1034 Fixes https://github.com/matrix-org/matrix-doc/issues/676 Fixes https://github.com/matrix-org/matrix-doc/issues/1033 Relates to https://github.com/matrix-org/matrix-doc/issues/1101 --- api/client-server/pushrules.yaml | 4 +- specification/modules/push.rst | 118 ++++++++++++++++++++++++++++++- 2 files changed, 119 insertions(+), 3 deletions(-) diff --git a/api/client-server/pushrules.yaml b/api/client-server/pushrules.yaml index ceb9954b1..e23c9189e 100644 --- a/api/client-server/pushrules.yaml +++ b/api/client-server/pushrules.yaml @@ -343,6 +343,8 @@ paths: This endpoint allows the creation, modification and deletion of pushers for this user ID. The behaviour of this endpoint varies depending on the values in the JSON body. + + When creating push rules, they MUST be enabled by default. operationId: setPushRule security: - accessToken: [] @@ -424,7 +426,7 @@ paths: required: ["actions"] responses: 200: - description: The pusher was set. + description: The push rule was created/updated. examples: application/json: { } diff --git a/specification/modules/push.rst b/specification/modules/push.rst index e9ee8c90d..946834362 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -124,7 +124,7 @@ There are different "kinds" of push rules and each rule has an associated priority. Every push rule MUST have a ``kind`` and ``rule_id``. The ``rule_id`` is a unique string within the kind of rule and its' scope: ``rule_ids`` do not need to be unique between rules of the same kind on different devices. Rules may -have extra keys depending on the value of ``kind``.The different kinds of rule +have extra keys depending on the value of ``kind``. The different kinds of rule in descending order of priority are: Override Rules ``override`` @@ -369,6 +369,41 @@ Definition: } +``.m.rule.roomnotif`` +````````````````````````````````` +Matches any message whose content is unencrypted and contains the +text ``@room``, signifying the whole room should be notified of +the event. + +Definition: + +.. code:: json + + { + "rule_id": ".m.rule.roomnotif", + "default": true, + "enabled": true, + "conditions": [ + { + "kind": "event_match", + "key": "content.body", + "pattern": "@room" + }, + { + "kind": "sender_notification_permission", + "key": "room" + } + ], + "actions": [ + "notify", + { + "set_tweak": "highlight", + "value": true + } + ] + } + + Default Content Rules ^^^^^^^^^^^^^^^^^^^^^ @@ -428,7 +463,38 @@ Definition: "value": false } ] - }, + } + +``.m.rule.encrypted_room_one_to_one`` +``````````````````````````` +Matches any encrypted event sent in a room with exactly two members. + +Definition: + +.. code:: json + + { + "rule_id": ".m.rule.encrypted_room_one_to_one", + "default": true, + "enabled": true, + "conditions": [ + { + "kind": "room_member_count", + "is": "2" + } + ], + "actions": [ + "notify", + { + "set_tweak": "sound", + "value": "default" + }, + { + "set_tweak": "highlight", + "value": false + } + ] + } ``.m.rule.room_one_to_one`` ``````````````````````````` @@ -446,6 +512,11 @@ Definition: { "kind": "room_member_count", "is": "2" + }, + { + "kind": "event_match", + "key": "type", + "pattern": "m.room.encrypted" } ], "actions": [ @@ -489,6 +560,34 @@ Definition: ] } +``.m.rule.encrypted`` +``````````````````` +Matches all encrypted events. + +Definition: + +.. code:: json + + { + "rule_id": ".m.rule.encrypted", + "default": true, + "enabled": true, + "conditions": [ + { + "kind": "event_match", + "key": "type", + "pattern": "m.room.encrypted" + } + ], + "actions": [ + "notify", + { + "set_tweak": "highlight", + "value": false + } + ] + } + Conditions ++++++++++ @@ -523,6 +622,21 @@ rule determines its behaviour. The following conditions are defined: count is strictly less than the given number and so forth. If no prefix is present, this parameter defaults to ``==``. +``sender_notification_permission`` + This takes into account the current power levels in the room, ensuring the + sender of the event has high enough power to trigger the notification. + + Parameters: + + * ``key``: The notification power level to require the sender to have. Refer to + the `m.room.power_levels`_ event schema for information about what the defaults + are and how to interpret the event. The ``key`` is used to look up a specific + notification type from the ``notifications`` object in the power level event + content. + +Unrecognised conditions MUST NOT match any events, effectively making the push +rule disabled. + Push Rules: API ~~~~~~~~~~~~~~~ From ab0be0457199e65d115ed3eb6fd46ba94f591d1a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 22 Aug 2018 15:24:53 -0600 Subject: [PATCH 746/801] Fix titles --- specification/modules/push.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/modules/push.rst b/specification/modules/push.rst index 946834362..408eabe62 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -370,7 +370,7 @@ Definition: ``.m.rule.roomnotif`` -````````````````````````````````` +````````````````````` Matches any message whose content is unencrypted and contains the text ``@room``, signifying the whole room should be notified of the event. @@ -466,7 +466,7 @@ Definition: } ``.m.rule.encrypted_room_one_to_one`` -``````````````````````````` +````````````````````````````````````` Matches any encrypted event sent in a room with exactly two members. Definition: @@ -561,7 +561,7 @@ Definition: } ``.m.rule.encrypted`` -``````````````````` +````````````````````` Matches all encrypted events. Definition: From bce324818b8e1a41e1ee313f6944ca3e03d27d40 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 22 Aug 2018 15:26:27 -0600 Subject: [PATCH 747/801] Changelog --- changelogs/client_server/newsfragments/1551.clarification | 1 + changelogs/client_server/newsfragments/1551.feature | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelogs/client_server/newsfragments/1551.clarification create mode 100644 changelogs/client_server/newsfragments/1551.feature diff --git a/changelogs/client_server/newsfragments/1551.clarification b/changelogs/client_server/newsfragments/1551.clarification new file mode 100644 index 000000000..06eac4daa --- /dev/null +++ b/changelogs/client_server/newsfragments/1551.clarification @@ -0,0 +1 @@ +Clarify that new push rules should be enabled by default, and that unrecognised conditions should not match. diff --git a/changelogs/client_server/newsfragments/1551.feature b/changelogs/client_server/newsfragments/1551.feature new file mode 100644 index 000000000..dfce0f0a4 --- /dev/null +++ b/changelogs/client_server/newsfragments/1551.feature @@ -0,0 +1 @@ +Add new push rules for encrypted events and ``@room`` notifications. From a95d7092eb3bf4e02cbd1aabc31548462d6376c2 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Wed, 22 Aug 2018 15:27:48 -0600 Subject: [PATCH 748/801] Changelog --- changelogs/client_server/newsfragments/1550.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1550.feature diff --git a/changelogs/client_server/newsfragments/1550.feature b/changelogs/client_server/newsfragments/1550.feature new file mode 100644 index 000000000..f04fa9ae0 --- /dev/null +++ b/changelogs/client_server/newsfragments/1550.feature @@ -0,0 +1 @@ +Add server ACLs as an option for controlling federation in a room. From bbd33c146131939790e6939e881bfd46b971bd62 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 23 Aug 2018 13:29:04 -0600 Subject: [PATCH 749/801] Move appservice transaction API to the right section Part of https://github.com/matrix-org/matrix-doc/issues/1532 --- .../application_service.yaml | 70 ------------- api/application-service/transactions.yaml | 98 +++++++++++++++++++ specification/application_service_api.rst | 2 + 3 files changed, 100 insertions(+), 70 deletions(-) create mode 100644 api/application-service/transactions.yaml diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index bc6e45d5d..8fcfa0066 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -26,76 +26,6 @@ consumes: produces: - application/json paths: - "/transactions/{txnId}": - put: - summary: Send some events to the application service. - description: |- - This API is called by the homeserver when it wants to push an event - (or batch of events) to the application service. - - Note that the application service should distinguish state events - from message events via the presence of a ``state_key``, rather than - via the event type. - operationId: sendTransaction - parameters: - - in: path - name: txnId - type: string - description: |- - The transaction ID for this set of events. Homeservers generate - these IDs and they are used to ensure idempotency of requests. - required: true - x-example: "35" - - in: body - name: body - description: A list of events. - schema: - type: object - example: { - "events": [ - { - "age": 32, - "content": { - "body": "incoming message", - "msgtype": "m.text" - }, - "event_id": "$14328055551tzaee:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" - }, - { - "age": 1984, - "content": { - "body": "another incoming message", - "msgtype": "m.text" - }, - "event_id": "$1228055551ffsef:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" - } - ] - } - description: "Transaction informations" - properties: - events: - type: array - description: A list of events - items: - type: object - title: Event - required: ["events"] - responses: - 200: - description: The transaction was processed successfully. - examples: - application/json: { - } - schema: - type: object "/_matrix/app/unstable/thirdparty/protocol/{protocol}": get: summary: Retrieve metadata about a specific protocol that the application service supports. diff --git a/api/application-service/transactions.yaml b/api/application-service/transactions.yaml new file mode 100644 index 000000000..9388d3c5b --- /dev/null +++ b/api/application-service/transactions.yaml @@ -0,0 +1,98 @@ +# Copyright 2016 OpenMarket Ltd +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Application Service API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: "/" +consumes: + - application/json +produces: + - application/json +paths: + "/transactions/{txnId}": + put: + summary: Send some events to the application service. + description: |- + This API is called by the homeserver when it wants to push an event + (or batch of events) to the application service. + + Note that the application service should distinguish state events + from message events via the presence of a ``state_key``, rather than + via the event type. + operationId: sendTransaction + parameters: + - in: path + name: txnId + type: string + description: |- + The transaction ID for this set of events. Homeservers generate + these IDs and they are used to ensure idempotency of requests. + required: true + x-example: "35" + - in: body + name: body + description: A list of events. + schema: + type: object + example: { + "events": [ + { + "age": 32, + "content": { + "body": "incoming message", + "msgtype": "m.text" + }, + "event_id": "$14328055551tzaee:localhost", + "origin_server_ts": 1432804485886, + "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", + "type": "m.room.message", + "user_id": "@bob:localhost" + }, + { + "age": 1984, + "content": { + "body": "another incoming message", + "msgtype": "m.text" + }, + "event_id": "$1228055551ffsef:localhost", + "origin_server_ts": 1432804485886, + "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", + "type": "m.room.message", + "user_id": "@bob:localhost" + } + ] + } + description: "Transaction informations" + properties: + events: + type: array + description: A list of events + items: + type: object + title: Event + required: ["events"] + responses: + 200: + description: The transaction was processed successfully. + examples: + application/json: { + } + schema: + type: object \ No newline at end of file diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 08e3b0626..09e38e914 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -155,6 +155,8 @@ be made without blocking other aspects of the homeserver. Homeservers MUST NOT alter (e.g. add more) events they were going to send within that transaction ID on retries, as the AS may have already processed the events. +{{transactions_as_http_api}} + Querying ++++++++ From 6a91ea9c85a597f0ac89fce9e99f57be4be388da Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 23 Aug 2018 13:31:33 -0600 Subject: [PATCH 750/801] Specify that application services receive events in the CSAPI format Fixes https://github.com/matrix-org/matrix-doc/issues/1269 This is also supposed to fix the 'age' problem, however that is a larger problem with the event schemas that is reserved for a future PR/commit. Reference: https://github.com/matrix-org/matrix-doc/issues/1294 Reference: https://github.com/matrix-org/matrix-doc/issues/1524 --- api/application-service/transactions.yaml | 38 +++++------------------ 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/api/application-service/transactions.yaml b/api/application-service/transactions.yaml index 9388d3c5b..8735cc8f7 100644 --- a/api/application-service/transactions.yaml +++ b/api/application-service/transactions.yaml @@ -21,8 +21,6 @@ schemes: - https - http basePath: "/" -consumes: - - application/json produces: - application/json paths: @@ -53,37 +51,16 @@ paths: type: object example: { "events": [ - { - "age": 32, - "content": { - "body": "incoming message", - "msgtype": "m.text" - }, - "event_id": "$14328055551tzaee:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" - }, - { - "age": 1984, - "content": { - "body": "another incoming message", - "msgtype": "m.text" - }, - "event_id": "$1228055551ffsef:localhost", - "origin_server_ts": 1432804485886, - "room_id": "!TmaZBKYIFrIPVGoUYp:localhost", - "type": "m.room.message", - "user_id": "@bob:localhost" - } + {"$ref": "../../event-schemas/examples/m.room.member"}, + {"$ref": "../../event-schemas/examples/m.room.message#m.text"} ] } - description: "Transaction informations" + description: Transaction information properties: events: type: array - description: A list of events + description: |- + A list of events, formatted as per the Client-Server API. items: type: object title: Event @@ -92,7 +69,6 @@ paths: 200: description: The transaction was processed successfully. examples: - application/json: { - } + application/json: {} schema: - type: object \ No newline at end of file + type: object From 9eda1a697143249a03da6bbf02674263f74e5929 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Thu, 23 Aug 2018 15:07:55 -0600 Subject: [PATCH 751/801] Move the third party network API to it's own section --- .../application_service.yaml | 240 ---------------- api/application-service/protocols.yaml | 267 ++++++++++++++++++ specification/application_service_api.rst | 20 ++ 3 files changed, 287 insertions(+), 240 deletions(-) create mode 100644 api/application-service/protocols.yaml diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml index bc6e45d5d..8a32c95b3 100644 --- a/api/application-service/application_service.yaml +++ b/api/application-service/application_service.yaml @@ -96,243 +96,3 @@ paths: } schema: type: object - "/_matrix/app/unstable/thirdparty/protocol/{protocol}": - get: - summary: Retrieve metadata about a specific protocol that the application service supports. - description: |- - This API is called by the homeserver when it wants to present clients - with specific information about the various third party networks that - an application service supports. - operationId: getProtocolMetadata - parameters: - - in: path - name: protocol - type: string - description: The protocol ID. - required: true - x-example: "irc" - responses: - 200: - description: The protocol was found and metadata returned. - schema: - $ref: definitions/protocol_metadata.yaml - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: No protocol was found with the given path. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - "/_matrix/app/unstable/thirdparty/user/{protocol}": - get: - summary: Retrieve the Matrix User ID of a corresponding third party user. - description: |- - This API is called by the homeserver in order to retrieve a Matrix - User ID linked to a user on the third party network, given a set of - user parameters. - operationId: queryUserByProtocol - parameters: - - in: path - name: protocol - type: string - description: The protocol ID. - required: true - x-example: irc - - in: query - name: fields... - type: string - description: |- - One or more custom fields that are passed to the application - service to help identify the user. - responses: - 200: - description: The Matrix User IDs found with the given parameters. - schema: - $ref: definitions/user_batch.yaml - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: No users were found with the given parameters. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - "/_matrix/app/unstable/thirdparty/location/{protocol}": - get: - summary: Retreive Matrix-side portal rooms leading to a third party location. - description: |- - Retrieve a list of Matrix portal rooms that lead to the matched third party location. - operationId: queryLocationByProtocol - parameters: - - in: path - name: protocol - type: string - description: The protocol ID. - required: true - x-example: irc - - in: query - name: fields... - type: string - description: |- - One or more custom fields that are passed to the application - service to help identify the third party location. - responses: - 200: - description: At least one portal room was found. - schema: - $ref: definitions/location_batch.yaml - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: No mappings were found with the given parameters. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - "/_matrix/app/unstable/thirdparty/location": - get: - summary: Reverse-lookup third party locations given a Matrix room alias. - description: |- - Retreive an array of third party network locations from a Matrix room - alias. - operationId: queryLocationByAlias - parameters: - - in: query - name: alias - type: string - description: The Matrix room alias to look up. - responses: - 200: - description: |- - All found third party locations. - schema: - $ref: definitions/location_batch.yaml - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: No mappings were found with the given parameters. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - "/_matrix/app/unstable/thirdparty/user": - get: - summary: Reverse-lookup third party users given a Matrix User ID. - description: |- - Retreive an array of third party users from a Matrix User ID. - operationId: queryUserByID - parameters: - - in: query - name: userid - type: string - description: The Matrix User ID to look up. - responses: - 200: - description: |- - An array of third party users. - schema: - $ref: definitions/user_batch.yaml - 401: - description: |- - The homeserver has not supplied credentials to the application service. - Optional error information can be included in the body of this response. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 403: - description: |- - The credentials supplied by the homeserver were rejected. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml - 404: - description: No mappings were found with the given parameters. - examples: - application/json: { - "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" - } - schema: - $ref: ../client-server/definitions/errors/error.yaml diff --git a/api/application-service/protocols.yaml b/api/application-service/protocols.yaml new file mode 100644 index 000000000..376e66c0b --- /dev/null +++ b/api/application-service/protocols.yaml @@ -0,0 +1,267 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Application Service API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: "/" +consumes: + - application/json +produces: + - application/json +paths: + "/_matrix/app/unstable/thirdparty/protocol/{protocol}": + get: + summary: Retrieve metadata about a specific protocol that the application service supports. + description: |- + This API is called by the homeserver when it wants to present clients + with specific information about the various third party networks that + an application service supports. + operationId: getProtocolMetadata + parameters: + - in: path + name: protocol + type: string + description: The protocol ID. + required: true + x-example: "irc" + responses: + 200: + description: The protocol was found and metadata returned. + schema: + $ref: definitions/protocol_metadata.yaml + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: No protocol was found with the given path. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + "/_matrix/app/unstable/thirdparty/user/{protocol}": + get: + summary: Retrieve the Matrix User ID of a corresponding third party user. + description: |- + This API is called by the homeserver in order to retrieve a Matrix + User ID linked to a user on the third party network, given a set of + user parameters. + operationId: queryUserByProtocol + parameters: + - in: path + name: protocol + type: string + description: The protocol ID. + required: true + x-example: irc + - in: query + name: fields... + type: string + description: |- + One or more custom fields that are passed to the application + service to help identify the user. + responses: + 200: + description: The Matrix User IDs found with the given parameters. + schema: + $ref: definitions/user_batch.yaml + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: No users were found with the given parameters. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + "/_matrix/app/unstable/thirdparty/location/{protocol}": + get: + summary: Retreive Matrix-side portal rooms leading to a third party location. + description: |- + Retrieve a list of Matrix portal rooms that lead to the matched third party location. + operationId: queryLocationByProtocol + parameters: + - in: path + name: protocol + type: string + description: The protocol ID. + required: true + x-example: irc + - in: query + name: fields... + type: string + description: |- + One or more custom fields that are passed to the application + service to help identify the third party location. + responses: + 200: + description: At least one portal room was found. + schema: + $ref: definitions/location_batch.yaml + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + "/_matrix/app/unstable/thirdparty/location": + get: + summary: Reverse-lookup third party locations given a Matrix room alias. + description: |- + Retreive an array of third party network locations from a Matrix room + alias. + operationId: queryLocationByAlias + parameters: + - in: query + name: alias + type: string + description: The Matrix room alias to look up. + responses: + 200: + description: |- + All found third party locations. + schema: + $ref: definitions/location_batch.yaml + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_FORBIDDEN" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + "/_matrix/app/unstable/thirdparty/user": + get: + summary: Reverse-lookup third party users given a Matrix User ID. + description: |- + Retreive an array of third party users from a Matrix User ID. + operationId: queryUserByID + parameters: + - in: query + name: userid + type: string + description: The Matrix User ID to look up. + responses: + 200: + description: |- + An array of third party users. + schema: + $ref: definitions/user_batch.yaml + 401: + description: |- + The homeserver has not supplied credentials to the application service. + Optional error information can be included in the body of this response. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 403: + description: |- + The credentials supplied by the homeserver were rejected. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_UNAUTHORIZED" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml + 404: + description: No mappings were found with the given parameters. + examples: + application/json: { + "errcode": "COM.EXAMPLE.MYAPPSERVICE_NOT_FOUND" + } + schema: + $ref: ../client-server/definitions/errors/error.yaml diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 08e3b0626..c5f8be720 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -180,6 +180,26 @@ this request (e.g. to join a room alias). {{query_room_as_http_api}} +Third party networks +++++++++++++++++++++ + +Application services may declare which protocols they support via their registration +file. These networks are generally for third party services such as IRC that the +application service is managing. Application services may populate a Matrix room +directory for their registered protocols, as defined in the Client-Server API Extensions. + +Each protocol may have several "locations". A location within a protocol is a place +in the third party network, such as an IRC channel. Users of the third party network +may also be represented by the application service. + +Locations and users can be searched by fields defined by the application service, such +as by display name or other attribute. When clients request the homeserver to search +in a particular "network" (protocol), the search fields will be passed along to the +application service for filtering. + +{{protocols_as_http_api}} + + HTTP APIs +++++++++ From 2d43ff123400a54f087a30179af7cb5077ab8cf5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 24 Aug 2018 10:22:10 -0600 Subject: [PATCH 752/801] Update third party network schemas Some information was missed when this was reviewed. This commit adds some additional documentation for how these objects interact with each other. --- .../definitions/location.yaml | 8 +- .../definitions/protocol.yaml | 88 +++++++++++++------ .../definitions/protocol_metadata.yaml | 2 + api/application-service/definitions/user.yaml | 6 +- 4 files changed, 72 insertions(+), 32 deletions(-) diff --git a/api/application-service/definitions/location.yaml b/api/application-service/definitions/location.yaml index 4967ef61f..5a0f92c88 100644 --- a/api/application-service/definitions/location.yaml +++ b/api/application-service/definitions/location.yaml @@ -19,12 +19,14 @@ properties: protocol: description: The protocol ID that the third party location is a part of. type: string - example: irc + example: "irc" fields: description: Information used to identify this third party location. type: object - example: - "network": "freenode" + example: { + "network": "freenode", "channel": "#matrix" + } +required: ['alias', 'protocol', 'fields'] title: Location type: object \ No newline at end of file diff --git a/api/application-service/definitions/protocol.yaml b/api/application-service/definitions/protocol.yaml index 231e8288a..851091d69 100644 --- a/api/application-service/definitions/protocol.yaml +++ b/api/application-service/definitions/protocol.yaml @@ -11,41 +11,60 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +title: Protocol +type: object properties: user_fields: - description: Fields used to identify a third party user. + description: |- + Fields which may be used to identify a third party user. These should be + ordered to suggest the way that entities may be grouped, where higher + groupings are ordered first. For example, the name of a network should be + searched before the nickname of a user. type: array items: type: string description: Field used to identify a third party user. example: ["network", "nickname"] location_fields: - description: Fields used to identify a third party location. + description: |- + Fields which may be used to identify a third party location. These should be + ordered to suggest the way that entities may be grouped, where higher + groupings are ordered first. For example, the name of a network should be + searched before the name of a channel. type: array items: type: string description: Field used to identify a third party location. example: ["network", "channel"] icon: - description: An icon representing the third party protocol. + description: A content URI representing an icon for the third party protocol. type: string example: "mxc://example.org/aBcDeFgH" field_types: title: Field Types - description: All location or user fields should have an entry here. + description: |- + The type definitions for the fields defined in the ``user_fields`` and + ``location_fields``. Each entry in those arrays MUST have an entry here. The + ``string`` key for this object is field name itself. + + May be an empty object if no fields are defined. type: object - properties: - fieldname: - title: Field Type - description: Definition of valid values for a field. - type: object - properties: - regexp: - description: A regular expression for validation of a field's value. - type: string - placeholder: - description: An placeholder serving as a valid example of the field value. - type: string + additionalProperties: + title: Field Type + description: Definition of valid values for a field. + type: object + properties: + regexp: + description: |- + A regular expression for validation of a field's value. This may be relatively + coarse to verify the value as the application service providing this protocol + may apply additional validation or filtering. + type: string + placeholder: + description: An placeholder serving as a valid example of the field value. + type: string + required: ['regexp', 'placeholder'] + required: ['fieldname'] example: { "network": { "regexp": "([a-z0-9]+\\.)*[a-z0-9]+", @@ -63,17 +82,32 @@ properties: instances: description: |- A list of objects representing independent instances of configuration. - For instance multiple networks on IRC if multiple are bridged by the - same bridge. + For example, multiple networks on IRC if multiple are provided by the + same application service. type: array items: type: object - example: { - "desc": "Freenode", - "icon": "mxc://example.org/JkLmNoPq", - "fields": { - "network": "freenode.net", - } - } -title: Protocol -type: object \ No newline at end of file + title: Protocol Instance + properties: + desc: + type: string + description: A human-readable description for the protocol, such as the name. + example: "Freenode" + icon: + type: string + description: |- + An optional content URI representing the protocol. Overrides the one provided + at the higher level Protocol object. + example: "mxc://example.org/JkLmNoPq" + fields: + type: object + description: Preset values for ``fields`` the client may use to search by. + example: { + "network": "freenode" + } + network_id: + type: string + description: A unique identifier across all instances. + example: "freenode" + required: ['desc', 'fields', 'network_id'] +required: ['user_fields', 'location_fields', 'icon', 'field_types', 'instances'] diff --git a/api/application-service/definitions/protocol_metadata.yaml b/api/application-service/definitions/protocol_metadata.yaml index 2b2c8f4e7..e7bf45da6 100644 --- a/api/application-service/definitions/protocol_metadata.yaml +++ b/api/application-service/definitions/protocol_metadata.yaml @@ -36,6 +36,7 @@ example: { }, "instances": [ { + "network_id": "freenode", "desc": "Freenode", "icon": "mxc://example.org/JkLmNoPq", "fields": { @@ -59,6 +60,7 @@ example: { }, "instances": [ { + "network_id": "gitter", "desc": "Gitter", "icon": "mxc://example.org/zXyWvUt", "fields": {} diff --git a/api/application-service/definitions/user.yaml b/api/application-service/definitions/user.yaml index a7b2287ef..258e7c138 100644 --- a/api/application-service/definitions/user.yaml +++ b/api/application-service/definitions/user.yaml @@ -21,11 +21,13 @@ properties: protocol: description: The protocol ID that the third party location is a part of. type: string - example: gitter + example: "gitter" fields: description: Information used to identify this third party location. type: object - example: + example: { "user": "jim" + } +required: ['userid', 'protocol', 'fields'] title: User type: object \ No newline at end of file From 017d6db7370f87b5b72e9ce19d6f8962462ab525 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 24 Aug 2018 11:07:30 -0600 Subject: [PATCH 753/801] Document third party network/protocol directories (for appservices) Fixes https://github.com/matrix-org/matrix-doc/issues/869 --- .../appservice_room_directory.yaml | 87 +++++++++++++++++++ api/client-server/list_public_rooms.yaml | 20 ++++- api/server-server/public_rooms.yaml | 14 +++ specification/application_service_api.rst | 12 +++ 4 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 api/client-server/appservice_room_directory.yaml diff --git a/api/client-server/appservice_room_directory.yaml b/api/client-server/appservice_room_directory.yaml new file mode 100644 index 000000000..0225ecd85 --- /dev/null +++ b/api/client-server/appservice_room_directory.yaml @@ -0,0 +1,87 @@ +# Copyright 2018 New Vector Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +swagger: '2.0' +info: + title: "Matrix Client-Server Application Service Room Directory API" + version: "1.0.0" +host: localhost:8008 +schemes: + - https + - http +basePath: /_matrix/client/%CLIENT_MAJOR_VERSION% +consumes: + - application/json +produces: + - application/json +securityDefinitions: + # Note: this is the same access_token definition used elsewhere in the client + # server API, however this expects an access token for an application service. + $ref: definitions/security.yaml +paths: + "/directory/list/appservice/{networkId}/{roomId}": + put: + summary: |- + Updates a room's visibility in the application service's room directory. + description: |- + Updates the visibility of a given room on the application service's room + directory. + + This API is similar to the room directory visibility API used by clients + to update the homeserver's more general room directory. + + This API requires the use of an application service access token (``as_token``) + instead of a typical client's access_token. This API cannot be invoked by + users who are not identified as application services. + operationId: updateAppserviceRoomDirectoryVsibility + parameters: + - in: path + type: string + name: networkId + description: |- + The protocol (network) ID to update the room list for. This would + have been provided by the application service as being listed as + a supported protocol. + required: true + x-example: "irc" + - in: path + type: string + name: roomId + description: The room ID to add to the directory. + required: true + x-example: "!somewhere:domain.com" + - in: body + name: body + schema: + type: object + properties: + visibility: + type: enum + enum: ["public", "private"] + description: |- + Whether the room should be visible (public) in the directory + or not (private). + example: "public" + required: ['visibility'] + security: + # again, this is the appservice's token - not a typical client's + - accessToken: [] + responses: + 200: + description: The room's directory visibility has been updated. + schema: + type: object + examples: + application/json: {} + tags: + - Application service room directory management diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 72a120609..d1abc68ec 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -194,8 +194,26 @@ paths: description: |- A string to search for in the room metadata, e.g. name, topic, canonical alias etc. (Optional). + include_all_networks: + type: boolean + description: |- + Whether or not to include all known networks/protocols from + application services on the homeserver. Defaults to false. + example: false + third_party_instance_id: + type: string + description: |- + The specific third party network/protocol to request from the + homeserver. Can only be used if ``include_all_networks`` is false. + example: "irc" example: { - "limit": 10, "filter": {"generic_search_term": "foo"}} + "limit": 10, + "filter": { + "generic_search_term": "foo" + }, + "include_all_networks": false, + "third_party_instance_id": "irc" + } responses: 200: description: A list of the rooms on the server. diff --git a/api/server-server/public_rooms.yaml b/api/server-server/public_rooms.yaml index d162568f8..b76910236 100644 --- a/api/server-server/public_rooms.yaml +++ b/api/server-server/public_rooms.yaml @@ -49,6 +49,20 @@ paths: A pagination token from a previous call to this endpoint to fetch more rooms. x-example: "GetMoreRoomsTokenHere" + - in: query + name: include_all_networks + type: boolean + description: |- + Whether or not to include all networks/protocols defined by application + services on the homeserver. Defaults to false. + x-example: false + - in: query + name: third_party_instance_id + type: string + description: |- + The specific third party network/protocol to request from the homeserver. + Can only be used if ``include_all_networks`` is false. + x-example: "irc" responses: 200: description: The public room list for the homeserver. diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index c5f8be720..9d467e879 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -218,6 +218,9 @@ Application services can use a more powerful version of the client-server API by identifying itself as an application service to the homeserver. +Endpoints defined in this section MUST be supported by homeservers in the +client-server API as accessible only by application services. + Identity assertion ++++++++++++++++++ The client-server API infers the user ID from the ``access_token`` provided in @@ -314,6 +317,15 @@ API MUST do so with a virtual user (provide a ``user_id`` via the query string). is expected that the application service use the transactions pushed to it to handle events rather than syncing with the user implied by ``sender_localpart``. +Application service room directories +++++++++++++++++++++++++++++++++++++ + +Application services can maintain their own room directories for their defined +third party protocols. These room directories may be accessed by clients through +additional parameters on the ``/publicRooms`` client-server endpoint. + +{{appservice_room_directory_cs_http_api}} + Event fields ~~~~~~~~~~~~ From 9b19fc27def683ec1f64014aa1686096cf7ee716 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Fri, 24 Aug 2018 11:09:55 -0600 Subject: [PATCH 754/801] changelog --- changelogs/client_server/newsfragments/1554.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1554.feature diff --git a/changelogs/client_server/newsfragments/1554.feature b/changelogs/client_server/newsfragments/1554.feature new file mode 100644 index 000000000..ec7ffe71c --- /dev/null +++ b/changelogs/client_server/newsfragments/1554.feature @@ -0,0 +1 @@ +Add third party network room directories, as provided by application services. From c879eb950f9a201e4bc6075b7796598dcd4e3aaf Mon Sep 17 00:00:00 2001 From: Kitsune Ral <Kitsune-Ral@users.sf.net> Date: Sat, 25 Aug 2018 20:38:06 +0900 Subject: [PATCH 755/801] client-server/openid.yaml: Fix a type'o Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me> --- api/client-server/openid.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/openid.yaml b/api/client-server/openid.yaml index 4b89232ea..cb982fb32 100644 --- a/api/client-server/openid.yaml +++ b/api/client-server/openid.yaml @@ -90,7 +90,7 @@ paths: The homeserver domain the consumer should use when attempting to verify the user's identity. expires_in: - type: int + type: integer description: |- The number of seconds before this token expires and a new one must be generated. From aa294fac064e7bb8e36932a666c529fdd996f2bc Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 25 Aug 2018 22:57:52 -0600 Subject: [PATCH 756/801] Define the supported HTML subset for message events Also clarify that `m.notice` messages can support HTML. Fixes https://github.com/matrix-org/matrix-doc/issues/1559 Fixes https://github.com/matrix-org/matrix-doc/issues/1560 --- .../examples/m.room.message#m.notice | 4 +- specification/modules/instant_messaging.rst | 48 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/event-schemas/examples/m.room.message#m.notice b/event-schemas/examples/m.room.message#m.notice index 978c67e6b..876cbbb7d 100644 --- a/event-schemas/examples/m.room.message#m.notice +++ b/event-schemas/examples/m.room.message#m.notice @@ -2,7 +2,9 @@ "age": 242352, "content": { "body": "This is an example notice", - "msgtype": "m.notice" + "msgtype": "m.notice", + "format": "org.matrix.custom.html", + "formatted_body": "This is an <strong>example</strong> notice" }, "origin_server_ts": 1431961217939, "event_id": "$WLGTSEFSEF:localhost", diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index ff87f74be..29d33c558 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -56,6 +56,54 @@ of message being sent. Each type has their own required and optional keys, as outlined below. If a client cannot display the given ``msgtype`` then it SHOULD display the fallback plain text ``body`` key instead. +Some message types support HTML in the event content that clients should prefer +to display if available. Currently ``m.text``, ``m.emote``, and ``m.notice`` +support an additional ``format`` parameter of ``org.matrix.custom.html``. When +this field is present, a ``formatted_body`` with the HTML must be provided. The +plain text version of the HTML should be provided in the ``body``. + +Clients should limit the HTML they render to avoid Cross-Site Scripting, HTML +injection, and similar attacks. The strongly suggested set of HTML tags to permit, +denying the use and rendering of anything else, is: ``font``, ``del``, ``h1``, +``h2``, ``h3``, ``h4``, ``h5``, ``h6``, ``blockquote``, ``p``, ``a``, ``ul``, +``ol``, ``sup``, ``sub``, ``nl``, ``li``, ``b``, ``i``, ``u``, ``strong``, ``em``, +``strike``, ``code``, ``hr``, ``br``, ``div``, ``table``, ``thead``, ``tbody``, +``tr``, ``th``, ``td``, ``caption``, ``pre``, ``span``, ``img``. + +Not all attributes on those tags should be permitted as they may be avenues for +other disruption attempts, such as adding ``onclick`` handlers or excessively +large text. Clients should only permit the attributes listed for the tags below. +Where ``data-mx-bg-color`` and ``data-mx-color`` are listed, clients should +translate the value (a 6-character hex color code) to the appropriate CSS/attributes +for the tag. + + +:``font``: + ``data-mx-bg-color``, ``data-mx-color`` + +:``span``: + ``data-mx-bg-color``, ``data-mx-color`` + +:``a``: + ``name``, ``target``, ``href`` (provided the value is not relative and has a scheme + matching one of: ``https``, ``http``, ``ftp``, ``mailto``, ``magnet``) + +:``img``: + ``width``, ``height``, ``alt``, ``title``, ``src`` (provided it is a Matrix Content + URI) + +:``ol``: + ``start`` + +:``code``: + ``class`` (only classes which start with ``language-`` for syntax highlighting) + + +Additionally, clients should ensure that *all* ``a`` tags get a ``rel="noopener"`` +to prevent the target page from referencing the client's tab/window. + + + {{msgtype_events}} From 3c472f70e3aa0f29aa95c05887d50970a9cb2de5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 25 Aug 2018 22:59:22 -0600 Subject: [PATCH 757/801] Changelog --- changelogs/client_server/newsfragments/1562.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1562.clarification diff --git a/changelogs/client_server/newsfragments/1562.clarification b/changelogs/client_server/newsfragments/1562.clarification new file mode 100644 index 000000000..c46e189d0 --- /dev/null +++ b/changelogs/client_server/newsfragments/1562.clarification @@ -0,0 +1 @@ +Clarify the supported HTML features for room messages. From 0a6c1c4ddaa28a6ce169c1f38f22ddcde7fa0291 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 25 Aug 2018 23:18:43 -0600 Subject: [PATCH 758/801] Ensure the event examples and matrix.org assets are tested Otherwise we go nearly a week without realizing the build is failing due to bad schemas/examples. This also helps us ensure a PR is up to par. This commit is expected to cause a build failure at this time. A future commit will actually fix the project and address concerns raised by the testing. --- .circleci/config.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3a0b60325..f79449f38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,9 +23,29 @@ buildswaggerui: &buildswaggerui wget https://raw.githubusercontent.com/matrix-org/matrix.org/master/scripts/swagger-ui.patch patch api/client-server/index.html swagger-ui.patch +checkexamples: &checkexamples + name: Check Event Examples + command: | + source /env/bin/activate + cd event-schemas + ./check_examples.py + +genmatrixassets: &genmatrixassets + name: Generate/Verify matrix.org assets + command: | + source /env/bin/activate + ./scripts/generate-matrix-org-assets + version: 2 jobs: + check-docs: + docker: + - image: uhoreg/matrix-doc-build + steps: + - checkout + - run: *checkexamples + - run: *genmatrixassets # We don't actually use the assets, but we do want to make sure they build build-docs: docker: - image: uhoreg/matrix-doc-build From be9f6042e527a44cd1b4315a208380adef7e1507 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 25 Aug 2018 23:21:50 -0600 Subject: [PATCH 759/801] Fix encrypted event examples --- event-schemas/examples/m.room.encrypted#megolm | 2 +- event-schemas/examples/m.room.encrypted#olm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/event-schemas/examples/m.room.encrypted#megolm b/event-schemas/examples/m.room.encrypted#megolm index 1f9b75208..726763181 100644 --- a/event-schemas/examples/m.room.encrypted#megolm +++ b/event-schemas/examples/m.room.encrypted#megolm @@ -1,6 +1,6 @@ { "content": { - "algorithm": "m.megolm.v1.aes-sha2", + "algorithm": "m.megolm.v1.aes-sha256", "ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg...", "device_id": "RJYKSTBOIE", "sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA", diff --git a/event-schemas/examples/m.room.encrypted#olm b/event-schemas/examples/m.room.encrypted#olm index abb23c31e..23f657385 100644 --- a/event-schemas/examples/m.room.encrypted#olm +++ b/event-schemas/examples/m.room.encrypted#olm @@ -2,7 +2,7 @@ "type": "m.room.encrypted", "sender": "@example:localhost", "content": { - "algorithm": "m.olm.v1.curve25519-aes-sha2", + "algorithm": "m.olm.v1.curve25519-aes-sha256", "sender_key": "Szl29ksW/L8yZGWAX+8dY1XyFi+i5wm+DRhTGkbMiwU", "ciphertext": { "7qZcfnBmbEGzxxaWfBjElJuvn7BZx+lSz/SvFrDF/z8": { From e9e93b0eecad5546efef33d46bdbe214c47d8c31 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 20:51:39 -0600 Subject: [PATCH 760/801] Move `invite_room_state` to the correct place in the client-server API Fixes https://github.com/matrix-org/matrix-doc/issues/1350 --- .../examples/m.room.member#invite_room_state | 32 +++++------ event-schemas/schema/m.room.member | 53 +++++++++++-------- scripts/templating/matrix_templates/units.py | 9 ---- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/event-schemas/examples/m.room.member#invite_room_state b/event-schemas/examples/m.room.member#invite_room_state index 1a93b395b..965669adb 100644 --- a/event-schemas/examples/m.room.member#invite_room_state +++ b/event-schemas/examples/m.room.member#invite_room_state @@ -5,22 +5,24 @@ "avatar_url": "mxc://localhost/SEsfnsuifSDFSSEF#auto", "displayname": "Alice Margatroid" }, - "invite_room_state": [ - { - "type": "m.room.name", - "state_key": "", - "content": { - "name": "Forest of Magic" + "unsigned": { + "invite_room_state": [ + { + "type": "m.room.name", + "state_key": "", + "content": { + "name": "Forest of Magic" + } + }, + { + "type": "m.room.join_rules", + "state_key": "", + "content": { + "join_rule": "invite" + } } - }, - { - "type": "m.room.join_rules", - "state_key": "", - "content": { - "join_rule": "invite" - } - } - ], + ] + }, "state_key": "@alice:localhost", "origin_server_ts": 1431961217939, "event_id": "$WLGTSEFSEF:localhost", diff --git a/event-schemas/schema/m.room.member b/event-schemas/schema/m.room.member index 4f4077a76..5fb5356d8 100644 --- a/event-schemas/schema/m.room.member +++ b/event-schemas/schema/m.room.member @@ -18,7 +18,9 @@ description: |- The ``third_party_invite`` property will be set if this invite is an ``invite`` event and is the successor of an ``m.room.third_party_invite`` event, and absent otherwise. - This event may also include an ``invite_room_state`` key **outside the** ``content`` **key**. If present, this contains an array of ``StrippedState`` Events. These events provide information on a subset of state events such as the room name. + This event may also include an ``invite_room_state`` key inside the event's ``unsigned`` data. + If present, this contains an array of ``StrippedState`` Events. These events provide information + on a subset of state events such as the room name. properties: content: properties: @@ -71,32 +73,37 @@ properties: - signed title: Invite type: object + unsigned: + type: object + title: UnsignedData + description: Contains optional extra information about the event. + properties: + invite_room_state: + description: 'A subset of the state of the room at the time of the invite, if ``membership`` is ``invite``. Note that this state is informational, and SHOULD NOT be trusted; once the client has joined the room, it SHOULD fetch the live state from the server and discard the invite_room_state. Also, clients must not rely on any particular state being present here; they SHOULD behave properly (with possibly a degraded but not a broken experience) in the absence of any particular events here. If they are set on the room, at least the state for ``m.room.avatar``, ``m.room.canonical_alias``, ``m.room.join_rules``, and ``m.room.name`` SHOULD be included.' + items: + description: 'A stripped down state event, with only the ``type``, ``state_key`` and ``content`` keys.' + properties: + content: + description: The ``content`` for the event. + title: EventContent + type: object + state_key: + description: The ``state_key`` for the event. + type: string + type: + description: The ``type`` for the event. + type: string + required: + - type + - state_key + - content + title: StrippedState + type: object + type: array required: - membership title: EventContent type: object - invite_room_state: - description: 'A subset of the state of the room at the time of the invite, if ``membership`` is ``invite``. Note that this state is informational, and SHOULD NOT be trusted; once the client has joined the room, it SHOULD fetch the live state from the server and discard the invite_room_state. Also, clients must not rely on any particular state being present here; they SHOULD behave properly (with possibly a degraded but not a broken experience) in the absence of any particular events here. If they are set on the room, at least the state for ``m.room.avatar``, ``m.room.canonical_alias``, ``m.room.join_rules``, and ``m.room.name`` SHOULD be included.' - items: - description: 'A stripped down state event, with only the ``type``, ``state_key`` and ``content`` keys.' - properties: - content: - description: The ``content`` for the event. - title: EventContent - type: object - state_key: - description: The ``state_key`` for the event. - type: string - type: - description: The ``type`` for the event. - type: string - required: - - type - - state_key - - content - title: StrippedState - type: object - type: array state_key: description: The ``user_id`` this membership event relates to. type: string diff --git a/scripts/templating/matrix_templates/units.py b/scripts/templating/matrix_templates/units.py index 90a87cd47..81da3f6ab 100644 --- a/scripts/templating/matrix_templates/units.py +++ b/scripts/templating/matrix_templates/units.py @@ -875,15 +875,6 @@ class MatrixUnits(Units): Units.prop(json_schema, "properties/content") ) - # This is horrible because we're special casing a key on m.room.member. - # We need to do this because we want to document a non-content object. - if schema["type"] == "m.room.member": - invite_room_state = get_tables_for_schema( - json_schema["properties"]["invite_room_state"]["items"], - ) - schema["content_fields"].extend(invite_room_state) - - # grab msgtype if it is the right kind of event msgtype = Units.prop( json_schema, "properties/content/properties/msgtype/enum" From 5ceb1321107f9ff0760902e4aa4287da59c8510d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 20:52:59 -0600 Subject: [PATCH 761/801] Changelog --- changelogs/client_server/newsfragments/1568.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1568.clarification diff --git a/changelogs/client_server/newsfragments/1568.clarification b/changelogs/client_server/newsfragments/1568.clarification new file mode 100644 index 000000000..4b7a6eafb --- /dev/null +++ b/changelogs/client_server/newsfragments/1568.clarification @@ -0,0 +1 @@ +Move the ``invite_room_state`` definition under ``unsigned`` where it actually resides. From 7d08ef73d09de2e37b9be9d602277c4f336be35b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:19:07 -0600 Subject: [PATCH 762/801] Fix naming of the Filter schemas EventFilter !== Filter Fixes https://github.com/matrix-org/matrix-doc/issues/1509 --- api/client-server/definitions/event_filter.yaml | 2 +- api/client-server/definitions/sync_filter.yaml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/client-server/definitions/event_filter.yaml b/api/client-server/definitions/event_filter.yaml index 1cae3ea90..8c96917fd 100644 --- a/api/client-server/definitions/event_filter.yaml +++ b/api/client-server/definitions/event_filter.yaml @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -title: Filter +title: EventFilter properties: limit: description: The maximum number of events to return. diff --git a/api/client-server/definitions/sync_filter.yaml b/api/client-server/definitions/sync_filter.yaml index 69b245a31..33bead262 100644 --- a/api/client-server/definitions/sync_filter.yaml +++ b/api/client-server/definitions/sync_filter.yaml @@ -11,6 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +type: object +title: Filter properties: event_fields: description: List of event fields to include. If this list is absent then all @@ -40,6 +42,7 @@ properties: room: title: RoomFilter description: Filters to be applied to room data. + type: object properties: not_rooms: description: A list of room IDs to exclude. If this list is absent then no rooms @@ -76,5 +79,3 @@ properties: allOf: - $ref: room_event_filter.yaml description: The per user account data to include for rooms. - type: object -type: object From 97e3dd443b5bc38a8ec166b9ae3642460f960e1c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:20:01 -0600 Subject: [PATCH 763/801] Update room_event_filter.yaml to use the OpenAPI allOf definition This is just maintenance. --- .../definitions/room_event_filter.yaml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/api/client-server/definitions/room_event_filter.yaml b/api/client-server/definitions/room_event_filter.yaml index 7d9184b58..9817db0c0 100644 --- a/api/client-server/definitions/room_event_filter.yaml +++ b/api/client-server/definitions/room_event_filter.yaml @@ -13,23 +13,23 @@ # limitations under the License. allOf: - $ref: event_filter.yaml -title: RoomEventFilter -properties: - not_rooms: - description: A list of room IDs to exclude. If this list is absent then no rooms - are excluded. A matching room will be excluded even if it is listed in the ``'rooms'`` - filter. - items: - type: string - type: array - rooms: - description: A list of room IDs to include. If this list is absent then all rooms - are included. - items: - type: string - type: array - contains_url: - type: boolean +- type: object + title: RoomEventFilter + properties: + not_rooms: + description: A list of room IDs to exclude. If this list is absent then no rooms + are excluded. A matching room will be excluded even if it is listed in the ``'rooms'`` + filter. + items: + type: string + type: array + rooms: + description: A list of room IDs to include. If this list is absent then all rooms + are included. + items: + type: string + type: array + contains_url: + type: boolean description: If ``true``, includes only events with a url key in their content. If ``false``, excludes those events. -type: object From 26a7a341f0f56e8ac16edf0b8ee7b57bae26b298 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:20:28 -0600 Subject: [PATCH 764/801] Mark the filter_id in the response of POST /filter as required --- api/client-server/filter.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index b34da7b62..58d9e55cb 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -91,7 +91,12 @@ paths: filter_id: type: string description: |- - The ID of the filter that was created. + The ID of the filter that was created. Cannot start + with a ``{`` as this character is used to determine + if the filter provided is inline JSON or a previously + declared filter by homeservers on some APIs. + example: "66696p746572" + required: ['filter_id'] tags: - Room participation "/user/{userId}/filter/{filterId}": From 1cbcaba2c70fa41bc8f478113932fdcd642957af Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:21:27 -0600 Subject: [PATCH 765/801] Clean up examples in filter.yaml Indentation, excess examples. --- api/client-server/filter.yaml | 48 ++++++++++++++++------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/api/client-server/filter.yaml b/api/client-server/filter.yaml index 58d9e55cb..db2151960 100644 --- a/api/client-server/filter.yaml +++ b/api/client-server/filter.yaml @@ -54,37 +54,33 @@ paths: allOf: - $ref: "definitions/sync_filter.yaml" example: { - "room": { - "state": { - "types": ["m.room.*"], - "not_rooms": ["!726s6s6q:example.com"] - }, - "timeline": { - "limit": 10, - "types": ["m.room.message"], - "not_rooms": ["!726s6s6q:example.com"], - "not_senders": ["@spam:example.com"] - }, - "ephemeral": { - "types": ["m.receipt", "m.typing"], - "not_rooms": ["!726s6s6q:example.com"], - "not_senders": ["@spam:example.com"] - } + "room": { + "state": { + "types": ["m.room.*"], + "not_rooms": ["!726s6s6q:example.com"] }, - "presence": { - "types": ["m.presence"], - "not_senders": ["@alice:example.com"] + "timeline": { + "limit": 10, + "types": ["m.room.message"], + "not_rooms": ["!726s6s6q:example.com"], + "not_senders": ["@spam:example.com"] }, - "event_format": "client", - "event_fields": ["type", "content", "sender"] - } + "ephemeral": { + "types": ["m.receipt", "m.typing"], + "not_rooms": ["!726s6s6q:example.com"], + "not_senders": ["@spam:example.com"] + } + }, + "presence": { + "types": ["m.presence"], + "not_senders": ["@alice:example.com"] + }, + "event_format": "client", + "event_fields": ["type", "content", "sender"] + } responses: 200: description: The filter was created. - examples: - application/json: { - "filter_id": "66696p746572" - } schema: type: object properties: From b68ed5d594d37fa0c76e1592805f64e3030b1ca4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:21:49 -0600 Subject: [PATCH 766/801] Define the default for the contains_url filter param Fixes https://github.com/matrix-org/matrix-doc/issues/1553 --- api/client-server/definitions/room_event_filter.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/client-server/definitions/room_event_filter.yaml b/api/client-server/definitions/room_event_filter.yaml index 9817db0c0..c36b3768f 100644 --- a/api/client-server/definitions/room_event_filter.yaml +++ b/api/client-server/definitions/room_event_filter.yaml @@ -31,5 +31,5 @@ allOf: type: array contains_url: type: boolean - description: If ``true``, includes only events with a url key in their content. If - ``false``, excludes those events. + description: If ``true``, includes only events with a ``url`` key in their content. If + ``false``, excludes those events. Defaults to ``false``. From b0fbd7be7c4cb3abe80cc5b6218a6de0f6fb1ff8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:24:33 -0600 Subject: [PATCH 767/801] Changelog --- changelogs/client_server/newsfragments/1570.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1570.clarification diff --git a/changelogs/client_server/newsfragments/1570.clarification b/changelogs/client_server/newsfragments/1570.clarification new file mode 100644 index 000000000..dbf8a821c --- /dev/null +++ b/changelogs/client_server/newsfragments/1570.clarification @@ -0,0 +1 @@ +Clarify the object structures and defaults for Filters. From 667fa082af81b612748180e92e5fe8e6aad4aa55 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:30:33 -0600 Subject: [PATCH 768/801] Replace applicable types of 'number' to 'integer' `number` implies/represents a float where `integer` does not. The only remaining `type: number` in the project appear on power levels: those have been left untouched pending clarification. Fixes https://github.com/matrix-org/matrix-doc/issues/746 --- api/client-server/admin.yaml | 3 ++- api/client-server/content-repo.yaml | 9 ++++++--- api/client-server/definitions/public_rooms_response.yaml | 4 ++-- api/client-server/list_public_rooms.yaml | 8 ++++---- api/client-server/notifications.yaml | 2 +- api/client-server/registration.yaml | 4 ++-- api/client-server/search.yaml | 4 ++-- api/client-server/users.yaml | 2 +- event-schemas/schema/core-event-schema/room_event.yaml | 3 ++- 9 files changed, 22 insertions(+), 17 deletions(-) diff --git a/api/client-server/admin.yaml b/api/client-server/admin.yaml index 2fdac82b0..09942a101 100644 --- a/api/client-server/admin.yaml +++ b/api/client-server/admin.yaml @@ -105,7 +105,8 @@ paths: type: string description: Most recently seen IP address of the session. last_seen: - type: number + type: integer + format: int64 description: Unix timestamp that the session was last active. user_agent: type: string diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index b3e9517b1..5f4e9111a 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -259,7 +259,8 @@ paths: description: "The URL to get a preview of" required: true - in: query - type: number + type: integer + format: int64 x-example: 1510610716656 name: ts description: |- @@ -276,7 +277,8 @@ paths: type: object properties: "matrix:image:size": - type: number + type: integer + format: int64 description: |- The byte-size of the image. Omitted if there is no image attached. "og:image": @@ -324,7 +326,8 @@ paths: type: object properties: m.upload.size: - type: number + type: integer + format: int64 description: |- The maximum size an upload can be in bytes. Clients SHOULD use this as a guide when uploading content. diff --git a/api/client-server/definitions/public_rooms_response.yaml b/api/client-server/definitions/public_rooms_response.yaml index fc6ccb44c..ab7010516 100644 --- a/api/client-server/definitions/public_rooms_response.yaml +++ b/api/client-server/definitions/public_rooms_response.yaml @@ -45,7 +45,7 @@ properties: description: |- The name of the room, if any. num_joined_members: - type: number + type: integer description: |- The number of members joined to the room. room_id: @@ -82,7 +82,7 @@ properties: absence of this token means there are no results before this batch, i.e. this is the first batch. total_room_count_estimate: - type: number + type: integer description: |- An estimate on the total number of public rooms, if the server has an estimate. diff --git a/api/client-server/list_public_rooms.yaml b/api/client-server/list_public_rooms.yaml index 72a120609..8f0e80d55 100644 --- a/api/client-server/list_public_rooms.yaml +++ b/api/client-server/list_public_rooms.yaml @@ -123,7 +123,7 @@ paths: parameters: - in: query name: limit - type: number + type: integer description: |- Limit the number of results returned. - in: query @@ -173,7 +173,7 @@ paths: type: object properties: limit: - type: number + type: integer description: |- Limit the number of results returned. since: @@ -233,7 +233,7 @@ paths: description: |- The name of the room, if any. num_joined_members: - type: number + type: integer description: |- The number of members joined to the room. room_id: @@ -270,7 +270,7 @@ paths: absence of this token means there are no results before this batch, i.e. this is the first batch. total_room_count_estimate: - type: number + type: integer description: |- An estimate on the total number of public rooms, if the server has an estimate. diff --git a/api/client-server/notifications.yaml b/api/client-server/notifications.yaml index e10e5bfde..b450885b8 100644 --- a/api/client-server/notifications.yaml +++ b/api/client-server/notifications.yaml @@ -45,7 +45,7 @@ paths: required: false x-example: "xxxxx" - in: query - type: number + type: integer name: limit description: Limit on the number of events to return in this request. required: false diff --git a/api/client-server/registration.yaml b/api/client-server/registration.yaml index 56da9addb..e4b056291 100644 --- a/api/client-server/registration.yaml +++ b/api/client-server/registration.yaml @@ -218,7 +218,7 @@ paths: description: The email address example: "example@example.com" send_attempt: - type: number + type: integer description: Used to distinguish protocol level retries from requests to re-send the email. example: 1 required: ["client_secret", "email", "send_attempt"] @@ -283,7 +283,7 @@ paths: description: The phone number. example: "example@example.com" send_attempt: - type: number + type: integer description: Used to distinguish protocol level retries from requests to re-send the SMS message. example: 1 required: ["client_secret", "country", "phone_number", "send_attempt"] diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index e4118c32b..0d3a78841 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -179,7 +179,7 @@ paths: description: Mapping of category name to search criteria. properties: count: - type: number + type: integer description: An approximate count of the total number of results found. highlights: type: array @@ -197,7 +197,7 @@ paths: description: The result object. properties: rank: - type: number + type: integer description: A number that describes how closely this result matches the search. Higher is closer. diff --git a/api/client-server/users.yaml b/api/client-server/users.yaml index a682b4358..fc6d233bd 100644 --- a/api/client-server/users.yaml +++ b/api/client-server/users.yaml @@ -47,7 +47,7 @@ paths: description: The term to search for example: "foo" limit: - type: number + type: integer description: The maximum number of results to return (Defaults to 10). example: 10 required: ["search_term"] diff --git a/event-schemas/schema/core-event-schema/room_event.yaml b/event-schemas/schema/core-event-schema/room_event.yaml index a8a23f549..ebf970ad7 100644 --- a/event-schemas/schema/core-event-schema/room_event.yaml +++ b/event-schemas/schema/core-event-schema/room_event.yaml @@ -16,7 +16,8 @@ properties: origin_server_ts: description: Timestamp in milliseconds on originating homeserver when this event was sent. - type: number + type: integer + format: int64 unsigned: description: Contains optional extra information about the event. properties: From e75a1836b86b04e0670c8e648055be5d1d0cf54d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:33:43 -0600 Subject: [PATCH 769/801] Changelog --- changelogs/client_server/newsfragments/1571.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1571.clarification diff --git a/changelogs/client_server/newsfragments/1571.clarification b/changelogs/client_server/newsfragments/1571.clarification new file mode 100644 index 000000000..2410baf39 --- /dev/null +++ b/changelogs/client_server/newsfragments/1571.clarification @@ -0,0 +1 @@ +Clarify instances of ``type: number`` in the swagger/OpenAPI schema definitions. From 008ebb8c1ac1d1958a3809d3757bbb06c66a9718 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:55:30 -0600 Subject: [PATCH 770/801] Add `account_data` to left rooms in /sync Fixes https://github.com/matrix-org/matrix-doc/issues/1392 --- api/client-server/sync.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api/client-server/sync.yaml b/api/client-server/sync.yaml index 4b44c20e1..f1997b617 100644 --- a/api/client-server/sync.yaml +++ b/api/client-server/sync.yaml @@ -227,6 +227,14 @@ paths: room up to the point when the user left. allOf: - $ref: "definitions/timeline_batch.yaml" + account_data: + title: Account Data + type: object + description: |- + The private data that this user has attached to + this room. + allOf: + - $ref: "definitions/event_batch.yaml" presence: title: Presence type: object From e8edfba11438a211ec7bcc1cebf1192dffae105b Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 21:57:04 -0600 Subject: [PATCH 771/801] Changelog --- changelogs/client_server/newsfragments/1572.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1572.clarification diff --git a/changelogs/client_server/newsfragments/1572.clarification b/changelogs/client_server/newsfragments/1572.clarification new file mode 100644 index 000000000..7e84098f4 --- /dev/null +++ b/changelogs/client_server/newsfragments/1572.clarification @@ -0,0 +1 @@ +Clarify that left rooms also have account data in ``/sync``. From e60b44e27fe9e83e5c6edca9e4c778fd244da0fa Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 22:27:34 -0600 Subject: [PATCH 772/801] Clean up PUT /directory/room Fixes https://github.com/matrix-org/matrix-doc/issues/933 The issue references two problems: a `roomInfo` and lack of a `room_id`. It appears the `room_id` has been fixed since reporting, however the `roomInfo` remained (and is now fixed). --- api/client-server/directory.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/api/client-server/directory.yaml b/api/client-server/directory.yaml index ee42cf845..78ddfa291 100644 --- a/api/client-server/directory.yaml +++ b/api/client-server/directory.yaml @@ -41,7 +41,7 @@ paths: required: true x-example: "#monkeys:matrix.org" - in: body - name: roomInfo + name: body description: Information about this room alias. required: true schema: @@ -50,24 +50,24 @@ paths: room_id: type: string description: The room ID to set. + required: ['room_id'] example: { - "room_id": "!abnjk1jdasj98:capuchins.com" - } + "room_id": "!abnjk1jdasj98:capuchins.com" + } responses: 200: description: The mapping was created. examples: - application/json: { - } + application/json: {} schema: type: object 409: description: A room alias with that name already exists. examples: application/json: { - "errcode": "M_UNKNOWN", - "error": "Room alias #monkeys:matrix.org already exists." - } + "errcode": "M_UNKNOWN", + "error": "Room alias #monkeys:matrix.org already exists." + } schema: "$ref": "definitions/errors/error.yaml" tags: From ce0befd7d059e1b91389bfa4692cbb4c6dfd2d84 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sun, 26 Aug 2018 22:28:52 -0600 Subject: [PATCH 773/801] Changelog --- changelogs/client_server/newsfragments/1574.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1574.clarification diff --git a/changelogs/client_server/newsfragments/1574.clarification b/changelogs/client_server/newsfragments/1574.clarification new file mode 100644 index 000000000..8d07ef56f --- /dev/null +++ b/changelogs/client_server/newsfragments/1574.clarification @@ -0,0 +1 @@ +Fix naming of the body field in ``PUT /directory/room``. From d7d28f7e5bf9c263fa0b5d9c04638ec02ae6f6dd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 09:16:30 -0600 Subject: [PATCH 774/801] Remove nl as a supported HTML tag --- specification/modules/instant_messaging.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index 29d33c558..6d1b1b355 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -66,7 +66,7 @@ Clients should limit the HTML they render to avoid Cross-Site Scripting, HTML injection, and similar attacks. The strongly suggested set of HTML tags to permit, denying the use and rendering of anything else, is: ``font``, ``del``, ``h1``, ``h2``, ``h3``, ``h4``, ``h5``, ``h6``, ``blockquote``, ``p``, ``a``, ``ul``, -``ol``, ``sup``, ``sub``, ``nl``, ``li``, ``b``, ``i``, ``u``, ``strong``, ``em``, +``ol``, ``sup``, ``sub``, ``li``, ``b``, ``i``, ``u``, ``strong``, ``em``, ``strike``, ``code``, ``hr``, ``br``, ``div``, ``table``, ``thead``, ``tbody``, ``tr``, ``th``, ``td``, ``caption``, ``pre``, ``span``, ``img``. From c7822cc9a8d18ddcdd17473e2369f93bd7a7307c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 09:16:53 -0600 Subject: [PATCH 775/801] Link to the content repo when referencing MXC URIs in images --- specification/modules/instant_messaging.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index 6d1b1b355..88326999d 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -89,8 +89,7 @@ for the tag. matching one of: ``https``, ``http``, ``ftp``, ``mailto``, ``magnet``) :``img``: - ``width``, ``height``, ``alt``, ``title``, ``src`` (provided it is a Matrix Content - URI) + ``width``, ``height``, ``alt``, ``title``, ``src`` (provided it is a `Matrix Content (MXC) URI`_) :``ol``: ``start`` @@ -345,3 +344,4 @@ Clients should sanitise **all displayed keys** for unsafe HTML to prevent Cross- Scripting (XSS) attacks. This includes room names and topics. .. _`E2E module`: `module:e2e`_ +.. _`Matrix Content (MXC) URI`: `module:content`_ \ No newline at end of file From 5bf99aeb349f0af80e7f4b8f3a0c189304054e92 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 09:17:08 -0600 Subject: [PATCH 776/801] Add a note that formatted_body is not forever --- specification/modules/instant_messaging.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index 88326999d..9de890717 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -102,6 +102,9 @@ Additionally, clients should ensure that *all* ``a`` tags get a ``rel="noopener" to prevent the target page from referencing the client's tab/window. +.. Note:: + A future iteration of the specification will support more powerful and extensible + message formatting options, such as the proposal `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_. {{msgtype_events}} From 89daa3c5ce0c745219d8cdb9e92e693fc24f1663 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 09:17:40 -0600 Subject: [PATCH 777/801] Clarify that clients aren't required to render all the tags This commit also includes minor clarifications to surrounding text. --- specification/modules/instant_messaging.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/specification/modules/instant_messaging.rst b/specification/modules/instant_messaging.rst index 9de890717..079a4801d 100644 --- a/specification/modules/instant_messaging.rst +++ b/specification/modules/instant_messaging.rst @@ -98,9 +98,13 @@ for the tag. ``class`` (only classes which start with ``language-`` for syntax highlighting) -Additionally, clients should ensure that *all* ``a`` tags get a ``rel="noopener"`` +Additionally, web clients should ensure that *all* ``a`` tags get a ``rel="noopener"`` to prevent the target page from referencing the client's tab/window. +Tags must not be nested more than 100 levels deep. Clients should only support the subset +of tags they can render, falling back to other representations of the tags where possible. +For example, a client may not be able to render tables correctly and instead could fall +back to rendering tab-delimited text. .. Note:: A future iteration of the specification will support more powerful and extensible From 17bdc0c740612e0476663129617ee11f0026fb86 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Sat, 25 Aug 2018 23:21:50 -0600 Subject: [PATCH 778/801] Revert "Fix encrypted event examples" This reverts commit be9f6042e527a44cd1b4315a208380adef7e1507. --- event-schemas/examples/m.room.encrypted#megolm | 2 +- event-schemas/examples/m.room.encrypted#olm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/event-schemas/examples/m.room.encrypted#megolm b/event-schemas/examples/m.room.encrypted#megolm index 726763181..1f9b75208 100644 --- a/event-schemas/examples/m.room.encrypted#megolm +++ b/event-schemas/examples/m.room.encrypted#megolm @@ -1,6 +1,6 @@ { "content": { - "algorithm": "m.megolm.v1.aes-sha256", + "algorithm": "m.megolm.v1.aes-sha2", "ciphertext": "AwgAEnACgAkLmt6qF84IK++J7UDH2Za1YVchHyprqTqsg...", "device_id": "RJYKSTBOIE", "sender_key": "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA", diff --git a/event-schemas/examples/m.room.encrypted#olm b/event-schemas/examples/m.room.encrypted#olm index 23f657385..abb23c31e 100644 --- a/event-schemas/examples/m.room.encrypted#olm +++ b/event-schemas/examples/m.room.encrypted#olm @@ -2,7 +2,7 @@ "type": "m.room.encrypted", "sender": "@example:localhost", "content": { - "algorithm": "m.olm.v1.curve25519-aes-sha256", + "algorithm": "m.olm.v1.curve25519-aes-sha2", "sender_key": "Szl29ksW/L8yZGWAX+8dY1XyFi+i5wm+DRhTGkbMiwU", "ciphertext": { "7qZcfnBmbEGzxxaWfBjElJuvn7BZx+lSz/SvFrDF/z8": { From 438f5825ae82ff8ac454db26e3076fce6242daf5 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 14:55:59 -0600 Subject: [PATCH 779/801] Add more supported encryption algorithms to message events --- event-schemas/schema/m.room.encrypted | 2 ++ 1 file changed, 2 insertions(+) diff --git a/event-schemas/schema/m.room.encrypted b/event-schemas/schema/m.room.encrypted index 6825be1d2..9c2fa7be3 100644 --- a/event-schemas/schema/m.room.encrypted +++ b/event-schemas/schema/m.room.encrypted @@ -14,7 +14,9 @@ properties: type: string enum: - m.olm.curve25519-aes-sha256 + - m.olm.v1.curve25519-aes-sha2 - m.megolm.v1.aes-sha + - m.megolm.v1.aes-sha2 description: |- The encryption algorithm used to encrypt this event. The value of this field determines which other properties will be From 72de8bec5c1703d1e425dd29c6463810d3641a0a Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 15:05:56 -0600 Subject: [PATCH 780/801] Remove unused algorithms for encrypted messages --- event-schemas/schema/m.room.encrypted | 2 -- 1 file changed, 2 deletions(-) diff --git a/event-schemas/schema/m.room.encrypted b/event-schemas/schema/m.room.encrypted index 9c2fa7be3..44b09c3f6 100644 --- a/event-schemas/schema/m.room.encrypted +++ b/event-schemas/schema/m.room.encrypted @@ -13,9 +13,7 @@ properties: algorithm: type: string enum: - - m.olm.curve25519-aes-sha256 - m.olm.v1.curve25519-aes-sha2 - - m.megolm.v1.aes-sha - m.megolm.v1.aes-sha2 description: |- The encryption algorithm used to encrypt this event. The From 5fa6b493653cdf831183d994f272e7978fda341d Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 15:56:47 -0600 Subject: [PATCH 781/801] Specify the type of filter the search API expects Note: This is badly named until https://github.com/matrix-org/matrix-doc/pull/1570 lands Fixes https://github.com/matrix-org/matrix-doc/issues/598 --- api/client-server/search.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index e4118c32b..6feb57783 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -41,7 +41,7 @@ paths: type: string description: |- The point to return events from. If given, this should be a - `next_batch` result from a previous call to this endpoint. + ``next_batch`` result from a previous call to this endpoint. x-example: "YWxsCgpOb25lLDM1ODcwOA" - in: body name: body @@ -95,6 +95,7 @@ paths: # for now :/ description: |- This takes a `filter`_. + $ref: "definitions/room_event_filter.yaml" order_by: title: "Ordering" type: string From 7b7933327a2e66ff360858ae8a98cc754bc44ef7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 15:57:51 -0600 Subject: [PATCH 782/801] Changelog --- changelogs/client_server/newsfragments/1577.clarification | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/client_server/newsfragments/1577.clarification diff --git a/changelogs/client_server/newsfragments/1577.clarification b/changelogs/client_server/newsfragments/1577.clarification new file mode 100644 index 000000000..aec3248fe --- /dev/null +++ b/changelogs/client_server/newsfragments/1577.clarification @@ -0,0 +1 @@ +Clarify the filter object schema used in room searching. From be2e0fc9d416348b411c21a8fc394387a1194ebc Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 16:12:42 -0600 Subject: [PATCH 783/801] Clarify that ACLs are required to manually deny unsupported hosts --- event-schemas/schema/m.room.server_acl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl index ed64038ca..29a91f4b3 100644 --- a/event-schemas/schema/m.room.server_acl +++ b/event-schemas/schema/m.room.server_acl @@ -4,8 +4,8 @@ description: |- An event to indicate which servers are permitted to participate in the room. Server ACLs may allow or deny groups of hosts. All servers participating in the room, including those that are denied, are expected to uphold the - server ACL. Servers that do not uphold the ACLs are recommended to be - added to the denied hosts list. + server ACL. Servers that do not uphold the ACLs MUST be added to the denied hosts + list in order for the ACLs to remain effective. The ``allow`` and ``deny`` lists are lists of globs supporting ``?`` and ``*`` as wildcards. When comparing against the server ACLs, the suspect server's port @@ -27,6 +27,14 @@ description: |- servers from participating in the room, including the sender. This renders the room unusable. A common allow rule is ``[ "*" ]`` which would still permit the use of the ``deny`` list without losing the room. + + .. WARNING:: + Servers that do not uphold the ACLs MUST be manually appended to the denied hosts + list. To accomplish this, events should have their ``prev_events`` inspected for + denied hosts, therefore detecting servers which are not upholding the ACLs. Server + versions can also be used to detect hosts that will not uphold the ACLs, although + this is less effective. Server ACLs were added in Synapse v0.32.0 although other + server implementations and versions exist in the world. allOf: - $ref: core-event-schema/state_event.yaml type: object From 82be6077ffc941bfce0a26fb4f631618046ea8de Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 16:13:42 -0600 Subject: [PATCH 784/801] Add a note that ACLs don't operate at the auth level; Fix glob definition --- event-schemas/schema/m.room.server_acl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl index 29a91f4b3..9e7ccc3b4 100644 --- a/event-schemas/schema/m.room.server_acl +++ b/event-schemas/schema/m.room.server_acl @@ -22,6 +22,11 @@ description: |- #. If the server name matches an entry in the ``allow`` list, allow. #. Otherwise, deny. + .. Note:: + Server ACLs do not restrict the events relative to the room DAG via authorisation + rules, but instead act purely at the network layer to determine which servers are + allowed to connect and interact with a given room. + .. WARNING:: Failing to provide an ``allow`` rule of some kind will prevent **all** servers from participating in the room, including the sender. This renders @@ -51,7 +56,7 @@ properties: description: |- The server names to allow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where ``*`` - matches zero or more characters and ``?`` matches one or more characters. + matches zero or more characters and ``?`` matches exactly one character. **This defaults to an empty list when not provided, effectively disallowing every server.** @@ -62,7 +67,7 @@ properties: description: |- The server names to disallow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where ``*`` - matches zero or more characters and ``?`` matches one or more characters. + matches zero or more characters and ``?`` matches exactly one character. This defaults to an empty list when not provided. items: From 76afef79f8f09809b8dafecc37b7804f52d610e7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 16:14:37 -0600 Subject: [PATCH 785/801] Clarify the rationale and motive for blanket IP banning and port exclusion --- event-schemas/schema/m.room.server_acl | 4 ++++ specification/modules/server_acls.rst | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl index 9e7ccc3b4..317031cdc 100644 --- a/event-schemas/schema/m.room.server_acl +++ b/event-schemas/schema/m.room.server_acl @@ -51,6 +51,10 @@ properties: description: |- True to allow server names that are IP address literals. False to deny. Defaults to true if missing or otherwise not a boolean. + + This is strongly recommended to be set to ``false`` as servers running + with IP literal names are strongly discouraged in order to require + legitimate homeservers to be backed by a valid registered domain name. allow: type: array description: |- diff --git a/specification/modules/server_acls.rst b/specification/modules/server_acls.rst index 72892fce5..f26b8c6b1 100644 --- a/specification/modules/server_acls.rst +++ b/specification/modules/server_acls.rst @@ -17,7 +17,7 @@ Server Access Control Lists (ACLs) for rooms .. _module:server-acls: -In some scenarios room operators may wish to prevent a malicous or untrusted +In some scenarios room operators may wish to prevent a malicious or untrusted server from participating in their room. Sending an `m.room.server_acl`_ state event into a room is an effective way to prevent the server from participating in the room at the federation level. @@ -30,7 +30,10 @@ similar to setting the ``m.federate`` value on the `m.room.create`_ event. .. Note:: Port numbers are not supported because it is unclear to parsers whether a - port number should be matched or an IP address literal. + port number should be matched or an IP address literal. Additionally, it + is unlikely that one would trust a server running on a particular domain's + port but not a different port, especially considering the server host can + easily change ports. .. Note:: CIDR notation is not supported for IP addresses because Matrix does not From d7397ccd563fb886c48944c1f3869e0d617aadc8 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 16:21:10 -0600 Subject: [PATCH 786/801] Provide additional rationale for kicking users when they are ACLd --- specification/modules/server_acls.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/modules/server_acls.rst b/specification/modules/server_acls.rst index f26b8c6b1..2b2d8f351 100644 --- a/specification/modules/server_acls.rst +++ b/specification/modules/server_acls.rst @@ -47,7 +47,8 @@ event. Clients should describe changes to the server ACLs to the user in the user interface, such as in the timeline. Clients may wish to kick affected users from the room prior to denying a server -access to the room to help prevent those servers from participating. +access to the room to help prevent those servers from participating and to +provide feedback to the users that they have been excluded from the room. Server behaviour ---------------- From 313e6de48bb99afefa8adb18d6dd097a4d88a849 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson <matthew@arasphere.net> Date: Mon, 27 Aug 2018 23:36:48 +0100 Subject: [PATCH 787/801] tweak wording to spell out that handling legacy/noncompliant servers. --- event-schemas/schema/m.room.server_acl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl index 317031cdc..c6adaf054 100644 --- a/event-schemas/schema/m.room.server_acl +++ b/event-schemas/schema/m.room.server_acl @@ -34,12 +34,14 @@ description: |- permit the use of the ``deny`` list without losing the room. .. WARNING:: - Servers that do not uphold the ACLs MUST be manually appended to the denied hosts - list. To accomplish this, events should have their ``prev_events`` inspected for - denied hosts, therefore detecting servers which are not upholding the ACLs. Server - versions can also be used to detect hosts that will not uphold the ACLs, although - this is less effective. Server ACLs were added in Synapse v0.32.0 although other - server implementations and versions exist in the world. + All compliant servers must implement server ACLs. However, legacy or noncompliant + servers exist which do not uphold ACLs, and these MUST be manually appended to + the denied hosts list when setting an ACL to prevent them from leaking events from + banned servers into a room. Currently, the only way to determine noncompliant hosts is + to check the ``prev_events`` of leaked events, therefore detecting servers which + are not upholding the ACLs. Server versions can also be used to try to detect hosts that + will not uphold the ACLs, although this is not comprehensive. Server ACLs were added + in Synapse v0.32.0, although other server implementations and versions exist in the world. allOf: - $ref: core-event-schema/state_event.yaml type: object From bac0392a2d98662b19f32f2955daca145e42a499 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 17:28:08 -0600 Subject: [PATCH 788/801] General clarity for push rule defaults and where to get information Include moving a roaming condition that was under the wrong rule. --- specification/modules/push.rst | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/specification/modules/push.rst b/specification/modules/push.rst index 408eabe62..1972fa17b 100644 --- a/specification/modules/push.rst +++ b/specification/modules/push.rst @@ -468,6 +468,10 @@ Definition: ``.m.rule.encrypted_room_one_to_one`` ````````````````````````````````````` Matches any encrypted event sent in a room with exactly two members. +Unlike other push rules, this rule cannot be matched against the content +of the event by nature of it being encrypted. This causes the rule to +be an "all or nothing" match where it either matches *all* events that +are encrypted (in 1:1 rooms) or none. Definition: @@ -492,6 +496,11 @@ Definition: { "set_tweak": "highlight", "value": false + }, + { + "kind": "event_match", + "key": "type", + "pattern": "m.room.encrypted" } ] } @@ -512,11 +521,6 @@ Definition: { "kind": "room_member_count", "is": "2" - }, - { - "kind": "event_match", - "key": "type", - "pattern": "m.room.encrypted" } ], "actions": [ @@ -562,7 +566,10 @@ Definition: ``.m.rule.encrypted`` ````````````````````` -Matches all encrypted events. +Matches all encrypted events. Unlike other push rules, this rule cannot +be matched against the content of the event by nature of it being encrypted. +This causes the rule to be an "all or nothing" match where it either +matches *all* events that are encrypted (in 1:1 rooms) or none. Definition: @@ -628,11 +635,11 @@ rule determines its behaviour. The following conditions are defined: Parameters: - * ``key``: The notification power level to require the sender to have. Refer to - the `m.room.power_levels`_ event schema for information about what the defaults - are and how to interpret the event. The ``key`` is used to look up a specific - notification type from the ``notifications`` object in the power level event - content. + * ``key``: A string that determines the power level the sender must have to trigger + notifications of a given type, such as ``room``. Refer to the `m.room.power_levels`_ + event schema for information about what the defaults are and how to interpret the event. + The ``key`` is used to look up the power level required to send a notification type + from the ``notifications`` object in the power level event content. Unrecognised conditions MUST NOT match any events, effectively making the push rule disabled. From 32ac81c5883ba7e7fff2b896a34d6ad7f829e4fd Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 17:41:27 -0600 Subject: [PATCH 789/801] Spelling --- api/application-service/protocols.yaml | 6 +++--- api/client-server/third_party_lookup.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/application-service/protocols.yaml b/api/application-service/protocols.yaml index 376e66c0b..e6489cc5b 100644 --- a/api/application-service/protocols.yaml +++ b/api/application-service/protocols.yaml @@ -127,7 +127,7 @@ paths: $ref: ../client-server/definitions/errors/error.yaml "/_matrix/app/unstable/thirdparty/location/{protocol}": get: - summary: Retreive Matrix-side portal rooms leading to a third party location. + summary: Retrieve Matrix-side portal rooms leading to a third party location. description: |- Retrieve a list of Matrix portal rooms that lead to the matched third party location. operationId: queryLocationByProtocol @@ -180,7 +180,7 @@ paths: get: summary: Reverse-lookup third party locations given a Matrix room alias. description: |- - Retreive an array of third party network locations from a Matrix room + Retrieve an array of third party network locations from a Matrix room alias. operationId: queryLocationByAlias parameters: @@ -225,7 +225,7 @@ paths: get: summary: Reverse-lookup third party users given a Matrix User ID. description: |- - Retreive an array of third party users from a Matrix User ID. + Retrieve an array of third party users from a Matrix User ID. operationId: queryUserByID parameters: - in: query diff --git a/api/client-server/third_party_lookup.yaml b/api/client-server/third_party_lookup.yaml index cba9ce22a..3d348df2f 100644 --- a/api/client-server/third_party_lookup.yaml +++ b/api/client-server/third_party_lookup.yaml @@ -73,7 +73,7 @@ paths: $ref: definitions/errors/error.yaml "/thirdparty/location/{protocol}": get: - summary: Retreive Matrix-side portals rooms leading to a third party location. + summary: Retrieve Matrix-side portals rooms leading to a third party location. description: |- Requesting this endpoint with a valid protocol name results in a list of successful mapping results in a JSON array. Each result contains @@ -151,7 +151,7 @@ paths: get: summary: Reverse-lookup third party locations given a Matrix room alias. description: |- - Retreive an array of third party network locations from a Matrix room + Retrieve an array of third party network locations from a Matrix room alias. operationId: queryLocationByAlias security: @@ -181,7 +181,7 @@ paths: get: summary: Reverse-lookup third party users given a Matrix User ID. description: |- - Retreive an array of third party users from a Matrix User ID. + Retrieve an array of third party users from a Matrix User ID. operationId: queryUserByID security: - accessToken: [] From 54032964fc89a356fef1d679d94e6e8bbdeabfc6 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 17:41:52 -0600 Subject: [PATCH 790/801] Misc clarity for 3rd party appservice protocols/locations --- specification/application_service_api.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 9d467e879..6e3c5374c 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -184,13 +184,14 @@ Third party networks ++++++++++++++++++++ Application services may declare which protocols they support via their registration -file. These networks are generally for third party services such as IRC that the -application service is managing. Application services may populate a Matrix room -directory for their registered protocols, as defined in the Client-Server API Extensions. - -Each protocol may have several "locations". A location within a protocol is a place -in the third party network, such as an IRC channel. Users of the third party network -may also be represented by the application service. +configuration for the homeserver. These networks are generally for third party services +such as IRC that the application service is managing. Application services may populate +a Matrix room directory for their registered protocols, as defined in the Client-Server +API Extensions. + +Each protocol may have several "locations" (also known as "third party locations" or "3PLs"). +A location within a protocol is a place in the third party network, such as an IRC channel. +Users of the third party network may also be represented by the application service. Locations and users can be searched by fields defined by the application service, such as by display name or other attribute. When clients request the homeserver to search From 17e0ef4b91034b0cdb010416225ffac65b4107fc Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 17:58:47 -0600 Subject: [PATCH 791/801] Remove empty file and now-empty section from the appservice spec This commit has approval under https://github.com/matrix-org/matrix-doc/pull/1555 although is being included in this branch/PR so the build passes, permitting a merge. --- .../application_service.yaml | 28 ------------------- specification/application_service_api.rst | 9 ------ 2 files changed, 37 deletions(-) delete mode 100644 api/application-service/application_service.yaml diff --git a/api/application-service/application_service.yaml b/api/application-service/application_service.yaml deleted file mode 100644 index 67b5b1b5c..000000000 --- a/api/application-service/application_service.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2016 OpenMarket Ltd -# Copyright 2018 New Vector Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -swagger: '2.0' -info: - title: "Matrix Application Service API" - version: "1.0.0" -host: localhost:8008 -schemes: - - https - - http -basePath: "/" -consumes: - - application/json -produces: - - application/json -paths: diff --git a/specification/application_service_api.rst b/specification/application_service_api.rst index 48e6896d2..51280341c 100644 --- a/specification/application_service_api.rst +++ b/specification/application_service_api.rst @@ -246,15 +246,6 @@ application service for filtering. {{protocols_as_http_api}} -HTTP APIs -+++++++++ - -This contains application service APIs which are used by the homeserver. All -application services MUST implement these APIs. These APIs are defined below. - -{{application_service_as_http_api}} - - .. _create the user: `sect:asapi-permissions`_ Client-Server API Extensions From 439b9d2925b306652a75240173fb9f0aec161dd7 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Mon, 27 Aug 2018 18:59:35 -0600 Subject: [PATCH 792/801] Power levels are also integers --- event-schemas/schema/m.room.power_levels | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels index 13a44c709..b00d86a9a 100644 --- a/event-schemas/schema/m.room.power_levels +++ b/event-schemas/schema/m.room.power_levels @@ -46,10 +46,10 @@ properties: properties: ban: description: The level required to ban a user. Defaults to 50 if unspecified. - type: number + type: integer events: additionalProperties: - type: number + type: integer description: The level required to send specific event types. This is a mapping from event type to power level required. title: Event power levels type: object @@ -57,25 +57,25 @@ properties: description: |- The default level required to send message events. Can be overridden by the ``events`` key. Defaults to 0 if unspecified. - type: number + type: integer invite: description: The level required to invite a user. Defaults to 50 if unspecified. - type: number + type: integer kick: description: The level required to kick a user. Defaults to 50 if unspecified. - type: number + type: integer redact: description: The level required to redact an event. Defaults to 50 if unspecified. - type: number + type: integer state_default: description: |- The default level required to send state events. Can be overridden by the ``events`` key. Defaults to 50 if unspecified, but 0 if there is no ``m.room.power_levels`` event at all. - type: number + type: integer users: additionalProperties: - type: number + type: integer description: The power levels for specific users. This is a mapping from ``user_id`` to power level for that user. title: User power levels type: object @@ -84,7 +84,7 @@ properties: The default power level for every user in the room, unless their ``user_id`` is mentioned in the ``users`` key. Defaults to 0 if unspecified. - type: number + type: integer type: object state_key: description: A zero-length string. From ee3b0f42dbc566e911b6fc0c193cb160a653c7e4 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 10:34:49 -0600 Subject: [PATCH 793/801] Fix server ACL schema: The type is a string It cannot be an enum otherwise the build starts screaming. --- event-schemas/schema/m.room.server_acl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/event-schemas/schema/m.room.server_acl b/event-schemas/schema/m.room.server_acl index c6adaf054..86d83832e 100644 --- a/event-schemas/schema/m.room.server_acl +++ b/event-schemas/schema/m.room.server_acl @@ -85,4 +85,4 @@ properties: type: string type: enum: ['m.room.server_acl'] - type: enum + type: string From 80edda1666063f574c211a0c992ad1ff1ec1dded Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 10:35:54 -0600 Subject: [PATCH 794/801] Actually run the check-docs circle job --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index f79449f38..22a5a90a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -78,6 +78,7 @@ workflows: jobs: - build-docs - build-swagger + - check-docs notify: webhooks: From e9579a7840692529f5fd32548cfd1beb22ee1aff Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 11:01:43 -0600 Subject: [PATCH 795/801] The `rank` in search results is actually a floating point number This was accidentally changed in https://github.com/matrix-org/matrix-doc/pull/1571 and appears to be the only instance. --- api/client-server/search.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/search.yaml b/api/client-server/search.yaml index 6594a9139..4a5f45150 100644 --- a/api/client-server/search.yaml +++ b/api/client-server/search.yaml @@ -198,7 +198,7 @@ paths: description: The result object. properties: rank: - type: integer + type: number description: A number that describes how closely this result matches the search. Higher is closer. From 17ae84d06443405e2dce679021f80f5fb158779c Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 11:05:59 -0600 Subject: [PATCH 796/801] Check the API examples too --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22a5a90a3..776375834 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,6 +29,8 @@ checkexamples: &checkexamples source /env/bin/activate cd event-schemas ./check_examples.py + cd ../api + ./check_examples.py genmatrixassets: &genmatrixassets name: Generate/Verify matrix.org assets From 791a2f2b171b4bd7762a7b051317d5790fd678ce Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 12:04:20 -0600 Subject: [PATCH 797/801] Run the validator on the spec --- .circleci/config.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 776375834..785941c7d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -38,9 +38,21 @@ genmatrixassets: &genmatrixassets source /env/bin/activate ./scripts/generate-matrix-org-assets +validateapi: &validateapi + name: Validate OpenAPI specifications + command: | + cd api + npm install + node validator.js -s "client-server" version: 2 jobs: + validate-docs: + docker: + - image: node:alpine + steps: + - checkout + - run: *validateapi check-docs: docker: - image: uhoreg/matrix-doc-build @@ -81,6 +93,7 @@ workflows: - build-docs - build-swagger - check-docs + - validate-docs notify: webhooks: From ad068bcd2269df4c11fb79f7c0ce571332341251 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 12:11:36 -0600 Subject: [PATCH 798/801] Fix the appservice directory visibility type parameter type --- api/client-server/appservice_room_directory.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/client-server/appservice_room_directory.yaml b/api/client-server/appservice_room_directory.yaml index 0225ecd85..49393cd4f 100644 --- a/api/client-server/appservice_room_directory.yaml +++ b/api/client-server/appservice_room_directory.yaml @@ -62,11 +62,12 @@ paths: x-example: "!somewhere:domain.com" - in: body name: body + required: true schema: type: object properties: visibility: - type: enum + type: string enum: ["public", "private"] description: |- Whether the room should be visible (public) in the directory From 349696fc1d3ce0cfe0bb7b70aeaec3b362573512 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 12:16:29 -0600 Subject: [PATCH 799/801] Test building of the speculator and continuserv --- .circleci/config.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 785941c7d..d92b88901 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,6 +45,18 @@ validateapi: &validateapi npm install node validator.js -s "client-server" +buildspeculator: &buildspeculator + name: Build Speculator + command: | + cd scripts/speculator + go build + +buildcontinuserv: &buildcontinuserv + name: Build Continuserv + command: | + cd scripts/continuserv + go build + version: 2 jobs: validate-docs: @@ -71,7 +83,6 @@ jobs: - run: name: "Doc build is available at:" command: DOCS_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/scripts/gen/index.html"; echo $DOCS_URL - build-swagger: docker: - image: uhoreg/matrix-doc-build @@ -84,6 +95,18 @@ jobs: - run: name: "Swagger UI is available at:" command: DOCS_URL="${CIRCLE_BUILD_URL}/artifacts/${CIRCLE_NODE_INDEX}/${CIRCLE_WORKING_DIRECTORY/#\~/$HOME}/api/client-server/index.html"; echo $DOCS_URL + build-dev-scripts: + docker: + - image: golang:1.8 + steps: + - checkout + - run: + name: Install Dependencies + command: | + go get github.com/hashicorp/golang-lru + go get gopkg.in/fsnotify/fsnotify.v1 + - run: *buildcontinuserv + - run: *buildspeculator workflows: version: 2 From e97a1b4af029a672905ba8c0ff8102ca9c50c9ae Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 12:17:41 -0600 Subject: [PATCH 800/801] Actually add the dev scripts build to the workflow --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index d92b88901..4a8505b7e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,6 +117,7 @@ workflows: - build-swagger - check-docs - validate-docs + - build-dev-scripts notify: webhooks: From 132c5b0f48d2e29bbefed62ff1108ae6aba34957 Mon Sep 17 00:00:00 2001 From: Travis Ralston <travpc@gmail.com> Date: Tue, 28 Aug 2018 12:20:30 -0600 Subject: [PATCH 801/801] Verbose building for go scripts --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4a8505b7e..659380b05 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,13 +49,13 @@ buildspeculator: &buildspeculator name: Build Speculator command: | cd scripts/speculator - go build + go build -v buildcontinuserv: &buildcontinuserv name: Build Continuserv command: | cd scripts/continuserv - go build + go build -v version: 2 jobs: @@ -103,8 +103,8 @@ jobs: - run: name: Install Dependencies command: | - go get github.com/hashicorp/golang-lru - go get gopkg.in/fsnotify/fsnotify.v1 + go get -v github.com/hashicorp/golang-lru + go get -v gopkg.in/fsnotify/fsnotify.v1 - run: *buildcontinuserv - run: *buildspeculator