Delivery-date: Sat, 11 May 2024 09:28:00 -0700 Received: from mail-yb1-f189.google.com ([209.85.219.189]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s5pZm-00039a-So for bitcoindev@gnusha.org; Sat, 11 May 2024 09:28:00 -0700 Received: by mail-yb1-f189.google.com with SMTP id 3f1490d57ef6-de468af2b73sf5747548276.0 for ; Sat, 11 May 2024 09:27:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1715444873; x=1716049673; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=SLyCnwF2oJy9ExYRnfrWUOSdwPMiYiraWVXFpunMkPY=; b=FuR8nq1o4UhHIZuaJxh9gX6FusQcd2qDOV3mpki224Z74wUDY3/9J0v9R/3pzUo5e/ JzpFiHQdxaLEFrPFnuHaemyJyLag5BunyO/gRfahmeh1hyz1C+EFskVZyMQDZCEZBvVo e0BccE/SdmcCslXI4Jp4LwdiKOkcUo/FK5RSI2xvssNfNXGEdusLHNa4lHXZye/rpdGL GB2owK92q5bW3A8JBuSEXNVhlONcZk3+boD1kxRRiYPtKz/SaU5TzrFCVDh9W9cB35B0 0cl80VFDkCqmqk3I9qJf8SWp8L92uPO+A1YyK/wuG7wlLV6kfASoCONLvLb6z6ubFztT YUhg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715444873; x=1716049673; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=SLyCnwF2oJy9ExYRnfrWUOSdwPMiYiraWVXFpunMkPY=; b=Ffr10yS9Z0ZuZBQa2bVmZqleCFgG7gycnIRDpmRcJxs9m40sh6/ipadnI3d48koY5O o6sSZ9uzOgM18CTBCLqR9dXMUpMSI90fSYxFdu7GHpC4d0S7OfXsPqsvDp4+O1hJNy38 frGrgMKc76jtdgEDX6cwhm4Shr4h1hNfP3WzX/7C+rOhxjm/eM/1I8zo2mDAQtdQjxxn EB5lzu/j1bJamMiu+ZxC3Dri3hBGAzlA+VSsYnlkkZI3+xDsB+BDf1QQRJ/YUlrTf3t1 /XwcXrNjbXUWFUi+YKWcHE02MseqermaJWExNzuLak9YW9KPlSpHWJaC5pOWFCiHowJ3 V1/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715444873; x=1716049673; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=SLyCnwF2oJy9ExYRnfrWUOSdwPMiYiraWVXFpunMkPY=; b=KiryGhzH09PhC+5txzZOuWfO5KDIC5XDL/OFcRnZAkf9qyFCXzIHn/vubkMuK56lxH ijwOlaYRC9P+cEYMDR4iVKSfwLB2k6qhdmAcpB+hucIFw9nCPfkr41r+W4KA4bAOmLZl tL8fjKRnmn0GTfawjj1uxnodaBJm4pRqZPT5cDevTUQLhU6ECFuxdRrG51aEFX7qbjRI MAukFO7yQFGBPeyTHUcTmU2FjF7WYbOWHepQDpXzwaS27mbqzOZnumEsQLBHBz1NsEw0 d0jAY7LpOP+q22UI75pV7PHgOzLy/WBJTmKd/k4aFnj8ENODDSR94NJk/UquZyA6CBws icqg== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCWuxYyjr6itXL6boGq80GCQY7yRyGFCPPmU1Mc8OlXQXnsx7No3zw3PFAV8Rnm+UB40Iml0m5ZVAaHyKIfUa6zp6hnSuxo= X-Gm-Message-State: AOJu0Yyfin+fGG9R9V7qcj+s/7QYxaoTXFgdoOyP+FefnLC5lZtbxGep sgUJENnZw1H9FFmLtCPePWkVv+IkZ5Wek3pMYeqwd9V6YKtTX8xC X-Google-Smtp-Source: AGHT+IGgsKvCVd5cHMc4wZyevuBTexnBSR1ZnpmhgKbN0M5TS4a6ujlxs8bqA2uywEY62jjp799edg== X-Received: by 2002:a25:8445:0:b0:dc6:19ea:9204 with SMTP id 3f1490d57ef6-dee4f508f1dmr5777486276.61.1715444872654; Sat, 11 May 2024 09:27:52 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a25:c544:0:b0:deb:438a:43c1 with SMTP id 3f1490d57ef6-debd086c93bls697138276.1.-pod-prod-06-us; Sat, 11 May 2024 09:27:51 -0700 (PDT) X-Received: by 2002:a05:690c:3383:b0:61a:bfc8:64ce with SMTP id 00721157ae682-622b001a073mr15830437b3.8.1715444871199; Sat, 11 May 2024 09:27:51 -0700 (PDT) Received: by 2002:a05:690c:10d:b0:620:26bb:319f with SMTP id 00721157ae682-622afab6ec0ms7b3; Fri, 10 May 2024 10:47:11 -0700 (PDT) X-Received: by 2002:a05:690c:6202:b0:61b:e2eb:f05 with SMTP id 00721157ae682-622afdd93e5mr8793187b3.2.1715363230444; Fri, 10 May 2024 10:47:10 -0700 (PDT) Date: Fri, 10 May 2024 10:47:10 -0700 (PDT) From: Prof EduStream To: Bitcoin Development Mailing List Message-Id: <050ed80d-f4a1-48de-8808-a8af7fac3cf1n@googlegroups.com> In-Reply-To: References: <9004c5d4-6b9d-4ac1-834c-902ba4901e05n@googlegroups.com> <5fcc4168-b4fd-4efd-b11c-6bbf852871ccn@googlegroups.com> Subject: Re: [bitcoindev] BIP 322 use case MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_60486_1824040206.1715363230038" X-Original-Sender: profedustream@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_60486_1824040206.1715363230038 Content-Type: multipart/alternative; boundary="----=_Part_60487_1004776637.1715363230038" ------=_Part_60487_1004776637.1715363230038 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey, @Luke: You said a few days ago that signing a message with a multi-sig=20 address doesn't have lots of use cases. That's true. But I would argue that= =20 the use cases are the same as signing a message with a single-sig address:= =20 being able to cryptographically show that you own an address, which is=20 possible in Bitcoin. I also don't understand why a multi-sig user =E2=80=94 who uses a multi-sig= wallet=20 to secure their bitcoins =E2=80=94 couldn't be able to do the same things a= s a=20 single-sig user. Not wanting to create tools or features that could be used as compliance=20 tools is an answer, and as a privacy advocate I do understand this point of= =20 view. However, single-sig signing already exists, and multi-sig signing=20 would only extend this feature to a few people for their personal use; plus= =20 some companies, which are already compliant. *> "That being said, BIP322 as-is has already been adopted by at least some= =20 wallets, despite its unfinished state"* @Luke & @Ali: I have tried numerous wallets in the past few weeks, but=20 none of them seemed to have adopted BIP322. If you have any further=20 information (or GitHub implementation / repo), please feel free to send it= =20 to me.=20 Thank you both for your answers, @ProfEduStream Le dimanche 5 mai 2024 =C3=A0 16:54:28 UTC+2, Luke Dashjr a =C3=A9crit : > Addresses are not tied to UTXOs. A proof-of-funds would only ever be=20 > proving a numeric amount, not an address. While the proof would necessari= ly=20 > use UTXOs behind-the-scenes, the signature would not be committing to tho= se=20 > specific UTXOs being the property of the message-signer; this property is= =20 > necessary for plausible deniability as well as hot/cold wallet separation= =20 > (multiple users could have signed messages using the same UTXOs, yet=20 > reflecting distinct bitcoin claims). > > Proof-of-sender, on the other hand, would make a claim to have sent a=20 > specific txid and output index. Where this gets fairly complicated is tha= t=20 > it's somewhat important to have a mechanism that is compatible with=20 > coinjoins, and without requiring the coinjoin participants to keep in=20 > contact after the transaction is formed. It should able be compatible wit= h=20 > signing for transactions sent without preparation to sign messages later.= =20 > Ultimately, this requires delegation. > > And since it wouldn't be great to be able to distinguish between delegate= d=20 > and non-delegated, probably everything should just always be delegated=20 > (perhaps to a deterministic keypair in some scenarios). > > There's also potentially a use case for accepting an opcode rejects on=20 > mainnet as invalid, so tapscripts can commit to sign-only script paths. > > One thing all the current message signing standards lack is some kind of= =20 > magic heading to identify what they are, like bech32's "bc1" prefix. This= =20 > would be a trivial addition rather than trying to decode signatures N=20 > different ways and seeing which verify. > > I do agree being able to, at least internally, convert to/from PSBTs woul= d=20 > improve compatibility significantly. This was the approach I aimed for wh= en=20 > I tried to tackle it a few months ago. One limitation with PSBTs is that= =20 > each input needs non-witness and/or witness input data - repeatedly, if= =20 > multiple of the same transaction's outputs are used as inputs. To address= =20 > that, I was planning to support having them refer back to previous inputs= '=20 > data. > > Hope all this helps, if someone wants to pick up the task... > > Luke > On 5/5/24 08:09, Ali Sherief wrote: > > > But the feature with much higher demand is proof-of-funds and=20 > proof-of-sender, which BIP322 began to address, but turns out to be much= =20 > more complicated than it seems at face value (I recently looked into this= =20 > again as part of relaunching OCEAN). > > BIP322 is trying to figure two things: Collecting an authentic UTXO set= =20 > for a given list of addresses, and actually making the signed message. It= =20 > appears that only the latter of the two has been solved. > > I think one of the things that would help unstuck this is an RPC for=20 > getting the UTXO set of a list of addresses. I am aware that this is=20 > already possible with some SPV implementations, but to have the=20 > functionality directly in Core would make this BIP more viable. > > > That being said, BIP322 as-is has already been adopted by at least some= =20 > wallets, despite its unfinished state. So if someone were to pick up this= =20 > task, it would probably need to be done as a new BIP=20 > > Probably the best solution would be to make a split, where the BIP322=20 > draft as it currently is can be used unofficially and then programmed int= o=20 > software that needs it, and then you can have the actual=20 > authentication/contract mechanism constructed in a new BIP. Actually, we= =20 > already have some of the framework for this in Core, since PSBTs can be= =20 > used to distribute and sign "message contracts". All that's needed is an= =20 > RPC to get the UTXO set and another to create an unsigned template=20 > transaction for the message. > > -Ali > > On Saturday, May 4, 2024 at 12:14:53=E2=80=AFAM UTC Luke Dashjr wrote: > > KYC is not an intended use case for signed messages, and attempts to use= =20 > it for that are probably one of the bigger reasons BIP322 has not moved= =20 > further - most people do not want to encourage nor enable such nonsense. = If=20 > you absolutely must only allow withdrawls to the user's own address, I=20 > would suggest taking a more traditional approach of asking the user to=20 > affirm it with a checkbox. (This is not legal advice, but it seems crazy = to=20 > demand cryptographic proof from Bitcoin companies, when traditional finan= ce=20 > is okay with a mere attestation) > > Technically speaking, however, the biggest hurdle is that there is very= =20 > little apparent interest in the one limited use case it *is* meant for:= =20 > agreeing to a contract before funds are sent. To a limited extent, a=20 > secondary use case has been simply using Bitcoin addresses as a kind of= =20 > login mechanism (eg, #Bitcoin-OTC and OCEAN). But the feature with much= =20 > higher demand is proof-of-funds and proof-of-sender, which BIP322 began t= o=20 > address, but turns out to be much more complicated than it seems at face= =20 > value (I recently looked into this again as part of relaunching OCEAN).= =20 > That being said, BIP322 as-is has already been adopted by at least some= =20 > wallets, despite its unfinished state. So if someone were to pick up this= =20 > task, it would probably need to be done as a new BIP. :/ > > Luke > > > On 5/3/24 19:53, ProfEduStream wrote: > > Hey, > > As a Bitcoin association, we're currently facing an issue because we're= =20 > unable to sign an address with our multi-sig wallet. > After conducting some research, I came across BIP322 in these threads:=20 > https://bitcointalk.org/index.php?topic=3D5408898.0 &=20 > https://github.com/bitcoin/bips/pull/1347 > > *Explanation*: > > As a Bitcoin association, we offer membership to everyone for a few=20 > thousand sats per year. To facilitate this process, we utilize "Swiss=20 > Bitcoin Pay". It's an application that allows us to easily manage our=20 > accounting. Additionally, we onboard merchants with this app because of i= ts=20 > user-friendly interface and self-custodial capabilities, making it very= =20 > convenient. The accounting features are also highly beneficial. > > To utilize this application in a self-custodial manner, users need to=20 > paste a Bitcoin address on the "Swiss Bitcoin Pay" dashboard and then sig= n=20 > a message with this address. This serves as a "Proof-of-Ownership" and is= a=20 > legal requirement in some regulated countries. "Swiss Bitcoin Pay" is not= =20 > the only application that requires signing a message as a=20 > "Proof-of-Ownership". Peach, a non-KYC P2P Bitcoin application, is anothe= r=20 > example. > > Given our goal to decentralize our treasury, we naturally opt for a=20 > multi-sig wallet, similar to many companies. However, as you know, BIP 32= 2=20 > hasn't been pushed and it's currently impossible to sign a message with a= =20 > multi-sig wallet. > > > *Conclusion*: > > I'm unsure why BIP322 hasn't been pushed or addressed in the past few=20 > months/years, but I want to highlight its necessity. > Additionally, I hope that this comment sheds light on a deficiency in our= =20 > Bitcoin ecosystem, and I trust that further improvements will be made to= =20 > enable people to sign a message with a multi-sig wallet. > > > I'm available to assist if needed. > > @ProfEduStream > > --=20 > You received this message because you are subscribed to the Google Groups= =20 > "Bitcoin Development Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an= =20 > email to bitcoindev+...@googlegroups.com. > To view this discussion on the web visit=20 > https://groups.google.com/d/msgid/bitcoindev/9004c5d4-6b9d-4ac1-834c-902b= a4901e05n%40googlegroups.com=20 > > . > > =20 > --=20 > You received this message because you are subscribed to the Google Groups= =20 > "Bitcoin Development Mailing List" group. > To unsubscribe from this group and stop receiving emails from it, send an= =20 > email to bitcoindev+...@googlegroups.com. > > To view this discussion on the web visit=20 > https://groups.google.com/d/msgid/bitcoindev/5fcc4168-b4fd-4efd-b11c-6bbf= 852871ccn%40googlegroups.com=20 > > . > > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= bitcoindev/050ed80d-f4a1-48de-8808-a8af7fac3cf1n%40googlegroups.com. ------=_Part_60487_1004776637.1715363230038 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hey,

@Luke: You said a few days = ago that signing a message with a multi-sig address doesn't have lots of us= e cases. That's true. But I would argue that the use cases are the same as = signing a message with a single-sig address: being able to cryptographicall= y show that you own an address, which is possible in Bitcoin.
I a= lso don't understand why a multi-sig user =E2=80=94 who uses a multi-sig wa= llet to secure their bitcoins =E2=80=94 couldn't be able to do the same thi= ngs as a single-sig user.

Not wanting to create = tools or features that could be used as compliance tools is an answer, and = as a privacy advocate I do understand this point of view. However, single-s= ig signing already exists, and multi-sig signing would only extend this fea= ture to a few people for their personal use; plus some companies, which are= already compliant.


> "Th= at being said, BIP322 as-is has already been adopted by at least some walle= ts, despite its unfinished state"

=C2= =A0@Luke & @Ali: I have tried numerous wallets in the past few weeks, b= ut none of them seemed to have adopted BIP322. If you have any further info= rmation (or GitHub implementation / repo), please feel free to send it to m= e.


Thank you both for your ans= wers,
@ProfEduStream
Le dimanche 5 mai 2024 =C3=A0 16:54:28 UTC= +2, Luke Dashjr a =C3=A9crit=C2=A0:
=20 =20 =20

Addresses are not tied to UTXOs. A proof-of-funds would only ever be proving a numeric amount, not an address. While the proof would necessarily use UTXOs behind-the-scenes, the signature would not be committing to those specific UTXOs being the property of the message-signer; this property is necessary for plausible deniability as well as hot/cold wallet separation (multiple users could have signed messages using the same UTXOs, yet reflecting distinct bitcoin claims).

Proof-of-sender, on the other hand, would make a claim to have sent a specific txid and output index. Where this gets fairly complicated is that it's somewhat important to have a mechanism that is compatible with coinjoins, and without requiring the coinjoin participants to keep in contact after the transaction is formed. It should able be compatible with signing for transactions sent without preparation to sign messages later. Ultimately, this requires delegation.

And since it wouldn't be great to be able to distinguish between delegated and non-delegated, probably everything should just always be delegated (perhaps to a deterministic keypair in some scenarios).

There's also potentially a use case for accepting an opcode rejects on mainnet as invalid, so tapscripts can commit to sign-only script paths.

One thing all the current message signing standards lack is some kind of magic heading to identify what they are, like bech32's "bc1" prefix. This would be a trivial addition rather than = trying to decode signatures N different ways and seeing which verify.

I do agree being able to, at least internally, convert to/from PSBTs would improve compatibility significantly. This was the approach I aimed for when I tried to tackle it a few months ago. One limitation with PSBTs is that each input needs non-witness and/or witness input data - repeatedly, if multiple of the same transaction's outputs are used as inputs. To address that, I was planning to support having them refer back to previous inputs' data.

Hope all this helps, if someone wants to pick up the task...

Luke

On 5/5/24 08:09, Ali Sherief wrote:
>=C2=A0But the feature with much higher demand is proof-of-funds and proof-of-sender, which BIP322 began to address, but turns out to be much more complicated than it seems at face value (I recently looked into this again as part of relaunching OCEAN).

BIP322 is trying to figure two things: Collecting an authentic UTXO set for a given list of addresses, and actually making the signed message. It appears that only the latter of the two has been solved.

I think one of the things that would help unstuck this is an RPC for getting the UTXO set of a list of addresses. I am aware that this is already possible with some SPV implementations, but to have the functionality directly in Core would make this BIP more viable.

>=C2=A0That being said, BIP322 as-is has already been adopted by a= t least some wallets, despite its unfinished state. So if someone were to pick up this task, it would probably need to be done as a new BIP

Probably the best solution would be to make a split, where the BIP322 draft as it currently is can be used unofficially and then programmed into software that needs it, and then you can have the actual authentication/contract mechanism constructed in a new BIP. Actually, we already have some of the framework for this in Core, since PSBTs can be used to distribute and sign "message contracts". All that's needed is an RPC to g= et the UTXO set and another to create an unsigned template transaction for the message.

-Ali

On Saturday, May 4, 2024 at 12:14:53=E2=80=AFAM= UTC Luke Dashjr wrote:

KYC is not an intended use case for signed messages, and attempts to use it for that are probably one of the bigger reasons BIP322 has not moved further - most people do not want to encourage nor enable such nonsense. If you absolutely must only allow withdrawls to the user's own address, I would suggest taking a mor= e traditional approach of asking the user to affirm it with a checkbox. (This is not legal advice, but it seems crazy to demand cryptographic proof from Bitcoin companies, when traditional finance is okay with a mere attestation)

Technically speaking, however, the biggest hurdle is that there is very little apparent interest in the one limited use case it *is* meant for: agreeing to a contract before funds are sent. To a limited extent, a secondary use case has been simply using Bitcoin addresses as a kind of login mechanism (eg, #Bitcoin-OTC and OCEAN). But the feature with much higher demand is proof-of-funds and proof-of-sender, which BIP322 began to address, but turns out to be much more complicated than it seems at face value (I recently looked into this again as part of relaunching OCEAN). That being said, BIP322 as-is has already been adopted by at least some wallets, despite its unfinished state. So if someone were to pick up this task, it would probably need to be done as a new BIP. :/

Luke


On 5/3/24 19:53, ProfEduStream wrote:

Hey,

As a Bitcoin association, we're current= ly facing an issue because we're unable to sign an address with our multi-sig wallet.
After conducting some research, I came across BIP322 in these threads: https://bitcointalk.or= g/index.php?topic=3D5408898.0 & https://github.com/bitcoin/bips/pull/1347

Explanation:

As a Bitcoin association, we offer membership to everyone for a few thousand sats per year. To facilitate this process, we utilize "Swiss Bitcoin Pay". It's an application that allows us= to easily manage our accounting. Additionally, we onboard merchants with this app because of its user-friendly interface and self-custodial capabilities, making it very convenient. The accounting features are also highly beneficial.

To utilize this application in a self-custodial manner, users need to paste a Bitcoin address on the "Swiss Bitcoin Pay" dashboard an= d then sign a message with this address. This serves as a "Proof-of-Ownership" and is a legal requirement= in some regulated countries. "Swiss Bitcoin Pay" i= s not the only application that requires signing a message as a "Proof-of-Ownership". Peach, a non-KYC P2P Bitcoin application, is another example.

Given our goal to decentralize our treasury, we naturally opt for a multi-sig wallet, similar to many companies. However, as you know, BIP 322 hasn't been pushed and it's currently impossi= ble to sign a message with a multi-sig wallet.


Conclusion:

I'm unsure why BIP322 hasn't been p= ushed or addressed in the past few months/years, but I want to highlight its necessity.
Additionally, I hope that this comment sheds light on a deficiency in our Bitcoin ecosystem, and I trust that further improvements will be made to enable people to sign a message with a multi-sig wallet.


I'm available to assist if needed= .

@ProfEduStream

--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List&qu= ot; group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+..= .@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bitcoindev/9004c5d4= -6b9d-4ac1-834c-902ba4901e05n%40googlegroups.com.
=C2=A0
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinde= v+...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg= id/bitcoindev/050ed80d-f4a1-48de-8808-a8af7fac3cf1n%40googlegroups.com.=
------=_Part_60487_1004776637.1715363230038-- ------=_Part_60486_1824040206.1715363230038--