[docutils:patches] #200 Add the gemini:// URI scheme

Günter Milde via Docutils-develop <[email protected]> Sun, 10 Aug 2025 11:02:44 -0000
Newsgroups gmane.text.docutils.devel
Message-ID </p/docutils/patches/200/7a2802b2ca8722b6ce9aea6d96ff5fdfa8824650.patches@docutils.p.sourceforge.net>
This is a multi-part message in MIME format.
--===============8243451309182077489==
Content-Type: multipart/related; boundary="===============1884767396045289740=="

This is a multi-part message in MIME format.
--===============1884767396045289740==
Content-Type: multipart/alternative; boundary="===============4138978460963585772=="
MIME-Version: 1.0

--===============4138978460963585772==
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

- **status**: open --> pending-remind
- **Comment**:

Thank you for the contribution.
Unfortunately, we cannot include the patch without a change in the Docutils specification,
https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#standalone-hyperlinks,
which limits the supported URI schemes to the ones listed in the Official IANA Registry of URI Schemes and the W3C's Retired Index of WWW Addressing Schemes.

While I don't see a "gemini" URI scheme as a particular problematic case, adding non-registered schemes should be done with special care and consideration. Up to now, we (as Docutils developers) did not start to take this task onto ourselfs but relied on the abovementined sources.

Mind, that the mapping in `doctuils.utils.urischemes` only considers the recognition of [standalone hyperlinks](https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#standalone-hyperlinks). At places where an URI is expected (the link block of external hyperlink targets or the argument of an "image" or "figure" directive) any scheme is recognised, so the creation of valid "gemini" links is possible as, e.g.,
~~~
A link_, `anonymous link`__, 
`indirect link with embedded target <link_>`__, 
`link with embedded URI <gemini://example.org/gemtext3>`__.

The reference text of links with embedded target may also be omitted, in which case the URI will be duplicated for use as the reference text:
so `<gemini://example.org/gemtext3>`__ gives the same result as a standalone hyperlink.

gemini://example.org/other-gemtext
.. _link: gemini://example.org/my-gemtext
__ gemini://example.org/other-gemtext
~~~



---

**[patches:#200] Add the gemini:// URI scheme**

**Status:** pending-remind
**Group:** None
**Created:** Tue Dec 20, 2022 04:40 PM UTC by Fabien LOISON
**Last Updated:** Tue Dec 20, 2022 04:40 PM UTC
**Owner:** nobody
**Attachments:**

- [gemini.patch](https://sourceforge.net/p/docutils/patches/200/attachment/gemini.patch) (529 Bytes; text/x-patch)


Hello,

I am currently working on a tool to convert reStructuredText files to Gemtext and I noticed the `gemini://...` URIs (used by the [Gemini Protocol](https://en.wikipedia.org/wiki/Gemini_(protocol))) were not automatically converted into links. 

I attached a small patch that adds the `gemini` scheme to the `docutils.utils.urischemes.schemes` dictionary.


---

Sent from sourceforge.net because [email protected] is subscribed to https://sourceforge.net/p/docutils/patches/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/patches/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
--===============4138978460963585772==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

PGRpdiBjbGFzcz0ibWFya2Rvd25fY29udGVudCI+PHVsPgo8bGk+PHN0cm9uZz5zdGF0dXM8L3N0
cm9uZz46IG9wZW4gLS0mZ3Q7IHBlbmRpbmctcmVtaW5kPC9saT4KPGxpPjxzdHJvbmc+Q29tbWVu
dDwvc3Ryb25nPjo8L2xpPgo8L3VsPgo8cD5UaGFuayB5b3UgZm9yIHRoZSBjb250cmlidXRpb24u
PGJyLz4KVW5mb3J0dW5hdGVseSwgd2UgY2Fubm90IGluY2x1ZGUgdGhlIHBhdGNoIHdpdGhvdXQg
YSBjaGFuZ2UgaW4gdGhlIERvY3V0aWxzIHNwZWNpZmljYXRpb24sPGJyLz4KPGEgaHJlZj0iaHR0
cHM6Ly9kb2N1dGlscy5zb3VyY2Vmb3JnZS5pby9kb2NzL3JlZi9yc3QvcmVzdHJ1Y3R1cmVkdGV4
dC5odG1sI3N0YW5kYWxvbmUtaHlwZXJsaW5rcyIgcmVsPSJub2ZvbGxvdyI+aHR0cHM6Ly9kb2N1
dGlscy5zb3VyY2Vmb3JnZS5pby9kb2NzL3JlZi9yc3QvcmVzdHJ1Y3R1cmVkdGV4dC5odG1sI3N0
YW5kYWxvbmUtaHlwZXJsaW5rczwvYT4sPGJyLz4Kd2hpY2ggbGltaXRzIHRoZSBzdXBwb3J0ZWQg
VVJJIHNjaGVtZXMgdG8gdGhlIG9uZXMgbGlzdGVkIGluIHRoZSBPZmZpY2lhbCBJQU5BIFJlZ2lz
dHJ5IG9mIFVSSSBTY2hlbWVzIGFuZCB0aGUgVzNDJ3MgUmV0aXJlZCBJbmRleCBvZiBXV1cgQWRk
cmVzc2luZyBTY2hlbWVzLjwvcD4KPHA+V2hpbGUgSSBkb24ndCBzZWUgYSAiZ2VtaW5pIiBVUkkg
c2NoZW1lIGFzIGEgcGFydGljdWxhciBwcm9ibGVtYXRpYyBjYXNlLCBhZGRpbmcgbm9uLXJlZ2lz
dGVyZWQgc2NoZW1lcyBzaG91bGQgYmUgZG9uZSB3aXRoIHNwZWNpYWwgY2FyZSBhbmQgY29uc2lk
ZXJhdGlvbi4gVXAgdG8gbm93LCB3ZSAoYXMgRG9jdXRpbHMgZGV2ZWxvcGVycykgZGlkIG5vdCBz
dGFydCB0byB0YWtlIHRoaXMgdGFzayBvbnRvIG91cnNlbGZzIGJ1dCByZWxpZWQgb24gdGhlIGFi
b3ZlbWVudGluZWQgc291cmNlcy48L3A+CjxwPk1pbmQsIHRoYXQgdGhlIG1hcHBpbmcgaW4gPGNv
ZGU+ZG9jdHVpbHMudXRpbHMudXJpc2NoZW1lczwvY29kZT4gb25seSBjb25zaWRlcnMgdGhlIHJl
Y29nbml0aW9uIG9mIDxhIGNsYXNzPSIiIGhyZWY9Imh0dHBzOi8vZG9jdXRpbHMuc291cmNlZm9y
Z2UuaW8vZG9jcy9yZWYvcnN0L3Jlc3RydWN0dXJlZHRleHQuaHRtbCNzdGFuZGFsb25lLWh5cGVy
bGlua3MiIHJlbD0ibm9mb2xsb3ciPnN0YW5kYWxvbmUgaHlwZXJsaW5rczwvYT4uIEF0IHBsYWNl
cyB3aGVyZSBhbiBVUkkgaXMgZXhwZWN0ZWQgKHRoZSBsaW5rIGJsb2NrIG9mIGV4dGVybmFsIGh5
cGVybGluayB0YXJnZXRzIG9yIHRoZSBhcmd1bWVudCBvZiBhbiAiaW1hZ2UiIG9yICJmaWd1cmUi
IGRpcmVjdGl2ZSkgYW55IHNjaGVtZSBpcyByZWNvZ25pc2VkLCBzbyB0aGUgY3JlYXRpb24gb2Yg
dmFsaWQgImdlbWluaSIgbGlua3MgaXMgcG9zc2libGUgYXMsIGUuZy4sPC9wPgo8ZGl2IGNsYXNz
PSJjb2RlaGlsaXRlIj48cHJlPjxzcGFuPjwvc3Bhbj48Y29kZT48c3BhbiBjbGFzcz0ibnQiPkE8
L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5saW5rXzwvc3Bh
bj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBj
bGFzcz0iZXJyIj5gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+YW5vbnltb3VzPC9zcGFuPjxzcGFu
IGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+bGluazwvc3Bhbj48c3BhbiBjbGFz
cz0iZXJyIj5gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+X188L3NwYW4+PHNwYW4gY2xhc3M9Im8i
Piw8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+CjxzcGFuIGNsYXNzPSJlcnIiPmA8L3Nw
YW4+PHNwYW4gY2xhc3M9Im50Ij5pbmRpcmVjdDwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bh
bj48c3BhbiBjbGFzcz0ibnQiPmxpbms8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNw
YW4gY2xhc3M9Im50Ij53aXRoPC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNs
YXNzPSJudCI+ZW1iZWRkZWQ8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xh
c3M9Im50Ij50YXJnZXQ8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9
Im8iPiZhbXA7PC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+bHQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8i
Pjs8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5saW5rXzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+JmFt
cDs8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5ndDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bh
bj48c3BhbiBjbGFzcz0iZXJyIj5gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+X188L3NwYW4+PHNw
YW4gY2xhc3M9Im8iPiw8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+CjxzcGFuIGNsYXNz
PSJlcnIiPmA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5saW5rPC9zcGFuPjxzcGFuIGNsYXNzPSJ3
Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+d2l0aDwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwv
c3Bhbj48c3BhbiBjbGFzcz0ibnQiPmVtYmVkZGVkPC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9z
cGFuPjxzcGFuIGNsYXNzPSJudCI+VVJJPC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxz
cGFuIGNsYXNzPSJvIj4mYW1wOzwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmx0PC9zcGFuPjxzcGFu
IGNsYXNzPSJvIj47PC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+Z2VtaW5pPC9zcGFuPjxzcGFuIGNs
YXNzPSJvIj46Ly88L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5leGFtcGxlPC9zcGFuPjxzcGFuIGNs
YXNzPSJwIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJuYyI+b3JnPC9zcGFuPjxzcGFuIGNsYXNzPSJv
Ij4vPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+Z2VtdGV4dDM8L3NwYW4+PHNwYW4gY2xhc3M9Im8i
PiZhbXA7PC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+Z3Q8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8
L3NwYW4+PHNwYW4gY2xhc3M9ImVyciI+YDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPl9fPC9zcGFu
PjxzcGFuIGNsYXNzPSJvIj4uPC9zcGFuPgoKPHNwYW4gY2xhc3M9Im50Ij5UaGU8L3NwYW4+PHNw
YW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5yZWZlcmVuY2U8L3NwYW4+PHNw
YW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij50ZXh0PC9zcGFuPjxzcGFuIGNs
YXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+b2Y8L3NwYW4+PHNwYW4gY2xhc3M9Inci
PiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5saW5rczwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwv
c3Bhbj48c3BhbiBjbGFzcz0ibnQiPndpdGg8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+
PHNwYW4gY2xhc3M9Im50Ij5lbWJlZGRlZDwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48
c3BhbiBjbGFzcz0ibnQiPnRhcmdldDwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3Bh
biBjbGFzcz0ibnQiPm1heTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFz
cz0ibnQiPmFsc288L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50
Ij5iZTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPm9taXR0
ZWQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+
PHNwYW4gY2xhc3M9Im50Ij5pbjwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBj
bGFzcz0ibnQiPndoaWNoPC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNz
PSJudCI+Y2FzZTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQi
PnRoZTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPlVSSTwv
c3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPndpbGw8L3NwYW4+
PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5iZTwvc3Bhbj48c3BhbiBj
bGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmR1cGxpY2F0ZWQ8L3NwYW4+PHNwYW4g
Y2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5mb3I8L3NwYW4+PHNwYW4gY2xhc3M9
InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij51c2U8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8
L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5hczwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48
c3BhbiBjbGFzcz0ibnQiPnRoZTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBj
bGFzcz0ibnQiPnJlZmVyZW5jZTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBj
bGFzcz0ibnQiPnRleHQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjo8L3NwYW4+CjxzcGFuIGNsYXNz
PSJudCI+c288L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3NwYW4+PHNwYW4gY2xhc3M9ImVyciI+
YDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+JmFtcDs8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij5sdDwv
c3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmdlbWluaTwvc3Bh
bj48c3BhbiBjbGFzcz0ibyI+Oi8vPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+ZXhhbXBsZTwvc3Bh
bj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmMiPm9yZzwvc3Bhbj48c3Bh
biBjbGFzcz0ibyI+Lzwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmdlbXRleHQzPC9zcGFuPjxzcGFu
IGNsYXNzPSJvIj4mYW1wOzwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmd0PC9zcGFuPjxzcGFuIGNs
YXNzPSJvIj47PC9zcGFuPjxzcGFuIGNsYXNzPSJlcnIiPmA8L3NwYW4+PHNwYW4gY2xhc3M9Im50
Ij5fXzwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmdpdmVz
PC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+dGhlPC9zcGFu
PjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+c2FtZTwvc3Bhbj48c3Bh
biBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPnJlc3VsdDwvc3Bhbj48c3BhbiBj
bGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmFzPC9zcGFuPjxzcGFuIGNsYXNzPSJ3
Ij4gPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+YTwvc3Bhbj48c3BhbiBjbGFzcz0idyI+IDwvc3Bh
bj48c3BhbiBjbGFzcz0ibnQiPnN0YW5kYWxvbmU8L3NwYW4+PHNwYW4gY2xhc3M9InciPiA8L3Nw
YW4+PHNwYW4gY2xhc3M9Im50Ij5oeXBlcmxpbms8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi48L3Nw
YW4+Cgo8c3BhbiBjbGFzcz0ibnQiPmdlbWluaTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Oi8vPC9z
cGFuPjxzcGFuIGNsYXNzPSJudCI+ZXhhbXBsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bh
bj48c3BhbiBjbGFzcz0ibmMiPm9yZzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj48c3Bh
biBjbGFzcz0ibnQiPm90aGVyLWdlbXRleHQ8L3NwYW4+CjxzcGFuIGNsYXNzPSJvIj4uLjwvc3Bh
bj48c3BhbiBjbGFzcz0idyI+IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPl9saW5rPC9zcGFuPjxz
cGFuIGNsYXNzPSJvIj46PC9zcGFuPjxzcGFuIGNsYXNzPSJ3Ij4gPC9zcGFuPjxzcGFuIGNsYXNz
PSJudCI+Z2VtaW5pPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj46Ly88L3NwYW4+PHNwYW4gY2xhc3M9
Im50Ij5leGFtcGxlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJu
YyI+b3JnPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+bXkt
Z2VtdGV4dDwvc3Bhbj4KPHNwYW4gY2xhc3M9Im50Ij5fXzwvc3Bhbj48c3BhbiBjbGFzcz0idyI+
IDwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPmdlbWluaTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Oi8v
PC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+ZXhhbXBsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ljwv
c3Bhbj48c3BhbiBjbGFzcz0ibmMiPm9yZzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj48
c3BhbiBjbGFzcz0ibnQiPm90aGVyLWdlbXRleHQ8L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj4K
Cjxoci8+CjxwPjxzdHJvbmc+PGEgY2xhc3M9ImFsaW5rIiBocmVmPSJodHRwczovL3NvdXJjZWZv
cmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNoZXMvMjAwLyI+W3BhdGNoZXM6IzIwMF08L2E+IEFkZCB0
aGUgZ2VtaW5pOi8vIFVSSSBzY2hlbWU8L3N0cm9uZz48L3A+CjxwPjxzdHJvbmc+U3RhdHVzOjwv
c3Ryb25nPiBwZW5kaW5nLXJlbWluZDxici8+CjxzdHJvbmc+R3JvdXA6PC9zdHJvbmc+IE5vbmU8
YnIvPgo8c3Ryb25nPkNyZWF0ZWQ6PC9zdHJvbmc+IFR1ZSBEZWMgMjAsIDIwMjIgMDQ6NDAgUE0g
VVRDIGJ5IEZhYmllbiBMT0lTT048YnIvPgo8c3Ryb25nPkxhc3QgVXBkYXRlZDo8L3N0cm9uZz4g
VHVlIERlYyAyMCwgMjAyMiAwNDo0MCBQTSBVVEM8YnIvPgo8c3Ryb25nPk93bmVyOjwvc3Ryb25n
PiBub2JvZHk8YnIvPgo8c3Ryb25nPkF0dGFjaG1lbnRzOjwvc3Ryb25nPjwvcD4KPHVsPgo8bGk+
PGEgY2xhc3M9IiIgaHJlZj0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9kb2N1dGlscy9wYXRj
aGVzLzIwMC9hdHRhY2htZW50L2dlbWluaS5wYXRjaCI+Z2VtaW5pLnBhdGNoPC9hPiAoNTI5IEJ5
dGVzOyB0ZXh0L3gtcGF0Y2gpPC9saT4KPC91bD4KPHA+SGVsbG8sPC9wPgo8cD5JIGFtIGN1cnJl
bnRseSB3b3JraW5nIG9uIGEgdG9vbCB0byBjb252ZXJ0IHJlU3RydWN0dXJlZFRleHQgZmlsZXMg
dG8gR2VtdGV4dCBhbmQgSSBub3RpY2VkIHRoZSA8Y29kZT5nZW1pbmk6Ly8uLi48L2NvZGU+IFVS
SXMgKHVzZWQgYnkgdGhlIDxhIGNsYXNzPSIiIGhyZWY9Imh0dHBzOi8vZW4ud2lraXBlZGlhLm9y
Zy93aWtpL0dlbWluaV8ocHJvdG9jb2wpIiByZWw9Im5vZm9sbG93Ij5HZW1pbmkgUHJvdG9jb2w8
L2E+KSB3ZXJlIG5vdCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBpbnRvIGxpbmtzLiA8L3A+Cjxw
PkkgYXR0YWNoZWQgYSBzbWFsbCBwYXRjaCB0aGF0IGFkZHMgdGhlIDxjb2RlPmdlbWluaTwvY29k
ZT4gc2NoZW1lIHRvIHRoZSA8Y29kZT5kb2N1dGlscy51dGlscy51cmlzY2hlbWVzLnNjaGVtZXM8
L2NvZGU+IGRpY3Rpb25hcnkuPC9wPgo8aHIvPgo8cD5TZW50IGZyb20gc291cmNlZm9yZ2UubmV0
IGJlY2F1c2UgZG9jdXRpbHMtZGV2ZWxvcEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQgaXMgc3Vic2Ny
aWJlZCB0byA8YSBocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNo
ZXMvIj5odHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNoZXMvPC9hPjwvcD4K
PHA+VG8gdW5zdWJzY3JpYmUgZnJvbSBmdXJ0aGVyIG1lc3NhZ2VzLCBhIHByb2plY3QgYWRtaW4g
Y2FuIGNoYW5nZSBzZXR0aW5ncyBhdCA8YSBocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9w
L2RvY3V0aWxzL2FkbWluL3BhdGNoZXMvb3B0aW9ucy4iPmh0dHBzOi8vc291cmNlZm9yZ2UubmV0
L3AvZG9jdXRpbHMvYWRtaW4vcGF0Y2hlcy9vcHRpb25zLjwvYT4gIE9yLCBpZiB0aGlzIGlzIGEg
bWFpbGluZyBsaXN0LCB5b3UgY2FuIHVuc3Vic2NyaWJlIGZyb20gdGhlIG1haWxpbmcgbGlzdC48
L3A+PC9kaXY+

--===============4138978460963585772==--

--===============1884767396045289740==--


--===============8243451309182077489==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8243451309182077489==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline