<html><head><base href="x-msg://638/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>What do you mean by "files"?  You are conflating OS "files" with Modula-3 Rd/Wr.T.  They are not necessarily the same.  Modula-3 is designed to be OS-independent.  As you are already aware, some systems have only 32-bit addressable files.</div><div><br></div><div>If we go the route you suggest then LONGINT will escape from a few isolated uses into the rest of the system.  This seems overkill.  With Rd/Wr.Length typed as INTEGER then on 64-bit systems you will have 64-bit addressable files.  Elsewhere, 32-bit.</div><div><br></div><div>I am really starting to think the addition of LONGINT was a big mistake.</div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><span class="Apple-style-span" style="font-size: medium;"><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><br></font></span></div></span></span></span></span></span></span></span></span></div></span></span></div><div><div>On 7 Jan 2010, at 15:31, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; ">Given that files are in fact larger than 4GB, why should we impose such a limit?<br>Doesn't it make for a pretty lame system?<br> <br>Pretty much no existing 32bit C system for many years now any such limit and<br>C started going past these limits around 15 years ago.<br> <br>It turns out changes I sent were pretty nearly done. I can now build all of "std"<br>with LONGINT for file sizes. It's not just Rd/Wr, though that is most of it, it is also "File".<br> <br> <br> - Jay<br><br> <br><hr id="stopSpelling">Subject: Re: [M3devel] what to do about file sizes being 32bits?<br>From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>Date: Thu, 7 Jan 2010 14:17:40 -0500<br>CC:<span class="Apple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>;<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>To:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br><br><div>I guess what I am really saying is that it does not seem unreasonable to me that Modula-3 (as a language) should be able to restrict the Rd.T and Wr.T instances to have a length that is always expressible as INTEGER.  That was the point of my question about eliminating LONGINT.  With the C interfaces abstracted, LONGINT would no longer be necessary.</div><div><br></div><div><span class="ecxApple-style-span" style="font-size: 12px; "><font class="ecxApple-style-span" color="#0000ff"><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Antony Hosking</span></span></font></font><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "> | </span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; ">Associate Professor</span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "> | Computer Science | Purdue University</span></span></font></span></div><div><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div style="word-wrap: break-word; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; ">305 N. University Street | West Lafayette | IN 47907 | USA</span></font></div><div><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Office</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "> <skype:span id="softomate_v3_highlight_0" class="skype_v3_tb_injection" title="Call this phone number in United States of America with Skype: +17654946001" context="+1 765 494 6001" type=".flex" skypeid="0" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%"><skype:span id="skype_v3_tb_droppart_0" class="skype_v3_tb_imgA" title="Skype actions" skypeid="0" skypeaction="drop" skypesms="0" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f0" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/US.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s0" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text0" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText0" class="skype_v3_tb_innerText"> +1 765 494 6001 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r0" class="skype_v3_tb_imgR"></skype:span></skype:span><span class="Apple-converted-space"> </span><skype:span id="softomate_v3_print_0" class="skype_v3_tb_injection_print" context="">+1 765 494 6001</skype:span><span class="Apple-converted-space"> </span>|<span class="ecxApple-converted-space"> </span></span></span></font><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Mobile</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-converted-space"> </span><skype:span id="softomate_v3_highlight_1" class="skype_v3_tb_injection" title="Call this phone number in United States of America with Skype: +17654275484" context="+1 765 427 5484" type=".flex" skypeid="1" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%"><skype:span id="skype_v3_tb_droppart_1" class="skype_v3_tb_imgA" title="Skype actions" skypeid="1" skypeaction="drop" skypesms="1" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f1" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/US.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s1" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text1" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText1" class="skype_v3_tb_innerText"> +1 765 427 5484 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r1" class="skype_v3_tb_imgR"></skype:span></skype:span><span class="Apple-converted-space"> </span><skype:span id="softomate_v3_print_1" class="skype_v3_tb_injection_print" context="">+1 765 427 5484</skype:span></span></span></font></div><div><font class="ecxApple-style-span" face="GillSans-Light"><br class="ecxkhtml-block-placeholder"></font></div></span></span></span></span></span></span></span><br class="ecxApple-interchange-newline"></span></div></span></span><br class="ecxApple-interchange-newline"></div><br><div><div>On 7 Jan 2010, at 14:07, Tony Hosking wrote:</div><br class="ecxApple-interchange-newline"><blockquote><div style="word-wrap: break-word; "><div><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><div style="word-wrap: break-word; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><div><font class="ecxApple-style-span" color="#0000ff" face="'Gill Sans'"><span class="ecxApple-style-span" style="font-size: medium; ">Jay,</span></font></div><div><font class="ecxApple-style-span" color="#0000ff" face="'Gill Sans'"><span class="ecxApple-style-span" style="font-size: medium; "><br></span></font></div><div><span class="ecxApple-style-span" style="font-size: medium; "><font class="ecxApple-style-span" color="#0000ff" face="'Gill Sans'">I am *very* concerned that these changes are damaging the clarity of the language and its libraries in bad ways.  What is so unreasonable about having the Modula-3 library interfaces place restrictions that continue to impose INTEGER file sizes.  Just because the underlying OS allows files larger than that, if a program creates and manipulates files through the standard interfaces then they cannot ever see file sizes bigger than INTEGER.  The interfaces support failure of Put operations on Wr.T that permit us to fail when exceeding the restricted file size.  Please do not make these changes in the mainline trunk until further discussion.  If you want to propose a set of changes I strongly suggest that you place them in a branch for evaluation by others!</font></span></div></span></span></span></span></span></span></span></span></div></span></span></div><div><br class="ecxwebkit-block-placeholder"></div><div>-- Tony</div><br><div><div>On 7 Jan 2010, at 12:26, Jay K wrote:</div><br class="ecxApple-interchange-newline"><blockquote><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal medium/normal Helvetica; white-space: normal; letter-spacing: normal; word-spacing: 0px; "><div class="ecxhmmessage" style="font-family: Verdana; font-size: 10pt; ">> Not in the current release<br><br>Agreed.<br><br><br>I think I'll have this done in the next few days, with the<br>major caveat that it does break a lot of code. I'll fix the cm3 tree.<br><br><br>The breakage is roughly:<br><br><br>rd/wr users:<br>before:<br>  a := Rd.Length(b);<br>  c := Rd.Index(b);<br>  Rd.Seek(b, d);<br><br><br>after:<br>  a := ORD(Rd.Length(b));<br>  c := ORD(Rd.Index(b));<br>  Rd.Seek(b, VAL(d, LONGINT));<br><br><br>Though I think the last line should just work without change.<br><br><br>rd/wr implementers:<br> more substantial changes, but still similar, lots of ORD/VAL, and "L".<br><br><br>One more compatible alternative might be to add LengthL, IndexL, SeekL?<br>Maybe only break rd/wr implementers but not users?<br><br><br>The reason I don't like that though is that it is even more of a no-op.<br>Nobody will switch to the new functions.<br>Similar to how "today" everybody will just ORD/VAL over the difference.<br><br><br>To be clear though, the time for this change was 10 or 20 years ago.<br>Now, 32bit systems are going away and with them this problem.<br>(Amazingly, some 64bit systems still have 32bit time_t, like I think OpenBSD..)<br><br><br> - Jay<br><br><br>> Date: Thu, 7 Jan 2010 14:52:10 +0100<br>> From:<span class="ecxApple-converted-space"> </span><a href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</a><br>> To:<span class="ecxApple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>> Subject: Re: [M3devel] what to do about file sizes being 32bits?<br>><span class="ecxApple-converted-space"> </span><br>> Quoting<span class="ecxApple-converted-space"> </span><a href="mailto:hendrik@topoi.pooq.com">hendrik@topoi.pooq.com</a>:<br>><span class="ecxApple-converted-space"> </span><br>> > On Thu, Jan 07, 2010 at 06:59:31AM +0000, Jay K wrote:<br>> >><br>> >> File.i3:<br>> >><br>> >><br>> >> Status = RECORD<br>> >> type: Type;<br>> >> modificationTime: Time.T;<br>> >> size: CARDINAL (* oops... *)<br>> >> END;<br>> >><br>> >><br>> >> What to do?<br>> >> [0.. higher than 7FFFFFFF] doesn't "just work".<br>> >> higher than 7FFFFFFFF is not legal on 32bit, unless you put "L"<span class="ecxApple-converted-space"> </span><br>> >> on the end,<br>> >> which presumably has some relationship to turning it into a<span class="ecxApple-converted-space"> </span><br>> >> LONGINT, which<br>> >> causes users to fail to compile<br>> ><br>> > In any case, is the proper type for file offsets [0..7fffffffffffffff]<br>> > or [0..ffffffffffffffff]? I suspect the latter. It might take some<br>> > effort to make that legal in Modula 3.<br>><span class="ecxApple-converted-space"> </span><br>> Well, I don't think that should be any practical problem right now,<br>> shouldn't it? But 32 bit offsets have been overcome for years even<br>> on 32 bit systems, so I definitely think we should keep the LONGINT<br>> type and even try to incompatibly change the internal file length<br>> type (with due care and consideration of course).<br>><span class="ecxApple-converted-space"> </span><br>> And please not for the still unfinished release, but for the next<br>> one.<br>><span class="ecxApple-converted-space"> </span><br>> Olaf<br>> --<span class="ecxApple-converted-space"> </span><br>> Olaf Wagner -- elego Software Solutions GmbH<br>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<br>> phone:<span class="Apple-converted-space"> </span><skype:span id="softomate_v3_highlight_2" class="skype_v3_tb_injection" title="Call this phone number in Germany with Skype: +493023458696" context="+49 30 23 45 86 96" type=".flex" skypeid="2" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%"><skype:span id="skype_v3_tb_droppart_2" class="skype_v3_tb_imgA" title="Skype actions" skypeid="2" skypeaction="drop" skypesms="0" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f2" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/DE.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s2" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text2" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText2" class="skype_v3_tb_innerText"> +49 30 23 45 86 96 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r2" class="skype_v3_tb_imgR"></skype:span></skype:span><span class="Apple-converted-space"> </span><skype:span id="softomate_v3_print_2" class="skype_v3_tb_injection_print" context="">+49 30 23 45 86 96</skype:span><span class="Apple-converted-space"> </span>mobile:<span class="Apple-converted-space"> </span><skype:span id="softomate_v3_highlight_3" class="skype_v3_tb_injection" title="Call this phone number in Germany with Skype: +491772345869" context="+49 177 2345 869" type=".flex" skypeid="3" skypeaction="call" nof="" isfax="" freecall="" fwidth=".w16" mode=".compat" path="file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/" durex2="%DADDYHEIGHT%" durex="%DADDYWIDTH%"><skype:span id="skype_v3_tb_droppart_3" class="skype_v3_tb_imgA" title="Skype actions" skypeid="3" skypeaction="drop" skypesms="1" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/inactive_a.compat.flex.w16.gif); "><skype:span id="skype_v3_tb_img_f3" class="skype_v3_tb_imgFlag" style="background-image: url(file://C:/Users/jay/Temp/__SkypeIEToolbar_Cache/e70d95847a8f5723cfca6b3fd9946506/static/famfamfam/DE.gif); "></skype:span></skype:span><skype:span id="skype_v3_tb_img_s3" class="skype_v3_tb_imgS"></skype:span><skype:span id="skype_v3_tb_text3" class="skype_v3_tb_injectionIn"><skype:span id="skype_v3_tb_innerText3" class="skype_v3_tb_innerText"> +49 177 2345 869 </skype:span></skype:span><skype:span id="skype_v3_tb_img_r3" class="skype_v3_tb_imgR"></skype:span></skype:span><skype:span id="softomate_v3_print_3" class="skype_v3_tb_injection_print" context="">+49 177 2345 869</skype:span><span class="Apple-converted-space"> </span>fax: +49 30 23 45 86 95<br>><span class="ecxApple-converted-space"> </span><a href="http://www.elegosoft.com/">http://www.elegosoft.com</a><span class="ecxApple-converted-space"> </span>| Geschäftsführer: Olaf Wagner | Sitz: Berlin<br>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<br>><span class="ecxApple-converted-space"> </span><br></div></span></blockquote></div><br></div></blockquote></div><br></div></span><br class="Apple-interchange-newline"></blockquote></div><br></body></html>