Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtj6i-0004OM-Gf for pgsql-www@arkaria.postgresql.org; Wed, 13 Feb 2019 01:13:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gtj6h-0008TO-6Q for pgsql-www@arkaria.postgresql.org; Wed, 13 Feb 2019 01:12:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtj6g-0008TH-PL for pgsql-www@lists.postgresql.org; Wed, 13 Feb 2019 01:12:59 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtj6d-0000Du-4I for pgsql-www@lists.postgresql.org; Wed, 13 Feb 2019 01:12:57 +0000 Received: from [2600:380:bc1f:c6ac:607f:51e9:23d1:c144] (helo=Ph33r-Retina.local) by meldrar.postgresql.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtj6X-0003Ry-Rp for pgsql-www@lists.postgresql.org; Wed, 13 Feb 2019 01:12:53 +0000 To: "pgsql-www@lists.postgresql.org" From: "Jonathan S. Katz" Subject: Release Notes Archive Patch Openpgp: preference=signencrypt Autocrypt: addr=jkatz@postgresql.org; keydata= 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 FmEC Message-ID: Date: Tue, 12 Feb 2019 20:12:19 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="QRDOQ8OTb5mK1izZV1G5hfwanooRcnHKT" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2600:380:bc1f:c6ac:607f:51e9:23d1:c144 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --QRDOQ8OTb5mK1izZV1G5hfwanooRcnHKT Content-Type: multipart/mixed; boundary="fuVqaGLPJDqy6IZYRwyWEiRG8Rz0FCYYi"; protected-headers="v1" From: "Jonathan S. Katz" To: "pgsql-www@lists.postgresql.org" Message-ID: Subject: Release Notes Archive Patch --fuVqaGLPJDqy6IZYRwyWEiRG8Rz0FCYYi Content-Type: multipart/mixed; boundary="------------B514477240F48DF39A9701A9" Content-Language: en-US This is a multi-part message in MIME format. --------------B514477240F48DF39A9701A9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Attached is a proposed patch for archiving the release notes on the website. The patch builds the release note archive without modifying the schema and works with old and new releases. It works as such: - Find all release notes that have been loaded into pgweb (a process that occurs each release when we load the documentation) - Find the last modified release notes for each version. This accounts for the old docs, e.g. there is a copy of the 9.2.8 notes in the 9.3.9 release, so we will render those - There is a list of all release notes. If you click into it, you will see the version specific release notes Known adjustments to be made: - The URLs on each release note page are broken. I have to figure out how the best way to change the relative path in the URLs that are on the page as it is going from the page root (/docs/release) instead of the site root. This _should_ be easy - Even with above fix, some URLs will be broken in them, i.e. references to other release notes - PostgreSQL v1 + v0: I need to relabel this for Postgres95 - Also, some of the earlier versions do not have the proper release numbering (e.g. 1.03) I'm hoping we can put this out with the upcoming release, but am ok with doing this shortly thereafter. Comments on patch and approach welcome. Thanks, Jonathan --------------B514477240F48DF39A9701A9 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Create-Release-Notes-archive-in-the-Documentation-se.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Create-Release-Notes-archive-in-the-Documentation-se.pa"; filename*1="tch" RnJvbSBkOTEyMDQyMjViMTZjMjYzNmU1NzE2MWMwOGNhZDExMmE4Y2UzMzNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9uYXRoYW4gUy4gS2F0eiIgPGpvbmF0aGFuLmth dHpAZXhjb3ZlbnR1cmVzLmNvbT4KRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAyMDo1MDo0OCAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIENyZWF0ZSBSZWxlYXNlIE5vdGVzIGFyY2hpdmUgaW4g dGhlIERvY3VtZW50YXRpb24gc2VjdGlvbi4KClRoaXMgY3JlYXRlcyBhIGNvbnNvbGlkYXRl ZCBhcmVhIHRvIHJlZmVyZW5jZSBhbGwgb2YgdGhlIG5vdGVzIGZyb20KcHJldmlvdXMgcmVs ZWFzZXMgb2YgUG9zdGdyZVNRTCwgYXMgY3VycmVudCByZWxlYXNlcyBvbmx5IGtlZXAgdGhl CnRoZSBub3RlcyBmb3IgdGhhdCBzcGVjaWZpYyBtYWpvciByZWxlYXNlIG9mIFBvc3RncmVT UUwuCi0tLQogbWVkaWEvY3NzL21haW4uY3NzICAgICAgICAgICAgICAgIHwgIDcgKysrKwog cGd3ZWIvZG9jcy92aWV3cy5weSAgICAgICAgICAgICAgIHwgODQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBwZ3dlYi91cmxzLnB5ICAgICAgICAgICAgICAg ICAgICAgfCAgMiArCiBwZ3dlYi91dGlsL2NvbnRleHRzLnB5ICAgICAgICAgICAgfCAgMSAr CiB0ZW1wbGF0ZXMvZG9jcy9yZWxlYXNlX25vdGVzLmh0bWwgfCA1MSArKysrKysrKysrKysr KysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTQ1IGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0ZW1wbGF0ZXMvZG9jcy9yZWxlYXNlX25vdGVzLmh0bWwKCmRpZmYg LS1naXQgYS9tZWRpYS9jc3MvbWFpbi5jc3MgYi9tZWRpYS9jc3MvbWFpbi5jc3MKaW5kZXgg NmM5M2M4YjcuLjkxNWM0YTI5IDEwMDY0NAotLS0gYS9tZWRpYS9jc3MvbWFpbi5jc3MKKysr IGIvbWVkaWEvY3NzL21haW4uY3NzCkBAIC0xMjkzLDYgKzEyOTMsMTMgQEAgdGFibGUuc3Bv bnNvci10YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMykgewogICAgIHdpZHRoOiAzMCU7 CiB9CiAKKy8qKiBSZWxlYXNlIE5vdGVzICovCisjcmVsZWFzZS1ub3RlcyAubmF2aGVhZGVy LAorI3JlbGVhc2Utbm90ZXMgLm5hdmZvb3RlciwKKyNyZWxlYXNlLW5vdGVzIC50aXRsZXBh Z2UsCisjcmVsZWFzZS1ub3RlcyAudG9jIHsKKyAgICBkaXNwbGF5OiBub25lOworfQogCiAv KiogQUxMIFJFU1BPTlNJVkUgUVVFUklFUyBIRVJFICovCiAvKiBTbWFsbCBkZXZpY2VzIChs YW5kc2NhcGUgcGhvbmVzLCA1NzZweCBhbmQgdXApKi8KZGlmZiAtLWdpdCBhL3Bnd2ViL2Rv Y3Mvdmlld3MucHkgYi9wZ3dlYi9kb2NzL3ZpZXdzLnB5CmluZGV4IDQ1NzdmMGNlLi4xZGEx NjJmZCAxMDA2NDQKLS0tIGEvcGd3ZWIvZG9jcy92aWV3cy5weQorKysgYi9wZ3dlYi9kb2Nz L3ZpZXdzLnB5CkBAIC0xNDAsNiArMTQwLDkwIEBAIGRlZiBtYW51YWxhcmNoaXZlKHJlcXVl c3QpOgogICAgICAgICAndmVyc2lvbnMnOiBbX1ZlcnNpb25QZGZXcmFwcGVyKHYpIGZvciB2 IGluIHZlcnNpb25zXSwKICAgICB9KQogCitkZWYgcmVsZWFzZV9ub3RlcyhyZXF1ZXN0LCBt YWpvcl92ZXJzaW9uPU5vbmUsIG1pbm9yX3ZlcnNpb249Tm9uZSk6CisgICAgIiIiQ29udGFp bnMgdGhlIG1haW4gYXJjaGl2ZSBvZiByZWxlYXNlIG5vdGVzLiIiIgorICAgIHNxbCA9ICIi IgorICAgIFNFTEVDVAorICAgICAgICBkb2NzLiosCisgICAgICAgIHIubWFqb3JfdmVyc2lv biwKKyAgICAgICAgci5taW5vcl92ZXJzaW9uCisgICAgRlJPTSAoCisgICAgICAgIFNFTEVD VCBESVNUSU5DVAorICAgICAgICAgICAgci5tYWpvcl92ZXJzaW9uLAorICAgICAgICAgICAg ci5taW5vcl92ZXJzaW9uLAorICAgICAgICAgICAgZmlyc3RfdmFsdWUoci5pZCkgT1ZFUiAo CisgICAgICAgICAgICAgICAgUEFSVElUSU9OIEJZIChyLm1ham9yX3ZlcnNpb24sIHIubWlu b3JfdmVyc2lvbikKKyAgICAgICAgICAgICAgICBPUkRFUiBCWSByLnRyZWUgREVTQworICAg ICAgICAgICAgKSBBUyBpZAorICAgICAgICBGUk9NICgKKyAgICAgICAgICAgIFNFTEVDVAor ICAgICAgICAgICAgICAgIHIuaWQsCisgICAgICAgICAgICAgICAgci50cmVlLAorICAgICAg ICAgICAgICAgIENBU0UgYXJyYXlfbGVuZ3RoKHZlcnNpb25zLCAxKQorICAgICAgICAgICAg ICAgICAgICBXSEVOIDEgVEhFTiB2ZXJzaW9uc1sxXQorICAgICAgICAgICAgICAgICAgICBX SEVOIDIgVEhFTiAoCisgICAgICAgICAgICAgICAgICAgICAgICBDQVNFCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgV0hFTiB2ZXJzaW9uc1sxXTo6aW50ID49IDEwIE9SIHZlcnNp b25zWzFdOjppbnQgPCA2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRIRU4g dmVyc2lvbnNbMV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTFNFICh2ZXJzaW9u c1sxXSB8fCAnLicgfHwgdmVyc2lvbnNbMl0pCisgICAgICAgICAgICAgICAgICAgICAgICBF TkQKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICBFTFNFICh2 ZXJzaW9uc1sxXSB8fCAnLicgfHwgdmVyc2lvbnNbMl0pCisgICAgICAgICAgICAgICAgRU5E OjpudW1lcmljIEFTIG1ham9yX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgQ0FTRSBhcnJh eV9sZW5ndGgodmVyc2lvbnMsIDEpCisgICAgICAgICAgICAgICAgICAgIFdIRU4gMSBUSEVO ICcwJworICAgICAgICAgICAgICAgICAgICBXSEVOIDIgVEhFTiAoCisgICAgICAgICAgICAg ICAgICAgICAgICBDQVNFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2ZXJz aW9uc1sxXTo6aW50ID49IDEwIE9SIHZlcnNpb25zWzFdOjppbnQgPCA2CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRIRU4gdmVyc2lvbnNbMl0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFTFNFICcwJworICAgICAgICAgICAgICAgICAgICAgICAgRU5ECisg ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgRUxTRSB2ZXJzaW9u c1szXQorICAgICAgICAgICAgICAgIEVORDo6aW50IEFTIG1pbm9yX3ZlcnNpb24KKyAgICAg ICAgICAgIEZST00gKAorICAgICAgICAgICAgICAgIFNFTEVDVAorICAgICAgICAgICAgICAg ICAgICBkLmlkLAorICAgICAgICAgICAgICAgICAgICB2LnRyZWUsCisgICAgICAgICAgICAg ICAgICAgIHJlZ2V4cF9zcGxpdF90b19hcnJheSgKKyAgICAgICAgICAgICAgICAgICAgICAg IHJlZ2V4cF9yZXBsYWNlKGQuZmlsZSwgJ3JlbGVhc2UtfC5odG1sPycsICcnLCAnZycpLAor ICAgICAgICAgICAgICAgICAgICAgICAgJy0nKSBBUyB2ZXJzaW9ucworICAgICAgICAgICAg ICAgIEZST00gZG9jcyBkCisgICAgICAgICAgICAgICAgSk9JTiBjb3JlX3ZlcnNpb24gdiBP TgorICAgICAgICAgICAgICAgICAgICB2LnRyZWUgPSBkLnZlcnNpb24gQU5ECisgICAgICAg ICAgICAgICAgICAgIHYudGVzdGluZyA9IDAKKyAgICAgICAgICAgICAgICBXSEVSRSBmaWxl IH4gJ15yZWxlYXNlLScKKyAgICAgICAgICAgICkgcgorICAgICAgICApIHIKKyAgICApIHIK KyAgICBKT0lOIGRvY3MgT04gZG9jcy5pZCA9IHIuaWQKKyAgICAiIiIKKyAgICBwYXJhbXMg PSBbXQorICAgICMgaWYgdGhlIG1ham9yICsgbWlub3IgdmVyc2lvbiBhcmUgcHJvdmlkZWQs IHRoZW4gd2Ugd2FudCB0byBuYXJyb3cgZG93bgorICAgICMgdGhlIHJlc3VsdHMgdG8gdGhl IGV4YWN0IHJlbGVhc2Ugbm90ZXMKKyAgICAjIG90aGVyd2lzZSBlbnN1cmUgdGhlIHJlbGVh c2Ugbm90ZXMgYXJlIHJldHVybmVkIGluIG9yZGVyCisgICAgaWYgbWFqb3JfdmVyc2lvbiBh bmQgbWlub3JfdmVyc2lvbjoKKyAgICAgICAgc3FsICs9ICIiIgorICAgICAgICBXSEVSRSBt YWpvcl92ZXJzaW9uID0gJXMgQU5EIG1pbm9yX3ZlcnNpb24gPSAlczsKKyAgICAgICAgIiIi CisgICAgICAgIHBhcmFtcyArPSBbbWFqb3JfdmVyc2lvbiwgbWlub3JfdmVyc2lvbl0KKyAg ICBlbHNlOgorICAgICAgICBzcWwgKz0gIiIiCisgICAgICAgIE9SREVSIEJZIHIubWFqb3Jf dmVyc2lvbiBERVNDLCByLm1pbm9yX3ZlcnNpb24gREVTQzsKKyAgICAgICAgIiIiCisgICAg IyBleGVjdXRlIHRoZSBxdWVyeSB0byBnZXQgdGhlIGZ1bGwgcXVlcnlzZXQKKyAgICBxdWVy eXNldCA9IERvY1BhZ2Uub2JqZWN0cy5yYXcoc3FsLCBwYXJhbXMpCisgICAgIyBpZiBtYWpv ciArIG1pbm9yIHZlcnNpb24gYXJlIHByb3ZpZGVkLCB3ZSB3YW50IHRvIHJlbmRlciBzb21l dGhpbmcgc2ltaWxhcgorICAgICMgdG8gdGhlIGRvY3MgcGFnZQorICAgICMgb3RoZXJ3aXNl LCBsb2FkIHRoZSBwYWdlIHRoYXQgbGlzdHMgYWxsIG9mIHRoZSB2ZXJzaW9ucworICAgIGlm IG1ham9yX3ZlcnNpb24gYW5kIG1pbm9yX3ZlcnNpb246CisgICAgICAgIGRvY3MgPSBbZCBm b3IgZCBpbiBxdWVyeXNldF0KKyAgICAgICAgaWYgbm90IGRvY3M6CisgICAgICAgICAgICBy YWlzZSBIdHRwNDA0KCkKKyAgICAgICAgY29udGV4dCA9IHsgJ2QnOiBkb2NzWzBdIH0KKyAg ICBlbHNlOgorICAgICAgICBjb250ZXh0ID0geyAndmVyc2lvbnMnOiBbZCBmb3IgZCBpbiBx dWVyeXNldF0sIH0KKyAgICByZXR1cm4gcmVuZGVyX3Bnd2ViKHJlcXVlc3QsICdkb2NzJywg J2RvY3MvcmVsZWFzZV9ub3Rlcy5odG1sJywgY29udGV4dCkKIAogQGxvZ2luX3JlcXVpcmVk CiBkZWYgY29tbWVudGZvcm0ocmVxdWVzdCwgaXRlbWlkLCB2ZXJzaW9uLCBmaWxlbmFtZSk6 CmRpZmYgLS1naXQgYS9wZ3dlYi91cmxzLnB5IGIvcGd3ZWIvdXJscy5weQppbmRleCBkNDA2 NzNmYy4uOTM4Mjk3NWEgMTAwNjQ0Ci0tLSBhL3Bnd2ViL3VybHMucHkKKysrIGIvcGd3ZWIv dXJscy5weQpAQCAtNTcsNiArNTcsOCBAQCB1cmxwYXR0ZXJucyA9IFsKICAgICB1cmwocide ZG9jcy8kJywgcGd3ZWIuZG9jcy52aWV3cy5yb290KSwKICAgICB1cmwocideZG9jcy9tYW51 YWxzLyQnLCBwZ3dlYi5kb2NzLnZpZXdzLm1hbnVhbHMpLAogICAgIHVybChyJ15kb2NzL21h bnVhbHMvYXJjaGl2ZS8kJywgcGd3ZWIuZG9jcy52aWV3cy5tYW51YWxhcmNoaXZlKSwKKyAg ICB1cmwocideZG9jcy9yZWxlYXNlLyQnLCBwZ3dlYi5kb2NzLnZpZXdzLnJlbGVhc2Vfbm90 ZXMpLAorICAgIHVybChyJ15kb2NzL3JlbGVhc2UvKCg/UDxtYWpvcl92ZXJzaW9uPihcZCtc LlxkKyl8XGQrKVwuKD9QPG1pbm9yX3ZlcnNpb24+XGQrKSkvJCcsIHBnd2ViLmRvY3Mudmll d3MucmVsZWFzZV9ub3RlcyksCiAgICAgIyBMZWdhY3kgVVJMcyBmb3IgYWNjZXNzaW5nIHRo ZSBkb2NzIHBhZ2U7IHByb3ZpZGVzIGEgcGVybWFuZW50IHJlZGlyZWN0CiAgICAgdXJsKHIn XmRvY3MvKGN1cnJlbnR8ZGV2ZWx8XGQrKD86XC5cZCk/KS8oc3RhdGljfGludGVyYWN0aXZl KS8oKC4qKS5odG1sPyk/JCcsIHBnd2ViLmRvY3Mudmlld3MuZG9jc3Blcm1hbmVudHJlZGly ZWN0KSwKICAgICB1cmwocideZG9jcy8oY3VycmVudHxkZXZlbHxcZCsoPzpcLlxkKT8pLygu KikuaHRtbD8kJywgcGd3ZWIuZG9jcy52aWV3cy5kb2NwYWdlKSwKZGlmZiAtLWdpdCBhL3Bn d2ViL3V0aWwvY29udGV4dHMucHkgYi9wZ3dlYi91dGlsL2NvbnRleHRzLnB5CmluZGV4IDQz ZjZjM2UyLi44ZjBiMDQ3YiAxMDA2NDQKLS0tIGEvcGd3ZWIvdXRpbC9jb250ZXh0cy5weQor KysgYi9wZ3dlYi91dGlsL2NvbnRleHRzLnB5CkBAIC0zNiw2ICszNiw3IEBAIHNpdGVuYXYg PSB7CiAgICAgICAgICAgICB7J3RpdGxlJzogJ0phcGFuZXNlJywgJ2xpbmsnOiAnaHR0cDov L3d3dy5wb3N0Z3Jlc3FsLmpwL2RvY3VtZW50Lyd9LAogICAgICAgICAgICAgeyd0aXRsZSc6 ICdSdXNzaWFuJywgJ2xpbmsnOiAnaHR0cHM6Ly9wb3N0Z3Jlc3Byby5ydS9kb2NzL3Bvc3Rn cmVzcWwnfSwKICAgICAgICAgXX0sCisgICAgICAgIHsndGl0bGUnOiAnUmVsZWFzZSBOb3Rl cycsICdsaW5rJzogJy9kb2NzL3JlbGVhc2UvJ30sCiAgICAgICAgIHsndGl0bGUnOiAnQm9v a3MnLCAnbGluayc6ICcvZG9jcy9ib29rcy8nfSwKICAgICAgICAgeyd0aXRsZSc6ICdPbmxp bmUgUmVzb3VyY2VzJywgJ2xpbmsnOiAnL2RvY3Mvb25saW5lLXJlc291cmNlcy8nfSwKICAg ICAgICAgeyd0aXRsZSc6ICdXaWtpJywgJ2xpbmsnOiAnaHR0cHM6Ly93aWtpLnBvc3RncmVz cWwub3JnJ30sCmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvZG9jcy9yZWxlYXNlX25vdGVzLmh0 bWwgYi90ZW1wbGF0ZXMvZG9jcy9yZWxlYXNlX25vdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAuLmM5YTliZmQxCi0tLSAvZGV2L251bGwKKysrIGIvdGVt cGxhdGVzL2RvY3MvcmVsZWFzZV9ub3Rlcy5odG1sCkBAIC0wLDAgKzEsNTEgQEAKK3slIGV4 dGVuZHMgImJhc2UvcGFnZS5odG1sIiAlfQoreyVibG9jayB0aXRsZSV9UmVsZWFzZSBOb3Rl c3slZW5kYmxvY2slfQoreyUgYmxvY2sgY29udGVudHMgJX0KK3slIHJlZ3JvdXAgdmVyc2lv bnMgYnkgbWFqb3JfdmVyc2lvbiBhcyB2ZXJzaW9uX2dyb3VwcyAlfQorCis8ZGl2IGlkPSJy ZWxlYXNlLW5vdGVzIiBjbGFzcz0icm93Ij4KKyAgeyUgaWYgZCAlfQorICAgIDxkaXYgY2xh c3M9ImNvbC1tZC0xMCI+CisgICAgICA8c2VjdGlvbj4KKyAgICAgICAgPGgxPlJlbGVhc2Ug Tm90ZXMgPGkgY2xhc3M9ImZhciBmYS1maWxlLWFsdCI+PC9pPjwvaDE+CisgICAgICAgIDxo Mj5Qb3N0Z3JlU1FMIHt7IGQubWFqb3JfdmVyc2lvbiB9fS57eyBkLm1pbm9yX3ZlcnNpb24g fX08L2gyPgorICAgICAgPC9zZWN0aW9uPgorICAgICAgPGRpdiBpZD0iZG9jQ29udGVudCI+ CisgICAgICAgIHt7IGQuY29udGVudHxzYWZlIH19CisgICAgICA8L2Rpdj4KKyAgICA8L2Rp dj4KKyAgeyUgZWxzZSAlfQorICAgIDxkaXYgY2xhc3M9ImNvbC1tZC05Ij4KKyAgICAgIDxz ZWN0aW9uPgorICAgICAgICA8aDE+UmVsZWFzZSBOb3RlcyA8aSBjbGFzcz0iZmFyIGZhLWZp bGUtYWx0Ij48L2k+PC9oMT4KKyAgICAgIDwvc2VjdGlvbj4KKyAgICAgIDxwPkJlbG93IGlz IHRoZSBjb21wbGV0ZSBhcmNoaXZlIG9mIHJlbGVhc2Ugbm90ZXMgZm9yIGV2ZXJ5IHZlcnNp b24gb2YgUG9zdGdyZVNRTC48L3A+CisgICAgICB7JSBmb3IgdmVyc2lvbl9ncm91cCBpbiB2 ZXJzaW9uX2dyb3VwcyAlfQorICAgICAgICA8aDIgaWQ9InJlbGVhc2Ute3sgdmVyc2lvbl9n cm91cC5ncm91cGVyIH19Ij5Qb3N0Z3JlU1FMIHt7IHZlcnNpb25fZ3JvdXAuZ3JvdXBlciB9 fTwvaDI+CisgICAgICAgIDx1bD4KKyAgICAgICAgICB7JSBmb3IgZCBpbiB2ZXJzaW9uX2dy b3VwLmxpc3QgJX0KKyAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0i L2RvY3MvcmVsZWFzZS97eyB2ZXJzaW9uX2dyb3VwLmdyb3VwZXIgfX0ue3sgZC5taW5vcl92 ZXJzaW9uIH19LyI+CisgICAgICAgICAgICAgICAge3sgdmVyc2lvbl9ncm91cC5ncm91cGVy IH19Lnt7IGQubWlub3JfdmVyc2lvbiB9fQorICAgICAgICAgICAgICA8L2E+CisgICAgICAg ICAgICA8L2xpPgorICAgICAgICAgIHslIGVuZGZvciAlfQorICAgICAgICA8L3VsPgorICAg ICAgeyUgZW5kZm9yICV9CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMi PgorICAgICAgPHNlY3Rpb24+CisgICAgICAgIDxoMj5KdW1wIHRvLi4uPC9oMj4KKyAgICAg IDwvc2VjdGlvbj4KKyAgICAgIDx1bD4KKyAgICAgICAgeyUgZm9yIHZlcnNpb25fZ3JvdXAg aW4gdmVyc2lvbl9ncm91cHMgJX0KKyAgICAgICAgICA8bGk+CisgICAgICAgICAgICA8YSBo cmVmPSIjcmVsZWFzZS17eyB2ZXJzaW9uX2dyb3VwLmdyb3VwZXIgfX0iPlBvc3RncmVTUUwg e3sgdmVyc2lvbl9ncm91cC5ncm91cGVyIH19PC9hPgorICAgICAgICAgIDwvbGk+CisgICAg ICAgIHslIGVuZGZvciAlfQorICAgICAgPC91bD4KKyAgICA8L2Rpdj4KKyAgeyUgZW5kaWYg JX0KKzwvZGl2PgorCit7JSBlbmRibG9jayAlfQotLSAKMi4xNC4zIChBcHBsZSBHaXQtOTgp Cgo= --------------B514477240F48DF39A9701A9-- --fuVqaGLPJDqy6IZYRwyWEiRG8Rz0FCYYi-- --QRDOQ8OTb5mK1izZV1G5hfwanooRcnHKT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE+oS2la8r95ogZD/x8QSccp8cZScFAlxjbvMACgkQ8QSccp8c ZSe/mQ/5AQJU4Iq89K8qunr4W2YNeU6DQ1H6PdT7tGAK980lk7nMup6whrA8ueQV T3X19AXwcoBjiZHF5lWb9Au/XqYzHdQJJ/l3OptmeFZErzF5Udt9YtIgLbNsUxGh KHGja1d6AFhFlcIUU1jvAqMtp+H2v042gcQJzyxB9xROjBR7kxFevSPz93FIOuxk +VA+J0UNkjRJHTWElFqlDU7Ioxz/yCdBJfqvmr/hJy/cORxhsceNFVl3NXROBuxc jL15vAQjpgSmaueUiJPbYChe55jt/DEBQl8hC+uI7duahAkrJjskLesGkqd+svEP xY/exke2AEqxA1VF94ROcuWRb1aVkYefA4ZnSjUHpk9vRWTA8XhXyxVGmt36g7Ei 8uvht/hi/ymdUpNd6glqdggq+6tc2DRoCIdDn7+5z3bYG5SGI3XMCB86ZD9Iu72Z 1bKcGhDAvrFA7zPQP8p6HvdCmM01K0XeEsr5goQRXOkqNyd9bPJTbSMvgEbPftoI uRhZRphGM2lcQLtXQOLTUlCJkWL0AJN2pVfGUR/qlUMG6AJyPXaVayVcbXrGwQNV Cz70JonGsU1JbbRmIrk3uUcmdCKWb1BIYX+VaH87Q2XMNwAgNXBE1RWQS0FIYZvl 2KodG56vhm1nRGyhfE+mdi4d0vr8xwoI/2gj+Dr98xzSx0t9pSE= =cDCS -----END PGP SIGNATURE----- --QRDOQ8OTb5mK1izZV1G5hfwanooRcnHKT--