Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g0VVC-0001kU-75 for pgsql-performance@arkaria.postgresql.org; Thu, 13 Sep 2018 17:34:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g0VVA-0007EJ-Je for pgsql-performance@arkaria.postgresql.org; Thu, 13 Sep 2018 17:34:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g0VVA-0007EC-8O for pgsql-performance@lists.postgresql.org; Thu, 13 Sep 2018 17:34:00 +0000 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1g0VV6-0007MS-Kd for pgsql-performance@lists.postgresql.org; Thu, 13 Sep 2018 17:33:59 +0000 Received: by mail-io1-xd2e.google.com with SMTP id q5-v6so3837632iop.3 for ; Thu, 13 Sep 2018 10:33:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:mime-version:to:from:subject:date:importance; bh=Lp8ChqIqNL/f8adpSYxOsO+nW2MsV5kDM9m953jJpxk=; b=UXwFRCF3w+XO8gGAvE9SVT0OIOo4Y5/vXnUrmGXjrWkzmB1YHXNQu5DvCA7I356tAz fYczIak8aSxuZbrjnX6rwMF1I+uisEJyKHPj8AiVqGipVHu/58ltXTeCgqFHMKsbI+jJ UY7EJXLHsVSpvwarDCs2VaL2CW/ipDlUu2O6v5zJzCpHfrsjLZ7TTNrH9Kw1XRZHlVnM DDifEaxTmDBn8KAE0RVBPJ0LteZw3+EhBJ7zCytnqcLXwpEJ0YjU82nfQcN2Bhx5lA33 QhrkkLyYpMuSsiFjXRnfF/FhQzuuMeiCTUHmK1yTTw/8U1CSVZVrzb7hCYms9zuLBsfb ce+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:mime-version:to:from:subject:date :importance; bh=Lp8ChqIqNL/f8adpSYxOsO+nW2MsV5kDM9m953jJpxk=; b=rytw04KyRTOjpgoee0/bwN2p23Selz5K0TEuLXJ6hx5mRyVt27qJqokDJFyEwaM9+7 KC7GGeHVgtzZ/t9BplCaNxLcgWGDRPaI3WTRWwZgfyhsrQMHLdql6rvTNLWFHlrwvt7o SNxgzYVmoGVr6BGdG/yJhBo4gXDbGuoZ2iME/lVqpeiRerKFkNa+U9KjUO3n6tK4sQVE Z1EWvf28EFhK6MHwfSBI59NOnqU0oBl6lkj6QsM8B+NLq3H/2yfBczkrxGnzuZzXcXz1 Cz5dq/x2R04XL4EsfMVis8ZdjBNsliP3DRH8YPjeQHtpDhotJZaRAZQdWusi+rVr6L4o XBmQ== X-Gm-Message-State: APzg51Ak3nzS/VCkjsdI6ZYcuz9kp35XlxXB7NOaIgRvv64/At8+vivK mNXC9CRW439z4qz6ItsJYi68klTyOco= X-Google-Smtp-Source: ANB0VdYVAck3Oss8bt4nLOZ0tgZYNrPsDY7mhrQXmtTSlwuRuHiChcqlGE6gjwupPl5tASR0oyafaw== X-Received: by 2002:a6b:1a11:: with SMTP id a17-v6mr6822347ioa.223.1536860033862; Thu, 13 Sep 2018 10:33:53 -0700 (PDT) Received: from ?IPv6:::ffff:172.25.137.157? ([165.215.94.3]) by smtp.gmail.com with ESMTPSA id w196-v6sm2724417itb.9.2018.09.13.10.33.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Sep 2018 10:33:53 -0700 (PDT) Message-ID: <5b9a9f81.1c69fb81.43388.0e8b@mx.google.com> MIME-Version: 1.0 To: "pgsql-performance@lists.postgresql.org" From: Fd Habash Subject: Select count(*) on a 2B Rows Tables Takes ~20 Hours Date: Thu, 13 Sep 2018 13:33:54 -0400 Importance: normal X-Priority: 3 Content-Type: multipart/alternative; boundary="_F70B9B9B-E11E-4882-AC35-D93EF6A4D3DB_" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_F70B9B9B-E11E-4882-AC35-D93EF6A4D3DB_ Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Based on my research in the forums and Google , it is described in multiple= places that =E2=80=98select count(*)=E2=80=99 is expected to be slow in Po= stgres because of the MVCC controls imposed upon the query leading a table = scan. Also, the elapsed time increase linearly with table size.=20 However, I do not know if elapsed time I=E2=80=99m getting is to be expecte= d.=20 Table reltuples in pg_class =3D 2,266,649,344 (pretty close) Query =3D select count(*) from jim.sttyations ; Elapsed time (ET) =3D 18.5 hrs This is an Aurora cluster running on r4.2xlarge (8 vCPU, 61g). CPU usage du= ring count run hovers around 20% with 20g of freeable memory.=20 Is this ET expected? If not, what could be slowing it down? I=E2=80=99m cur= rently running explain analyze and I=E2=80=99ll share the final output when= done.=20 I=E2=80=99m familiar with the ideas listed here https://www.citusdata.com/b= log/2016/10/12/count-performance/=20 Table "jim.sttyations" Column | Type | Modifiers = | Storage | Stats target | Description=20 -------------------+--------------------------+----------------------------= +----------+--------------+------------- stty_id | bigint | not null = | plain | |=20 stty_hitlist_line | text | not null = | extended | |=20 stty_status | text | not null default 'Y'::text= | extended | |=20 stty_status_date | timestamp with time zone | not null = | plain | |=20 vs_number | integer | not null = | plain | |=20 stty_date_created | timestamp with time zone | not null = | plain | |=20 stty_stty_id | bigint | = | plain | |=20 stty_position | bigint | = | plain | |=20 mstty_id | bigint | = | plain | |=20 vsr_number | integer | = | plain | |=20 stty_date_modified | timestamp with time zone | = | plain | |=20 stty_stored | text | not null default 'N'::text= | extended | |=20 stty_sequence | text | = | extended | |=20 stty_hash | text | = | extended | |=20 Indexes: "stty_pk" PRIMARY KEY, btree (stty_id) "stty_indx_fk01" btree (stty_stty_id) "stty_indx_fk03" btree (vsr_number) "stty_indx_fk04" btree (vs_number) "stty_indx_pr01" btree (mstty_id, stty_id) Check constraints: "stty_cnst_ck01" CHECK (stty_status =3D ANY (ARRAY['Y'::text, 'N'::text= ])) "stty_cnst_ck02" CHECK (stty_stored =3D ANY (ARRAY['N'::text, 'Y'::text= ])) Foreign-key constraints: "stty_cnst_fk01" FOREIGN KEY (stty_stty_id) REFERENCES sttyations(stty_= id) NOT VALID "stty_cnst_fk02" FOREIGN KEY (mstty_id) REFERENCES master_sttyations(ms= tty_id) "stty_cnst_fk03" FOREIGN KEY (vsr_number) REFERENCES valid_status_reaso= ns(vsr_number) ---------------- Thank you refpep-> select count(*) from jim.sttyations;=20 QUERY PLAN = =20 ---------------------------------------------------------------------------= --------------------------------------- Aggregate (cost=3D73451291.77..73451291.78 rows=3D1 width=3D8) Output: count(*) -> Index Only Scan using stty_indx_fk03 on jim.sttyations (cost=3D0.58= ..67784668.41 rows=3D2266649344 width=3D0) Output: vsr_number (4 rows) --_F70B9B9B-E11E-4882-AC35-D93EF6A4D3DB_ Content-Transfer-Encoding: base64 Content-Type: text/html; charset="utf-8" PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4 bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PUNv bnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9 R2VuZXJhdG9yIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj48 c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZh bWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBm b250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIg NCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05v cm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw dDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm O30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K CWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQs IHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNv bG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQouTXNvQ2hwRGVmYXVs dA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7 c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRp di5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48L2hlYWQ+ PGJvZHkgbGFuZz1FTi1VUyBsaW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+PGRpdiBjbGFz cz1Xb3JkU2VjdGlvbjE+PHAgY2xhc3M9TXNvTm9ybWFsPkJhc2VkIG9uIG15IHJlc2VhcmNoIGlu IHRoZSBmb3J1bXMgYW5kIEdvb2dsZSAsIGl0IGlzIGRlc2NyaWJlZCBpbiBtdWx0aXBsZSBwbGFj ZXMgdGhhdCDigJhzZWxlY3QgY291bnQoKinigJkgaXMgZXhwZWN0ZWQgdG8gYmUgc2xvdyBpbiBQ b3N0Z3JlcyBiZWNhdXNlIG9mIHRoZSBNVkNDIGNvbnRyb2xzIGltcG9zZWQgdXBvbiB0aGUgcXVl cnkgbGVhZGluZyBhIHRhYmxlIHNjYW4uIEFsc28sIHRoZSBlbGFwc2VkIHRpbWUgaW5jcmVhc2Ug bGluZWFybHkgd2l0aCB0YWJsZSBzaXplLiA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5Ib3dldmVyLCBJIGRvIG5vdCBrbm93IGlm IGVsYXBzZWQgdGltZSBJ4oCZbSBnZXR0aW5nIGlzIHRvIGJlIGV4cGVjdGVkLiA8L3A+PHAgY2xh c3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD5UYWJs ZSByZWx0dXBsZXMgaW4gcGdfY2xhc3MgPSAyLDI2Niw2NDksMzQ0IChwcmV0dHkgY2xvc2UpPC9w PjxwIGNsYXNzPU1zb05vcm1hbD5RdWVyeSA9IHNlbGVjdCBjb3VudCgqKSBmcm9tIGppbS5zdHR5 YXRpb25zIDs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPkVsYXBzZWQgdGltZSAoRVQpID0gMTguNSBo cnM8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1z b05vcm1hbD5UaGlzIGlzIGFuIEF1cm9yYSBjbHVzdGVyIHJ1bm5pbmcgb24gcjQuMnhsYXJnZSAo OCB2Q1BVLCA2MWcpLiBDUFUgdXNhZ2UgZHVyaW5nIGNvdW50IHJ1biBob3ZlcnMgYXJvdW5kIDIw JSB3aXRoIDIwZyBvZiBmcmVlYWJsZSBtZW1vcnkuIDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PG86 cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPklzIHRoaXMgRVQgZXhwZWN0ZWQ/ IElmIG5vdCwgd2hhdCBjb3VsZCBiZSBzbG93aW5nIGl0IGRvd24/IEnigJltIGN1cnJlbnRseSBy dW5uaW5nIGV4cGxhaW4gYW5hbHl6ZSBhbmQgSeKAmWxsIHNoYXJlIHRoZSBmaW5hbCBvdXRwdXQg d2hlbiBkb25lLiA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxw IGNsYXNzPU1zb05vcm1hbD5J4oCZbSBmYW1pbGlhciB3aXRoIHRoZSBpZGVhcyBsaXN0ZWQgaGVy ZSA8YSBocmVmPSJodHRwczovL3d3dy5jaXR1c2RhdGEuY29tL2Jsb2cvMjAxNi8xMC8xMi9jb3Vu dC1wZXJmb3JtYW5jZS8iPmh0dHBzOi8vd3d3LmNpdHVzZGF0YS5jb20vYmxvZy8yMDE2LzEwLzEy L2NvdW50LXBlcmZvcm1hbmNlLzwvYT4gPC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNw OzwvbzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+VGFibGUgJnF1b3Q7amltLnN0dHlhdGlvbnMm cXVvdDs8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoMKgwqAgQ29sdW1uwqDCoMKgwqDCoMKg IHzCoMKgwqDCoMKgwqDCoMKgwqDCoCBUeXBlwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKg wqDCoMKgwqAgTW9kaWZpZXJzwqDCoMKgwqDCoMKgwqDCoMKgIHwgU3RvcmFnZcKgIHwgU3RhdHMg dGFyZ2V0IHwgRGVzY3JpcHRpb24gPC9wPjxwIGNsYXNzPU1zb05vcm1hbD4tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tPC9wPjxwIGNsYXNz PU1zb05vcm1hbD4gc3R0eV9pZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBiaWdpbnTCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBub3QgbnVsbMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqBzdHR5X2hpdGxpc3RfbGluZcKgIHwgdGV4 dMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCBub3QgbnVsbMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IGV4dGVuZGVkIHzCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqBzdHR5X3N0YXR1c8KgwqDC oMKgwqDCoMKgIHwgdGV4dMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fCBub3QgbnVsbCBkZWZhdWx0ICdZJzo6dGV4dCB8IGV4dGVuZGVkIHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqBzdHR5X3N0YXR1c19kYXRlwqDC oCB8IHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSB8IG5vdCBudWxswqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHwgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoHZzX251bWJlcsKgwqDCoMKgwqDCoMKgwqAg fCBpbnRlZ2VywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IG5vdCBudWxswqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKgwqAgfMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHwgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoHN0dHlfZGF0ZV9j cmVhdGVkwqAgfCB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgfCBub3QgbnVsbMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IHBsYWluwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqBzdHR5X3N0dHlfaWTCoMKgwqDC oMKgwqDCoCB8IGJpZ2ludMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxh aW7CoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPC9wPjxwIGNsYXNzPU1zb05v cm1hbD7CoHN0dHlfcG9zaXRpb27CoMKgwqDCoMKgIHwgYmlnaW50wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgfCBwbGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgbXN0dHlfaWTCoMKgwqDCoMKgwqDCoMKgwqDC oCB8IGJpZ2ludMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgcGxhaW7CoMKg wqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7C oHZzcl9udW1iZXLCoMKgwqDCoMKgwqDCoCB8IGludGVnZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8 L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgc3R0eV9kYXRlX21vZGlmaWVkIHwgdGltZXN0YW1wIHdp dGggdGltZSB6b25lIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfCBwbGFpbsKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8 L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgc3R0eV9zdG9yZWTCoMKgwqDCoMKgwqDCoCB8IHRleHTC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgbm90IG51bGwgZGVmYXVs dCAnTic6OnRleHQgfCBleHRlbmRlZCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8L3A+ PHAgY2xhc3M9TXNvTm9ybWFsPsKgc3R0eV9zZXF1ZW5jZcKgwqDCoMKgwqAgfCB0ZXh0wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIMKgwqB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgZXh0ZW5kZWQgfMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHwgPC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoHN0dHlfaGFzaMKgwqDC oMKgwqDCoMKgwqDCoCB8IHRleHTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCBleHRlbmRlZCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA8L3A+PHAgY2xhc3M9 TXNvTm9ybWFsPkluZGV4ZXM6PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqAgJnF1b3Q7c3R0 eV9wayZxdW90OyBQUklNQVJZIEtFWSwgYnRyZWUgKHN0dHlfaWQpPC9wPjxwIGNsYXNzPU1zb05v cm1hbD7CoMKgwqAgJnF1b3Q7c3R0eV9pbmR4X2ZrMDEmcXVvdDsgYnRyZWUgKHN0dHlfc3R0eV9p ZCk8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoCAmcXVvdDtzdHR5X2luZHhfZmswMyZxdW90 OyBidHJlZSAodnNyX251bWJlcik8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKgwqDCoCAmcXVvdDtz dHR5X2luZHhfZmswNCZxdW90OyBidHJlZSAodnNfbnVtYmVyKTwvcD48cCBjbGFzcz1Nc29Ob3Jt YWw+wqDCoMKgICZxdW90O3N0dHlfaW5keF9wcjAxJnF1b3Q7IGJ0cmVlIChtc3R0eV9pZCwgc3R0 eV9pZCk8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPkNoZWNrIGNvbnN0cmFpbnRzOjwvcD48cCBjbGFz cz1Nc29Ob3JtYWw+wqDCoMKgICZxdW90O3N0dHlfY25zdF9jazAxJnF1b3Q7IENIRUNLIChzdHR5 X3N0YXR1cyA9IEFOWSAoQVJSQVlbJ1knOjp0ZXh0LCAnTic6OnRleHRdKSk8L3A+PHAgY2xhc3M9 TXNvTm9ybWFsPsKgwqDCoCAmcXVvdDtzdHR5X2Nuc3RfY2swMiZxdW90OyBDSEVDSyAoc3R0eV9z dG9yZWQgPSBBTlkgKEFSUkFZWydOJzo6dGV4dCwgJ1knOjp0ZXh0XSkpPC9wPjxwIGNsYXNzPU1z b05vcm1hbD5Gb3JlaWduLWtleSBjb25zdHJhaW50czo8L3A+PHAgY2xhc3M9TXNvTm9ybWFsPsKg wqDCoCAmcXVvdDtzdHR5X2Nuc3RfZmswMSZxdW90OyBGT1JFSUdOIEtFWSAoc3R0eV9zdHR5X2lk KSBSRUZFUkVOQ0VTIHN0dHlhdGlvbnMoc3R0eV9pZCkgTk9UIFZBTElEPC9wPjxwIGNsYXNzPU1z b05vcm1hbD7CoMKgwqAgJnF1b3Q7c3R0eV9jbnN0X2ZrMDImcXVvdDsgRk9SRUlHTiBLRVkgKG1z dHR5X2lkKSBSRUZFUkVOQ0VTIG1hc3Rlcl9zdHR5YXRpb25zKG1zdHR5X2lkKTwvcD48cCBjbGFz cz1Nc29Ob3JtYWw+wqDCoMKgICZxdW90O3N0dHlfY25zdF9mazAzJnF1b3Q7IEZPUkVJR04gS0VZ ICh2c3JfbnVtYmVyKSBSRUZFUkVOQ0VTIHZhbGlkX3N0YXR1c19yZWFzb25zKHZzcl9udW1iZXIp PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCBjbGFzcz1Nc29O b3JtYWw+LS0tLS0tLS0tLS0tLS0tLTxicj5UaGFuayB5b3U8L3A+PHAgY2xhc3M9TXNvTm9ybWFs PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpw PjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+cmVmcGVwLSZndDsgc2VsZWN0IGNvdW50KCopIGZyb20g amltLnN0dHlhdGlvbnM7IDxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFFVRVJZIFBMQU7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPG86cD48L286cD48L3A+PHAg Y2xhc3M9TXNvTm9ybWFsPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD4gQWdncmVn YXRlwqAgKGNvc3Q9NzM0NTEyOTEuNzcuLjczNDUxMjkxLjc4IHJvd3M9MSB3aWR0aD04KTxvOnA+ PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05vcm1hbD7CoMKgIE91dHB1dDogY291bnQoKik8bzpwPjwv bzpwPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+wqDCoCAtJmd0O8KgIEluZGV4IE9ubHkgU2NhbiB1 c2luZyBzdHR5X2luZHhfZmswMyBvbiBqaW0uc3R0eWF0aW9uc8KgIChjb3N0PTAuNTguLjY3Nzg0 NjY4LjQxIHJvd3M9MjI2NjY0OTM0NCB3aWR0aD0wKTxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPU1z b05vcm1hbD7CoMKgwqDCoMKgwqDCoMKgIE91dHB1dDogdnNyX251bWJlcjxvOnA+PC9vOnA+PC9w PjxwIGNsYXNzPU1zb05vcm1hbD4oNCByb3dzKTxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPU1zb05v cm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPg== --_F70B9B9B-E11E-4882-AC35-D93EF6A4D3DB_--