Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wGBfD-005yKr-35 for pgsql-hackers@arkaria.postgresql.org; Fri, 24 Apr 2026 08:13:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wGBfD-005QkU-0v for pgsql-hackers@arkaria.postgresql.org; Fri, 24 Apr 2026 08:13:27 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wGBfC-005QkL-36 for pgsql-hackers@lists.postgresql.org; Fri, 24 Apr 2026 08:13:26 +0000 Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wGBfA-00000002nHE-46IR for pgsql-hackers@lists.postgresql.org; Fri, 24 Apr 2026 08:13:26 +0000 Received: by mail-oi1-x230.google.com with SMTP id 5614622812f47-4756e74f8edso5177941b6e.1 for ; Fri, 24 Apr 2026 01:13:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777018403; cv=none; d=google.com; s=arc-20240605; b=BLV4yG3RRgENuduhypmNFhrlF4yUhWpiYc/LcnxJnfLFMBSMTFY+Px2r8jnXNbes/q O2yq7046ksgI8AQRwGHEZNpiaFRACfpHLC8yoOae56o9CVxP2ZAMDhI1BRJug3+eCmeB 8dnXpCuzAnCYjYO0+YyQMwh3uJyXlusN5p76FOyRxN1GJ/gDw8fHcv7gxzc6h78lETua vtbfXEsPCisNIXIZGDHE2sVQcbelvtp8YIyE9FS/+1xfWkzbIuMDu2E7cf92bnwn2hZH QcLBZbX8LtC0TD2JXbVRVJlim1VKEpRaSLBcnUXqnSjDt+Uivd9HHA3N0AtHUMj1xwGD 3GZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=u9OgF00tegVPk3PfljARXYVAHX3jUL/4Il5vIdmad4g=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=A35kM+hAUy6pSw2jQ1P4bwBvhj3O4gbL9+8B1XyvgcLqAj/8Dh5pGwB6UdtwWoj0VQ Nrq7P7CGMPuW1N0H8BCj4wJOLR9GPMZDxvUhxDxDRD9zRs0UX+WDXUHuBvGsZUA0Khu8 W911LqP1TztiMoCwh0MJ9g/tpML4N8/OULlD6Y7obhErQ1ifSOPd8eaDHteEH8Iyl3py 7HSYypM32iUmlz+MmO67E+AW4KoyWuTLBlSyepjwtodO116mqdcYjqnIlg1HQtcXP9Ag MEANGKhOwZDAkcpkVZpI00WoSbsHpS2GR3dAkqy5uVKsMsUmFYSSQ8d/DlRnQZpz9bWk +nkQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777018403; x=1777623203; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=u9OgF00tegVPk3PfljARXYVAHX3jUL/4Il5vIdmad4g=; b=MhYg+zXNWzHJ4yLJAWHJssaftySUPmkuJIqGCbff7m2LCiWQNfX/LC2/JKYcncZN+v TqV84vWjSdEG16uKJWHAg9wawdJ9sVDgpdIjMAHCtPBJDhWgbek9fsnS1gpjVSGvMXtf k+EXzW8Jv28joE+TUH4OTm0YLzzpUuJaXTdB3/xqPrmXTNw6eTqN1Z3OjIIFY+pVMVBv wbUYAdYumq+QQQQyWxXLKSBXPfN+svNyZ+TGIYogQHyiWq5/LeS9ogm9FMyvwcFH5UFS Q+GChTKentBQF15XGb9vOrw6scD1Oc3pL/mV1YEtgF/181KNrbN6hKfO365lktABsnnm jtqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777018403; x=1777623203; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=u9OgF00tegVPk3PfljARXYVAHX3jUL/4Il5vIdmad4g=; b=btLwS2dj0EtkdyIUhRMe016KQE54/BF4rjc8a7wG7QQb5Iu5r5WZJN0cRhrTa4ro1X 32iSWj6U8RoHQmZwidmv2wGJVI4EbaXOJsGScKYICOQ35gWdtVGDmxarx7n4+GYhu5Uz f5MNg08BnWGhCZ6u1hoRrUltb1Ym9AP+ujLLivp4BKQ9rIpkoe1CSwMr8j+dEwFTMbCw 2ZjdxryoyeYWFuihsk/1ZVBt3TpqsaRCAapGseHkB4h2hSKTH8W3ji4fYKbmoCUJZ84i EkVlKT/1lD3vkF2v+BbPSBJqe8vfoiIr5JxR8xBg1WmW7x/pZkJK52Dy38xvBWGHE7Xe /rJA== X-Gm-Message-State: AOJu0YzEV9+Fs4SwSizdEXsngRka2G/hWfXMQBAA3TqjOAWAkfhrpH8B vIwjdNajmc7VVNc5aPIBkQsKqTgxHY1OIy0dct2xvNOicZKgNjv3ZSL+6AcybJDEGFl0ZVcI51Y HlEqRFyxX+nJgRfyAH4OIivt+s9NXnIy7T/Ht27o= X-Gm-Gg: AeBDiestZeHtYIXimSSAyopJhpd639643VNTtKImsKAP7gif6incbrZxDiETaiani76 PeKgFKkSwrFVNJDmCQBrI21cfn3NyCgg7IWxhhMohNO9jfIaZ3tUWHqafndrpL/M3TGRch5iFHb WdWqdVKAOv+DYknFXPb24R8g8Yux/9Z/gocP1BxWRnEsPQR9R08WaxEebhepOvJEThE/fYNH/ej IbO9cFQZcZ9kkoLUvIHsRpK4zzxw6rIyHeoSxOY+59/Hl5JDguqN2EfZg95p7ylZpuspUY+26/d Z3g6j0jnpQQjN39c X-Received: by 2002:a05:6808:8484:b0:450:aba0:f006 with SMTP id 5614622812f47-4799c97a732mr12518650b6e.17.1777018403224; Fri, 24 Apr 2026 01:13:23 -0700 (PDT) MIME-Version: 1.0 From: Fabrice Chapuis Date: Fri, 24 Apr 2026 10:13:11 +0200 X-Gm-Features: AQROBzCsfEcl_Sxu4K2Hv0On18qtVJ09enRRBTYDvz8Ph-se6MtbhTpZqT_QC4o Message-ID: Subject: question on visibility map To: PostgreSQL Hackers Content-Type: multipart/alternative; boundary="000000000000af00cb06503056f4" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000af00cb06503056f4 Content-Type: text/plain; charset="UTF-8" Hi, In this test I found that not all pages are not marked as all_visible after vacuuming, any explanation? CREATE TABLE test ( id SERIAL PRIMARY KEY, name TEXT, created_at TIMESTAMP DEFAULT now() ); INSERT INTO test (name) SELECT 'name_' || g FROM generate_series(1, 100000) AS g; CREATE TABLE INSERT 0 100000 cpr [2720498]=# cpr [2720498]=# cpr [2720498]=# table test limit 10; +----+---------+----------------------------+ | id | name | created_at | +----+---------+----------------------------+ | 1 | name_1 | 2026-04-24 09:35:46.561014 | | 2 | name_2 | 2026-04-24 09:35:46.561014 | | 3 | name_3 | 2026-04-24 09:35:46.561014 | | 4 | name_4 | 2026-04-24 09:35:46.561014 | | 5 | name_5 | 2026-04-24 09:35:46.561014 | | 6 | name_6 | 2026-04-24 09:35:46.561014 | | 7 | name_7 | 2026-04-24 09:35:46.561014 | | 8 | name_8 | 2026-04-24 09:35:46.561014 | | 9 | name_9 | 2026-04-24 09:35:46.561014 | | 10 | name_10 | 2026-04-24 09:35:46.561014 | +----+---------+----------------------------+ (10 rows) # ALTER TABLE test SET (autovacuum_enabled = false); ALTER TABLE # SELECT reloptions FROM pg_class WHERE relname = 'test'; +----------------------------+ | reloptions | +----------------------------+ | {autovacuum_enabled=false} | +----------------------------+ (1 row) # update test set name = 'name_x' where id = 1; UPDATE 1 # create extension pg_visibility; CREATE EXTENSION # SELECT c.relpages AS total_pages, s.all_visible, s.all_frozen, round(100.0 * s.all_visible / NULLIF(c.relpages, 0), 1) AS pct_visible, round(100.0 * s.all_frozen / NULLIF(c.relpages, 0), 1) AS pct_frozen FROM pg_class c CROSS JOIN LATERAL pg_visibility_map_summary(c.oid) s WHERE c.relname = 'test'; +-------------+-------------+------------+-------------+------------+ | total_pages | all_visible | all_frozen | pct_visible | pct_frozen | +-------------+-------------+------------+-------------+------------+ | 637 | 635 | 0 | 99.7 | 0.0 | +-------------+-------------+------------+-------------+------------+ (1 row) vacuum test; VACUUM # SELECT c.relpages AS total_pages, s.all_visible, s.all_frozen, round(100.0 * s.all_visible / NULLIF(c.relpages, 0), 1) AS pct_visible, round(100.0 * s.all_frozen / NULLIF(c.relpages, 0), 1) AS pct_frozen FROM pg_class c CROSS JOIN LATERAL pg_visibility_map_summary(c.oid) s WHERE c.relname = 'test'; +-------------+-------------+------------+-------------+------------+ | total_pages | all_visible | all_frozen | pct_visible | pct_frozen | +-------------+-------------+------------+-------------+------------+ | 637 | 636 | 0 | 99.8 | 0.0 | +-------------+-------------+------------+-------------+------------+ (1 row) Regards Fabrice --000000000000af00cb06503056f4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SGksPGJyPjxicj5JbiB0aGlzIHRlc3QgSSBmb3VuZCB0aGF0IG5vdCBh bGwgcGFnZXMgYXJlIG5vdCBtYXJrZWQgYXMgYWxsX3Zpc2libGUgYWZ0ZXIgdmFjdXVtaW5nLCBh bnkgZXhwbGFuYXRpb24/PGJyPjxicj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkNSRUFURSBUQUJM RSB0ZXN0ICggwqDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoMKgPGJyPsKgIMKgIGlkIFNFUklBTCBQUklNQVJZIEtFWSwgwqAgwqAgwqDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj7CoCDCoCBuYW1lIFRFWFQsIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgwqAgwqAgwqDCoDxicj7CoCDCoCBjcmVhdGVkX2F0IFRJTUVTVEFNUCBERUZBVUxUIG5v dygpPGJyPik7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgwqA8YnI+ SU5TRVJUIElOVE8gdGVzdCAobmFtZSkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+U0VMRUNUIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPsKgIMKgICYjMzk7bmFtZV8m IzM5OyB8fCBnIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPkZST00gZ2VuZXJhdGVfc2Vy aWVzKDEsIDEwMDAwMCkgQVMgZzs8YnI+Q1JFQVRFIFRBQkxFIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIDxicj5JTlNFUlQgMCAxMDAwMDAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+Y3By IFsyNzIwNDk4XT0jIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPmNwciBbMjcyMDQ5OF09IyDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj5jcHIgWzI3MjA0OThdPSMgdGFibGUgdGVzdCBsaW1p dCAxMDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJy PistLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCA8YnI+fCBpZCB8IMKgbmFtZSDCoCB8IMKgIMKgIMKgIMKgIGNyZWF0ZWRf YXQgwqAgwqAgwqAgwqAgfDxicj4rLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPnwgwqAxIHwgbmFtZV8x IMKgfCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8IMKgPGJyPnwgwqAyIHwgbmFtZV8yIMKg fCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8PGJyPnwgwqAzIHwgbmFtZV8zIMKgfCAyMDI2 LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8PGJyPnwgwqA0IHwgbmFtZV80IMKgfCAyMDI2LTA0LTI0 IDA5OjM1OjQ2LjU2MTAxNCB8PGJyPnwgwqA1IHwgbmFtZV81IMKgfCAyMDI2LTA0LTI0IDA5OjM1 OjQ2LjU2MTAxNCB8PGJyPnwgwqA2IHwgbmFtZV82IMKgfCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2 MTAxNCB8PGJyPnwgwqA3IHwgbmFtZV83IMKgfCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8 PGJyPnwgwqA4IHwgbmFtZV84IMKgfCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8PGJyPnwg wqA5IHwgbmFtZV85IMKgfCAyMDI2LTA0LTI0IDA5OjM1OjQ2LjU2MTAxNCB8PGJyPnwgMTAgfCBu YW1lXzEwIHwgMjAyNi0wNC0yNCAwOTozNTo0Ni41NjEwMTQgfCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4rLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqA8YnI+KDEwIHJvd3MpIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxi cj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+ IyBBTFRFUiBUQUJMRSB0ZXN0IFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gZmFsc2UpOzxicj5B TFRFUiBUQUJMRSDCoCDCoDxicj4jIFNFTEVDVCByZWxvcHRpb25zIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgPGJyPkZST00gcGdfY2xhc3MgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+V0hFUkUgcmVsbmFtZSA9ICYjMzk7 dGVzdCYjMzk7OyDCoDxicj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPnwgwqAg wqAgwqAgwqAgcmVsb3B0aW9ucyDCoCDCoCDCoCDCoCB8IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj4rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgPGJyPnwge2F1dG92YWN1dW1fZW5hYmxlZD1mYWxzZX0gfCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+Ky0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj4oMSByb3cpwqAgwqAgwqAgwqAgPGJyPjxicj4j IHVwZGF0ZSB0ZXN0IHNldCBuYW1lID0gJiMzOTtuYW1lX3gmIzM5OyB3aGVyZSBpZCA9IDE7PGJy PlVQREFURSAxPGJyPjxicj4jIGNyZWF0ZSBleHRlbnNpb24gcGdfdmlzaWJpbGl0eTs8YnI+Q1JF QVRFIEVYVEVOU0lPTjxicj4jIFNFTEVDVDxicj7CoCDCoCBjLnJlbHBhZ2VzIEFTIHRvdGFsX3Bh Z2VzLDxicj7CoCDCoCBzLmFsbF92aXNpYmxlLDxicj7CoCDCoCBzLmFsbF9mcm96ZW4sPGJyPsKg IMKgIHJvdW5kKDEwMC4wICogcy5hbGxfdmlzaWJsZSAvIE5VTExJRihjLnJlbHBhZ2VzLCAwKSwg MSkgQVMgcGN0X3Zpc2libGUsPGJyPsKgIMKgIHJvdW5kKDEwMC4wICogcy5hbGxfZnJvemVuIC8g TlVMTElGKGMucmVscGFnZXMsIDApLCAxKSBBUyBwY3RfZnJvemVuPGJyPkZST00gcGdfY2xhc3Mg Yzxicj5DUk9TUyBKT0lOIExBVEVSQUwgcGdfdmlzaWJpbGl0eV9tYXBfc3VtbWFyeShjLm9pZCkg czxicj5XSEVSRSBjLnJlbG5hbWUgPSAmIzM5O3Rlc3QmIzM5Ozs8YnI+Ky0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rPGJy PnwgdG90YWxfcGFnZXMgfCBhbGxfdmlzaWJsZSB8IGFsbF9mcm96ZW4gfCBwY3RfdmlzaWJsZSB8 IHBjdF9mcm96ZW4gfDxicj4rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8YnI+fCDCoCDCoCDCoCDCoCA2MzcgfCDCoCDC oCDCoCDCoCA2MzUgfCDCoCDCoCDCoCDCoCDCoDAgfCDCoCDCoCDCoCDCoDk5LjcgfCDCoCDCoCDC oCDCoDAuMCB8PGJyPistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKzxicj4oMSByb3cpPGJyPjxicj52YWN1dW0gdGVzdDs8 YnI+VkFDVVVNPGJyPiMgU0VMRUNUPGJyPsKgIMKgIGMucmVscGFnZXMgQVMgdG90YWxfcGFnZXMs PGJyPsKgIMKgIHMuYWxsX3Zpc2libGUsPGJyPsKgIMKgIHMuYWxsX2Zyb3plbiw8YnI+wqAgwqAg cm91bmQoMTAwLjAgKiBzLmFsbF92aXNpYmxlIC8gTlVMTElGKGMucmVscGFnZXMsIDApLCAxKSBB UyBwY3RfdmlzaWJsZSw8YnI+wqAgwqAgcm91bmQoMTAwLjAgKiBzLmFsbF9mcm96ZW4gLyBOVUxM SUYoYy5yZWxwYWdlcywgMCksIDEpIEFTIHBjdF9mcm96ZW48YnI+RlJPTSBwZ19jbGFzcyBjPGJy PkNST1NTIEpPSU4gTEFURVJBTCBwZ192aXNpYmlsaXR5X21hcF9zdW1tYXJ5KGMub2lkKSBzPGJy PldIRVJFIGMucmVsbmFtZSA9ICYjMzk7dGVzdCYjMzk7Ozxicj4rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8YnI+fCB0 b3RhbF9wYWdlcyB8IGFsbF92aXNpYmxlIHwgYWxsX2Zyb3plbiB8IHBjdF92aXNpYmxlIHwgcGN0 X2Zyb3plbiB8PGJyPistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKzxicj58IMKgIMKgIMKgIMKgIDYzNyB8IMKgIMKgIMKg IMKgIDYzNiB8IMKgIMKgIMKgIMKgIMKgMCB8IMKgIMKgIMKgIMKgOTkuOCB8IMKgIMKgIMKgIMKg MC4wIHw8YnI+Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rPGJyPigxIHJvdyk8L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNl PSJhcmlhbCwgc2Fucy1zZXJpZiI+UmVnYXJkczwvZm9udD48ZGl2Pjxmb250IGZhY2U9ImFyaWFs LCBzYW5zLXNlcmlmIj5GYWJyaWNlwqAgwqAgwqA8L2ZvbnQ+PGZvbnQgZmFjZT0ibW9ub3NwYWNl Ij4gwqAgwqAgwqAgwqA8L2ZvbnQ+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgPC9kaXY+PC9kaXY+DQo= --000000000000af00cb06503056f4--