Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jbabq-0004YO-9J for pgsql-advocacy@arkaria.postgresql.org; Thu, 21 May 2020 02:06:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jbabo-0006aJ-7e for pgsql-advocacy@arkaria.postgresql.org; Thu, 21 May 2020 02:06:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jbabn-0006aB-8w for pgsql-advocacy@lists.postgresql.org; Thu, 21 May 2020 02:06:56 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jbabi-0001pK-Mq for pgsql-advocacy@lists.postgresql.org; Thu, 21 May 2020 02:06:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:Subject:From:References:Cc:To:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=vmOqhOPBZqlsb/leuMt6U4gGL88M8XsoQEKYSFo6jdM=; b=C0Qn1VNZaF6TOsVrnSKY+yc97z LCrkZqGA3EQI9U2i+QmWwHHNYFiEInt5e1JFmS+JpG+ozEixpwrcUL/HdowJ0f9efW1Xj0rorTDYw FWgRcAejghFIpyoza6mf895iSxtSv8QQ1CezQm/3DyELxc3sIIxtrcsg1m54cMsPEZIh2JycD1ej7 Klp+yy5nXM7cRYtzYVKUxfJdyR+47IZ7Us+uson08pie1CmPx4iBrdDvyQd7I4EfQ9GOwLMX2EnIC HZpQwt+/fwzXNs5RckoN6oEtXEK1G4KHwj6t/U63wF9vYDYjBdL/MnQTesdanTOah+su478lFzF/B Q38dipXw==; Received: from pool-173-56-10-231.nycmny.fios.verizon.net ([173.56.10.231] helo=Ph33rHippo.local) by meldrar.postgresql.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jbabc-0005ev-NM; Thu, 21 May 2020 02:06:47 +0000 To: Alvaro Herrera Cc: PostgreSQL Advocacy References: <20200520233018.GA32614@alvherre.pgsql> From: "Jonathan S. Katz" Autocrypt: addr=jkatz@postgresql.org; keydata= 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 FmEC Subject: Re: PostgreSQL 13 Beta 1 Release Announcement Draft Message-ID: <0f32b9d7-8105-50a6-4139-ddc8df2643d7@postgresql.org> Date: Wed, 20 May 2020 22:06:42 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200520233018.GA32614@alvherre.pgsql> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Qt8CU0lwq3PMO9CmvW5DZqJETgdGacayq" 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) --Qt8CU0lwq3PMO9CmvW5DZqJETgdGacayq Content-Type: multipart/mixed; boundary="j0DYM18oNvsEKP4QqluiduvZdLlxRnwei"; protected-headers="v1" From: "Jonathan S. Katz" To: Alvaro Herrera Cc: PostgreSQL Advocacy Message-ID: <0f32b9d7-8105-50a6-4139-ddc8df2643d7@postgresql.org> Subject: Re: PostgreSQL 13 Beta 1 Release Announcement Draft References: <20200520233018.GA32614@alvherre.pgsql> In-Reply-To: <20200520233018.GA32614@alvherre.pgsql> --j0DYM18oNvsEKP4QqluiduvZdLlxRnwei Content-Type: multipart/mixed; boundary="------------F61994C6D4B620E0039CF15D" Content-Language: en-US This is a multi-part message in MIME format. --------------F61994C6D4B620E0039CF15D Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 5/20/20 7:30 PM, Alvaro Herrera wrote: > Hello, sorry for the timing on this, but here's some feedback. >=20 > On 2020-May-20, Jonathan S. Katz wrote: >=20 >> PostgreSQL 13 introduces many features and improvements to the world's= most >> advanced open source database. The following is just a small sample of= new >> features introduced into this latest version of PostgreSQL. >=20 > "A small sample" suggests to me that there are other equally important > features that you did not list, in a somewhat random way. I doubt > that's true; as a user, I would expect you to list the most important > changes. I would use the phrase "The following are the most visible > improvements" or some such. After trying to reword it, I ended up striking the whole section. A bunch of it was redundant to the above section. The title of the section can have it stand on its own: "PostgreSQL 13 Highlights" >> PostgreSQL 13 adds incremental sorting, which accelerates sorting data= when >> existing data in a query is already sorted. >=20 > I'm not sure this is very accurate. I would say "incremental sorting, > which can take advantage of partially sorted data". (Could add more to > it, "when only a subset of the result set is needed", but that is > perhaps too many words). I made modifications based on your downthread comments. >> There are more improvements added to PostgreSQL's partitioning functio= nality in >> this release, including an increased number of cases where a >> "partitionwise join" (a join between matching partitions) can be used,= >=20 > I'd say "A join between partitioned tables". (The new feature precisel= y > is that the partition strategies don't have to match exactly anymore). Cool, modified. >> One of the most anticipated features of PostgreSQL 13 is the ability f= or the >> `VACUUM` command to process indexes in parallel. This functionality ca= n be >> accessed using the new `PARALLEL` option on the `VACUUM` command (or >> `--parallel` on `vacuumdb`), which allows you to specify the number of= parallel >> workers to use for vacuuming indexes. Note that this does not work wit= h the >> `FULL` option. >=20 > I feel this "Note" is unnecessary; VACUUM FULL is of fringe use anyway.= > The phrase on incremental sorting above is better use of these extra > words, if you have a surplus. While I'm not running in production as much as I used to, there will still times I would need to use a VACUUM FULL ;) > =20 >> This release includes more ways to monitor actibity within a PostgreSQ= L >> database: PostgreSQL 13 can now track WAL usage statistics and the pro= gress of >> streaming `pg_basebackup`s, and the progress of an `ANALYZE` command. >> `pg_basebackup` can also generate a manifest that can be used to verif= y the >> integrity of a backup using a new tool called `pg_verifybackup`. >=20 > In this monitoring paragraph I would add that it's possible to limit WA= L > reserved by replication slots. "It is now possible to limit the amount= > of WAL space reserved by replication slots." That is a good one - I added that mostly word-for-word. Thanks! Jonathan --------------F61994C6D4B620E0039CF15D Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="13beta1.md" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="13beta1.md" UG9zdGdyZVNRTCAxMyBCZXRhIDEgUmVsZWFzZWQKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KClRoZSBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cCBhbm5vdW5j ZXMgdGhhdCB0aGUgZmlyc3QgYmV0YSByZWxlYXNlIG9mClBvc3RncmVTUUwgMTMgaXMgbm93 IFthdmFpbGFibGUgZm9yIGRvd25sb2FkXShodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9k b3dubG9hZC8pLgpUaGlzIHJlbGVhc2UgY29udGFpbnMgcHJldmlld3Mgb2YgYWxsIGZlYXR1 cmVzIHRoYXQgd2lsbCBiZSBhdmFpbGFibGUgaW4gdGhlCmZpbmFsIHJlbGVhc2Ugb2YgUG9z dGdyZVNRTCAxMywgdGhvdWdoIHNvbWUgZGV0YWlscyBvZiB0aGUgcmVsZWFzZSBjb3VsZCBj aGFuZ2UKYmVmb3JlIHRoZW4uCgpZb3UgY2FuIGZpbmQgaW5mb3JtYXRpb24gYWJvdXQgYWxs IG9mIHRoZSBmZWF0dXJlcyBhbmQgY2hhbmdlcyBmb3VuZCBpbgpQb3N0Z3JlU1FMIDEzIGlu IHRoZSBbcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcy8x My9yZWxlYXNlLTEzLmh0bWwpOgoKICBbaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9j cy8xMy9yZWxlYXNlLTEzLmh0bWxdKGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2RvY3Mv MTMvcmVsZWFzZS0xMy5odG1sKQoKSW4gdGhlIHNwaXJpdCBvZiB0aGUgb3BlbiBzb3VyY2Ug UG9zdGdyZVNRTCBjb21tdW5pdHksIHdlIHN0cm9uZ2x5IGVuY291cmFnZSB5b3UKdG8gdGVz dCB0aGUgbmV3IGZlYXR1cmVzIG9mIFBvc3RncmVTUUwgMTMgaW4geW91ciBzeXN0ZW1zIHRv IGhlbHAgdXMgZWxpbWluYXRlCmFueSBidWdzIG9yIG90aGVyIGlzc3VlcyB0aGF0IG1heSBl eGlzdC4gV2hpbGUgd2UgZG8gbm90IGFkdmlzZSB5b3UgdG8gcnVuClBvc3RncmVTUUwgMTMg QmV0YSAxIGluIHlvdXIgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMsIHdlIGVuY291cmFnZSB5 b3UgdG8gZmluZAp3YXlzIHRvIHJ1biB5b3VyIHR5cGljYWwgYXBwbGljYXRpb24gd29ya2xv YWRzIGFnYWluc3QgdGhpcyBiZXRhIHJlbGVhc2UuCgpZb3VyIHRlc3RpbmcgYW5kIGZlZWRi YWNrIHdpbGwgaGVscCB0aGUgY29tbXVuaXR5IGVuc3VyZSB0aGF0IHRoZSBQb3N0Z3JlU1FM IDEzCnJlbGVhc2UgdXBob2xkcyBvdXIgc3RhbmRhcmRzIG9mIHByb3ZpZGluZyBhIHN0YWJs ZSwgcmVsaWFibGUgcmVsZWFzZSBvZiB0aGUKd29ybGQncyBtb3N0IGFkdmFuY2VkIG9wZW4g c291cmNlIHJlbGF0aW9uYWwgZGF0YWJhc2UuIFlvdSBjYW4gcmVhZCBtb3JlIGFib3V0Cm91 ciBbYmV0YSB0ZXN0aW5nIHByb2Nlc3NdKGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2Rl dmVsb3Blci9iZXRhLykgYW5kIGhvdwp5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZToKCiAgW2h0 dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2RldmVsb3Blci9iZXRhL10oaHR0cHM6Ly93d3cu cG9zdGdyZXNxbC5vcmcvZGV2ZWxvcGVyL2JldGEvKQoKUG9zdGdyZVNRTCAxMyBGZWF0dXJl IEhpZ2hsaWdodHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMjIyBGdW5j dGlvbmFsaXR5CgpUaGVyZSBhcmUgbWFueSBuZXcgZmVhdHVyZXMgaW4gUG9zdGdyZVNRTCAx MyB0aGF0IGhlbHAgaW1wcm92ZSB0aGUgb3ZlcmFsbApwZXJmb3JtYW5jZSBvZiBQb3N0Z3Jl U1FMIHdoaWxlIG1ha2luZyBpdCBldmVuIGVhc2llciB0byBkZXZlbG9wIGFwcGxpY2F0aW9u cy4KCkItdHJlZSBpbmRleGVzLCB0aGUgc3RhbmRhcmQgaW5kZXggb2YgUG9zdGdyZVNRTCwg cmVjZWl2ZWQgaW1wcm92ZW1lbnRzIGZvcgpob3cgdGhleSBoYW5kbGUgZHVwbGljYXRlIGRh dGEuIFRoZXNlIGVuaGFuY2VtZW50cyBoZWxwIHRvIHNocmluayBpbmRleCBzaXplIGFuZApp bXByb3ZlIGxvb2t1cCBzcGVlZCwgcGFydGljdWxhcmx5IGZvciBpbmRleGVzIHRoYXQgY29u dGFpbiBtYW55IHJlcGVhdCB2YWx1ZXMuCgpQb3N0Z3JlU1FMIDEzIGFkZHMgaW5jcmVtZW50 YWwgc29ydGluZywgd2hpY2ggYWNjZWxlcmF0ZXMgc29ydGluZyBkYXRhIHdoZW4gZGF0YQp0 aGF0IGlzIHNvcnRlZCBmcm9tIGVhcmxpZXIgcGFydHMgb2YgYSBxdWVyeSBhcmUgYWxyZWFk eSBzb3J0ZWQuIEFkZGl0aW9uYWxseSwKcXVlcmllcyB3aXRoIE9SIGNsYXVzZXMgb3IgSU4v QU5ZIGNvbnN0YW50IGxpc3RzIGNhbiB1c2UgZXh0ZW5kZWQgc3RhdGlzdGljcwooY3JlYXRl ZCB2aWEgYENSRUFURSBTVEFUSVNUSUNTYCksIHdoaWNoIGNhbiBsZWFkIHRvIGJldHRlciBw bGFubmluZyBhbmQKcGVyZm9ybWFuY2UgZ2FpbnMuIFBvc3RncmVTUUwgMTMgY2FuIG5vdyB1 c2UgZGlzayBzdG9yYWdlIGZvciBoYXNoIGFnZ3JlZ2F0aW9uCih1c2VkIGFzIHBhcnQgb2Yg YWdncmVnYXRlIHF1ZXJpZXMpIHdpdGggbGFyZ2UgYWdncmVnYXRpb24gc2V0cy4KClRoZXJl IGFyZSBtb3JlIGltcHJvdmVtZW50cyBhZGRlZCB0byBQb3N0Z3JlU1FMJ3MgcGFydGl0aW9u aW5nIGZ1bmN0aW9uYWxpdHkgaW4KdGhpcyByZWxlYXNlLCBpbmNsdWRpbmcgYW4gaW5jcmVh c2VkIG51bWJlciBvZiBjYXNlcyB3aGVyZSBhIGpvaW4gZGlyZWN0bHkKYmV0d2VlbiBwYXJ0 aXRpb25lZCB0YWJsZXMgY2FuIG9jY3VyLCB3aGljaCBjYW4gaW1wcm92ZSBvdmVyYWxsIHF1 ZXJ5IGV4ZWN1dGlvbgp0aW1lLiBQYXJ0aXRpb25lZCB0YWJsZXMgbm93IHN1cHBvcnQgYEJF Rk9SRWAgcm93LWxldmVsIHRyaWdnZXJzLCBhbmQgYQpwYXJ0aXRpb25lZCB0YWJsZSBjYW4g bm93IGJlIGZ1bGx5IHJlcGxpY2F0ZWQgdmlhIGxvZ2ljYWwgcmVwbGljYXRpb24gd2l0aG91 dApoYXZpbmcgdG8gcHVibGlzaCBpbmRpdmlkdWFsIHBhcnRpdGlvbnMuCgpQb3N0Z3JlU1FM IDEzIGJyaW5ncyBtb3JlIGNvbnZlbmllbmNlIHRvIHdyaXRpbmcgcXVlcmllcyB3aXRoIGZl YXR1cmVzIGxpa2UKYEZFVENIIEZJUlNUIFdJVEggVElFU2AsIHdoaWNoIHJldHVybnMgYW55 IGFkZGl0aW9uYWwgcm93cyB0aGF0IG1hdGNoIHRoZSBsYXN0CnJvdy4gVGhlcmUgaXMgYWxz byB0aGUgYWRkaXRpb24gb2YgdGhlICIuZGF0ZXRpbWUiIGZ1bmN0aW9uIGZvciBqc29ucGF0 aApxdWVyaWVzLCB3aGljaCB3aWxsIGF1dG9tYXRpY2FsbHkgY29udmVydCBhIGRhdGUtbGlr ZSBvciB0aW1lLWxpa2Ugc3RyaW5nIHRvIHRoZQphcHByb3ByaWF0ZSBQb3N0Z3JlU1FMIGRh dGUvdGltZSBkYXRhdHlwZS4gSXQgaXMgYWxzbyBldmVuIGVhc2llciBub3cgdG8KZ2VuZXJh dGUgcmFuZG9tIFVVSURzLCBhcyB0aGUgYGdlbl9yYW5kb21fdXVpZCgpYCBmdW5jdGlvbiBj YW4gYmUgdXNlZCB3aXRob3V0CmhhdmluZyB0byBlbmFibGUgYW55IGV4dGVuc2lvbnMuCgoj IyMgQWRtaW5pc3RyYXRpb24KCk9uZSBvZiB0aGUgbW9zdCBhbnRpY2lwYXRlZCBmZWF0dXJl cyBvZiBQb3N0Z3JlU1FMIDEzIGlzIHRoZSBhYmlsaXR5IGZvciB0aGUKYFZBQ1VVTWAgY29t bWFuZCB0byBwcm9jZXNzIGluZGV4ZXMgaW4gcGFyYWxsZWwuIFRoaXMgZnVuY3Rpb25hbGl0 eSBjYW4gYmUKYWNjZXNzZWQgdXNpbmcgdGhlIG5ldyBgUEFSQUxMRUxgIG9wdGlvbiBvbiB0 aGUgYFZBQ1VVTWAgY29tbWFuZCAob3IKYC0tcGFyYWxsZWxgIG9uIGB2YWN1dW1kYmApLCB3 aGljaCBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBwYXJhbGxlbAp3b3Jr ZXJzIHRvIHVzZSBmb3IgdmFjdXVtaW5nIGluZGV4ZXMuIE5vdGUgdGhhdCB0aGlzIGRvZXMg bm90IHdvcmsgd2l0aCB0aGUKYEZVTExgIG9wdGlvbi4KClRoZSBgcmVpbmRleGRiYCBjb21t YW5kIGhhcyBhbHNvIGFkZGVkIHBhcmFsbGVsaXNtIHdpdGggdGhlIG5ldyBgLS1qb2JzYCBm bGFnLAp3aGljaCBsZXRzIHlvdSBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBz ZXNzaW9ucyB0byB1c2Ugd2hlbiByZWluZGV4aW5nCmEgZGF0YWJhc2UuCgpQb3N0Z3JlU1FM IDEzIGludHJvZHVjZXMgdGhlIGNvbmNlcHQgb2YgYSAidHJ1c3RlZCBleHRlbnNpb24iLCB3 aGljaCBhbGxvd3MgZm9yCmEgc3VwZXJ1c2VyIHRvIHNwZWNpZnkgZXh0ZW5zaW9ucyB0aGF0 IGEgdXNlciBjYW4gaW5zdGFsbCBpbiB0aGVpciBkYXRhYmFzZSBzbwpsb25nIGFzIHRoZXkg aGF2ZSBhIGBDUkVBVEVgIHByaXZpbGVnZS4KClRoaXMgcmVsZWFzZSBpbmNsdWRlcyBtb3Jl IHdheXMgdG8gbW9uaXRvciBhY3Rpdml0eSB3aXRoaW4gYSBQb3N0Z3JlU1FMCmRhdGFiYXNl OiBQb3N0Z3JlU1FMIDEzIGNhbiBub3cgdHJhY2sgV0FMIHVzYWdlIHN0YXRpc3RpY3MgYW5k IHRoZSBwcm9ncmVzcyBvZgpzdHJlYW1pbmcgYHBnX2Jhc2ViYWNrdXBgcywgYW5kIHRoZSBw cm9ncmVzcyBvZiBhbiBgQU5BTFlaRWAgY29tbWFuZC4KYHBnX2Jhc2ViYWNrdXBgIGNhbiBh bHNvIGdlbmVyYXRlIGEgbWFuaWZlc3QgdGhhdCBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgdGhl CmludGVncml0eSBvZiBhIGJhY2t1cCB1c2luZyBhIG5ldyB0b29sIGNhbGxlZCBgcGdfdmVy aWZ5YmFja3VwYC4gSXQgaXMgYWxzbyBub3cKcG9zc2libGUgdG8gbGltaXQgdGhlIGFtb3Vu dCBvZiBXQUwgc3BhY2UgcmVzZXJ2ZWQgYnkgcmVwbGljYXRpb24gc2xvdHMuCgpBIG5ldyBm bGFnIGZvciBgcGdfZHVtcGAsIGAtLWluY2x1ZGUtZm9yZWlnbi1kYXRhYCwgaW5jbHVkZXMg ZGF0YSBmcm9tICBzZXJ2ZXJzCnJlZmVyZW5jZWQgYnkgZm9yZWlnbiBkYXRhIHdyYXBwZXJz IGluIHRoZSBkdW1wIG91dHB1dC4KClRoZSBgcGdfcmV3aW5kYCBjb21tYW5kIGFsc28gaGFz IGltcHJvdmVtZW50cyBpbiBQb3N0Z3JlU1FMIDEzLiBJbiBhZGRpdGlvbiB0bwpgcGdfcmV3 aW5kYCBhdXRvbWF0aWNhbGx5IHBlcmZvcm1pbmcgY3Jhc2ggcmVjb3ZlcnksIHlvdSBjYW4g bm93IHVzZSBpdCB0bwpjb25maWd1cmUgc3RhbmRieSBQb3N0Z3JlU1FMIGluc3RhbmNlcyB1 c2luZyB0aGUgYC0td3JpdGUtcmVjb3ZlcnktY29uZmAgZmxhZy4KYHBnX3Jld2luZGAgY2Fu IGFsc28gdXNlIHRoZSBgcmVzdG9yZV9jb21tYW5kYCBvZiB0aGUgdGFyZ2V0IGluc3RhbmNl IHRvIGZldGNoCm5lZWRlZCB3cml0ZS1haGVhZCBsb2dzLgoKIyMjIFNlY3VyaXR5CgpQb3N0 Z3JlU1FMIGNvbnRpbnVlcyB0byBpbXByb3ZlIG9uIGl0cyBzZWN1cml0eSBjYXBhYmlsaXRp ZXMgaW4gdGhpcyBsYXRlc3QKcmVsZWFzZSwgaW50cm9kdWNpbmcgc2V2ZXJhbCBmZWF0dXJl cyB0byBoZWxwIGZ1cnRoZXIgZGVwbG95IFBvc3RncmVTUUwgc2FmZWx5LgoKbGlicHEsIHRo ZSBjb25uZWN0aW9uIGxpYnJhcnkgdGhhdCBwb3dlcnMgYHBzcWxgIGFuZCBtYW55IFBvc3Rn cmVTUUwgY29ubmVjdGlvbgpkcml2ZXJzLCBpbmNsdWRlcyBzZXZlcmFsIG5ldyBwYXJhbWV0 ZXJzIHRvIGhlbHAgc2VjdXJlIGNvbm5lY3Rpb25zLgpQb3N0Z3JlU1FMIDEzIGludHJvZHVj ZXMgdGhlIGBjaGFubmVsX2JpbmRpbmdgIGNvbm5lY3Rpb24gcGFyYW1ldGVycywgd2hpY2gK bGV0cyBhIGNsaWVudCBzcGVjaWZ5IHRoYXQgdGhleSB3YW50IHRvIHJlcXVpcmUgdGhlIGNo YW5uZWwgYmluZGluZwpmdW5jdGlvbmFsaXR5IGFzIHBhcnQgb2YgU0NSQU0uIEFkZGl0aW9u YWxseSwgYSBjbGllbnQgdGhhdCBpcyB1c2luZyBhIHBhc3N3b3JkCnByb3RlY3RlZCBUTFMg Y2VydGlmaWNhdGUgY2FuIG5vdyBzcGVjaWZ5IGl0cyBwYXNzd29yZCB1c2luZyB0aGUgYHNz bHBhc3N3b3JkYApwYXJhbWV0ZXIuIFBvc3RncmVTUUwgMTMgYWxzbyBhZGRzIHN1cHBvcnQg Zm9yIERFUiBlbmNvZGVkIGNlcnRpZmljYXRlcy4KClRoZSBQb3N0Z3JlU1FMIGZvcmVpZ24g ZGF0YSB3cmFwcGVyIChgcG9zdGdyZXNfZmR3YCkgYWxzbyByZWNlaXZlZCBzZXZlcmFsCmVu aGFuY2VtZW50cyB0byBob3cgaXQgY2FuIHNlY3VyZSBjb25uZWN0aW9ucywgaW5jbHVkaW5n IHRoZSBhYmlsaXR5IHRvIHVzZQpjZXJ0aWZpY2F0ZS1iYXNlZCBhdXRoZW50aWNhdGlvbiB0 byBjb25uZWN0IHRvIG90aGVyIFBvc3RncmVTUUwgY2x1c3RlcnMuCkFkZGl0aW9uYWxseSwg dW5wcml2aWxlZ2VkIGFjY291bnRzIGNhbiBub3cgY29ubmVjdCB0byBhbm90aGVyIFBvc3Rn cmVTUUwKZGF0YWJhc2UgdmlhIHRoZSBgcG9zdGdyZXNfZmR3YCB3aXRob3V0IHVzaW5nIGEg cGFzc3dvcmQuCgojIyMgT3RoZXIgSGlnaGxpZ2h0cwoKUG9zdGdyZVNRTCAxMyBjb250aW51 ZXMgdG8gaW1wcm92ZSBvcGVyYWJpbGl0eSBvbiBXaW5kb3dzLCBhcyBub3cgdXNlcnMgd2hv CnJ1biBQb3N0Z3JlU1FMIG9uIFdpbmRvd3Mgbm93IGhhdmUgdGhlIG9wdGlvbiB0byBjb25u ZWN0IG92ZXIgVU5JWCBkb21haW4Kc29ja2V0cy4KClRoZSBQb3N0Z3JlU1FMIDEzIGRvY3Vt ZW50YXRpb24gYWRkcyBhIFtnbG9zc2FyeV0oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcv ZG9jcy9kZXZlbC9nbG9zc2FyeS5odG1sKQpvZiB0ZXJtcyB0byBoZWxwIHBlb3BsZSBmYW1p bGlhcml6ZSB0aGVtc2VsdmVzIHdpdGggYm90aCBQb3N0Z3JlU1FMIGFuZCBnZW5lcmFsCmRh dGFiYXNlIGNvbmNlcHRzLiBUaGlzIGNvaW5jaWRlcyB3aXRoIGEgc2lnbmlmaWNhbnQgcmV3 b3JrIGluIHRoZSBkaXNwbGF5IG9mCmZ1bmN0aW9ucyBhbmQgb3BlcmF0b3JzIGluIHRhYmxl cywgd2hpY2ggaGVscHMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eSBib3RoIG9uCnRoZSB3ZWIg YW5kIGluIHRoZSBQREYgZG9jdW1lbnRhdGlvbi4KClRoZSBgcGdiZW5jaGAgdXRpbGl0eSwg dXNlZCBmb3IgcGVyZm9ybWFuY2UgdGVzdGluZywgbm93IHN1cHBvcnRzIHRoZSBhYmlsaXR5 IHRvCnBhcnRpdGlvbiBpdHMgImFjY291bnRzIiB0YWJsZSwgbWFraW5nIGl0IGVhc2llciB0 byBiZW5jaG1hcmsgd29ya2xvYWRzIHRoYXQKY29udGFpbiBwYXJ0aXRpb25zLgoKYHBzcWxg IG5vdyBpbmNsdWRlcyB0aGUgYFx3YXJuYCBjb21tYW5kIHRoYXQgaXMgc2ltaWxhciB0byB0 aGUgYFxlY2hvYCBjb21tYW5kCmluIHRlcm1zIG9mIG91dHB1dHRpbmcgZGF0YSwgZXhjZXB0 IGBcd2FybmAgc2VuZHMgaXQgdG8gc3RkZXJyLiBBbmQgaW4gY2FzZSB5b3UKbmVlZCBhZGRp dGlvbmFsIGd1aWRhbmNlIG9uIGFueSBvZiB0aGUgUG9zdGdyZVNRTCBjb21tYW5kcywgdGhl IGAtLWhlbHBgIGZsYWcKbm93IGluY2x1ZGVzIGEgbGluayB0byBbaHR0cHM6Ly93d3cucG9z dGdyZXNxbC5vcmddKGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnKS4KCkFkZGl0aW9uYWwg RmVhdHVyZXMKLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWFueSBvdGhlciBuZXcgZmVhdHVyZXMg YW5kIGltcHJvdmVtZW50cyBoYXZlIGJlZW4gYWRkZWQgdG8gUG9zdGdyZVNRTCAxMywgc29t ZQpvZiB3aGljaCBtYXkgYmUgYXMgb3IgbW9yZSBpbXBvcnRhbnQgdG8geW91ciB1c2UgY2Fz ZSB0aGFuIHdoYXQgaXMgbWVudGlvbmVkCmFib3ZlLiBQbGVhc2Ugc2VlIHRoZSBbUmVsZWFz ZSBOb3Rlc10oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcy8xMy9yZWxlYXNlLTEz Lmh0bWwpCmZvciBhIGNvbXBsZXRlIGxpc3Qgb2YgbmV3IGFuZCBjaGFuZ2VkIGZlYXR1cmVz OgoKICBbUmVsZWFzZSBOb3Rlc10oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvZG9jcy8x My9yZWxlYXNlLTEzLmh0bWwpCgpUZXN0aW5nIGZvciBCdWdzICYgQ29tcGF0aWJpbGl0eQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIHN0YWJpbGl0eSBvZiBlYWNo IFBvc3RncmVTUUwgcmVsZWFzZSBncmVhdGx5IGRlcGVuZHMgb24geW91LCB0aGUgY29tbXVu aXR5LAp0byB0ZXN0IHRoZSB1cGNvbWluZyB2ZXJzaW9uIHdpdGggeW91ciB3b3JrbG9hZHMg YW5kIHRlc3RpbmcgdG9vbHMgaW4gb3JkZXIgdG8KZmluZCBidWdzIGFuZCByZWdyZXNzaW9u cyBiZWZvcmUgdGhlIGdlbmVyYWwgYXZhaWxhYmlsaXR5IG9mIFBvc3RncmVTUUwgMTMuIEFz CnRoaXMgaXMgYSBCZXRhLCBtaW5vciBjaGFuZ2VzIHRvIGRhdGFiYXNlIGJlaGF2aW9ycywg ZmVhdHVyZSBkZXRhaWxzLCBhbmQgQVBJcwphcmUgc3RpbGwgcG9zc2libGUuIFlvdXIgZmVl ZGJhY2sgYW5kIHRlc3Rpbmcgd2lsbCBoZWxwIGRldGVybWluZSB0aGUgZmluYWwKdHdlYWtz IG9uIHRoZSBuZXcgZmVhdHVyZXMsIHNvIHBsZWFzZSB0ZXN0IGluIHRoZSBuZWFyIGZ1dHVy ZS4gVGhlIHF1YWxpdHkgb2YKdXNlciB0ZXN0aW5nIGhlbHBzIGRldGVybWluZSB3aGVuIHdl IGNhbiBtYWtlIGEgZmluYWwgcmVsZWFzZS4KCkEgbGlzdCBvZiBbb3BlbiBpc3N1ZXNdKGh0 dHBzOi8vd2lraS5wb3N0Z3Jlc3FsLm9yZy93aWtpL1Bvc3RncmVTUUxfMTNfT3Blbl9JdGVt cykKaXMgcHVibGljbHkgYXZhaWxhYmxlIGluIHRoZSBQb3N0Z3JlU1FMIHdpa2kuICBZb3Ug Y2FuCltyZXBvcnQgYnVnc10oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvYWNjb3VudC9z dWJtaXRidWcvKSB1c2luZyB0aGlzIGZvcm0gb24KdGhlIFBvc3RncmVTUUwgd2Vic2l0ZToK CiAgW2h0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2FjY291bnQvc3VibWl0YnVnL10oaHR0 cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvYWNjb3VudC9zdWJtaXRidWcvKQoKQmV0YSBTY2hl ZHVsZQotLS0tLS0tLS0tLS0tCgpUaGlzIGlzIHRoZSBmaXJzdCBiZXRhIHJlbGVhc2Ugb2Yg dmVyc2lvbiAxMy4gVGhlIFBvc3RncmVTUUwgUHJvamVjdCB3aWxsCnJlbGVhc2UgYWRkaXRp b25hbCBiZXRhcyBhcyByZXF1aXJlZCBmb3IgdGVzdGluZywgZm9sbG93ZWQgYnkgb25lIG9y IG1vcmUKcmVsZWFzZSBjYW5kaWRhdGVzLCB1bnRpbCB0aGUgZmluYWwgcmVsZWFzZSBpbiBs YXRlIDIwMjAuIEZvciBmdXJ0aGVyCmluZm9ybWF0aW9uIHBsZWFzZSBzZWUgdGhlIFtCZXRh IFRlc3RpbmddKGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2RldmVsb3Blci9iZXRhLykg cGFnZS4KCkxpbmtzCi0tLS0tCgoqIFtEb3dubG9hZF0oaHR0cHM6Ly93d3cucG9zdGdyZXNx bC5vcmcvZG93bmxvYWQvKQoqIFtCZXRhIFRlc3RpbmcgSW5mb3JtYXRpb25dKGh0dHBzOi8v d3d3LnBvc3RncmVzcWwub3JnL2RldmVsb3Blci9iZXRhLykKKiBbUG9zdGdyZVNRTCAxMyBC ZXRhIFJlbGVhc2UgTm90ZXNdKGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL2RvY3MvZGV2 ZWwvcmVsZWFzZS0xMy5odG1sKQoqIFtQb3N0Z3JlU1FMIDEzIE9wZW4gSXNzdWVzXShodHRw czovL3dpa2kucG9zdGdyZXNxbC5vcmcvd2lraS9Qb3N0Z3JlU1FMXzEzX09wZW5fSXRlbXMp CiogW1N1Ym1pdCBhIEJ1Z10oaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvYWNjb3VudC9z dWJtaXRidWcvKQo= --------------F61994C6D4B620E0039CF15D-- --j0DYM18oNvsEKP4QqluiduvZdLlxRnwei-- --Qt8CU0lwq3PMO9CmvW5DZqJETgdGacayq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE+oS2la8r95ogZD/x8QSccp8cZScFAl7F4jIACgkQ8QSccp8c ZScxZA/+PNrvqieyHgivsrs02IttZVOlzWeT1K7Sw0C9fwE3MqK9reeXN7repZdE BtUMOFwkRbrUJWnCGC1xe4m2FNMTjZGHld9KZnLetq9236RQgbwi1QyQ67TieF8y 1PFVBecZ0QQzmHzDxVaTFvZ4vIbvi+voekXOTiIW4RAX5ZjA4QnElMRiBkW7DG4e vZsxxmn4gKjteqkIvnuisENRwUo1GO2hXtMbu0KaGiDbdIlt/yr4XsXfw/Hn20K1 ABnCZjn1QsD2Dz+B9wwnRhFZMOt6dS7v3288iugOaybmTl13bl671oTXV3wtruoW JbvmfQYT1Ur3ip9e060PUCiawyOiyzj4nL7qY4bYweXjfuDFHyGVYPaaQxOHRl9V gu6dtQGhHXVnqWdm/F9t5SWY5lzkIHvdBzeVqjF0x8aPdhjegMFeWiDzl1CeAsZb ZVYKl1D3vT8+YlBT6ReUD/tcYmLoE2Kdii3SqZSejTRhEGkG6GO2Un7V9w8lpIcx 9J/Khu2i3e/uZHbvlekcT8rZQAJB3xMPwVobOM0R61UUsgwUFBkjJxhVXD/S1Mj3 m7CMop0loSLUERwSVJZGeJ6icIaMLnHrkzu7r89MNPFD5u+HtG0ATyhtYdoknerd Ggaizy8qOMsunkaybnIApgsEPIPAK4yt7aHkRnbUqme6B2zpjRQ= =UKVV -----END PGP SIGNATURE----- --Qt8CU0lwq3PMO9CmvW5DZqJETgdGacayq--