From nobody Fri Jan 10 19:01:26 2025 X-Original-To: freebsd-fs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YV9xm73VBz5kMVR for ; Fri, 10 Jan 2025 19:02:04 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4YV9xl2KH5z4LMR for ; Fri, 10 Jan 2025 19:02:03 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net; dmarc=pass (policy=none) header.from=denninger.net Received: from denninger.net (syn-071-015-252-132.res.spectrum.com [71.15.252.132]) by colo1.denninger.net (Postfix) with ESMTP id 061EC2110FB for ; Fri, 10 Jan 2025 14:01:32 -0500 (EST) Received: from [192.168.10.23] (D13.Denninger.Net [192.168.10.23]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id BE97E163A1D for ; Fri, 10 Jan 2025 14:01:26 -0500 (EST) Message-ID: <44c10641-8f1b-476f-ba5b-29d4a5f28c9c@denninger.net> Date: Fri, 10 Jan 2025 14:01:26 -0500 List-Id: Filesystems List-Archive: https://lists.freebsd.org/archives/freebsd-fs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-fs@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: How can I tell when ZFS has finished creating a snapshot? To: freebsd-fs@freebsd.org References: Content-Language: en-US From: Karl Denninger In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms070504040700060209050308" X-Rspamd-Queue-Id: 4YV9xl2KH5z4LMR X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.78 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.992]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; MIME_BASE64_TEXT(0.10)[]; XM_UA_NO_VERSION(0.01)[]; RCVD_TLS_LAST(0.00)[]; HAS_ATTACHMENT(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEFALL_USER(0.00)[karl]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[freebsd-fs@freebsd.org]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[] This is a cryptographically signed message in MIME format. --------------ms070504040700060209050308 Content-Type: multipart/alternative; boundary="------------oTzI0uyimmQ3WPJKa25I3gcU" --------------oTzI0uyimmQ3WPJKa25I3gcU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAxLzEwLzIwMjUgMTo1MiBQTSwgYW5keSB0aG9tYXMgd3JvdGU6DQo+IElzIHRoZXJl IGFueSB3YXkgSSBjYW4gZmluZCBvdXQgd2hlbiBhIFpGUyBzbmFwc2hvdCBoYXMgY29tcGxl dGVkIGFuZCANCj4gY2FuIGJlIHVzZWQsIHNheSwgZm9yIHJlcGxpY2F0aW5nIHRvIGFub3Ro ZXIgc2VydmVyPw0KPg0KPiBVc2luZyB0aGUgJ3pmcyBzbmFwc2hvdCAtciAuLi4nIGNvbW1h bmQsIHRoZSBjb21tYW5kIHByb21wdCByZS1hcHBlYXJzIA0KPiBhbG1vc3QgaW1tZWRpYXRl bHkgc3VnZ2VzdGluZyB0aGUgY29tbWFuZCBoYXMgY29tcGxldGVkIGFuZCB1c2luZyB0aGUg DQo+ICd6ZnMgbGlzdCAtdCBzbmFwc2hvdCcgY29tbWFuZCB0aGUgJ1VTRUQnIGNvbHVtbiB3 aWxsIGluaXRpYWxseSByZXBvcnQgDQo+IHplcm8gYW5kIHRoZW4gaXQgd2lsbCBzbG93bHkg Z3JvdyBvdmVyIHRoZSBuZXh0IGZldyBob3Vycy4gQnV0IGl0IA0KPiBzZWVtcyB0byB0YWtl IGEgbG9uZyB0aW1lIHdpdGggbm8gemZzLXJlbGF0ZWQgcHJvY2Vzc2VzIGJlaW5nIHJlcG9y dGVkIA0KPiBieSAncHMgYXgnLiBGb3IgZXhhbXBsZSwgYWZ0ZXIgMyBob3VycywgYSBzbmFw c2hvdCBvZiBhIDgwVEIgcmFpZHoxIA0KPiBwb29sIHdpdGggb25seSBhIGxpdHRsZSBvdmVy IDMgVEIgdXNlZCBoYXMgcmVwb3J0ZWQgMTcuNE1CIHVzZWQ6DQo+DQo+IMKgwqDCoMKgTkFN RcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgVVNFRMKgIEFWQUlMwqAgUkVGRVIgTU9VTlRQT0lOVA0KPiBjbHVzdG9yMi9tYUAy MDI1LTAxLTEwXzE0LjQ1LjAwwqAgMTcuNE3CoMKgwqDCoMKgIC3CoCAzLjA5VMKgIC0NCj4N Cj4gYnV0IG92ZXIgdGhlIG5leHQgaG91ciwgdGhpcyAxNy40TUIgdXNhZ2UgZmlndXJlIGhh cyBub3QgaW5jcmVhc2VkIGF0IA0KPiBhbGwuIFNvIEkgZG9uJ3Qga25vdyB3aGV0aGVyIHRv IHdhaXQgYW5vdGhlciBmZXcgaG91cnMgYmVmb3JlIHVzaW5nIA0KPiAnemZzIHNlbmQnIG9y ICd6eGZlcicgdG8gY29weSB0aGUgc25hcHNob3QgdG8gYSBiYWNrdXAgc2VydmVyLCBvciAN Cj4gd2hldGhlciB0aGUgc25hcHNob3QgaGFzIGluIGZhY3QgZmluaXNoZWQuDQo+DQo+IElz IHRoZXJlIGEgd2F5IHRvIGZpbmQgb3V0IHRoZSBzdGF0dXMgb2YgYSBzbmFwc2hvdCBjcmVh dGlvbj8NCj4NCj4gVGhhbmtzIGluIGFkdmFuY2UgZm9yIGFueSBzdWdnZXN0aW9ucywNCg0K VGhlIHNuYXBzaG90IGlzIGNvbXBsZXRlIHdoZW4gdGhlIGNvbW1hbmQgcmV0dXJucyAtLSB3 aXRoaW4gdGhlIA0KZmlsZXN5c3RlbSBhIHNuYXBzaG90IGlzIGFuIGF0b21pYyBvcGVyYXRp b24uDQoNCi9PbmNlIG1hZGUgYWxsIHdyaXRlcyB0byB0aGF0IGZpbGVzeXN0ZW0gYXJlIGNv cHktb24td3JpdGUgL3NvIGFzIHRpbWUgDQpnb2VzIG9uIHRoZSAiVXNlZCIgYW1vdW50IGlu Y3JlYXNlcyAoYW5kIHRoZSBmcmVlIHNwYWNlIGdvZXMgZG93biBieSBhbiANCmVxdWFsIGFt b3VudCkgYmVjYXVzZSBlYWNoIGJsb2NrIHRoYXQgaXMgbW9kaWZpZWQgKGFuZCBvbmx5IHRo YXQgYmxvY2spIA0KaXMgY29waWVkLg0KDQotLSANCkthcmwgRGVubmluZ2VyDQprYXJsQGRl bm5pbmdlci5uZXQNCi9UaGUgTWFya2V0IFRpY2tlci8NCi9bUy9NSU1FIGVuY3J5cHRlZCBl bWFpbCBwcmVmZXJyZWRdLw0K --------------oTzI0uyimmQ3WPJKa25I3gcU Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 1/10/2025 1:52 PM, andy thomas wrote:
Is there any way I can find out when a ZFS snapshot has completed and can be used, say, for replicating to another server?

Using the 'zfs snapshot -r ...' command, the command prompt re-appears almost immediately suggesting the command has completed and using the 'zfs list -t snapshot' command the 'USED' column will initially report zero and then it will slowly grow over the next few hours. But it seems to take a long time with no zfs-related processes being reported by 'ps ax'. For example, after 3 hours, a snapshot of a 80TB raidz1 pool with only a little over 3 TB used has reported 17.4MB used:

=C2=A0=C2=A0=C2=A0=C2=A0NAME=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 USED=C2=A0 A= VAIL=C2=A0 REFER=C2=A0 MOUNTPOINT
=C2=A0=C2=A0=C2=A0=C2=A0clustor2/ma@2025-01-10_14.45.00<= /a>=C2=A0 17.4M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -=C2=A0 3.09T=C2=A0 -

but over the next hour, this 17.4MB usage figure has not increased at all. So I don't know whether to wait another few hours before using 'zfs send' or 'zxfer' to copy the snapshot to a backup server, or whether the snapshot has in fact finished.

Is there a way to find out the status of a snapshot creation?

Thanks in advance for any suggestions,

The snapshot is complete when the command returns -- within the filesystem a snapshot is an atomic operation.

Once made all writes to that filesystem are copy-on-write s= o as time goes on the "Used" amount increases (and the free space goes down by an equal amount) because each block that is modified (and only that block) is copied.

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]<= /div> --------------oTzI0uyimmQ3WPJKa25I3gcU-- --------------ms070504040700060209050308 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC C4owggWZMIIDgaADAgECAhRZU8dKdMneRI1Vq5kv0k54Q5rQuDANBgkqhkiG9w0BAQsFADB2 MQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRYwFAYDVQQKDA1EZW5uaW5nZXIu TmV0MRcwFQYDVQQDDA5EZW5uaW5nZXIgUm9vdDEiMCAGCSqGSIb3DQEJARYTYWRtaW5AZGVu bmluZ2VyLm5ldDAeFw0yNDA1MDkyMTA4MDNaFw00NDA1MDQyMTA4MDNaMF0xCzAJBgNVBAYT AlVTMRIwEAYDVQQIDAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNV BAMMGURlbm5pbmdlci5OZXQgU2lnbmluZyBJbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDbR0tSiuLG5HPfo+cWtdeYQ8jc8Bjfuo0GTcNRT0glHnH1apUtInIktUknEZDH ohahInN+mMBdKg54FCHOiYZrJbyxBIo9FwX7hRmOc+spxmSYWnOd2E/YcGInMK4ZpjPzldzB Yt1n3zygkhx2bssxTJS3x4nv1qAXfLSZd1VwqoQufifEoPyTtymkkvHLv86vLgqAqooM/cXc 4LSIQ5u2uM308n42r8RkKtp7X1v9fJW8oRZN2XnFZtiUPH44YY2rHqyN2Hea9Y3+TXbldXjo xhPHTA+JYVFq8KTmbQBqU7YcMhlIG0cSxPeFLMxnP6pqPcIVTAlK+a6YGRFppfjZAgMBAAGj ggE2MIIBMjAdBgNVHQ4EFgQUH+VuxXhBxaJAQrvDekwkH91hBi4wgbMGA1UdIwSBqzCBqIAU RFYC4p6L6KITnEvrpx2cyt+PcMmheqR4MHYxCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlUZW5u ZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5OZXQxFzAVBgNVBAMMDkRlbm5pbmdlciBSb290 MSIwIAYJKoZIhvcNAQkBFhNhZG1pbkBkZW5uaW5nZXIubmV0ghQZE7NBItWtQsCouuwU6jZ+ HPPwnjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+gLaAr hilodHRwOi8vd3d3LmRlbm5pbmdlci5uZXQvcm9vdC1yZXZva2VkLmNybDANBgkqhkiG9w0B AQsFAAOCAgEAfFbhPc82AfhyUqONs7IccYD36w+OP4nQgwfC4IWf3y/aQAZ2Zk6IITzYqwf7 PFM0bJRT3zi7xyetolqHDhfMJvnOQWpITZiyM/FSKwIvuBsy/uJUqPuqui4XQMYoSbAA1qmI MW/z7VZZHwaRFoeWE40UirYcf0fNcooBZ72bmd+iBaVyjtZvky0Vgcz0eC6e6LR5kNb23yC6 TkyQIlGyQkK5/afXUYFzk49rOHVbVyxW3oXRfq8Ow6HCrpDGAS8p84S04MFwBVAUfbe4aXs3 bampaI2LzKgkVywyFP14LSvvdjCfLYfnLy1Z9hm2EHMqNHA2tCGdRhWp2d7aZC1MYFqng0ZS fjPJjqHrI1qPU0p6k9A1GxAtrQlL2v/IUzUnMZkiawFV3qlxMGZf/kTYTUOcJhx1KU4zSLHu 80qO7ldRpp5gHssCAGFbeTu2gp6LxfmaFhLPDBJ1VGfdPx9lUrU/9OcoHczcl5x2Rb8IUZyX 9elzP5WdAU8p5R/DLlOAq24VcabhFtYBCA2dOESLupSfWKNQuJCN/1gz7ysSc+mjnnPV77IO mpszJfkFFJEDNJlGIVKX1vwwygtC/9Ulox8frgbZlRAYAgDc/YbOBFxticVVre0Y3Ujx6Kzb tkgZRlgfdZWbT1W5smncqJxg5qAL8e/yTb3fCe2nJ0jhiP4wggXpMIIE0aADAgECAhMAmNFt CiCF3j+FwQLYtBTmGjzkMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNVBAYTAlVTMRIwEAYDVQQI DAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNVBAMMGURlbm5pbmdl ci5OZXQgU2lnbmluZyBJbnQwHhcNMjQwNTEwMTkyNjU5WhcNMjkwNTA5MTkyNjU5WjBXMQsw CQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRcwFQYDVQQKDA5LYXJsIERlbm5pbmdl cjEbMBkGA1UEAwwSa2FybEBkZW5uaW5nZXIubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAvh1UssVbSYctzobPjwBkbjv/w4WvQNepeRTwE6+sLnXvc41+X9pa5EclPL4Q l02Vu1m71mSqXGfK9HbWZoivbhefBHOoYb35MSc24PelhwcORbpneWoWc7giQ7QgFlvEe/yj fs8M0H9fgdzFS5m2lwBQbis8kioSjHB2yt/8I1GE4Mvt1Cur9kga6ML5FAQvo8TYN1stdhrE 13FEv/BWCF4FVT4H2Wa2ySW+R1jkKb74SC6Twg98bGCRTShD5bVylh0+0LXNhzaopIDcI/KK jm/j3mRjIlmqbGrSpvJsbjjhjhAYQKE1U8FB5TDU4OkFAibblhQit/KjgspPR2o/vOpVFPER uhZEV1oDGzUJtZlkREIcN2sYBi0p7Y4585ya+b7L10mEenPlyi3eSkGXEuiy/BR2DY6lShwW DPoQ5602TKmttCSwBdWGoLrQ4jEVEVNt4lku2wPbTHF3KpHJU0g7RbcWoUYn10SOxKathkir hF3v9U32+QhPELGwqRrH0sL9rWf0qalRtPDHUYl8TebZmYkFqNeSMlqHijl5f4SsQPSj7gx5 4F19Ntm9ZcvuWTmW8QQGWTKHeMuG+BYkVIUSPe6/ZQsbD/xDx7rkyGfNgWIa4W7Wm/B7kaNq H53tk3wFmNgZQOxMTPF0oTHfW0T2azU6JD0D1AlgoAnSAE0CAwEAAaOCAaYwggGiMDoGCCsG AQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3AuZGVubmluZ2VyLm5ldDo3Nzc3 MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr BgEFBQcDBDAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2xpZW50IENlcnRp ZmljYXRlMB0GA1UdDgQWBBSxJZjVnlYLAT3uzvDYgc4742J6UTCBswYDVR0jBIGrMIGogBQf 5W7FeEHFokBCu8N6TCQf3WEGLqF6pHgwdjELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5l c3NlZTEWMBQGA1UECgwNRGVubmluZ2VyLk5ldDEXMBUGA1UEAwwORGVubmluZ2VyIFJvb3Qx IjAgBgkqhkiG9w0BCQEWE2FkbWluQGRlbm5pbmdlci5uZXSCFFlTx0p0yd5EjVWrmS/STnhD mtC4MB0GA1UdEQQWMBSBEmthcmxAZGVubmluZ2VyLm5ldDANBgkqhkiG9w0BAQsFAAOCAQEA TrQ45/tBN3SiuqItFv/V+CF3h7Hxe0YLsL+A/P+q9ZhxIscaNjaclgQhPA+rUr+l8DGoXJ/w yAl1E0SSBK+9phIc/9xFOBg3rCy4ngubzP+lHS1t03nMCBSUNsu5qPzqLBPiKaPabUu3Gr9o koRezSszgM3/zNJfr8cMO93csCK/fBccsMx5q+3nxB5XeT7UciicjfEzUA4m2mQxBmGk9SSU 147Gy8UmdSq57Tw82KqUrQ1pJ6IOzVPLREpwlqGbHykSU3MwtPYPtfQeFVjvO/XcWvoFQjbV UyhzAqMMYFudxoVLlJQiAgU38OScTLDgKxCO41h7VOjb2mss0zHndzGCBZUwggWRAgEBMHQw XTELMAkGA1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5lc3NlZTEWMBQGA1UECgwNRGVubmluZ2Vy Lm5ldDEiMCAGA1UEAwwZRGVubmluZ2VyLk5ldCBTaWduaW5nIEludAITAJjRbQoghd4/hcEC 2LQU5ho85DANBglghkgBZQMEAgMFAKCCAvIwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc BgkqhkiG9w0BCQUxDxcNMjUwMTEwMTkwMTI2WjBPBgkqhkiG9w0BCQQxQgRAVB5k673NN0i0 dhHVwQzGyvVJHxlDCBGjLfiWI/O+TVNHnTGLWwYAofLwWjO1sX1w3U+DqdDhcUVdANB5ey/6 CTCBgwYJKwYBBAGCNxAEMXYwdDBdMQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2Vl MRYwFAYDVQQKDA1EZW5uaW5nZXIubmV0MSIwIAYDVQQDDBlEZW5uaW5nZXIuTmV0IFNpZ25p bmcgSW50AhMAmNFtCiCF3j+FwQLYtBTmGjzkMIGFBgsqhkiG9w0BCRACCzF2oHQwXTELMAkG A1UEBhMCVVMxEjAQBgNVBAgMCVRlbm5lc3NlZTEWMBQGA1UECgwNRGVubmluZ2VyLm5ldDEi MCAGA1UEAwwZRGVubmluZ2VyLk5ldCBTaWduaW5nIEludAITAJjRbQoghd4/hcEC2LQU5ho8 5DCCAVcGCSqGSIb3DQEJDzGCAUgwggFEMAsGCWCGSAFlAwQBKjALBglghkgBZQMEAQIwCgYI KoZIhvcNAwcwDQYIKoZIhvcNAwICAQUwDQYIKoZIhvcNAwICAQUwBwYFKw4DAgcwDQYIKoZI hvcNAwICAQUwBwYFKw4DAhowCwYJYIZIAWUDBAIBMAsGCWCGSAFlAwQCAjALBglghkgBZQME AgMwCwYJYIZIAWUDBAIEMAsGCWCGSAFlAwQCBzALBglghkgBZQMEAggwCwYJYIZIAWUDBAIJ MAsGCWCGSAFlAwQCCjALBgkqhkiG9w0BAQEwCwYJK4EFEIZIPwACMAgGBiuBBAELADAIBgYr gQQBCwEwCAYGK4EEAQsCMAgGBiuBBAELAzALBgkrgQUQhkg/AAMwCAYGK4EEAQ4AMAgGBiuB BAEOATAIBgYrgQQBDgIwCAYGK4EEAQ4DMA0GCSqGSIb3DQEBAQUABIICADmn7B06oO8Yu8Nl JqSy9arZN12RGawAobAbxmXrONjGrEng48D03fQtVpskftMR4YPL+ukgwAlLfJ6S8OkrUM/Y /OLOWTxUaP2QWmS94slM96gd15dp2vsxQFvhbOjGfoYzzPYIIACpR4ZpCFt67WtPfC5snDmh 1akJnB4V6ZDcaUZJSsXDXd+HgtHQloeYRK02j/MgA6Cd94Knu4JdXZkQdy3JJXYHVsPyRgFz dEIkIlc5S/jZr7FLNoNTX9b8UlOFMl/HHiK2K/jyXZnL/BhnUkxLK7px5NkUvxvufLnlPJlm +x+2BOgZd0EnBPlqc1pZc0JCm7MREAwZCcWTEfBsB3kEcdKNQkKV9KqfZV333cbekG2QK0wP rQnjODo8EWTnvK0fSHC9bLZYKo95tleedczNtDepqkf9UmeOeEeZApMFDEJ/ie3lvXf+fx6L PBUS2HVlzcSMSmSVkN2UJwPfwYYnU0ltcAutXOwDhDCHM3uy6RTZ5stjg8eUxGz0sXpAkH2c X1R0U3Z6nZwvII2utxDaJvC6rR7d2MCbKlUDg8WQuga/TyhQlWUxLDD2Zcampp68OObmMqHr qcK34dRAbPPnQJr4Y6+Xd+wn3gkBUfYMmn2KKy/7Z/p7g6Vk2GRrdtrtGMYpm4+DsAZKdjb7 orFdGZALPFoWnMRy6fLEAAAAAAAA --------------ms070504040700060209050308--