Return-Path: Delivered-To: apmail-incubator-abdera-user-archive@locus.apache.org Received: (qmail 67982 invoked from network); 25 Sep 2007 14:36:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Sep 2007 14:36:42 -0000 Received: (qmail 52843 invoked by uid 500); 25 Sep 2007 14:33:51 -0000 Delivered-To: apmail-incubator-abdera-user-archive@incubator.apache.org Received: (qmail 52829 invoked by uid 500); 25 Sep 2007 14:33:51 -0000 Mailing-List: contact abdera-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: abdera-user@incubator.apache.org Delivered-To: mailing list abdera-user@incubator.apache.org Received: (qmail 52809 invoked by uid 99); 25 Sep 2007 14:33:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Sep 2007 07:33:51 -0700 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=SPF_PASS,URIBL_RHS_DOB X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jasnell@gmail.com designates 64.233.184.228 as permitted sender) Received: from [64.233.184.228] (HELO wr-out-0506.google.com) (64.233.184.228) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Sep 2007 14:33:50 +0000 Received: by wr-out-0506.google.com with SMTP id c48so650263wra for ; Tue, 25 Sep 2007 07:33:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type; bh=4cvrcc2lWuKvcDY3Ge1pUX16Q6Xi+GgCJpBrk8EbeY8=; b=lbxjucf1yb7axcwJRMEpbIiOeKtlIeR3kJAcOjlC5v9+3IUX1bKzJ9zYPfwHVQRadF66rAn/B7bWKFnytamsybPpkdEn1PGTJRZcDG0B1S6JpH23myBfpYageyFgC8J/EqTkcZNrlOaUNnn1p+7rbuaDzV1KLiNq2jzEBL/xOXA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:x-enigmail-version:content-type; b=aVrwVrdupU3q5wmnEwV7rzcs3tl+G61jd8Vw5fJhappW/Y8SvqBl/0EeBPUtUmSb04Fh4Qna0c8HEATJnfaGSFYrhKK3gK7JRzZvHgvxb+NSP/57DFguJtTzDy2v1csL9sFGXlCUc2AXUBWJi6DKh4vXEUTip0hJvddOwpqrx/8= Received: by 10.142.14.20 with SMTP id 20mr2217780wfn.1190730807744; Tue, 25 Sep 2007 07:33:27 -0700 (PDT) Received: from ?192.168.1.2? ( [67.181.218.96]) by mx.google.com with ESMTPS id 11sm2363169wrl.2007.09.25.07.33.25 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 25 Sep 2007 07:33:26 -0700 (PDT) Message-ID: <46F91C29.2090705@gmail.com> Date: Tue, 25 Sep 2007 07:33:13 -0700 From: James M Snell User-Agent: Thunderbird 2.0.0.6 (X11/20070728) MIME-Version: 1.0 To: abdera-user@incubator.apache.org Subject: Re: Modeling Collections of Collections References: <46EC47F6.1090307@mulesource.com> <46EC883C.3040506@gmail.com> <46F80F07.30903@mulesource.com> <46F8103C.7070607@gmail.com> <9F9F08B6-227A-4555-971B-4916970BB372@gmail.com> In-Reply-To: <9F9F08B6-227A-4555-971B-4916970BB372@gmail.com> X-Enigmail-Version: 0.95.3 Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms030505010803080607060806" X-Virus-Checked: Checked by ClamAV on apache.org --------------ms030505010803080607060806 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit It's from the Atompub spec. It's part of the Service document format. - James Chris Berry wrote: > I suppose I should know this, but is app:collection an extension to the > spec?? > http://www.atomenabled.org/developers/syndication/atom-format-spec.php > > atomEntry = > element atom:entry { > atomCommonAttributes, > (atomAuthor* > & atomCategory* > & atomContent? > & atomContributor* > & atomId > & atomLink* > & atomPublished? > & atomRights? > & atomSource? > & atomSummary? > & atomTitle > & atomUpdated > & extensionElement*) > } > > Thanks, > -- Chris > > > On Sep 24, 2007, at 2:40 PM, Jan Algermissen wrote: > >> >> On 24.09.2007, at 21:30, James M Snell wrote: >> >>> Well, the idea is that there is a one-to-one mapping from an entry to a >>> collection. So for each collection you have, you'll have one entry. I >>> don't have any suggestions for doing anything else :-) >> >> I think that a subcollection is fundamentally different from an entry >> in a collection and that only the ubiquity of file systems makes us >> think the two concepts somehow share a common base. IMHO, the >> existence of a subcollection allways represents an act of >> categorization and segmentation of the parent collection which is lost >> if we simply represent subcollections as entries. >> >> I have not yet had any time whatsoever to flesh this out, but I >> suggest an extension element of , such as and >> inside that, a normal feed with entries can be used to represent the >> sub collections. This would preserve the semantic, that the parent >> collection is segmented. >> >> Sorry that this is so vague, but maybe it helps somehow. >> >> Jan >> >> >> >>> >>> - James >>> >>> Dan Diephouse wrote: >>>> That seems to work well for one collection. What do you do if you have >>>> multiple collections? For instance a Customer with a collection of >>>> purchase orders and a collection of contacts? How might I distinguish >>>> between these two collections in the entry? Any other wisdom to >>>> share? :-) >>>> >>>> Cheers, >>>> - Dan >>>> >>>> James M Snell wrote: >>>>> We had this problem in the Lotus Connections Activities component. >>>>> Each >>>>> user has a collection of Activities. Each Activity is itself a >>>>> Collection. There is a top level My Activities collection. Each >>>>> entry >>>>> represents an Activity. Those entries contain an app:collection >>>>> element >>>>> that points to the activity collection uri, e.g. >>>>> >>>>> >>>>> ... >>>>> >>>>> application/atom+xml;type=entry >>>>> ... >>>>> >>>>> ... >>>>> >>>>> >>>>> This approach has worked very well for us. >>>>> >>>>> - James >>>>> >>>>> Dan Diephouse wrote: >>>>> >>>>>> I am pondering how to model collections of collections with APP >>>>>> for more >>>>>> non-blogging oriented applications. For instance, lets say I have a >>>>>> collection of customers, which have a collection of purchase >>>>>> orders. I >>>>>> can easily model the customers as a collection. Each entry >>>>>> represents a >>>>>> customer. >>>>>> >>>>>> But then what do I do about the purchase orders? The best solution >>>>>> that >>>>>> I can come up with is that I have another collection for each >>>>>> customer. >>>>>> Each entry in the collection would then be a purchase order. However, >>>>>> this has two downsides: >>>>>> 1. There is no great way to go directly from the customer to the >>>>>> purchase order collection. The best solution I've come up with is >>>>>> something >>>>> href="service/customer-foo/purchase-orders"/>. Not sure if thats a >>>>>> Good >>>>>> Thing or not. >>>>>> 2. Now my workspace has a gazillion customer/purchase order >>>>>> collections >>>>>> in it. I probably don't want to list those all out as that would take >>>>>> forever. The best solution that I've come up with here is to just not >>>>>> list them and make item #1 be the best way to find the collection. >>>>>> >>>>>> Thoughts? >>>>>> >>>>>> - Dan >>>>>> >>>>>> >>>> >>>> >> > > S'all good --- chriswberry at gmail dot com > > > > --------------ms030505010803080607060806 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIP7jCC BSwwggSVoAMCAQICEDqcN60eyFMWG0XIVQBLNZgwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNV BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMiBQdWJs aWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykg MTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQL ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4XDTAzMDUwNjAwMDAwMFoXDTEzMDUwNTIzNTk1 OVowgfkxCzAJBgNVBAYTAlVTMTQwMgYDVQQKEytJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1h Y2hpbmVzIENvcnBvcmF0aW9uMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAo YykwMzEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENB MSQwIgYDVQQDExtJQk0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwgZ8wDQYJKoZIhvcNAQEB BQADgY0AMIGJAoGBANVnrTXdoH79V2HWnacXy7mjjSNcnOi3Z+cXSBh9uSDhCLAUUeuvoHub uA5ImrJI5k/dA+Q0L+WNzR7OZr4TRpw3DOksYS/0o+RZ5+luJ7ltXcdVgsHU6qqHDpvF1hAe gqpNz670JVVfUs4ThC1AafMIBHwmJbqFG4Iy39OH37oBAgMBAAGjggHpMIIB5TASBgNVHRMB Af8ECDAGAQH/AgEAMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwIwKjAoBggrBgEFBQcCARYc aHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTA0BgNVHR8ELTArMCmgJ6AlhiNodHRwOi8v Y3JsLnZlcmlzaWduLmNvbS9wY2EyLWcyLmNybDALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEB BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEyNzAdBgNV HQ4EFgQUkcFzsHPV2ZJ0Z80b8VEUNDG2LFowgegGA1UdIwSB4DCB3aGBx6SBxDCBwTELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFzcyAyIFB1 YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIxOjA4BgNVBAsTMShj KSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV BAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmuCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3 DQEBBQUAA4GBAJcMUE/GM7DSGWSfEaUELX8FdU5Ug5WUfJVLTc4s5xDj+d9P/sxo39ofCYcy BrVFpessapDKDJKKCu6zbSNwKStMN7smU6TYiyT2FP216Adb5wsu94gxblObFoms2qG/BuGH bFxtbIBAiCNlFcRk69rPUGu/EOvQeUAR+Ub1NkjPMIIFWzCCBMSgAwIBAgIQc37B40uT6u4/ wtpRWBsngDANBgkqhkiG9w0BAQUFADCB+TELMAkGA1UEBhMCVVMxNDAyBgNVBAoTK0ludGVy bmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3 dy52ZXJpc2lnbi5jb20vcnBhIChjKTAzMTAwLgYDVQQLEydDbGFzcyAyIE9uU2l0ZSBJbmRp dmlkdWFsIFN1YnNjcmliZXIgQ0ExJDAiBgNVBAMTG0lCTSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw0wNzA5MjEwMDAwMDBaFw0wODA5MjAyMzU5NTlaMIGHMS4wLAYDVQQKFCVJbnRl cm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAuMRcwFQYDVQQDDA5KYW1lcyBNLiBT bmVsbDEZMBcGCgmSJomT8ixkAQEUCThBMTEyMTg5NzEhMB8GCSqGSIb3DQEJARYSamFzbmVs bEB1cy5pYm0uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkldnVGXgCCx9VqrI8 YWSgSOxYoJmSEJJTzvM2LjudEJYKagOT8hMp1t6830fjsVCM6/UWttWkGCISjO600hnehi7q FG8YaOwJL1Z+Mb+VpzlCIAEKWJ7N0QXBL41z+vlEphcZ3Rjusu5dJhfB3CX+q4HsoHSpwPbe 4OyDoj2ppQIDAQABo4ICUjCCAk4wCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwZgYDVR0fBF8w XTBboFmgV4ZVaHR0cDovL29uc2l0ZWNybC52ZXJpc2lnbi5jb20vSW50ZXJuYXRpb25hbEJ1 c2luZXNzTWFjaGluZXNDb3JwQ29ycG9yYXRlQ0lPL0xhdGVzdENSTDCCASkGA1UdIASCASAw ggEcMIIBGAYLYIZIAYb4RQEHFwIwggEHMCsGCCsGAQUFBwIBFh9odHRwczovL3d3dy52ZXJp c2lnbi5jb20vcnBhLWtyMIHXBggrBgEFBQcCAjCByhqBx05vdGljZSBUZXh0PU5PVElDRTog UHJpdmF0ZSBrZXkgbWF5IGJlIHJlY292ZXJlZCBieSBWZXJpU2lnbidzIGN1c3RvbWVyIHdo byBtYXkgYmUgYWJsZSB0byBkZWNyeXB0IG1lc3NhZ2VzIHlvdSBzZW5kIHRvIGNlcnRpZmlj YXRlIGhvbGRlci4gIFVzZSBpcyBzdWJqZWN0IHRvIHRlcm1zIGF0IGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEta3IwHwYDVR0jBBgwFoAUkcFzsHPV2ZJ0Z80b8VEUNDG2LFowHQYD VR0OBBYEFJwNlBs18nT1PRnQg3rCMIHHQcGjMC0GA1UdEQQmMCSgIgYKKwYBBAGCNxQCA6AU DBJqYXNuZWxsQHVzLmlibS5jb20wHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMBEG CWCGSAGG+EIBAQQEAwIFoDANBgkqhkiG9w0BAQUFAAOBgQAXnfkib0m2IqA9RJ+xV0G3Y/Oq lzsPfF8dFayH1f0O8KEoBtgFh8y/BcBFvlpmLj/QrD2nqwW79402P3WtOondypqnz+xE78RQ KnZ4FXOoLhGXZ8auPbutzxDY6BSMeFNn3Sz5yueez++l6IOmct+eJMYUYx/AoNN7ccSwwO4+ rDCCBVswggTEoAMCAQICEHN+weNLk+ruP8LaUVgbJ4AwDQYJKoZIhvcNAQEFBQAwgfkxCzAJ BgNVBAYTAlVTMTQwMgYDVQQKEytJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENv cnBvcmF0aW9uMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJU ZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwMzEwMC4G A1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBMSQwIgYDVQQD ExtJQk0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDcwOTIxMDAwMDAwWhcNMDgwOTIw MjM1OTU5WjCBhzEuMCwGA1UEChQlSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBD b3JwLjEXMBUGA1UEAwwOSmFtZXMgTS4gU25lbGwxGTAXBgoJkiaJk/IsZAEBFAk4QTExMjE4 OTcxITAfBgkqhkiG9w0BCQEWEmphc25lbGxAdXMuaWJtLmNvbTCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEA5JXZ1Rl4AgsfVaqyPGFkoEjsWKCZkhCSU87zNi47nRCWCmoDk/ITKdbe vN9H47FQjOv1FrbVpBgiEozutNIZ3oYu6hRvGGjsCS9WfjG/lac5QiABCliezdEFwS+Nc/r5 RKYXGd0Y7rLuXSYXwdwl/quB7KB0qcD23uDsg6I9qaUCAwEAAaOCAlIwggJOMAkGA1UdEwQC MAAwCwYDVR0PBAQDAgWgMGYGA1UdHwRfMF0wW6BZoFeGVWh0dHA6Ly9vbnNpdGVjcmwudmVy aXNpZ24uY29tL0ludGVybmF0aW9uYWxCdXNpbmVzc01hY2hpbmVzQ29ycENvcnBvcmF0ZUNJ Ty9MYXRlc3RDUkwwggEpBgNVHSAEggEgMIIBHDCCARgGC2CGSAGG+EUBBxcCMIIBBzArBggr BgEFBQcCARYfaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYS1rcjCB1wYIKwYBBQUHAgIw gcoagcdOb3RpY2UgVGV4dD1OT1RJQ0U6IFByaXZhdGUga2V5IG1heSBiZSByZWNvdmVyZWQg YnkgVmVyaVNpZ24ncyBjdXN0b21lciB3aG8gbWF5IGJlIGFibGUgdG8gZGVjcnlwdCBtZXNz YWdlcyB5b3Ugc2VuZCB0byBjZXJ0aWZpY2F0ZSBob2xkZXIuICBVc2UgaXMgc3ViamVjdCB0 byB0ZXJtcyBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhLWtyMB8GA1UdIwQYMBaA FJHBc7Bz1dmSdGfNG/FRFDQxtixaMB0GA1UdDgQWBBScDZQbNfJ09T0Z0IN6wjCBx0HBozAt BgNVHREEJjAkoCIGCisGAQQBgjcUAgOgFAwSamFzbmVsbEB1cy5pYm0uY29tMB0GA1UdJQQW MBQGCCsGAQUFBwMCBggrBgEFBQcDBDARBglghkgBhvhCAQEEBAMCBaAwDQYJKoZIhvcNAQEF BQADgYEAF535Im9JtiKgPUSfsVdBt2Pzqpc7D3xfHRWsh9X9DvChKAbYBYfMvwXARb5aZi4/ 0Kw9p6sFu/eNNj91rTqJ3cqap8/sRO/EUCp2eBVzqC4Rl2fGrj27rc8Q2OgUjHhTZ90s+crn ns/vpeiDpnLfniTGFGMfwKDTe3HEsMDuPqwxggS3MIIEswIBATCCAQ4wgfkxCzAJBgNVBAYT AlVTMTQwMgYDVQQKEytJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0 aW9uMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBv ZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwMzEwMC4GA1UECxMn Q2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBMSQwIgYDVQQDExtJQk0g Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkCEHN+weNLk+ruP8LaUVgbJ4AwCQYFKw4DAhoFAKCC Av0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwOTI1MTQz MzEzWjAjBgkqhkiG9w0BCQQxFgQUOPedP6DHtFrkTjkIxQvBLB0LZP8wUgYJKoZIhvcNAQkP MUUwQzAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4D AgcwDQYIKoZIhvcNAwICASgwggEhBgkrBgEEAYI3EAQxggESMIIBDjCB+TELMAkGA1UEBhMC VVMxNDAyBgNVBAoTK0ludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRp b24xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9m IHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAzMTAwLgYDVQQLEydD bGFzcyAyIE9uU2l0ZSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0ExJDAiBgNVBAMTG0lCTSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQIQc37B40uT6u4/wtpRWBsngDCCASMGCyqGSIb3DQEJ EAILMYIBEqCCAQ4wgfkxCzAJBgNVBAYTAlVTMTQwMgYDVQQKEytJbnRlcm5hdGlvbmFsIEJ1 c2luZXNzIE1hY2hpbmVzIENvcnBvcmF0aW9uMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24u Y29tL3JwYSAoYykwMzEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBTdWJz Y3JpYmVyIENBMSQwIgYDVQQDExtJQk0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCEHN+weNL k+ruP8LaUVgbJ4AwDQYJKoZIhvcNAQEBBQAEgYC5p/SwTBfLvoFl5+TMKzckFJJ0laRL+9Nq 5TZzRZH48UuitHRcmMIkl4vyvV6vEpN2dObtdJdUdH/idkC0UpOFg7xMG2SpMgGCf7aZS4Cl OMotLUwcaZz2q9u88neDCao+y8EzlQc+WKT6YoMU4+87ra9vBdNi7HE9uPqVQW0dKwAAAAAA AA== --------------ms030505010803080607060806--