Hi, Something to keep an eye on: pdftex bombs when an pdfannot happens inside an xform (still playing with that, so no pattern yet) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 2004-06-20 22:49:51 +0200, Hans Hagen wrote:
Something to keep an eye on: pdftex bombs when an pdfannot happens inside an xform (still playing with that, so no pattern yet)
Any pattern yet? Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
Martin Schröder wrote:
On 2004-06-20 22:49:51 +0200, Hans Hagen wrote:
Something to keep an eye on: pdftex bombs when an pdfannot happens inside an xform (still playing with that, so no pattern yet)
Any pattern yet?
no, must have been a border case Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Wed, Jun 30, 2004 at 06:09:11PM +0200, Hans Hagen wrote:
Martin Schröder wrote:
On 2004-06-20 22:49:51 +0200, Hans Hagen wrote:
Something to keep an eye on: pdftex bombs when an pdfannot happens inside an xform (still playing with that, so no pattern yet)
Any pattern yet?
no, must have been a border case
I changed it from 1.20a, so pdftex will exit with an error when a pdfannot ends up inside a xobject form. Before that, the result was unpredictable. Thanh
The Thanh Han wrote:
On Wed, Jun 30, 2004 at 06:09:11PM +0200, Hans Hagen wrote:
Martin Schröder wrote:
On 2004-06-20 22:49:51 +0200, Hans Hagen wrote:
Something to keep an eye on: pdftex bombs when an pdfannot happens inside an xform (still playing with that, so no pattern yet)
Any pattern yet?
no, must have been a border case
I changed it from 1.20a, so pdftex will exit with an error when a pdfannot ends up inside a xobject form. Before that, the result was unpredictable.
Currently, when one tries to include page 10 of a 9 page document, pdftex quits. Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions? Also, is it possible in case of a 'fatal' error which is not that fatal, to finish the file so that we get at least a valid pdf file; the alternative is to delete the file; it's really annoying to get back a file which is corrupt. In that case, no file at all is better. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 2004-07-02 09:40:57 +0200, Hans Hagen wrote:
Currently, when one tries to include page 10 of a 9 page document, pdftex quits. Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions?
I don't know how difficult it would be to implement, but what would be the benefits? The document has an error which must be signalled to the user.
Also, is it possible in case of a 'fatal' error which is not that fatal, to finish the file so that we get at least a valid pdf file; the alternative is to delete the file; it's really annoying to get back a file which is corrupt. In that case, no file at all is better.
Agreed. I've added that as a feature request on Sarovar for further tracking (http://sarovar.org/tracker/index.php?func=detail&aid=87&group_id=106&atid=496) Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
Hi guys, Can someone explain to me what the latest development version of pdftex is, where I can get it's source, and where the changes/bugs are tracked? I'm a bit confused by the sarovar / tex-live / perforce / ntg-mailinglist situation. TIA, Taco On Fri, 2 Jul 2004 11:15:49 +0200, Martin wrote:
Agreed. I've added that as a feature request on Sarovar for
-- groeten, Taco
Hi guys, Can someone explain to me what the latest development version of pdftex is, where I can get it's source, and where the changes/bugs are tracked? I'm a bit confused by the sarovar / tex-live / perforce / ntg-mailinglist situation. TIA, Taco On Fri, 2 Jul 2004 11:15:49 +0200, Martin wrote:
Agreed. I've added that as a feature request on Sarovar for
-- groeten, Taco
On 2004-07-02 11:44:58 +0200, Taco Hoekwater wrote:
Can someone explain to me what the latest development version of pdftex is, where I can get it's source, and where the changes/bugs are tracked?
Current version is 1.20a-rc4 (i.e. we are close to releasing 1.20a). Source should be in tex-live, but Thanh's internet connection is difficult so he doesn't commit every patch immediately. Tracking should be done on sarovar (currently it's done here); we are just starting to use it. Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
Martin Schröder wrote:
On 2004-07-02 09:40:57 +0200, Hans Hagen wrote:
Currently, when one tries to include page 10 of a 9 page document, pdftex quits. Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions?
I don't know how difficult it would be to implement, but what would be the benefits? The document has an error which must be signalled to the user.
sure, but better have a valid file than an invalid one; in workflows where a naive user is behind an interface, the worst advertisement you can get is an invalid file
Also, is it possible in case of a 'fatal' error which is not that fatal, to finish the file so that we get at least a valid pdf file; the alternative is to delete the file; it's really annoying to get back a file which is corrupt. In that case, no file at all is better.
Agreed. I've added that as a feature request on Sarovar for further tracking (http://sarovar.org/tracker/index.php?func=detail&aid=87&group_id=106&atid=496)
thanks Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Fri, Jul 02, 2004 at 09:40:57AM +0200, Hans Hagen wrote:
Currently, when one tries to include page 10 of a 9 page document, pdftex quits.
Before trying, the first page can be included in a box, then \pdflastximagespages is available for testing whether the intended inclusion page is valid. (Documents with zero pages cannot handled this way.)
Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions?
Instead of checking two dimensions, it should be easier to check
whether the page is not greater than \pdflastximagepages.
Then no funny value is needed for the dimensions, 0pt, 1pt, 1bp,
1in can be used.
Yours sincerely
Heiko
Heiko Oberdiek wrote:
On Fri, Jul 02, 2004 at 09:40:57AM +0200, Hans Hagen wrote:
Currently, when one tries to include page 10 of a 9 page document, pdftex quits.
Before trying, the first page can be included in a box, then \pdflastximagespages is available for testing whether the intended inclusion page is valid. (Documents with zero pages cannot handled this way.)
testing is an option fo rexisting files, but it's not that user friendly; my main point is that pdftex shoul dnot quit on such situations and definietly not end up in some funny mode (as it does now) and produce an invalid file (in batch mode). indeed the problem is most prominent with non existing files;
Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions?
Instead of checking two dimensions, it should be easier to check whether the page is not greater than \pdflastximagepages. Then no funny value is needed for the dimensions, 0pt, 1pt, 1bp, 1in can be used.
i was thinking about one of those; i dislike the 1 inch, zero dimensions are not always accepted by acrobat (one of those persistent bugs); 1pt is ok for me (i liked the pi -) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hello Hans, On Fri, Jul 02, 2004 at 02:08:02PM +0200, Hans Hagen wrote:
Heiko Oberdiek wrote:
On Fri, Jul 02, 2004 at 09:40:57AM +0200, Hans Hagen wrote:
Currently, when one tries to include page 10 of a 9 page document, pdftex quits.
Before trying, the first page can be included in a box, then \pdflastximagespages is available for testing whether the intended inclusion page is valid. (Documents with zero pages cannot handled this way.)
testing is an option fo rexisting files, but it's not that user friendly;
I would not consider the current low level interface of image inclusion as "user friendly". This should be done at macro level: graphicx/pdftex.def for plain/latex and your interface in ConTeXt.
my main point is that pdftex shoul dnot quit on such situations and definietly not end up in some funny mode (as it does now) and produce an invalid file (in batch mode).
I agree.
indeed the problem is most prominent with non existing files;
This case is handled by LaTeX's graphics.sty, it calls the LaTeX kernel macro \IfFileExists.
Is it possible to continue and return an empty xform with say 3.141592pt by 3.141592pt dimensions?
Instead of checking two dimensions, it should be easier to check whether the page is not greater than \pdflastximagepages. Then no funny value is needed for the dimensions, 0pt, 1pt, 1bp, 1in can be used.
i was thinking about one of those; i dislike the 1 inch, zero dimensions are not always accepted by acrobat (one of those persistent bugs); 1pt is ok for me (i liked the pi -)
It costs a lot of time to write pi as decimal number ... ;-)
Perhaps someone will update the documentation of pdfTeX.
1pt is easier to explain as 3.141592pt:
* Why not 3.14159pt:
\newdimen\foo
\foo=3.141592pt
\showthe\foo
% 3.14159pt
\newdimen\bar
\bar=3.14159pt
\ifdim\foo=\bar
\message{EQUAL}
\else
\message{NOT EQUAL}
\fi
% EQUAL
* Testing for such a value implicates that then this value is
forbidden for pdf page sizes. This complicates the documentation
and this limitation is not necessary at all (\pdflastximagepages
is much better here).
Behaviour of pdfTeX for pdf image inclusion:
DEFAULT := -1 or 0 (see below)
Continue := Continue with empty xform object with dimension 1pt x 1pt.
if PDFFileExists
if PageNumber < 1
\pdflastximagepages = DEFAULT
Warning "Invalid page number"
Continue
elsif PageNumber > \pdflastximagepages
\pdflastximagepages is set
Warning "Page number to large (out of range)
Continue
else
\pdflastximagepages is set
image is included
fi
else
Warning "PDF file does not exist"
\pdflastximagepages = DEFAULT
Continue
fi
Thus \pdflastximagepages = DEFAULT means:
"pdf file is not read" because of:
* No \pdfximage command, program start
* Invalid page number in previous call of \pdfximage
* Call with valid page number, but pdf file does not exist.
The value DEFAULT can be discussed. I have not found in the
pdf specification that pdf files with zero pages are forbidden.
Therefore I would prefer "-1", but the current default at
program start is "0".
Yours sincerely
Heiko
On 2004-07-02 15:13:37 +0200, Heiko Oberdiek wrote:
DEFAULT := -1 or 0 (see below) Continue := Continue with empty xform object with dimension 1pt x 1pt.
I dislike the 1pt (although it's difficult to generate pdfs with 1pt² (distiller will not produce it), it's still possible). Better: 1sp². _Nobody_ will do this intentional. :-)
if PDFFileExists if PageNumber < 1 \pdflastximagepages = DEFAULT Warning "Invalid page number" Continue elsif PageNumber > \pdflastximagepages \pdflastximagepages is set Warning "Page number to large (out of range) Continue else \pdflastximagepages is set image is included fi else Warning "PDF file does not exist" \pdflastximagepages = DEFAULT Continue fi
Thus \pdflastximagepages = DEFAULT means: "pdf file is not read" because of: * No \pdfximage command, program start * Invalid page number in previous call of \pdfximage * Call with valid page number, but pdf file does not exist.
The value DEFAULT can be discussed. I have not found in the pdf specification that pdf files with zero pages are forbidden.
Well, the catalog must have a page entry which must have kids. But arrays can be empty, so it's possible. But I doubt that AR will handle this. :-)
Therefore I would prefer "-1", but the current default at program start is "0".
Agreed. Overall this looks quite good. After 1.20a Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
Martin Schröder wrote:
Well, the catalog must have a page entry which must have kids. But arrays can be empty, so it's possible. But I doubt that AR will handle this. :-)
just for fun, try this: \pdfliteral{0 0 0 0 0 0 cm} and you'll see why zero dimensions (which may end up in calculations dealing with scaling) are dangerous; at least acro 6 windows barks (gs is ok) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 2004-07-02 16:23:59 +0200, Hans Hagen wrote:
just for fun, try this: \pdfliteral{0 0 0 0 0 0 cm} and you'll see why zero dimensions (which may end up in calculations dealing with scaling) are dangerous; at least acro 6 windows barks (gs is ok)
I can understand Acrobat barking at black holes. :-) Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
On Fri, Jul 02, 2004 at 03:54:55PM +0200, Martin Schröder wrote:
On 2004-07-02 15:13:37 +0200, Heiko Oberdiek wrote:
DEFAULT := -1 or 0 (see below) Continue := Continue with empty xform object with dimension 1pt x 1pt.
I dislike the 1pt (although it's difficult to generate pdfs with 1pt² (distiller will not produce it), it's still possible). Better: 1sp². _Nobody_ will do this intentional. :-)
Too small, even pdfTeX has much problems with this:
\pdfdecimaldigits=100
\pdfpagewidth=1sp
\pdfpageheight=1sp
\null
\nopagenumbers
\bye
==> /MediaBox [0 0 0 0]
\pdfcompresslevel=0
\pdfdecimaldigits=100
\setbox0=\hbox{}
\wd0=1sp
\ht0=1sp
\dp0=0pt
\pdfxform0
\pdfrefxform\pdflastxform
\nopagenumbers
\bye
==> /BBox [0 0 0 0]
...
\wd0=1pt
\ht0=1bp
...
==> /BBox [0 0 0.9963 1]
Hans Hagen has meantioned some AR bugs with zero values,
therefore I would suggest 1bp, because then the output
is small.
Yours sincerely
Heiko
Hi Heiko,
d not consider the current low level interface of image inclusion as "user friendly". This should be done at macro level: graphicx/pdftex.def for plain/latex and your interface in ConTeXt.
sure (i always do a file existence test) but we're now wrapping up problems in pdftex, and there the low level interface (primitives) shoudl work without problems. I consider a faulty result file as a bug as will most naive users -)
This case is handled by LaTeX's graphics.sty, it calls the LaTeX kernel macro \IfFileExists.
something simlar happens in context
It costs a lot of time to write pi as decimal number ... ;-)
how many nanoseconds -) nothing compared to what pdftex is doing the rest of teh time
Perhaps someone will update the documentation of pdfTeX. 1pt is easier to explain as 3.141592pt: * Why not 3.14159pt: \newdimen\foo \foo=3.141592pt \showthe\foo % 3.14159pt \newdimen\bar \bar=3.14159pt \ifdim\foo=\bar \message{EQUAL} \else \message{NOT EQUAL} \fi % EQUAL * Testing for such a value implicates that then this value is forbidden for pdf page sizes. This complicates the documentation and this limitation is not necessary at all (\pdflastximagepages is much better here).
the pi points was just 'some value' ; in principle any value will do; it's not so much meant for testing but more to have something back instead of something invalid
Behaviour of pdfTeX for pdf image inclusion:
DEFAULT := -1 or 0 (see below) Continue := Continue with empty xform object with dimension 1pt x 1pt.
if PDFFileExists if PageNumber < 1 \pdflastximagepages = DEFAULT Warning "Invalid page number" Continue elsif PageNumber > \pdflastximagepages \pdflastximagepages is set Warning "Page number to large (out of range) Continue else \pdflastximagepages is set image is included fi else Warning "PDF file does not exist" \pdflastximagepages = DEFAULT Continue fi
this sounds ok to me (an option is: -1 does not exist and -2 invalid)
Thus \pdflastximagepages = DEFAULT means: "pdf file is not read" because of: * No \pdfximage command, program start * Invalid page number in previous call of \pdfximage * Call with valid page number, but pdf file does not exist.
The value DEFAULT can be discussed. I have not found in the pdf specification that pdf files with zero pages are forbidden. Therefore I would prefer "-1", but the current default at program start is "0".
A pdf file can indeed contain zero pages (for instance a xfdf file, or a file with only templates), so we should stick to <0 values Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hello, On Fri, Jul 02, 2004 at 03:56:14PM +0200, Hans Hagen wrote:
this sounds ok to me (an option is: -1 does not exist and -2 invalid)
A pdf file can indeed contain zero pages (for instance a xfdf file, or a file with only templates), so we should stick to <0 values
Variant a) with -1 (not exist) and -2 (invalid)
===============================================
Behaviour of pdfTeX for pdf image inclusion:
NO_PDF_FILE := -1
INVALID_PAGE := -2 // page <= 0
Initialization: \pdflastximagepages := NO_PDF_FILE
Continue := Continue with empty xform object with dimension 1bp x 1bp.
// 1bp because it avoids zero and possible problems and
// the output is small (/BBox [0 0 1 1])
if PDFFileExists
if PageNumber < 1
\pdflastximagepages = INVALID_PAGE
Warning "Invalid page number"
Continue
elsif PageNumber > \pdflastximagepages
\pdflastximagepages is set
Warning "Page number to large (out of range)
Continue
else
\pdflastximagepages is set
image is included
fi
else
Warning "PDF file does not exist"
\pdflastximagepages = NO_PDF_FILE
Continue
fi
Failure/Success checking:
if \pdflastximagepages = -1
* PDF file does not exist
elsif \pdflastximagepages = -2
* Page number too small
elsif [page] > \pdflastximagepages
* Page number too large
else
* Success
fi
We need the page number for checking, so we can also drop the
second magic number:
Variant b) with -1 (unknown)
============================
Behaviour of pdfTeX for pdf image inclusion:
UNKNOWN := -1
Initialization: \pdflastximagepages := UNKNOWN
Continue := Continue with empty xform object with dimension 1bp x 1bp.
// 1bp because it avoids zero and possible problems and
// the output is small (/BBox [0 0 1 1])
if PDFFileExists
if PageNumber < 1
\pdflastximagepages = UNKNOWN
Warning "Invalid page number"
Continue
elsif PageNumber > \pdflastximagepages
\pdflastximagepages is set
Warning "Page number to large (out of range)
Continue
else
\pdflastximagepages is set
image is included
fi
else
Warning "PDF file does not exist"
\pdflastximagepages = UNKNOWN
Continue
fi
Failure/Success checking:
if [page] < 1
* Page number too small
elsif \pdflastximagepages = -1
* PDF file does not exist
elsif [page] > \pdflastximagepages
* Page number too large
else
* Success
fi
or with optimization for success:
if [page] < 1
* Page number too small
elsif [page] > \pdflastximagepages
if \pdflastximagepages = -1
* PDF file does not exist
else
* Page number too large
fi
else
* Success
fi
I would prefer variant b) because it reduces the needed magic numbers.
Yours sincerely
Heiko
Heiko Oberdiek wrote:
I would prefer variant b) because it reduces the needed magic numbers.
i like a because i often run into faulty pdf's and this is a nice way of detecting them -) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Mon, Jul 05, 2004 at 10:10:02AM +0200, Hans Hagen wrote:
Heiko Oberdiek wrote:
I would prefer variant b) because it reduces the needed magic numbers.
i like a because i often run into faulty pdf's and this is a nice way of detecting them -)
I do not understand this, a) adds another possibility for testing,
if someone has specified 0 or a negative number as page number
for \pdfximage. But this has nothing to do with faulty PDFs.
Yours sincerely
Heiko
Heiko Oberdiek wrote:
On Mon, Jul 05, 2004 at 10:10:02AM +0200, Hans Hagen wrote:
Heiko Oberdiek wrote:
I would prefer variant b) because it reduces the needed magic numbers.
i like a because i often run into faulty pdf's and this is a nice way of detecting them -)
I do not understand this, a) adds another possibility for testing, if someone has specified 0 or a negative number as page number for \pdfximage. But this has nothing to do with faulty PDFs.
ah, i thought that -2 would also be set if pdftex had problems with the pdf file (xpdf lib error) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Mon, Jul 05, 2004 at 06:12:27PM +0200, Hans Hagen wrote:
ah, i thought that -2 would also be set if pdftex had problems with the pdf file (xpdf lib error)
Currently such errors are fatal errors. I have not looked into
the sources if recovery from such errors is possible. If yes,
then \pdflastximagepages is a bad choice for signaling such
errors, because only a page can be faulty, the number of
pages can be still correct.
Perhaps we need a kind of "errno" variable for signaling
errors. Then \pdflastximagepages contains the correct number or
-1 for "unknown". "errno" contains "0" in case of success of
the last operation or a error number (file not found,
corrupted pdf file, invalid page, ...)
Yours sincerely
Heiko
Heiko Oberdiek wrote:
On Mon, Jul 05, 2004 at 06:12:27PM +0200, Hans Hagen wrote:
ah, i thought that -2 would also be set if pdftex had problems with the pdf file (xpdf lib error)
Currently such errors are fatal errors. I have not looked into the sources if recovery from such errors is possible. If yes, then \pdflastximagepages is a bad choice for signaling such errors, because only a page can be faulty, the number of pages can be still correct.
indeed
Perhaps we need a kind of "errno" variable for signaling errors. Then \pdflastximagepages contains the correct number or -1 for "unknown". "errno" contains "0" in case of success of the last operation or a error number (file not found, corrupted pdf file, invalid page, ...)
you're right, something \pdflastximageerror sounds ok to me Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 2004-07-01 17:46:08 +0700, The Thanh Han wrote:
I changed it from 1.20a, so pdftex will exit with an error when a pdfannot ends up inside a xobject form. Before that, the result was unpredictable.
Is that already in the sources in p4? If not, please submit your sources. Best regards Martin -- Martin Schröder, ms@artcom-gmbh.de ArtCom GmbH, Lise-Meitner-Str 5, 28359 Bremen, Germany Voice +49 421 20419-44 / Fax +49 421 20419-10 http://www.artcom-gmbh.de
participants (6)
-
Hans Hagen
-
Heiko Oberdiek
-
Martin Schröder
-
Taco Hoekwater
-
Taco Hoekwater
-
The Thanh Han