Re: hash index improving v3

"Alex Hunsaker" <[email protected]> Mon, 22 Sep 2008 19:57:16 -0600
Newsgroups gmane.comp.db.postgresql.devel.patches
Message-ID <[email protected]>
------=_Part_17255_16378233.1222135036754
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Fri, Sep 12, 2008 at 8:29 AM, Kenneth Marshall <[email protected]> wrote:
> On Thu, Sep 11, 2008 at 08:51:53PM -0600, Alex Hunsaker wrote:
>> On Thu, Sep 11, 2008 at 9:24 AM, Kenneth Marshall <[email protected]> wrote:
>> > Alex,
>> >
>> > I meant to check the performance with increasing numbers of collisions,
>> > not increasing size of the hashed item. In other words, something like
>> > this:
>> >
>> > for ($coll=500; $i<=1000000; $i=$i*2) {
>> >  for ($i=0; $i<=1000000; $i++) {
>> >    hash(int8 $i);
>> >  }
>> >  # add the appropriate number of collisions, distributed evenly to
>> >  # minimize the packing overrun problem
>> >  for ($dup=0; $dup<=$coll; $dup++) {
>> >    hash(int8 MAX_INT + $dup * 1000000/$coll);
>> >  }
>> > }
>> >
>> > Ken
>>
>> *doh* right something like this...
>>
>> create or replace function create_test_hash() returns bool as $$
>> declare
>>     coll integer default 500;
>>     -- tweak this to where create index gets really slow
>>     max_coll integer default 1000000;
>> begin
>>     loop
>>         execute 'create table test_hash_'|| coll ||'(num int8);';
>>         execute 'insert into test_hash_'|| coll ||' (num) select n
>> from generate_series(0, '|| max_coll ||') as n;';
>>         execute 'insert into test_hash_'|| coll ||' (num) select
>> (n+4294967296) * '|| max_col ||'/'|| coll ||'::int from
>> generate_series(0, '|| coll ||') as n;';
>>
>>         coll := coll * 2;
>>
>>         exit when coll >= max_coll;
>>     end loop;
>>     return true;
>> end;
>> $$ language 'plpgsql';
>>
>> And then benchmark each table, and for extra credit cluster the table
>> on the index and benchmark that.
>>
>> Also obviously with the hashint8 which just ignores the top 32 bits.
>>
>> Right?
>>
> Yes, that is exactly right.
>
> Ken

Ok I finally found time to do this, In summary looks like v5 scales
about the same as cvs head when the collisions are spread evenly
(obviously not HEAD with the hash patch applied...).   I couldn't test
cluster because we can't cluster on hash indexes...

benchmark with 50,000,000 rows and 500 collisions:
index creation time:
head: 326116.647 ms
v5:     269509.026 ms

pgbench  -n -c1 -T600 -f q.sql hash
head: tps = 3226.605611
v5:      tps = 3412.688884 (excluding connections establishing)

50,000,000 rows and 32,768,000 collisions
index time:
head:  576600.967 ms
v5    : 487949.490 ms

pgbench -n -c1 -T500 -f q.sql hash
head: tps = 3105.270185
v5:     tps = 3382.25782

You can see each result from 500 all the way up to 32,768,000
collision in the attached result.out

Attached files:
create_test_hash.sql: function I used to create the test tables
result.out: output from bench.pl which shows the pgbench results and
the create index times
bench.pl: stupid little perl script to test pgbench each of the
created tables from create_test_hash.pl

------=_Part_17255_16378233.1222135036754
Content-Type: application/x-perl; name=bench.pl
Content-Transfer-Encoding: base64
X-Attachment-Id: f_flfveh4q0
Content-Disposition: attachment; filename=bench.pl

dXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKbXkgJGNvbGwgPSA1MDA7Cm15
ICRtYXhfY29sbCA9IDUwMDAwMDAwOwoKd2hpbGUoJGNvbGwgPD0gJG1heF9j
b2xsKQp7CiMJc3lzdGVtKCdlY2hvICJkcm9wIHRhYmxlIHRlc3RfaGFzaF8n
LiAkY29sbCAuJzsiIHwgLi9wc3FsIC1wIDExMTEgaGFzaCcpOwojCXN5c3Rl
bSgnZWNobyAiZHJvcCB0YWJsZSB0ZXN0X2hhc2hfJy4gJGNvbGwgLic7IiB8
IC4vcHNxbCAtcCAxMTEyIGhhc2gnKTsKIwojCSRjb2xsICo9IDI7CiMJbmV4
dDsKCglwcmludCAiXG5ydW5uaW5nICRjb2xsXG4iOwoJc3lzdGVtKDw8Inph
cCIpICYmIGRpZTsKZWNobyAiXFx0aW1pbmcKZHJvcCBpbmRleCB0XyRjb2xs
XF9pZHg7CmNyZWF0ZSBpbmRleCB0XyRjb2xsXF9pZHggb24gdGVzdF9oYXNo
XyRjb2xsIHVzaW5nIGhhc2ggKG51bSk7CmFuYWx5emUgdGVzdF9oYXNoXyRj
b2xsOyIgPiBxLnNxbAp6YXAKCglwcmludCAiY3JlYXRlIGluZGV4IGZvciAk
Y29sbCBIRUFEXG4iOwoJc3lzdGVtKCcuL3BzcWwgLXAgMTExMSAtZiBxLnNx
bCBoYXNoIDI+L2Rldi9udWxsJykgJiYgZGllOwoJc3lzdGVtKCdzeW5jJykg
JiYgZGllOwoKCXByaW50ICJjcmVhdGUgaW5kZXggZm9yICRjb2xsIHY1XG4i
OwoJc3lzdGVtKCcuL3BzcWwgLXAgMTExMiAtZiBxLnNxbCBoYXNoIDI+L2Rl
di9udWxsJykgJiYgZGllOwoJc3lzdGVtKCdzeW5jJykgJiYgZGllOwoKCWJl
bmNoKCk7CiMKIwlzeXN0ZW0oPDwiemFwIikgJiYgZGllOwojZWNobyAiXFx0
aW1pbmcKI2NsdXN0ZXIgdGVzdF9oYXNoXyRjb2xsIHVzaW5nIHRfJGNvbGxc
X2lkeDsiID4gcS5zcWwKI3phcAojCiMJcHJpbnQgImNsdXN0ZXIgaW5kZXgg
Zm9yICRjb2xsIEhFQURcbiI7CiMJc3lzdGVtKCcuL3BzcWwgLXAgMTExMSAt
ZiBxLnNxbCBoYXNoIDI+L2Rldi9udWxsJykgJiYgZGllOwojCXByaW50ICJj
bHVzdGVyIGluZGV4IGZvciAkY29sbCB2NVxuIjsKIwlzeXN0ZW0oJy4vcHNx
bCAtcCAxMTEyIC1mIHEuc3FsIGhhc2ggMj4vZGV2L251bGwnKSAmJiBkaWU7
CiMKIwlzeXN0ZW0oJ3N5bmMnKSAmJiBkaWU7CiMKIwliZW5jaCgpOwoKCSRj
b2xsICo9IDI7CQp9CgpzdWIgYmVuY2gKewoJc3lzdGVtKDw8InphcCIpICYm
IGRpZTsKZWNobyAic2V0IGVuYWJsZV9zZXFzY2FuIHRvIG9mZjsKc2V0IGVu
YWJsZV9iaXRtYXBzY2FuIHRvIG9mZjsKCnNlbGVjdCBjb3VudCgxKSBmcm9t
IHRlc3RfaGFzaF8kY29sbCBhcyBhIGlubmVyIGpvaW4gdGVzdF9oYXNoXyRj
b2xsIGFzIGIgb24gYi5udW0gPSBhLm51bSB3aGVyZSBhLm51bSA9IDEyMzQ1
NjsiID4gcS5zcWwKemFwCgoJcHJpbnQgInBnYmVuY2ggJGNvbGwgSEVBRFxu
IjsKCXN5c3RlbSgnLi9wZ2JlbmNoIC1wIDExMTEgLW4gLWMxIC1UNjAwIC1m
IHEuc3FsIGhhc2gnKSAmJiBkaWU7CglwcmludCAicGdiZW5jaCAkY29sbCB2
NVxuIjsKCXN5c3RlbSgnLi9wZ2JlbmNoIC1wIDExMTIgLW4gLWMxIC1UNjAw
IC1mIHEuc3FsIGhhc2gnKSAmJiBkaWU7Cn0K

------=_Part_17255_16378233.1222135036754
Content-Type: application/octet-stream; name=create_test_hash.sql
Content-Transfer-Encoding: base64
X-Attachment-Id: f_flfvf9nk1
Content-Disposition: attachment; filename=create_test_hash.sql

Y3JlYXRlIG9yIHJlcGxhY2UgZnVuY3Rpb24gY3JlYXRlX3Rlc3RfaGFzaCgp
IHJldHVybnMgYm9vbCBhcyAkJApkZWNsYXJlCgljb2xsIGJpZ2ludCBkZWZh
dWx0IDUwMDsKCS0tIHR3ZWFrIHRoaXMgdG8gd2hlcmUgY3JlYXRlIGluZGV4
IGdldHMgcmVhbGx5IHNsb3cKCW1heF9jb2xsIGJpZ2ludCBkZWZhdWx0IDUw
MDAwMDAwOwpiZWdpbgoJbG9vcAoJCXJhaXNlIG5vdGljZSAnc3RhcmluZyAl
JywgY29sbDsgZXhlY3V0ZSAnY3JlYXRlIHRhYmxlIHRlc3RfaGFzaF8nfHwg
Y29sbCB8fCcobnVtIGludDgpOyc7CgkJZXhlY3V0ZSAnaW5zZXJ0IGludG8g
dGVzdF9oYXNoXyd8fCBjb2xsIHx8JyAobnVtKSBzZWxlY3QgbiBmcm9tIGdl
bmVyYXRlX3NlcmllcygwLCAnfHwgbWF4X2NvbGwgfHwnKSBhcyBuOyc7CgkJ
ZXhlY3V0ZSAnaW5zZXJ0IGludG8gdGVzdF9oYXNoXyd8fCBjb2xsIHx8JyAo
bnVtKSBzZWxlY3QgKG4rNDI5NDk2NzI5NikgKiAnfHwgbWF4X2NvbGwgfHwn
Lyd8fCBjb2xsIHx8Jzo6aW50IGZyb20gZ2VuZXJhdGVfc2VyaWVzKDAsICd8
fCBjb2xsIHx8JykgYXMgbjsnOwoJCWNvbGwgOj0gY29sbCAqIDI7CgkJZXhp
dCB3aGVuIGNvbGwgPj0gbWF4X2NvbGw7CgllbmQgbG9vcDsKCXJldHVybiB0
cnVlOwplbmQKJCQgbGFuZ3VhZ2UgJ3BscGdzcWwnOwo=

------=_Part_17255_16378233.1222135036754
Content-Type: application/octet-stream; name=result.out
Content-Transfer-Encoding: base64
X-Attachment-Id: f_flfvfmho2
Content-Disposition: attachment; filename=result.out

CnJ1bm5pbmcgNTAwCmNyZWF0ZSBpbmRleCBmb3IgNTAwIEhFQUQKVGltaW5n
IGlzIG9uLgpDUkVBVEUgSU5ERVgKVGltZTogMzI2MTE2LjY0NyBtcwpBTkFM
WVpFClRpbWU6IDEwNy4yOTAgbXMKY3JlYXRlIGluZGV4IGZvciA1MDAgdjUK
VGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgKVGltZTogMjY5NTA5LjAyNiBt
cwpBTkFMWVpFClRpbWU6IDE0Ni4wMDMgbXMKcGdiZW5jaCA1MDAgSEVBRAp0
cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6
IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1
cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5
IHByb2Nlc3NlZDogMTkzNTk1NQp0cHMgPSAzMjI2LjU5MDY2NiAoaW5jbHVk
aW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0gMzIyNi42MDU2
MTEgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnBnYmVu
Y2ggNTAwIHY1CnRyYW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2Fs
aW5nIGZhY3RvcjogMQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNs
aWVudHM6IDEKZHVyYXRpb246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlv
bnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAyMDQ3NjA0CnRwcyA9IDM0MTIuNjcx
NzgxIChpbmNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMg
PSAzNDEyLjY4ODg4NCAoZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlz
aGluZykKCnJ1bm5pbmcgMTAwMApjcmVhdGUgaW5kZXggZm9yIDEwMDAgSEVB
RApUaW1pbmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAzMzgzNTIuNTM3
IG1zCkFOQUxZWkUKVGltZTogODYuNjI4IG1zCmNyZWF0ZSBpbmRleCBmb3Ig
MTAwMCB2NQpUaW1pbmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAyOTI5
NDMuNzkyIG1zCkFOQUxZWkUKVGltZTogMjA1LjEwNiBtcwpwZ2JlbmNoIDEw
MDAgSEVBRAp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGlu
ZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGll
bnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25z
IGFjdHVhbGx5IHByb2Nlc3NlZDogMTk0MDUyNgp0cHMgPSAzMjM0LjIwODQw
NCAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0g
MzIzNC4yMjM1NTcgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hp
bmcpCnBnYmVuY2ggMTAwMCB2NQp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20g
cXVlcnkKc2NhbGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51
bWJlciBvZiBjbGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2Yg
dHJhbnNhY3Rpb25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMjA1NDg3OQp0cHMg
PSAzNDI0Ljc5Nzc4MCAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlz
aGluZykKdHBzID0gMzQyNC44MTkxODUgKGV4Y2x1ZGluZyBjb25uZWN0aW9u
cyBlc3RhYmxpc2hpbmcpCgpydW5uaW5nIDIwMDAKY3JlYXRlIGluZGV4IGZv
ciAyMDAwIEhFQUQKVGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgKVGltZTog
MzU4NjI2LjUzMiBtcwpBTkFMWVpFClRpbWU6IDExNS4yMzkgbXMKY3JlYXRl
IGluZGV4IGZvciAyMDAwIHY1ClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVY
ClRpbWU6IDI5Njk0My40MzggbXMKQU5BTFlaRQpUaW1lOiAyNDUuODY4IG1z
CnBnYmVuY2ggMjAwMCBIRUFECnRyYW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBx
dWVyeQpzY2FsaW5nIGZhY3RvcjogMQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVt
YmVyIG9mIGNsaWVudHM6IDEKZHVyYXRpb246IDYwMCBzCm51bWJlciBvZiB0
cmFuc2FjdGlvbnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAxOTQzMjE4CnRwcyA9
IDMyMzguNjk2MTk3IChpbmNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNo
aW5nKQp0cHMgPSAzMjM4LjcxMTc5NyAoZXhjbHVkaW5nIGNvbm5lY3Rpb25z
IGVzdGFibGlzaGluZykKcGdiZW5jaCAyMDAwIHY1CnRyYW5zYWN0aW9uIHR5
cGU6IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3RvcjogMQpxdWVyeSBtb2Rl
OiBzaW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVyYXRpb246IDYwMCBz
Cm51bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAx
OTk2NDQ0CnRwcyA9IDMzMjcuNDA1MTc1IChpbmNsdWRpbmcgY29ubmVjdGlv
bnMgZXN0YWJsaXNoaW5nKQp0cHMgPSAzMzI3LjQyNjM1NCAoZXhjbHVkaW5n
IGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKCnJ1bm5pbmcgNDAwMApjcmVh
dGUgaW5kZXggZm9yIDQwMDAgSEVBRApUaW1pbmcgaXMgb24uCkNSRUFURSBJ
TkRFWApUaW1lOiAzNTUyMjMuODM4IG1zCkFOQUxZWkUKVGltZTogMTE0Ljk1
OSBtcwpjcmVhdGUgaW5kZXggZm9yIDQwMDAgdjUKVGltaW5nIGlzIG9uLgpD
UkVBVEUgSU5ERVgKVGltZTogMjc0MjY2LjEwMCBtcwpBTkFMWVpFClRpbWU6
IDI0MC4wNjAgbXMKcGdiZW5jaCA0MDAwIEhFQUQKdHJhbnNhY3Rpb24gdHlw
ZTogQ3VzdG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6
IHNpbXBsZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMK
bnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDIw
OTE3OTAKdHBzID0gMzQ4Ni4zMTU2NDQgKGluY2x1ZGluZyBjb25uZWN0aW9u
cyBlc3RhYmxpc2hpbmcpCnRwcyA9IDM0ODYuMzM2ODgyIChleGNsdWRpbmcg
Y29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQpwZ2JlbmNoIDQwMDAgdjUKdHJh
bnNhY3Rpb24gdHlwZTogQ3VzdG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAx
CnF1ZXJ5IG1vZGU6IHNpbXBsZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJh
dGlvbjogNjAwIHMKbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBw
cm9jZXNzZWQ6IDE5OTUxNDYKdHBzID0gMzMyNS4yNDIxNDIgKGluY2x1ZGlu
ZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnRwcyA9IDMzMjUuMjYzMzUx
IChleGNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQoKcnVubmlu
ZyA4MDAwCmNyZWF0ZSBpbmRleCBmb3IgODAwMCBIRUFEClRpbWluZyBpcyBv
bi4KQ1JFQVRFIElOREVYClRpbWU6IDM0OTc2Ny4wMTIgbXMKQU5BTFlaRQpU
aW1lOiAxMTMuMzIwIG1zCmNyZWF0ZSBpbmRleCBmb3IgODAwMCB2NQpUaW1p
bmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAyOTk1NzMuMDgzIG1zCkFO
QUxZWkUKVGltZTogMjEzLjM0MyBtcwpwZ2JlbmNoIDgwMDAgSEVBRAp0cmFu
c2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6IDEK
cXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1cmF0
aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5IHBy
b2Nlc3NlZDogMTkzOTMwMwp0cHMgPSAzMjMyLjE3MTI1MiAoaW5jbHVkaW5n
IGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0gMzIzMi4xOTI1MzYg
KGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnBnYmVuY2gg
ODAwMCB2NQp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGlu
ZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGll
bnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25z
IGFjdHVhbGx5IHByb2Nlc3NlZDogMTk4MjgzMwp0cHMgPSAzMzA0LjcyMDQw
NSAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0g
MzMwNC43NDE3MzcgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hp
bmcpCgpydW5uaW5nIDE2MDAwCmNyZWF0ZSBpbmRleCBmb3IgMTYwMDAgSEVB
RApUaW1pbmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAzNDg0MDAuNjI4
IG1zCkFOQUxZWkUKVGltZTogMTcxLjcxMCBtcwpjcmVhdGUgaW5kZXggZm9y
IDE2MDAwIHY1ClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDI4
ODczMS43ODIgbXMKQU5BTFlaRQpUaW1lOiAxODAuNDM0IG1zCnBnYmVuY2gg
MTYwMDAgSEVBRAp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2Nh
bGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBj
bGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rp
b25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMTk0NTYwMQp0cHMgPSAzMjQyLjY2
ODEzOSAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBz
ID0gMzI0Mi42ODM4NTUgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxp
c2hpbmcpCnBnYmVuY2ggMTYwMDAgdjUKdHJhbnNhY3Rpb24gdHlwZTogQ3Vz
dG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNpbXBs
ZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVtYmVy
IG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDE5OTkxMjcK
dHBzID0gMzMzMS44NzcwNTEgKGluY2x1ZGluZyBjb25uZWN0aW9ucyBlc3Rh
Ymxpc2hpbmcpCnRwcyA9IDMzMzEuODk4MjU4IChleGNsdWRpbmcgY29ubmVj
dGlvbnMgZXN0YWJsaXNoaW5nKQoKcnVubmluZyAzMjAwMApjcmVhdGUgaW5k
ZXggZm9yIDMyMDAwIEhFQUQKVGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgK
VGltZTogMzQ3MDE4Ljc4MCBtcwpBTkFMWVpFClRpbWU6IDMxOC4zNDkgbXMK
Y3JlYXRlIGluZGV4IGZvciAzMjAwMCB2NQpUaW1pbmcgaXMgb24uCkNSRUFU
RSBJTkRFWApUaW1lOiAzMDk1NzUuNzczIG1zCkFOQUxZWkUKVGltZTogMTgx
LjQ2NSBtcwpwZ2JlbmNoIDMyMDAwIEhFQUQKdHJhbnNhY3Rpb24gdHlwZTog
Q3VzdG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNp
bXBsZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVt
YmVyIG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDE5MzIx
NTAKdHBzID0gMzIyMC4yNDgxNDggKGluY2x1ZGluZyBjb25uZWN0aW9ucyBl
c3RhYmxpc2hpbmcpCnRwcyA9IDMyMjAuMjYzMTMzIChleGNsdWRpbmcgY29u
bmVjdGlvbnMgZXN0YWJsaXNoaW5nKQpwZ2JlbmNoIDMyMDAwIHY1CnRyYW5z
YWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3RvcjogMQpx
dWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVyYXRp
b246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcHJv
Y2Vzc2VkOiAxOTk5OTUxCnRwcyA9IDMzMzMuMjUwMDgzIChpbmNsdWRpbmcg
Y29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMgPSAzMzMzLjI3MTM2MSAo
ZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKCnJ1bm5pbmcg
NjQwMDAKY3JlYXRlIGluZGV4IGZvciA2NDAwMCBIRUFEClRpbWluZyBpcyBv
bi4KQ1JFQVRFIElOREVYClRpbWU6IDM0NjA5NS4xNjkgbXMKQU5BTFlaRQpU
aW1lOiAxMjcuMTYwIG1zCmNyZWF0ZSBpbmRleCBmb3IgNjQwMDAgdjUKVGlt
aW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgKVGltZTogMjkyMTI1LjQ1MiBtcwpB
TkFMWVpFClRpbWU6IDE3NS4xODMgbXMKcGdiZW5jaCA2NDAwMCBIRUFECnRy
YW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3Rvcjog
MQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVy
YXRpb246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkg
cHJvY2Vzc2VkOiAxOTQxMTcxCnRwcyA9IDMyMzUuMjg0MjU2IChpbmNsdWRp
bmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMgPSAzMjM1LjI5OTkz
NiAoZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKcGdiZW5j
aCA2NDAwMCB2NQp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2Nh
bGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBj
bGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rp
b25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMjAzMzM2NAp0cHMgPSAzMzg4Ljkz
OTUyNiAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBz
ID0gMzM4OC45NTY2NjIgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxp
c2hpbmcpCgpydW5uaW5nIDEyODAwMApjcmVhdGUgaW5kZXggZm9yIDEyODAw
MCBIRUFEClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDM0Nzc0
OC42MjMgbXMKQU5BTFlaRQpUaW1lOiAxOTkuNjcyIG1zCmNyZWF0ZSBpbmRl
eCBmb3IgMTI4MDAwIHY1ClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRp
bWU6IDI5MDc2Ni4xOTIgbXMKQU5BTFlaRQpUaW1lOiAyODEuMDQ4IG1zCnBn
YmVuY2ggMTI4MDAwIEhFQUQKdHJhbnNhY3Rpb24gdHlwZTogQ3VzdG9tIHF1
ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNpbXBsZQpudW1i
ZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVtYmVyIG9mIHRy
YW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDE4ODg2NjYKdHBzID0g
MzE0Ny43NzU4NjkgKGluY2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hp
bmcpCnRwcyA9IDMxNDcuNzk1ODg5IChleGNsdWRpbmcgY29ubmVjdGlvbnMg
ZXN0YWJsaXNoaW5nKQpwZ2JlbmNoIDEyODAwMCB2NQp0cmFuc2FjdGlvbiB0
eXBlOiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6IDEKcXVlcnkgbW9k
ZTogc2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1cmF0aW9uOiA2MDAg
cwpudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5IHByb2Nlc3NlZDog
MjAyODQ2NAp0cHMgPSAzMzgwLjc3MjczMCAoaW5jbHVkaW5nIGNvbm5lY3Rp
b25zIGVzdGFibGlzaGluZykKdHBzID0gMzM4MC43OTQ0MjkgKGV4Y2x1ZGlu
ZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCgpydW5uaW5nIDI1NjAwMApj
cmVhdGUgaW5kZXggZm9yIDI1NjAwMCBIRUFEClRpbWluZyBpcyBvbi4KQ1JF
QVRFIElOREVYClRpbWU6IDMzOTI5MC4yNzIgbXMKQU5BTFlaRQpUaW1lOiAx
MTIuNjc0IG1zCmNyZWF0ZSBpbmRleCBmb3IgMjU2MDAwIHY1ClRpbWluZyBp
cyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDI4MjE1NS4zNTAgbXMKQU5BTFla
RQpUaW1lOiAxNDQuMzUyIG1zCnBnYmVuY2ggMjU2MDAwIEhFQUQKdHJhbnNh
Y3Rpb24gdHlwZTogQ3VzdG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1
ZXJ5IG1vZGU6IHNpbXBsZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlv
bjogNjAwIHMKbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9j
ZXNzZWQ6IDE5MTY4NTIKdHBzID0gMzE5NC43NTI2NDYgKGluY2x1ZGluZyBj
b25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnRwcyA9IDMxOTQuNzY4MDY3IChl
eGNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQpwZ2JlbmNoIDI1
NjAwMCB2NQp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGlu
ZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGll
bnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25z
IGFjdHVhbGx5IHByb2Nlc3NlZDogMjAzNjgyNAp0cHMgPSAzMzk0LjcwNTg2
OSAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0g
MzM5NC43MjcxOTMgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hp
bmcpCgpydW5uaW5nIDUxMjAwMApjcmVhdGUgaW5kZXggZm9yIDUxMjAwMCBI
RUFEClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDM0NjUwMC44
MjUgbXMKQU5BTFlaRQpUaW1lOiAxNDcuNDMyIG1zCmNyZWF0ZSBpbmRleCBm
b3IgNTEyMDAwIHY1ClRpbWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6
IDI5MTU5NS40MjQgbXMKQU5BTFlaRQpUaW1lOiAxNTYuODg2IG1zCnBnYmVu
Y2ggNTEyMDAwIEhFQUQKdHJhbnNhY3Rpb24gdHlwZTogQ3VzdG9tIHF1ZXJ5
CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNpbXBsZQpudW1iZXIg
b2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVtYmVyIG9mIHRyYW5z
YWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDE5MzI0MDgKdHBzID0gMzIy
MC42NzgyMzQgKGluY2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcp
CnRwcyA9IDMyMjAuNjk5OTYzIChleGNsdWRpbmcgY29ubmVjdGlvbnMgZXN0
YWJsaXNoaW5nKQpwZ2JlbmNoIDUxMjAwMCB2NQp0cmFuc2FjdGlvbiB0eXBl
OiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTog
c2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpu
dW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMjAx
ODUyNQp0cHMgPSAzMzY0LjIwNjM3NiAoaW5jbHVkaW5nIGNvbm5lY3Rpb25z
IGVzdGFibGlzaGluZykKdHBzID0gMzM2NC4yMjgxMDQgKGV4Y2x1ZGluZyBj
b25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCgpydW5uaW5nIDEwMjQwMDAKY3Jl
YXRlIGluZGV4IGZvciAxMDI0MDAwIEhFQUQKVGltaW5nIGlzIG9uLgpDUkVB
VEUgSU5ERVgKVGltZTogMzU3OTk4LjcyMyBtcwpBTkFMWVpFClRpbWU6IDE1
Mi41MjkgbXMKY3JlYXRlIGluZGV4IGZvciAxMDI0MDAwIHY1ClRpbWluZyBp
cyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDI5MzUzNi41ODMgbXMKQU5BTFla
RQpUaW1lOiAxNzQuODA1IG1zCnBnYmVuY2ggMTAyNDAwMCBIRUFECnRyYW5z
YWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3RvcjogMQpx
dWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVyYXRp
b246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcHJv
Y2Vzc2VkOiAxOTIwMjM5CnRwcyA9IDMyMDAuMzk2NzE3IChpbmNsdWRpbmcg
Y29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMgPSAzMjAwLjQxNjI2NiAo
ZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKcGdiZW5jaCAx
MDI0MDAwIHY1CnRyYW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2Fs
aW5nIGZhY3RvcjogMQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNs
aWVudHM6IDEKZHVyYXRpb246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlv
bnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAyMDEyMjc1CnRwcyA9IDMzNTMuNzkx
NDA0IChpbmNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMg
PSAzMzUzLjgxMzE3MCAoZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlz
aGluZykKCnJ1bm5pbmcgMjA0ODAwMApjcmVhdGUgaW5kZXggZm9yIDIwNDgw
MDAgSEVBRApUaW1pbmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAzNjQz
MDUuMzExIG1zCkFOQUxZWkUKVGltZTogMTM3LjY0NCBtcwpjcmVhdGUgaW5k
ZXggZm9yIDIwNDgwMDAgdjUKVGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgK
VGltZTogMzAzNzgyLjk1MiBtcwpBTkFMWVpFClRpbWU6IDE2Mi43ODcgbXMK
cGdiZW5jaCAyMDQ4MDAwIEhFQUQKdHJhbnNhY3Rpb24gdHlwZTogQ3VzdG9t
IHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNpbXBsZQpu
dW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVtYmVyIG9m
IHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDE5NDYzMTIKdHBz
ID0gMzI0My44NTI1NzEgKGluY2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxp
c2hpbmcpCnRwcyA9IDMyNDMuODY4MDIzIChleGNsdWRpbmcgY29ubmVjdGlv
bnMgZXN0YWJsaXNoaW5nKQpwZ2JlbmNoIDIwNDgwMDAgdjUKdHJhbnNhY3Rp
b24gdHlwZTogQ3VzdG9tIHF1ZXJ5CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5
IG1vZGU6IHNpbXBsZQpudW1iZXIgb2YgY2xpZW50czogMQpkdXJhdGlvbjog
NjAwIHMKbnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhY3R1YWxseSBwcm9jZXNz
ZWQ6IDE5ODg4NjQKdHBzID0gMzMxNC43NzI1MzggKGluY2x1ZGluZyBjb25u
ZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnRwcyA9IDMzMTQuNzg4MTk1IChleGNs
dWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQoKcnVubmluZyA0MDk2
MDAwCmNyZWF0ZSBpbmRleCBmb3IgNDA5NjAwMCBIRUFEClRpbWluZyBpcyBv
bi4KQ1JFQVRFIElOREVYClRpbWU6IDM3MzA0MC4yMjcgbXMKQU5BTFlaRQpU
aW1lOiAxNDUuMDMxIG1zCmNyZWF0ZSBpbmRleCBmb3IgNDA5NjAwMCB2NQpU
aW1pbmcgaXMgb24uCkNSRUFURSBJTkRFWApUaW1lOiAzMTA1NDEuOTU2IG1z
CkFOQUxZWkUKVGltZTogMjEyLjI3MSBtcwpwZ2JlbmNoIDQwOTYwMDAgSEVB
RAp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0
b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAx
CmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVh
bGx5IHByb2Nlc3NlZDogMTkzOTI5Ngp0cHMgPSAzMjMyLjE1OTExNyAoaW5j
bHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0gMzIzMi4x
NzQzNTEgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnBn
YmVuY2ggNDA5NjAwMCB2NQp0cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVl
cnkKc2NhbGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJl
ciBvZiBjbGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJh
bnNhY3Rpb25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMjIxOTE5NQp0cHMgPSAz
Njk4LjY1NzA3MCAoaW5jbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGlu
ZykKdHBzID0gMzY5OC42NzUwOTQgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBl
c3RhYmxpc2hpbmcpCgpydW5uaW5nIDgxOTIwMDAKY3JlYXRlIGluZGV4IGZv
ciA4MTkyMDAwIEhFQUQKVGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgKVGlt
ZTogNDA4NjkxLjAwMCBtcwpBTkFMWVpFClRpbWU6IDM0MC40NzQgbXMKY3Jl
YXRlIGluZGV4IGZvciA4MTkyMDAwIHY1ClRpbWluZyBpcyBvbi4KQ1JFQVRF
IElOREVYClRpbWU6IDMzNzAxMS4wNDAgbXMKQU5BTFlaRQpUaW1lOiAxNTku
NzM5IG1zCnBnYmVuY2ggODE5MjAwMCBIRUFECnRyYW5zYWN0aW9uIHR5cGU6
IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3RvcjogMQpxdWVyeSBtb2RlOiBz
aW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVyYXRpb246IDYwMCBzCm51
bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAxODcz
ODg5CnRwcyA9IDMxMjMuMTQ2NTQzIChpbmNsdWRpbmcgY29ubmVjdGlvbnMg
ZXN0YWJsaXNoaW5nKQp0cHMgPSAzMTIzLjE2NTkxMiAoZXhjbHVkaW5nIGNv
bm5lY3Rpb25zIGVzdGFibGlzaGluZykKcGdiZW5jaCA4MTkyMDAwIHY1CnRy
YW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpzY2FsaW5nIGZhY3Rvcjog
MQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9mIGNsaWVudHM6IDEKZHVy
YXRpb246IDYwMCBzCm51bWJlciBvZiB0cmFuc2FjdGlvbnMgYWN0dWFsbHkg
cHJvY2Vzc2VkOiAyMDE1NTUyCnRwcyA9IDMzNTkuMjUxNzQzIChpbmNsdWRp
bmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0cHMgPSAzMzU5LjI3Mjk2
OCAoZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKCnJ1bm5p
bmcgMTYzODQwMDAKY3JlYXRlIGluZGV4IGZvciAxNjM4NDAwMCBIRUFEClRp
bWluZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDQ2ODE1NS44NTMgbXMK
QU5BTFlaRQpUaW1lOiAxNDIuOTc2IG1zCmNyZWF0ZSBpbmRleCBmb3IgMTYz
ODQwMDAgdjUKVGltaW5nIGlzIG9uLgpDUkVBVEUgSU5ERVgKVGltZTogMzcx
NjE0LjkwOCBtcwpBTkFMWVpFClRpbWU6IDE0Mi41NjMgbXMKcGdiZW5jaCAx
NjM4NDAwMCBIRUFECnRyYW5zYWN0aW9uIHR5cGU6IEN1c3RvbSBxdWVyeQpz
Y2FsaW5nIGZhY3RvcjogMQpxdWVyeSBtb2RlOiBzaW1wbGUKbnVtYmVyIG9m
IGNsaWVudHM6IDEKZHVyYXRpb246IDYwMCBzCm51bWJlciBvZiB0cmFuc2Fj
dGlvbnMgYWN0dWFsbHkgcHJvY2Vzc2VkOiAxODg4ODYxCnRwcyA9IDMxNDgu
MTAxMDAwIChpbmNsdWRpbmcgY29ubmVjdGlvbnMgZXN0YWJsaXNoaW5nKQp0
cHMgPSAzMTQ4LjEyMDEyNSAoZXhjbHVkaW5nIGNvbm5lY3Rpb25zIGVzdGFi
bGlzaGluZykKcGdiZW5jaCAxNjM4NDAwMCB2NQp0cmFuc2FjdGlvbiB0eXBl
OiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6IDEKcXVlcnkgbW9kZTog
c2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1cmF0aW9uOiA2MDAgcwpu
dW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5IHByb2Nlc3NlZDogMTk3
MTg4MAp0cHMgPSAzMjg2LjQ2NTkwNSAoaW5jbHVkaW5nIGNvbm5lY3Rpb25z
IGVzdGFibGlzaGluZykKdHBzID0gMzI4Ni40ODY5ODMgKGV4Y2x1ZGluZyBj
b25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCgpydW5uaW5nIDMyNzY4MDAwCmNy
ZWF0ZSBpbmRleCBmb3IgMzI3NjgwMDAgSEVBRApUaW1pbmcgaXMgb24uCkNS
RUFURSBJTkRFWApUaW1lOiA1NzY2MDAuOTY3IG1zCkFOQUxZWkUKVGltZTog
OTU5LjYwMSBtcwpjcmVhdGUgaW5kZXggZm9yIDMyNzY4MDAwIHY1ClRpbWlu
ZyBpcyBvbi4KQ1JFQVRFIElOREVYClRpbWU6IDQ4Nzk0OS40OTAgbXMKQU5B
TFlaRQpUaW1lOiA4MDAuNDUxIG1zCnBnYmVuY2ggMzI3NjgwMDAgSEVBRAp0
cmFuc2FjdGlvbiB0eXBlOiBDdXN0b20gcXVlcnkKc2NhbGluZyBmYWN0b3I6
IDEKcXVlcnkgbW9kZTogc2ltcGxlCm51bWJlciBvZiBjbGllbnRzOiAxCmR1
cmF0aW9uOiA2MDAgcwpudW1iZXIgb2YgdHJhbnNhY3Rpb25zIGFjdHVhbGx5
IHByb2Nlc3NlZDogMTg2MzE1NAp0cHMgPSAzMTA1LjI1NTUwNyAoaW5jbHVk
aW5nIGNvbm5lY3Rpb25zIGVzdGFibGlzaGluZykKdHBzID0gMzEwNS4yNzAx
ODUgKGV4Y2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcpCnBnYmVu
Y2ggMzI3NjgwMDAgdjUKdHJhbnNhY3Rpb24gdHlwZTogQ3VzdG9tIHF1ZXJ5
CnNjYWxpbmcgZmFjdG9yOiAxCnF1ZXJ5IG1vZGU6IHNpbXBsZQpudW1iZXIg
b2YgY2xpZW50czogMQpkdXJhdGlvbjogNjAwIHMKbnVtYmVyIG9mIHRyYW5z
YWN0aW9ucyBhY3R1YWxseSBwcm9jZXNzZWQ6IDIwMjkzNDIKdHBzID0gMzM4
Mi4yMzU3ODcgKGluY2x1ZGluZyBjb25uZWN0aW9ucyBlc3RhYmxpc2hpbmcp
CnRwcyA9IDMzODIuMjU3ODIzIChleGNsdWRpbmcgY29ubmVjdGlvbnMgZXN0
YWJsaXNoaW5nKQo=

------=_Part_17255_16378233.1222135036754
Content-Type: text/plain
Content-Disposition: inline
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable


--=20
Sent via pgsql-patches mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

------=_Part_17255_16378233.1222135036754--