220 26309 <2943c5c2-2c46-4447-b8f6-7647fc34d52c@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: alexander.zywicki@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Any interest to adding audio support to the std library?
Date: Sun, 12 Jun 2016 20:40:46 -0700 (PDT)
Lines: 249
Approved: news@gmane.org
Message-ID: <2943c5c2-2c46-4447-b8f6-7647fc34d52c@isocpp.org>
References: <5751B06A.4080501@mail1.stofanet.dk> <485D94E9-3386-4C2E-8C90-2AE821C3B7E6@gmail.com> <31D8D875-9842-4CC4-98C6-F75FD20155DE@gmail.com> <3560828.vAATzG8HgS@lastique-pc>
 <8AB38C1F-590D-4F81-9839-D7A4604E1831@gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_743_64243900.1465789247040"
X-Trace: ger.gmane.org 1465789255 24815 80.91.229.3 (13 Jun 2016 03:40:55 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 13 Jun 2016 03:40:55 +0000 (UTC)
Cc: alexander.zywicki@gmail.com
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCS7TY6DTQOBBQGW7C5AKGQEZHPLSNQ@isocpp.org Mon Jun 13 05:40:50 2016
Return-path: <std-proposals+bncBCS7TY6DTQOBBQGW7C5AKGQEZHPLSNQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-io0-f198.google.com ([209.85.223.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCS7TY6DTQOBBQGW7C5AKGQEZHPLSNQ@isocpp.org>)
	id 1bCIk6-0007Lb-6F
	for gclcip-std-proposals@m.gmane.org; Mon, 13 Jun 2016 05:40:50 +0200
Original-Received: by mail-io0-f198.google.com with SMTP id 5sf193541168ioy.2
        for <gclcip-std-proposals@m.gmane.org>; Sun, 12 Jun 2016 20:40:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:x-original-sender:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=sC2s6/jt9RCimKK7IVzeYDL9RfAsRcmWYAhJH8yuZF0=;
        b=D+rWH8QeOT3VfiXW9JWMxA36D65zNeglZ3s+cwoswQOXEx+qH8OvL5TLElvt0lYRRS
         EaU7P4ZJvIRFpqAN6CAvMomV2uQ5YPpDFJa/E4iEbtP1ImmacPLW5SBy7CU6qvx/+y5f
         Y7uuvWDpZJaf5/wId6+UO2EZgQD2EAUvY8eo9mcGNcwqZoWEA/7h/Ad4qpU1GJwEq+9y
         xnoHSOFSEw1FuUHWR7KX/fxbXh+DnGLMgfjjh0vl7f8XGWgdJWYycmz140UhEprWlMtb
         CSU5hB06J09nuWeK0uUsCKfT4UBgMgyOOpKjsKp+QxLqRjl7gmuLLFEZJdXzGQa7bdnJ
         WIew==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:x-original-sender:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=sC2s6/jt9RCimKK7IVzeYDL9RfAsRcmWYAhJH8yuZF0=;
        b=09nDQRtHJU1UXzCTIx0MTfTWaf8yAR2YeS2tHK5QElkQFdv0DgscNrioYLzmZjdQSF
         0+5Nrvz5Z9C462dgc9Z9mg/p05eS6p9xphxNwtOq8FZWeKFJgRjvBz8SQodLnOH39IsL
         wV9HnQ44trQzY2yUj0q/32hbCE7Y4zLhb3odLD2fI7sip8Tp0/wREW/Lfavz12mWUMQp
         uC+40T4IFIweEEMKv0oF4HhFChNiCMbJE5VU5ppK0BW0aQ/BmBOIEkibStJl+9YOvNyP
         +4lN0MezxFD9a3n7iYGicHlAphCS7/0FE/SpKAxK6kv5EFDRR9nRYo2UEOnyJjGIQh/I
         tpQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version:x-original-sender:reply-to
         :precedence:mailing-list:list-id:x-spam-checked-in-group:list-post
         :list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=sC2s6/jt9RCimKK7IVzeYDL9RfAsRcmWYAhJH8yuZF0=;
        b=lSKXgt+6lYfvOaYRBM+bgysYKOK5NEWF+rzzIiVuK1tya7elm4Zm753qZaUa3W0H29
         FtLngtbGCTADO+d191ux72pbxwdS0Q7PfTslyAC74ybTszyB0YJcFibpdl7chVknfVbM
         b2WUc79txt3o5x3iFwh7y6sUCD0kxT7grEl0kl5G1yboFDFEzTltVaaysyHGp97p1CqK
         Bmapgcw8HjFmo/hZqmalRAxq6IA3gNUxl5PLYs8ovW/0onRKp4RNwY1QkcUziBGsmi8J
         U7LdzZdv9I+An8CR+B9d6jvWX6etH+8yGN/zenE8k7pGKWJPjHTAIvXWOHtYpRK9w1dL
         c7Vg==
X-Gm-Message-State: ALyK8tKDhuNKWdEhFhhrZCvDVGtVW7ybrUDUcY7J/8pvWdwCFC11uglec7hgJ0NqvTdI4Q==
X-Received: by 10.157.6.3 with SMTP id 3mr11112047otn.47.1465789249148;
        Sun, 12 Jun 2016 20:40:49 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.36.33.70 with SMTP id e67ls420433ita.15.gmail; Sun, 12 Jun
 2016 20:40:48 -0700 (PDT)
X-Received: by 10.36.1.15 with SMTP id 15mr121698itk.6.1465789248269;
        Sun, 12 Jun 2016 20:40:48 -0700 (PDT)
In-Reply-To: <8AB38C1F-590D-4F81-9839-D7A4604E1831@gmail.com>
X-Original-Sender: alexander.zywicki@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:26309
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/26309>

------=_Part_743_64243900.1465789247040
Content-Type: multipart/alternative; 
	boundary="----=_Part_744_99390176.1465789247040"

------=_Part_744_99390176.1465789247040
Content-Type: text/plain; charset=UTF-8

How do you all feel about this definition for a clock?

#include <chrono>
#include <type_traits>

//define audio_clock as high_resolution clock if high_resolution clock 
is_steady==true else use steady_clock
//conditional will result in a clock that is monotonic either way
//but can result in using a high_resolution_clock on certain platforms
using audio_clock = typename std::conditional<std::chrono::
high_resolution_clock::is_steady,
                                              std::chrono::
high_resolution_clock,
                                              std::chrono::steady_clock>::
type;



On Sunday, June 12, 2016 at 4:09:44 PM UTC-5, alexande...@gmail.com wrote:
>
> In that case I would argue for the use of the "std::chrono::steady_clock" 
> based on the fact that it is specified to be a monotonic clock. 
>
> Or a clock defined in a similar manor that counts in samples. 
>
> I also would imagine that our clock would need to have "is_steady" always 
> be true?
>
>
> On Jun 11, 2016, at 4:09 AM, Andrey Semashev <andrey.semashev@gmail.com> 
> wrote:
>
> On Saturday, 11 June 2016 11:03:41 MSK alexander.zywicki@gmail.com wrote:
>
> > Or at least store a time point each time the stream is started using a 
> clock
>
> > with a well defined epoch, so that we might be able to find the length of
>
> > time that the stream has been active and have meaningful measurements of
>
> > time within the stream.
>
>  
>
> There is no need to have the epoch bound to the beginning of the stream to 
> calculate its duration. Or any particular epoch at all. All you need is the 
> timestamp of its first and last frames.
>
>  
>
> A fixed epoch becomes important when you try to synchronize multiple 
> streams together. But even then it's not important what exactly is the 
> epoch; what is important is that it has to be the same for all streams you 
> are processing.
>
>  
>
> -- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/a/isocpp.org/d/topic/std-proposals/Hkdh02Ejx6s/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to 
> std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> To view this discussion on the web visit 
> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/3560828.vAATzG8HgS%40lastique-pc 
> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/3560828.vAATzG8HgS%40lastique-pc?utm_medium=email&utm_source=footer>
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/2943c5c2-2c46-4447-b8f6-7647fc34d52c%40isocpp.org.

------=_Part_744_99390176.1465789247040
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">How do you all feel about this definition for a clock?<br>=
<br><div class=3D"prettyprint" style=3D"background-color: rgb(250, 250, 250=
); border-color: rgb(187, 187, 187); border-style: solid; border-width: 1px=
; word-wrap: break-word;"><code class=3D"prettyprint"><div class=3D"subpret=
typrint"><span style=3D"color: #800;" class=3D"styled-by-prettify">#include=
</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </span><s=
pan style=3D"color: #080;" class=3D"styled-by-prettify">&lt;chrono&gt;</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify"><br></span><spa=
n style=3D"color: #800;" class=3D"styled-by-prettify">#include</span><span =
style=3D"color: #000;" class=3D"styled-by-prettify"> </span><span style=3D"=
color: #080;" class=3D"styled-by-prettify">&lt;type_traits&gt;</span><span =
style=3D"color: #000;" class=3D"styled-by-prettify"><br><br></span><span st=
yle=3D"color: #800;" class=3D"styled-by-prettify">//define audio_clock as h=
igh_resolution clock if high_resolution clock is_steady=3D=3Dtrue else use =
steady_clock</span><span style=3D"color: #000;" class=3D"styled-by-prettify=
"><br></span><span style=3D"color: #800;" class=3D"styled-by-prettify">//co=
nditional will result in a clock that is monotonic either way</span><span s=
tyle=3D"color: #000;" class=3D"styled-by-prettify"><br></span><span style=
=3D"color: #800;" class=3D"styled-by-prettify">//but can result in using a =
high_resolution_clock on certain platforms</span><span style=3D"color: #000=
;" class=3D"styled-by-prettify"><br></span><span style=3D"color: #008;" cla=
ss=3D"styled-by-prettify">using</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"> audio_clock </span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">=3D</span><span style=3D"color: #000;" class=3D"sty=
led-by-prettify"> </span><span style=3D"color: #008;" class=3D"styled-by-pr=
ettify">typename</span><span style=3D"color: #000;" class=3D"styled-by-pret=
tify"> std</span><span style=3D"color: #660;" class=3D"styled-by-prettify">=
::</span><span style=3D"color: #000;" class=3D"styled-by-prettify">conditio=
nal</span><span style=3D"color: #660;" class=3D"styled-by-prettify">&lt;</s=
pan><span style=3D"color: #000;" class=3D"styled-by-prettify">std</span><sp=
an style=3D"color: #660;" class=3D"styled-by-prettify">::</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify">chrono</span><span style=3D"=
color: #660;" class=3D"styled-by-prettify">::</span><span style=3D"color: #=
000;" class=3D"styled-by-prettify">high_resolution_clock</span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">::</span><span style=3D"colo=
r: #000;" class=3D"styled-by-prettify">is_steady</span><span style=3D"color=
: #660;" class=3D"styled-by-prettify">,</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify"><br>=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 std</span><span style=3D"colo=
r: #660;" class=3D"styled-by-prettify">::</span><span style=3D"color: #000;=
" class=3D"styled-by-prettify">chrono</span><span style=3D"color: #660;" cl=
ass=3D"styled-by-prettify">::</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify">high_resolution_clock</span><span style=3D"color: #660;"=
 class=3D"styled-by-prettify">,</span><span style=3D"color: #000;" class=3D=
"styled-by-prettify"><br>=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 std</span><span style=3D"color: #660=
;" class=3D"styled-by-prettify">::</span><span style=3D"color: #000;" class=
=3D"styled-by-prettify">chrono</span><span style=3D"color: #660;" class=3D"=
styled-by-prettify">::</span><span style=3D"color: #000;" class=3D"styled-b=
y-prettify">steady_clock</span><span style=3D"color: #660;" class=3D"styled=
-by-prettify">&gt;::</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify">type</span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">;</span></div></code></div><br><br><br>On Sunday, June 12, 2016 at 4:09=
:44 PM UTC-5, alexande...@gmail.com wrote:<blockquote class=3D"gmail_quote"=
 style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-=
left: 1ex;"><div dir=3D"auto"><div></div><div>In that case I would argue fo=
r the use of the &quot;std::chrono::steady_clock&quot; based on the fact th=
at it is specified to be a monotonic clock.=C2=A0</div><div><br></div><div>=
Or a clock defined in a similar manor that counts in samples.=C2=A0</div><d=
iv><br></div><div>I also would imagine that our clock would need to have &q=
uot;is_steady&quot; always be true?</div><div><br></div><div><br>On Jun 11,=
 2016, at 4:09 AM, Andrey Semashev &lt;<a href=3D"mailto:andrey.semashev@gm=
ail.com" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39=
;mailto:andrey.semashev@gmail.com&#39;;return true;" onclick=3D"this.href=
=3D&#39;mailto:andrey.semashev@gmail.com&#39;;return true;">andrey.semashev=
@gmail.com</a>&gt; wrote:<br><br></div><blockquote type=3D"cite"><div>

<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">On Saturday, 11 June 2016 11:03:41 MSK <a href=3D"mailt=
o:alexander.zywicki@gmail.com" target=3D"_blank" rel=3D"nofollow" onmousedo=
wn=3D"this.href=3D&#39;mailto:alexander.zywicki@gmail.com&#39;;return true;=
" onclick=3D"this.href=3D&#39;mailto:alexander.zywicki@gmail.com&#39;;retur=
n true;">alexander.zywicki@gmail.com</a> wrote:</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">&gt; Or at least store a time point each time the strea=
m is started using a clock</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">&gt; with a well defined epoch, so that we might be abl=
e to find the length of</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">&gt; time that the stream has been active and have mean=
ingful measurements of</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">&gt; time within the stream.</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">=C2=A0</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">There is no need to have the epoch bound to the beginni=
ng of the stream to calculate its duration. Or any particular epoch at all.=
 All you need is the timestamp of its first and last frames.</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">=C2=A0</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">A fixed epoch becomes important when you try to synchro=
nize multiple streams together. But even then it&#39;s not important what e=
xactly is the epoch; what is important is that it has to be the same for al=
l streams you are processing.</p>
<p style=3D"margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0=
px;text-indent:0px">=C2=A0</p>

<p></p>

-- <br>
You received this message because you are subscribed to a topic in the Goog=
le Groups &quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this topic, visit <a href=3D"https://groups.google.com/=
a/isocpp.org/d/topic/std-proposals/Hkdh02Ejx6s/unsubscribe" target=3D"_blan=
k" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;https://groups.google.c=
om/a/isocpp.org/d/topic/std-proposals/Hkdh02Ejx6s/unsubscribe&#39;;return t=
rue;" onclick=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/=
topic/std-proposals/Hkdh02Ejx6s/unsubscribe&#39;;return true;">https://grou=
ps.google.com/a/<wbr>isocpp.org/d/topic/std-<wbr>proposals/Hkdh02Ejx6s/<wbr=
>unsubscribe</a>.<br>
To unsubscribe from this group and all its topics, send an email to <a href=
=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_blank" rel=3D"n=
ofollow" onmousedown=3D"this.href=3D&#39;mailto:std-proposals+unsubscribe@i=
socpp.org&#39;;return true;" onclick=3D"this.href=3D&#39;mailto:std-proposa=
ls+unsubscribe@isocpp.org&#39;;return true;">std-proposals+unsubscribe@<wbr=
>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#39;ma=
ilto:std-proposals@isocpp.org&#39;;return true;" onclick=3D"this.href=3D&#3=
9;mailto:std-proposals@isocpp.org&#39;;return true;">std-proposals@isocpp.o=
rg</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/3560828.vAATzG8HgS%40lastique-pc?utm_=
medium=3Demail&amp;utm_source=3Dfooter" target=3D"_blank" rel=3D"nofollow" =
onmousedown=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/ms=
gid/std-proposals/3560828.vAATzG8HgS%40lastique-pc?utm_medium\x3demail\x26u=
tm_source\x3dfooter&#39;;return true;" onclick=3D"this.href=3D&#39;https://=
groups.google.com/a/isocpp.org/d/msgid/std-proposals/3560828.vAATzG8HgS%40l=
astique-pc?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">h=
ttps://groups.google.com/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/35608=
28.vAATzG8HgS%<wbr>40lastique-pc</a>.<br>
</div></blockquote></div></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/2943c5c2-2c46-4447-b8f6-7647fc34d52c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/2943c5c2-2c46-4447-b8f6-7647fc34d52c=
%40isocpp.org</a>.<br />

------=_Part_744_99390176.1465789247040--

------=_Part_743_64243900.1465789247040--

.
